15.4 多股票持仓量化交易策略
前面讲解的量化交易策略都只是针对单只股票,如果同时对多只股票进行操作,该如何编写量化交易策略呢?下面编写一个多只股票持仓量化交易策略,实现价格高于5 天平均价x 1.008 ,则买入,当价格小于5 天平均价x 0.996 ,则卖出。
15.4.1 编写初始化函数
登录JoinQuant (聚宽)量化交易平台后,重建一个股票策略并命名为"多股票持仓量化交易策略"。
删除文本程中的所有代码,重新编写代码。首先导入函数,然后编写初始化函数,具体代码如下:

15.4.2 编写单位时间调用的函数
单位时间调用的函数的具体代码如下:


需要注意的是,由于这里操作的是多只股票,所以这里使用了for 循环语句。在这里买入股票的条件是:如果上一时间点价格大于5 天平均价x 1.008 ,并且有现金余额,具体代码如下:
elif price > vwap * 1.008 and cash > 0 :
卖出股票的条件是: 如果上一时间点价格小于5 天平均价x 0.996 ,并且持有该股票,具体代码如下:
if price < vwap * 0.996 and context . portfolio. positions[security] .closeable amount > 0:
15.4.3 多股票持仓量化交易策略的回测
在回测之前,设置开始时间为2016 年6 月1 日, 结束时间为2018 年5月4 曰。设置账户交易资金为10 万元,交易频率为每天,如图15.12 所示。

设置好各项参数后,单击"编译运行"按钮,就可以编译运行多股票持仓量化交易策略,运行完毕后,就可以看到策略收益和基准收益对比,如图15.13 所示。

在这里可以看到基准收益为19.09% ,而策略收益为23.86% ,这表明多股票持仓量化交易策略是一个不错的策略。
如果想详细查看多股票持仓量化交易策略是的收益概况、交易详情、曰志输出、每曰持仓和收益等信息,只需单击"运行回测"按钮,如图15.14所示。
