app.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:Informed-Finance-Canary 作者: Darthone 项目源码 文件源码
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
#
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号