BackTrader量化交易案例图解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.4 Buy买入策略编程

现在来看看sta策略函数代码:

在以上策略程序代码中的log输出函数和init初始化函数都采用策略默认代码,不需要过多关注。

买入策略编程的核心是sta001策略函数中的next节点策略执行函数。

本案例使用“三连跌”买入策略。

这是一个很简单的实盘策略,即股票价格连续下跌三天:今天价格比昨天价格低,昨天价格比前天价格低。价格连跌三天,就可以使用“三连跌”策略买进。

这种策略是一种经验型策略,交易逻辑是:价格已连续多日下跌的股票,再继续下跌的可能性很小,价格反弹的概率很大。

虽然这是经典的实盘策略,不过在具体运用中还是需要进行测试的。因为市场不同、产品不同,使用的策略就不同,实盘操作的差异会很大,在使用每一种策略时都要进行测试。

在本案例的sta001策略函数中,在next子函数模块插入了策略条件判断代码,对于符合条件的股票设置了一个买入操作。

程序中的Buy买入操作默认买入一手:

买入函数很灵活,可以根据选项参数设置买入数额,或者根据持有量仓位/现金额度进行处理。关于交易额度,建议初学者遵循行业习惯,采用定量模式,即买入多少手。大部分量化框架的交易额度都采用定量模式,采用比例模式的比较少。

在输出信息中,注意设置买单:

设置买单与买单完成是有区别的。买单设置成功,交易不一定成功。买单不成立的情况被称为滑点(slippage)。

在输出信息中,2018年12月28日没有交易,但12月27日设置了买入操作:

这个交易是否成功,我们现在还不知道,有待于后续做分析检测。

本节内容很简单,就是在策略代码的next子函数部分增加一个“三连跌”策略代码编程。“三连跌”策略代码很简单,就是将各个交易日不同的收盘价进行简单对比。