准备工作完成,接下来我们的目标是建立起交易落单的逻辑,以便于我们使用历史数据进行回测。金叉的交易思路我们在上一篇教程中已经分析,如果短期均线从底部突破长期均线,是买入信号,我们把思路转化为python代码。
if MA_short > MA_long and curPosition == 0:
order_shares(context.s1,shares)
在这里我们接触到了新的api,就是落单功能order_shares,这里有两个参数,第一个是股票代码,第二个代表买多少share,如果数值为负数就代表卖出。在这个例子里,我们满仓买入。
Ricequant提供了强大而灵活的各种order的方法,除了最基本的order_shares之外,还可以使用order_target_value,order_lot,order_percent等等。在上面这个例子中,满仓买入我们使用order_target_percent会更加方便,在这里传入的第二个参数不再是购买(卖出)的数量,而是购买(卖出)后该股票占到投资组合的百分比,0代表0%,1代表100%。
if MA_short > MA_long