init - 初始化策略

初始化策略, 策略启动时自动执行。可以在这里初始化策略配置参数。

函数原型:

  1. init(context)

参数:

参数名 类型 说明
context context对象 上下文对象

示例:

  1. def init(context):
  2. # 订阅bar
  3. subscribe(symbols='SHSE.600000,SHSE.600004', frequency='30s', count=5, wait_group=True, wait_group_timeout='5s')

注意:
init函数里不支持交易操作

schedule - 定时任务配置

在自动时间执行策略算法, 通常用于选股类型策略

函数原型:

  1. schedule(schedule_func, date_rule, time_rule)

参数:

参数名 类型 说明
schedule_func function 策略定时执行算法
date_rule str n + ‘d/w/m’ 表示n天/n周/n月
time_rule str 执行算法的具体时间 (%H:%M:%S 格式)

返回值:

None

示例:

  1. def algo(context):
  2. print(context.symbols)
  3. schedule(schedule_func=algo, date_rule='1d', time_rule='19:06:20')

run - 运行策略

函数原型:

  1. run(strategy_id='', filename='', mode=MODE_UNKNOWN, token='', backtest_start_time='',
  2. backtest_end_time='', backtest_initial_cash=1000000,
  3. backtest_transaction_ratio=1, backtest_commission_ratio=0,
  4. backtest_slippage_ratio=0, backtest_adjust=ADJUST_NONE, backtest_check_cache=1,
  5. serv_addr='')

参数:

参数名 类型 说明
strategy_id str 策略id
filename str 策略文件名称
mode int 策略模式 MODE_LIVE: 实时, MODE_BACKTEST: 回测
token str 用户标识
backtest_start_time str 回测开始时间
backtest_end_time str 回测结束时间
backtest_initial_cash double 回测初始资金, 默认1000000
backtest_transaction_ratio double 回测交易比例, 默认1
backtest_commission_ratio double 回测佣金比例, 默认0
backtest_slippage_ratio double 回测滑点比例, 默认0
backtest_adjust int 回测复权方式 ADJUST_NONE: 不复权, ADJUST_PREV: 前复权, ADJUST_POST: 后复权, 默认不复权
backtest_check_cache int 回测是否使用缓存, 默认使用缓存
serv_addr str 终端服务地址, 默认本地地址, 可不填

返回值:

None

示例:

  1. run(strategy_id='strategy_1', filename='main.py', mode=MODE_BACKTEST, token='token_id',
  2. backtest_start_time='2016-06-17 13:00:00', backtest_end_time='2017-08-21 15:00:00')

stop - 停止策略

函数原型:

  1. stop()

返回值:

None

示例:

  1. if not context.symbols:
  2. stop()