经常有用户问通达信的公式如何转换成果仁策略。 以下示例把通达信的“红宝书9-公式系统(中级)”里面所有的公式翻译成了果仁策略, 主要使用果仁自定义指标和筛选条件完成。
| 通达信公式 |
| 果仁量化策略定义 |
|
基本公式实例 |
| 通达信公式 | 自定义指标 | 筛选条件 |
1 放量 | 1.1今日比昨日的成交量放大了1倍 | VOL/REF(VOL,1)>2; | 今日昨日量比 = “当日成交量/ref(当日成交量, 1)” | 今日昨日量比 大于 2 |
| 1.2 今日的五日均量比五天前的五日均量放大了3倍 | AA:=MA(VOL,5); | 五日均量比率 = “5日平均成交量/ref(5日平均成交量, 5)” | 五日均量比率 大于 4 |
| 1.3今天的成交量达到了整个流通盘的10%以上 | VOL/CAPITAL>10/100; |
| 当日换手率 大于 10% |
2 缩量 | 2.1 今日比昨日的成交量缩小了1倍 | VOL/REF(VOL,1)<0.5 | 今日昨日量比 = “当日成交量/ref(当日成交量, 1)” | 今日昨日量比 小于 0.5 |
| 2.2今日的五日均量比五天前的五日均量缩小了一半 | AA:=MA(VOL,5); | 五日均量比率 = “5日平均成交量/ref(5日平均成交量, 5)” | 五日均量比率 小于 0.5 |
| 2.3今天的成交量不足整个流通盘的0.5% | VOL/CAPITAL<0.005 |
| 当日换手率 小于 0.5% |
3 上涨 | 3.1今日涨幅达到了7%以上 | CLOSE/REF(CLOSE,1)>1.07; |
| 1日涨幅 大于 7% |
| 3.2十日均价继续上涨 | AA:=MA(CLOSE,10); |
| 今日昨日10日均价比率 大于 1 |
4 收阳、收阴 | 4.1 当天收阳 | CLOSE>OPEN; | 当日收阳="收盘价>开盘价" | 当日收阳 = 1 |
| 4.2 当天收阴 | CLOSE<OPEN; | 当日收阴="收盘价<开盘价" | 当日收阴 = 1 |
5 高开、低开 | 5.1 当天股价高开 | OPEN>REF(CLOSE,1); | 开盘涨幅 = 开盘价/前日收盘价 - 1 | 开盘涨幅 > 0 |
| 5.2 当天股价低开 | OPEN<REF(CLOSE,1); | 开盘涨幅 = 开盘价/前日收盘价 - 1 | 开盘涨幅 < 0 |
6 跳空 | 6.1 开盘向上跳空。当日开盘在昨日最高之上,即为向上跳空 | OPEN>REF(HIGH,1); | 开盘与前最高价差= “开盘价 – ref(最高价, 1) “ | 开盘与前最高价差 > 0 |
7 放量上攻 | 比如成交量是昨日的两倍以上,而且涨幅大于7% | AA:=VOL/REF(VOL,1)>2; | 今日昨日量比 = “当日成交量/ref(当日成交量, 1)” | 今日昨日量比 大于 2 |
8 高开高走 | 开盘价大于昨收盘价,当日涨幅大于0 | AA:=OPEN>REF(CLOSE,1); | 开盘涨幅 = 开盘价/前日收盘价 - 1 | 开盘涨幅 > 0% |
9 创新高 | 创新高指当日最高价是最近一段时间的最高价。比如最近20个交易日的新高。 | HIGH=HHV(HIGH,20); | 新高标记= “if (最高价= max(最高价, 20), 1, 0) “ | 新高标记=1 |
10 横盘整理 | 横盘整理指最近一段时期价格在一定幅度之内摆动. 具体例子10日收盘价振幅振幅在5%以内。 | (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05; | 10日收盘振幅 = “(max(后复权收盘价,10)-min(后复权收盘价,10)) /后复权收盘价“ | 10日收盘振幅 < 0.05 |
|
| 公式组合实例 |
|
|
1向上跳空之后两天内并未回补 | 就是昨天发生了跳空缺口,这两天的最低价一直在两天前的最高价之上。 | BB:=REF(LOW,1)>REF(HIGH,2); | 向上跳空两天不回补= “And(ref(最低价,1) > ref(最高价, 2) , 最低价 > ref(最高价, 2))“ | 向上跳空两天不回补 > 0 |
2 5日,20日,60日均线多头排列 | 均线多头排列,是指短线一直在长线之上, 连续4天一直如此。 | AA:=MA(CLOSE,5); | 过去4天多头天数 = “CountDays(And(5日复权均价 >20日复权均价, 20日复权均价 > 60日复权均价),4)” | 过去4天多头天数 > 3 |
3逃顶K线形态之--黄昏之星 | 当市场出现一条大阳线后,通常会产生跳空高开的情况,有时便会出现十字星或类似十字星的小阴线(小阳线),当该形态出现在一段上升行情的当中,就很容易形成经典K线形态--黄昏之星。 | a1:=open; | 今日特征 = “And(开盘价> 前日收盘价, 开盘价/收盘价 > 1.04)” | 今日特征 > 0 |
4突破底部横盘整理创新高 | 股价突破长期盘整区间,之后放量上攻进入主升段。“长期”设定为150天;“横盘”设定股价在150日均线上下15%波动;放量;并且股价创下150天以来的历史新高。 | V1:=MA(VOL,5); | 五日均量比 = “5日平均成交量/ref(5日平均成交量,5)” | 五日均量比 >2 |
果仁微盘指数代码是?
{浮筹比例指标}
ASR:(WINNER(C*1.1)-WINNER(C*0.9))/WINNER(HHV(H,0))*100;
这个winner函数怎么弄?
学习
无意义的情绪化回复。很多人要求直接拿来用的公式,无非也是他自己复制黏贴过来的别人的代码,人云亦云,自己并没有真正的理解透公式背后的含义。学量化就不要不求甚解。
而果仁的这个公式其实是口语化的语义表达,就是真实意义的表达,兼容汉字,并且大部分都是可以直接点鼠标选择组合成公式的。真正了解通达信公式的人在果仁上手也毫不费力。
外行对量化的评价是量化并没有赚到钱,或者赚大钱。而他们所谓的量化研究就是把别人的代码复制过来跑一遍,自己没有原创。
基于python平台的各家代码api大同小异,甚至都是跟zipline高度一致的,程序员转换起来没有难度。
不会写代码的,在果仁用语义化表达算法就更如意了,就是给不会编程的人用的。
现在又舍本逐末的要求兼容通达信代码,这就又回到不求甚解的解放前了。
有几个是基于通达信作出的知名量化策略?未有耳闻。
4突破底部横盘整理创新高
五日均量比 = “5日平均成交量/ref(5日平均成交量, 1)” 这个错了吧,应该是
五日均量比 = “5日平均成交量/ref(5日平均成交量, 5)”
“前日收盘价”通俗来讲就是“股票昨日收盘价”,但是比如像是周一这种时间点来说,“前一个交易日的收盘价”这种说法会比“昨天的收盘价”要更为严谨一些。
和ref稍微有些区别,ref得到的价格是没有做除权处理的,所以是没法直接用于计算的,从下图应该能比较明显的看出差异。
今日特征=And(开盘价> 前日收盘价, 开盘价/收盘价 > 1.04) 是没毛病的,反而如果用And(开盘价> ref(收盘价,1), 开盘价/收盘价 > 1.04)则可能会收到复权因素的影响导致结果不准。
而这个公式的白话意思就是:今天比上个交易日要高开,但是最后收盘阴柱的实体部分大于4%。 我个人感觉这个4%是不是有些夸张了。。。不能称得上是“星”吧
逃顶K线形态之--黄昏之星,今日特征 = “And(开盘价> 前日收盘价, 开盘价/收盘价 > 1.04)”中,这里的“前日收盘价”我看用的系统自带的【系统指标】--【股票价格】中的---“前日收盘价”其系统注解为:前日收盘价 :
股票昨日收盘价。已经考虑昨日分股分红的因素,除过权,可以直接和当日价格一起计算。看这个注解的意思:这个“前日收盘价”就是“股票昨日收盘价”。从中国文字表述,相对今日而言,昨日和前日好像能划等号,但还是感觉别扭或有点...,如果这个“前日收盘价”就是“股票昨日收盘价”的话,这个“今日特征 = “And(开盘价> 前日收盘价, 开盘价/收盘价 > 1.04)””有点不知所云了。这其实不重要,重要的是:这个“前日收盘价”是果仁系统指标,不能有歧义。如果这个“前日收盘价”就是“股票昨日收盘价”,是不是直接命名为“昨日收盘价”更妥些。实际上系统指标没必要定义“昨日”,“前日”的这些名字,有ref。很容易把人搞晕。
不知道我说的是否正确,请管理员,查查黄昏之星的表述,我本人感觉有误。谢谢!
好象有问题,我直接在例子中拷了一个试了一下,结果显示不能识别。
看的真难受。果仁网为什么不采用通达信函数大智慧函数及编写规则?这样通达信大智慧公式就可以直接拿来用,这样不更好吗?果仁网自创的这套公式编写方法比通达信大智慧差太远了
请问果仁能表达13日涨幅和13日均线吗?