朋友说他有个致富公式… 让我给看看

写在开头

主要实现的东西是:
1)朋友给了个通达信公式,想看能不能致富;
2)手动去执行选股肉眼观察,效果还行;
3)有文化的我们知道只凭肉眼看肯定不靠谱,就想回测看看效果,就去测了;

涉及知识点:通达信的公式编辑,选股,以及bigquant上的回测

通达信看效果貌似还行

选股公式是这样子的:

1
2
3
4
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:= EMA(DIFF,9);
MACD:= 2*(DIFF-DEA);
REF(C<=O,2) AND REF(H<REF(H,1) AND L<REF(L,1),1) AND L>REF(L,1) AND C>O AND C>REF(H,2) AND REF(EVERY(C/REF(C,1)<1,3),3) AND DIFF>0 AND DEA>0;

打开通达信,Ctrl + F , 条件选股, 新建公式
把这个公式粘贴进去, 测试公式, 保存
[图片见文末参考链接]

Ctrl T, 选择刚建好的公式,执行选股,多试几个日期,发现,哎呦不错;
[图片见文末参考链接]

那么回测试试呢?

首先需要将通达信公式语言转化成 python 语言;
回测平台选的是 bigquant, 因为我自己相对比较熟;
翻译的过程中要是有不懂的语句,网上查下(文末附链接);
然后核对的时候看选出的股票能不能对上,就能知道有没有转化正确;

1
2
3
4
5
6
7
8
# 通达信公式
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:= EMA(DIFF,9);
MACD:= 2*(DIFF-DEA);
REF(C<=O,2) AND REF(H<REF(H,1) AND L<REF(L,1),1) AND L>REF(L,1) AND C>O AND C>REF(H,2) AND REF(EVERY(C/REF(C,1)<1,3),3) AND DIFF>0 AND DEA>0;

# python
x.close_2 <= x.open_2 and (x.high_1 < x.high_2 and x.low_1 < x.low_2) and x.low_0 > x.low_1 and x.close_0 > x.open_0 and x.close_0 > x.high_2 and x.close_5 < x.close_6 and x.close_4 < x.close_5 and x.close_3 < x.close_4 and (x.dif > 0 and x.dea >0)

Bigquant 实现
Bigquant最后实现的效果如下,下边挑重点的截图简单说一下
[图片见文末参考链接]

1)特征列表,需要把公式里涉及的特征都体现在特征列表里边
[图片见文末参考链接]
2)自定义python模块中生成一下信号
[图片见文末参考链接]
3)回测函数中定义好自己的回测逻辑就可以回测了

回测结果
[图片见文末参考链接]

写在后边

真正能拿到财富代码的公式肯定不会这么简单,这篇只是方法的记录文章罢了;
转化公式的时候发现貌似没有通达信公式-> python语言的现成工具,感觉可以做一个;

参考链接

通达信公式
https://www.agudashi.cn/doc/5bffb706e7de95c78c41dd3c.html
公众号文章链接
朋友说他有个致富公式… 让我给看看

(✪ω✪)