参数名类型说明symbol str 标的代码frequency str 频率open float 开盘价close float 收盘价high float 最高价low float 最低价amount float 成交额volume float 成交量position long 持仓量pre_close float
前收盘价bob datetime.datetime bar 开始时间eob
datetime.datetime
bar 结束时间
订阅数据之后,需要获取已经订阅的数据来进行操作,这时需调用context.data 函数:
symbols 需要设置订阅的标的代码。
frequency 需设置订阅数据的周期级别,这里设置1d 表示以一天为周期。
count 需要设置获取的bar 的数量fields 需要设置返回值的种类
获取当前bar 的时间
在on_bar 函数里,需要判断当前bar 是否为当天交易的最后一根,以判断是否平仓,这里可直接过去传入bar 的信息。
回测报告
recent_data = context .data (symbol =symbol , frequency ='300s', count =35, fields ='close')def on_bar (context , bars ): bar = bars [0]
day = bar .bob .strftime ('%Y‐%m‐%d %H:%M:%S')
分析
我们选取了2016年1月至2016年7月作为回测周期,保利地产(600048)作为标的股票,可以看出:胜率(具有盈利的平仓次数与总平仓次数之比)达到了46%,当然,您可以根据需要,制定别的高胜率的开平仓条件。
卡玛比率(年化收益率与历史最大回撤之比)是使用最大回撤率来衡量风险。
采用最大回撤率来衡量风险,关注的是最极端的情况。
卡玛比率越高表示策略承受每单位最大损失获得的报酬越高。
在这里卡玛比率达到了1.4。
夏普比率(年化收益率减无风险收益率的差收益波动率之比)达到0.78。
策略收益曲线与标的股票收益具有很大相关性,日内交易的关键点在于手续费的控制,在提高胜率的同时,
尽量提高盈亏比,使得平仓的价差收益大于手续费的损耗。