3.1.0

  • Api
    • 增加 symbol(order_book_id, split=", ") 扩展Api,用于获取合约简称。
    • 修改 current_snapshot(id_or_symbol),该 Api 支持在 before_trading/after_trading 中调用。
    • 修改 history_bars,增加对 frequency 参数的检查。
    • 修正 order(order_book_id, quantity, price=None, style=None) 函数期货下单的逻辑。
    • 修改股票下单接口,允许一次性申报卖出非100股整倍数的股票。
    • 修改下单接口,当因参数检查或前端风控等原因创建订单失败时,接口返回 None 或空 list,并打印 warn。
  • 接口
    • AbstractDataSource 接口增加 get_tick_size(instrument) 方法,BaseDataSource 实现了该方法。
    • AbstractDataSource 接口增加 history_ticks(instrument, count, fields, dt) 方法,支持 tick 级别策略运行的 DataSource 应实现该方法。
    • 增加通用下单接口 submit_order(id_or_ins, amount, side, price=None, position_effect=None),策略可以通过该接口自由选择参数下单。
    • Instrument 类新增 tick_size() 方法。
    • PersistHelper 类新增 unregister(key) 方法,可以调用该方法注销已经注册了持久化服务的模块。
    • 新增 TickObject 类,替代原 Tick 类和 SnapshotObject 类。可通过 TickObject 对象的 asks, bids, ask_vols, bid_bols 四个属性获取买卖报盘。
  • 配置
    • 增加 base.round_price 参数,开启后现价单价格会被调整为最小价格变动单位的整倍数,对应的命令行参数为 —round-price
    • sys_simulation Mod 增加滑点模型 slippage_model 参数,滑点不再限制为价格的比率,亦可使用基于最小价格变动单位的滑点模型,甚至加载自定义的滑点模型。
    • sys_simulation Mod 增加股票最小手续费 stock_min_commission 参数,用于控制回测和模拟交易中单笔股票交易收取的最小手续费,对应的命令行参数为 —stock-min-commission 5
    • sys_account Mod 增加 future_forced_liquidation 参数,开启后期货账户在爆仓时会被强平。
  • 其他
    • Fix Issue 224 , 解决了展示图像时图像不能被保存的问题。
    • 策略运行失败时 return code 为 1。
    • 开启 force_run_init_when_pt_resume 参数时,策略启动前将会清空 universe。
    • 移除对 better-exceptions 库的依赖,可以通过安装并设置环境变量的方式获得更详细的错误栈。
    • 修复 StockPosition 类中股票卖空买回时计算平均开仓价格错误的 bug。
    • 修复画图时最大回撤计算错误的 bug。
    • 重构 Executor,现在 EventSource 不再需要发出 SETTLEMENT 事件,框架会在第二个交易日 BEFORE_TRAINDG 事件前先发出 SETTLEMENT 事件,如果 EventSource 未发出 BEFORE_TRAINDG 事件,该事件会在第一个行情事件到来时被框架发出。
    • 加入新 Mod rqalpha_mod_sys_incremental,启用该 Mod 可以增量运行回测,方便长期跟踪策略而不必反复运行跑过的日期,详情参考文档 sys_incremental Mod README
    • 加入新 Mod rqalpha_mod_sys_booking,该 Mod 用于从外部加载仓位作为实盘交易的初始仓位,详情参考文档 sys_booking Mod README