米筐常见函数

米筐常见函数
你的算法策略目前必须实现至少两个方法:init
和 handle_bar
,而before_trading
和after_trading
是可选择实现的方法。
init (必须实现)
初始化方法:在回测和实时模拟交易只会在启动的时候触发一次。你的算法会使用这个方法来设置你需要的各种初始化配置。
context
对象将会在你的算法的所有其他的方法之间进行传递以方便你可以拿取到。
def init(context):
# cash_limit的属性是根据用户需求自己定义的,你可以定义无限多种自己随后需要的属性,ricequant的系统默认只是会占用context.portfolio的关键字来调用策略的投资组合信息
context.cash_limit = 5000#米筐中context是全局变量设置
handle_bar (必须实现)
handle_bar(context, bar_dict)
bar 数据的更新会自动触发该方法的调用。策略具体逻辑可在该方法内实现,包括交易信号的产生、订单的创建等。在实时模拟交易中,该函数在交易时间内会每分钟被触发一次。
注意:由于该方法会每分钟被触发,请尽量不要在该函数中放入查询类(如带有 query()参数的 API)代码以免运行时间过长,该类逻辑可放在 init() 中执行。
参数
参数
类型
注释
context
python 简单对象
储存策略自定义参数、设置、仓位、投资组合信息的全局变量,属性通过点标记(".")来取到
bar_dict
dict
key 为 order_book_id,value 为 bar 数据。当前合约池内所有合约的 bar 数据信息都会更新在 bar_dict 里面
范例
def handle_bar(context, bar_dict):
# put all your algorithm main logic here.
# ...
order_shares('000001.XSHE', 500)
# ...