15.3 KD 指标量化交易策略

15.3 KD 指标量化交易策略


下面利用超买超卖型技术指标,即随机指标KD ,编写一个超买超卖型技术指标量化交易策略。实现K 在20 左右向上交叉D 肘,买入股票;K 在80左右向下交叉D 肘,卖出股票。

15.3.1 编写初始化函数

登录JoinQuant (聚宽)量化交易平台后,重建一个股票策略并命名为"KD 指标量化交易策略"。

删除文本框中的所有代码,重新编写代码。首先导入函数,然后编写初始化函数,具体代码如下:

15.3.2 编写开盘前运行函数

开盘前运行函数实现代码具体如下:

15.3.3 编写开盘时运行函数

开盘时运行函数实现代码具体如下:

注意这里调用KD 函数,从而获得KD 指标的不同参数值,即D 值和K值,还需要注意这里的参数check_date=context.current_dt ,表示获取当前回测日期。

在这里买入股票的条件是:如果当前有余额,并且K 在20 左右向上交叉D ,具体代码如下:

if K1>=20 and K1>D1

卖出股票的条件是: K 在80 左右向下交叉D ,并且目前有头寸,具体代码如下:

elif K1<=80 and K1<D1 and context.portfolio.positions[security] .closeable_amount > 0:

15.3.4 编写收盘后运行函数

收盘后运行函数实现代码如下:

15.3.5 KD 指标量化交易策略的回测

在回测之前,设置开始时间为2016 年6 月1 日,结束时间为2018 年5月1 曰。设置账户交易资金为10 万元,交易频率为每天,如图15.9 所示。

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

在这里可以看到基准收益为18.53% ,而策略收益为26.53% ,这表明KD指标量化交易策略是一个很好的策略。

如果想详细查看KD 指标量化交易策略的收益概况、交易详情、曰志输出、每日持仓和收益等信息,只需单击"运行回测"按钮,如图15.11 所示。