SPL 量化工作台(SPL量化工作台)是基于开源 SPL 技术开发的,供普通股民设计和回测量化策略的页面,下面我们尝试一下用它实现常见的双均线策略。

第一步:查看股票数据

打开页面, 在左上角输入了 "600690"(海尔智家),立即就能看到日 K 线数据:

..

左侧可以勾选需要显示的指标,尝试选择开盘、收盘、最高、最低、成交量等基本数据。

这里可以自由选择时间范围。可以选择 2022 年全年的数据,这样回测更有参考性。

第二步:设置均线指标

双均线策略需要计算 5 日均线和 10 日均线,需要用到前 10 交易日的数据才能算出当天的均线值,所以这里先设置提前读 10 天的数据:

..

回测区间前 10 交易日的数据也显示出来了。

接着,在指标类型中选择SPL 公式,输出列类型为普通,输出列名为MA5(表示为 5 日均线),表达式为收盘 [-4:0].avg()

..

这个中括号 [-4:0] 表示从当前行往前数 4 天到当天,也就是共 5 天的收盘价。

然后,再按照同样的规则,定义 10 日均线的指标:

..

有了这两个均线指标,可以先用画图观察一下,在上方的左轴里面选择 MA5 和 MA10,点击画图按钮:

..

..

从图上可以看到一些很明显的上穿下穿交叉点。

第三步:生成买卖信号

SPL 量化工具台的买卖信号规则是这样:1 表示第二天执行买入;-1 表示第二天执行卖出;0 表示不操作。工作台的设计目标是离线策略,规则是用截止昨日的收盘数据算出的买卖信号列值,来决定第二天的买卖操作。

再选择SPL 公式,输出列类型选择买卖信号,输出列名 MA5_10_Signal,表达式 if(MA5>MA10 && MA5[-1]<=MA10[-1]:1,MA5<MA10 && MA5[-1]>=MA10[-1]:-1;0),点提交:

..

数据显示框中可以看到 MA5_10_Signal 的值:

..

这里用到了一个 if 判断:if(MA5>MA10 && MA5[-1]<=MA10[-1]:1,MA5<MA10 && MA5[-1]>=MA10[-1]:-1;0),这个函数和 excel 的 ifs 函数很像,用 ifs 来写大概是这样:ifs(MA5>MA10 && MA5[-1]<=MA10[-1],1,MA5<MA10 && MA5[-1]>=MA10[-1],-1,0),只要对 excel 的 ifs 熟悉的人,很容易就能理解这个函数的规则。

这个表达式的意思是当 5 日线上穿 10 日线时买入 (1),下穿时卖出 (-1)。

再用画图功能把两条均线和信号指标放在一起看,把 MA5_10_Signal 放在右轴,确实交叉点都对应着正确的买卖信号,很直观!

..

..

第四步:回测

设置回测参数:

  • 买卖信号列选择 MA5_10_Signal

  • 买卖价格用 "昨日收盘价"(更符合实际)

  • 每次买 100 股

  • 最大持仓数为空,表示不限制持仓数量,碰到信号合适就会买入

提交后立即就能看到回测结果:

..

..

从回测结果的上方可以看到,整个执行时间才 1 秒左右。这个回测结果还能和上证指数做对比,在界面的右下角选择上证 50 指数:

..

点击指数比较按钮:

..

对比效果图:

..

这个简单策略跑赢了上证 50 指数!

使用体验

这个工作台的优点就是:

  1. 真的零门槛:全程点点选选就能完成策略,不需要写代码

  2. 反馈即时:每一步操作都能立即看到效果,不怕做错

  3. 数据齐全:不用自己收集整理数据,省去了最麻烦的环节

当然也有可以改进的地方,比如:

  • 手机端体验不太好,需要电脑浏览器,屏幕还要够大

  • 刚开始有些功能需要摸索一下

给新手的建议

  1. 先从简单的策略开始尝试,熟悉界面

  2. 多用 "画图" 功能直观查看指标

  3. 回测时多试试不同参数组合

如果你也想尝试量化交易但又怕太复杂,强烈推荐试试这个工作台!

Logo

专业量化交易与投资者大本营

更多推荐