用 SPL 量化工作台实现双均线策略
摘要:SPL量化工作台是一款基于开源技术SPL的量化策略工具,帮助普通投资者轻松实现策略设计和回测。该工具具有零门槛、即时反馈和数据齐全的特点,使初学者也能快速上手量化交易。虽然手机端体验有待改进,但其直观的可视化功能和简便的操作方式,为投资者提供了一个实用的量化入门解决方案。文章以海尔智家(600690)为例,演示了双均线策略的完整操作流程:从数据获取、均线指标设置(MA5/MA10),到买卖信
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 指数!
使用体验
这个工作台的优点就是:
-
真的零门槛:全程点点选选就能完成策略,不需要写代码
-
反馈即时:每一步操作都能立即看到效果,不怕做错
-
数据齐全:不用自己收集整理数据,省去了最麻烦的环节
当然也有可以改进的地方,比如:
-
手机端体验不太好,需要电脑浏览器,屏幕还要够大
-
刚开始有些功能需要摸索一下
给新手的建议
-
先从简单的策略开始尝试,熟悉界面
-
多用 "画图" 功能直观查看指标
-
回测时多试试不同参数组合
如果你也想尝试量化交易但又怕太复杂,强烈推荐试试这个工作台!
更多推荐
所有评论(0)