def get(self):
stock_date_range_parser.add_argument('params')
args = stock_date_range_parser.parse_args()
calcs = json.loads(args['params'])
x = get_series(args['symbol'], args['start'], args['end'])
#x.run_calculations()
cc = []
for calc in calcs:
t = calc['type']
p = calc['param']
if t == 'mavg':
cc.append(x.calculate_mavg(p['window']))
elif t == 'rsi':
cc.append(x.calculate_rsi(p['window']))
elif t == 'macd':
cc.append('signal_' + str(p['signal']))
cc.append(x.calculate_macd(**p))
elif t == '':
pass
#TODO
#x.calculate_mom()
#x.calculate_rocr()
#x.calculate_atr()
#x.calculate_mfi()
#x.calculate_obv()
#x.calculate_cci()
#x.calculate_trix()
#x.calculate_adx()
x.df = x.df.where((pd.notnull(x.df)), None) # cast Nan to Null
jret = {
'ohlc' : list(zip(x.df.epoch, x.df['Open'], x.df['High'], x.df['Low'], x.df['Adj_Close'])),
'volume': list(zip(x.df.epoch, x.df['Volume'])),
'columns': cc,
'backtesting': get_backtesting(args['start'], args['end'], x)
}
for c in cc:
jret[c] = list(zip(x.df.epoch, x.df[c]))
return jret
#
# Actually setup the Api resource routing here
#
评论列表
文章目录