Board logo

标题: [模板与范例参考] 时间序列数据事件驱动(典型场景)模板【东方财富Python量化】 [打印本页]

作者: 龙听    时间: 2022-12-8 09:25     标题: 时间序列数据事件驱动(典型场景)模板【东方财富Python量化】

说明:
策略订阅代码时指定数据窗口大小与周期,平台创建数据滑动窗口,加载初始数据,并在新的bar到来时自动刷新数据。bar事件触发时,策略可以取到订阅代码的准备好的时间序列数据。
  1. # coding=utf-8
  2. from __future__ import print_function, absolute_import
  3. from gm.api import *


  4. def init(context):
  5.     # 订阅浦发银行, bar频率为一天和一分钟
  6.     # 指定数据窗口大小为50
  7.     # 订阅订阅多个频率的数据,可多次调用subscribe
  8.     subscribe(symbols='SHSE.600000', frequency='1d', count=50)
  9.     subscribe(symbols='SHSE.600000', frequency='60s', count=50)


  10. def on_bar(context, bars):
  11.     # context.data提取缓存的数据滑窗, 可用于计算指标
  12.     # 注意:context.data里的count要小于或者等于subscribe里的count
  13.     data = context.data(symbol=bars[0]['symbol'], frequency='60s', count=50, fields='close,bob')

  14.     # # 打印最后5条bar数据(最后一条是最新的bar)
  15.     print(data.tail())


  16. if __name__ == '__main__':
  17.     '''
  18.         strategy_id策略ID, 由系统生成
  19.         filename文件名, 请与本文件名保持一致
  20.         mode运行模式, 实时模式:MODE_LIVE回测模式:MODE_BACKTEST
  21.         token绑定计算机的ID, 可在系统设置-密钥管理中生成
  22.         backtest_start_time回测开始时间
  23.         backtest_end_time回测结束时间
  24.         backtest_adjust股票复权方式, 不复权:ADJUST_NONE前复权:ADJUST_PREV后复权:ADJUST_POST
  25.         backtest_initial_cash回测初始资金
  26.         backtest_commission_ratio回测佣金比例
  27.         backtest_slippage_ratio回测滑点比例
  28.     '''
  29.     run(strategy_id='strategy_id',
  30.         filename='main.py',
  31.         mode=MODE_BACKTEST,
  32.         token='{{token}}',
  33.         backtest_start_time='2020-11-01 08:00:00',
  34.         backtest_end_time='2020-11-10 16:00:00',
  35.         backtest_adjust=ADJUST_PREV,
  36.         backtest_initial_cash=10000000,
  37.         backtest_commission_ratio=0.0001,
  38.         backtest_slippage_ratio=0.0001)
复制代码





欢迎光临 龙听期货论坛 (http://www.qhlt.cn/) Powered by Discuz! 7.2