
马尔可夫链模型干的第一件事儿就是研究价格变动。你看那个开头的算法就是算当天收盘价比昨天涨跌了多少个百分点。这还没完,马上跟俩选项:
第一个选项问:今天跌得狠不狠?只要没崩盘(跌幅不超过10%),就算过关,给个1。
第二个选项问:今天红了吗?涨了就给1,绿了就没分儿。
图片
把这俩筛子的结果一加,ai量化4就出来了。值要么是1(只满足一个条件),要么是2(俩条件都满足)。接着,它像着了魔似的把这个流程往过去倒腾——昨天跟前天比,前天跟大前天比……一口气倒回去整整16根K线!每根K线都这么筛一遍,生成一堆标记(ai量化5,6,11,12,17,18...一直到ai量化96)。
图片
它真正在算啥呢?我觉着是两股劲儿:
凑合也能过的天数(ai量化97):把过去15天里,那些只满足没崩盘或者涨了其中一项条件的天数(ai量化11,17,23...)全加起来。简单说,就是不算太差的日子有多少。
双喜临门的天数(ai量化98):把过去15天里,既没崩盘又涨了的完美日子(ai量化12,18,24...)加起来。这是好日子的计数。
更绝的在后头:它盯上连续性了!
凑合的接力赛(ai量化114):它检查过去15对相邻的日子(比如今天和昨天、昨天和前天…)。如果连续两天都只是凑合过(每对那俩标记相乘等于1),就给这对记1分。最后把所有这种凑合接力的分数加起来。这其实在数凑合日子后面跟着又是凑合日子的次数。
图片
双喜的接力赛(ai量化130):同理,数连续两天都是双喜临门(标记相乘等于4)的次数。
最后这几步,暴露了它的马尔可夫链:
ai量化131=ai量化114/ai量化97:意思是,在历史上那些凑合的日子之后,紧接着又出现凑合日子的概率有多大?
ai量化132=1-ai量化131:那凑合之后变卦(变好或变坏)的概率呢?
ai量化133=ai量化130/ai量化98:双喜之后第二天继续双喜的概率。
ai量化134=1-ai量化133:双喜之后好运用光的概率。
图片
它判断趋势的算法依据:
看状态的惯性:核心逻辑是,如果最近是凑合状态,那它倾向于用历史概率(ai量化131或ai量化132)来猜明天是不是还凑合;如果最近是双喜状态,就用ai量化133或ai量化134来猜明天还能不能双喜。它默认状态有延续性,变化的概率也是相对稳定的。
基于近期历史的条件概率:所有的计算都依赖过去15天的数据统计。它不预测绝对涨跌,只预测在特定状态(凑合或双喜)下,下一天出现同类状态的概率。这概率(ai量化131,ai量化133)要是高过某个值(比如0.5),它就暗示趋势可能延续;要是低了(ai量化132,ai量化134高了),就暗示可能要变天。
极度依赖价格变化本身:整个指标就围着价格涨跌幅打转,完全不碰成交量、均线、MACD那些常见玩意儿。它信的就是价格变动的序列里藏着概率密码。
图片
指标特色:像个状态概率算命师
马尔可夫链:把价格变化硬生生拆成离散状态(凑合/双喜),然后死算状态之间转换的概率。这是它最核心、最鲜明的特色。
近因狂热粉:只盯着过去十几天的事儿,觉得这短期的状态转换规律对明天最有用。老黄历?它懒得翻。
惯性信徒:骨子里觉得市场状态有惰性,今天这样,明天大概率还这样。算概率就是为了量化这个惰性有多大。
统计套利的路子:它不做复杂的模型,就是粗暴地数数——数满足条件的次数,数连续发生的次数,然后除一下得出概率。统计的就是历史规律短期有效。
图片
条件触发式输出:最后那ai量化137和ai量化138,意思是:如果今天是凑合状态(ai量化4=1),就把凑合状态延续或改变的概率(ai量化135)亮出来;如果今天是双喜状态(ai量化4=2),就亮双喜状态的概率(ai量化136)。相当于根据今天的状态,展示对应的明日状态概率指南。
说白了,这指标像个严谨的统计徒,只相信两件事:
市场就俩状态:凑合or双喜(基于涨跌幅和跌幅阈值)。
明天的状态,主要看今天的状态,以及历史上这种状态后面跟着啥状态的概率大。它吭哧吭哧算那一大堆,就是为了搞明白:如果我今天这样了,明天还这样的机会有多大?统计的就是这个机会还算靠谱。
风险提示:本指标仅供技术研究与学习交流使用。市场具有高度不确定性,任何基于本指标的决策都需要自行承担风险,不构成任何投资建议。
图片
指标代码学习LIJIN1:=(C-REF(C,1))/REF(C,1);LIJIN2:=IF(LIJIN1>-10,1,0);LIJIN3:=IF(LIJIN1>0,1,0);LIJIN4:=LIJIN2+LIJIN3;LIJIN5:=IF(LIJIN4=1,1,0);LIJIN6:=IF(LIJIN4=2,1,0);LIJIN7:=(REF(C,1)-REF(C,2))/REF(C,2);LIJIN8:=IF(LIJIN7>-10,1,0);LIJIN9:=IF(LIJIN7>-0,1,0);LIJIN10:=LIJIN8+LIJIN9;LIJIN11:=IF(LIJIN10=1,1,0);LIJIN12:=IF(LIJIN10=2,1,0);LIJIN13:=(REF(C,2)-REF(C,3))/REF(C,3);LIJIN14:=IF(LIJIN13>-10,1,0);LIJIN15:=IF(LIJIN13>0,1,0);LIJIN16:=LIJIN14+LIJIN15;LIJIN17:=IF(LIJIN16=1,1,0);LIJIN18:=IF(LIJIN16=2,1,0);LIJIN19:=(REF(C,3)-REF(C,4))/REF(C,4);LIJIN20:=IF(LIJIN19>-10,1,0);LIJIN21:=IF(LIJIN19>0,1,0);LIJIN22:=LIJIN20+LIJIN21;LIJIN23:=IF(LIJIN22=1,1,0);LIJIN24:=IF(LIJIN22=2,1,0);LIJIN25:=(REF(C,4)-REF(C,5))/REF(C,5);LIJIN26:=IF(LIJIN25>-10,1,0);LIJIN27:=IF(LIJIN25>0,1,0);LIJIN28:=LIJIN26+LIJIN27;LIJIN29:=IF(LIJIN28=1,1,0);LIJIN30:=IF(LIJIN28=2,1,0);LIJIN31:=(REF(C,5)-REF(C,6))/REF(C,6);LIJIN32:=IF(LIJIN31>-10,1,0);LIJIN33:=IF(LIJIN31>0,1,0);LIJIN34:=LIJIN32+LIJIN33;LIJIN35:=IF(LIJIN34=1,1,0);LIJIN36:=IF(LIJIN34=2,1,0);LIJIN37:=(REF(C,6)-REF(C,7))/REF(C,7);LIJIN38:=IF(LIJIN37>-10,1,0);LIJIN39:=IF(LIJIN37>0,1,0);LIJIN40:=LIJIN38+LIJIN39;LIJIN41:=IF(LIJIN40=1,1,0);LIJIN42:=IF(LIJIN40=2,1,0);LIJIN43:=(REF(C,7)-REF(C,8))/REF(C,8);LIJIN44:=IF(LIJIN43>-10,1,0);LIJIN45:=IF(LIJIN43>0,1,0);LIJIN46:=LIJIN44+LIJIN45;LIJIN47:=IF(LIJIN46=1,1,0);LIJIN48:=IF(LIJIN46=2,1,0);LIJIN49:=(REF(C,8)-REF(C,9))/REF(C,9);LIJIN50:=IF(LIJIN49>-10,1,0);LIJIN51:=IF(LIJIN49>0,1,0);LIJIN52:=LIJIN50+LIJIN51;LIJIN53:=IF(LIJIN52=1,1,0);LIJIN54:=IF(LIJIN52=2,1,0);LIJIN55:=(REF(C,9)-REF(C,10))/REF(C,10);LIJIN56:=IF(LIJIN55>-10,1,0);LIJIN57:=IF(LIJIN55>0,1,0);LIJIN58:=LIJIN56+LIJIN57;LIJIN59:=IF(LIJIN58=1,1,0);LIJIN60:=IF(LIJIN58=2,1,0);LIJIN61:=(REF(C,10)-REF(C,11))/REF(C,11);LIJIN62:=IF(LIJIN61>-10,1,0);LIJIN63:=IF(LIJIN61>0,1,0);LIJIN64:=LIJIN62+LIJIN63;LIJIN65:=IF(LIJIN64=1,1,0);LIJIN66:=IF(LIJIN64=2,1,0);LIJIN67:=(REF(C,11)-REF(C,12))/REF(C,12);LIJIN68:=IF(LIJIN67>-10,1,0);LIJIN69:=IF(LIJIN67>0,1,0);LIJIN70:=LIJIN68+LIJIN69;LIJIN71:=IF(LIJIN70=1,1,0);LIJIN72:=IF(LIJIN70=2,1,0);LIJIN73:=(REF(C,12)-REF(C,13))/REF(C,13);LIJIN74:=IF(LIJIN73>-10,1,0);LIJIN75:=IF(LIJIN73>0,1,0);LIJIN76:=LIJIN74+LIJIN75;LIJIN77:=IF(LIJIN76=1,1,0);LIJIN78:=IF(LIJIN76=2,1,0);LIJIN79:=(REF(C,13)-REF(C,14))/REF(C,14);LIJIN80:=IF(LIJIN79>-10,1,0);LIJIN81:=IF(LIJIN79>0,1,0);LIJIN82:=LIJIN80+LIJIN81;LIJIN83:=IF(LIJIN82=1,1,0);LIJIN84:=IF(LIJIN82=2,1,0);LIJIN85:=(REF(C,14)-REF(C,15))/REF(C,15);LIJIN86:=IF(LIJIN85>-10,1,0);LIJIN87:=IF(LIJIN85>0,1,0);LIJIN88:=LIJIN86+LIJIN87;LIJIN89:=IF(LIJIN88=1,1,0);LIJIN90:=IF(LIJIN88=2,1,0);LIJIN91:=(REF(C,15)-REF(C,16))/REF(C,16);LIJIN92:=IF(LIJIN91>-10,1,0);LIJIN93:=IF(LIJIN91>0,1,0);LIJIN94:=LIJIN92+LIJIN93;LIJIN95:=IF(LIJIN94=1,1,0);LIJIN96:=IF(LIJIN94=2,1,0);LIJIN97:=LIJIN11+LIJIN17+LIJIN23+LIJIN29+LIJIN35+LIJIN41+LIJIN47+LIJIN53+LIJIN59+LIJIN65+LIJIN71+LIJIN77+LIJIN83+LIJIN89+LIJIN95;LIJIN98:=LIJIN12+LIJIN18+LIJIN24+LIJIN30+LIJIN36+LIJIN42+LIJIN48+LIJIN54+LIJIN60+LIJIN66+LIJIN72+LIJIN78+LIJIN84+LIJIN90+LIJIN96;LIJIN99:=IF(LIJIN94*LIJIN88=1,1,0);LIJIN100:=IF(LIJIN88*LIJIN82=1,1,0);LIJIN101:=IF(LIJIN82*LIJIN76=1,1,0);LIJIN102:=IF(LIJIN76*LIJIN70=1,1,0);LIJIN103:=IF(LIJIN70*LIJIN64=1,1,0);LIJIN104:=IF(LIJIN64*LIJIN58=1,1,0);LIJIN105:=IF(LIJIN58*LIJIN52=1,1,0);LIJIN106:=IF(LIJIN52*LIJIN46=1,1,0);LIJIN107:=IF(LIJIN46*LIJIN40=1,1,0);LIJIN108:=IF(LIJIN40*LIJIN34=1,1,0);LIJIN109:=IF(LIJIN34*LIJIN28=1,1,0);LIJIN110:=IF(LIJIN28*LIJIN22=1,1,0);LIJIN111:=IF(LIJIN22*LIJIN16=1,1,0);LIJIN112:=IF(LIJIN16*LIJIN10=1,1,0);LIJIN113:=IF(LIJIN10*LIJIN4=1,1,0);LIJIN114:=LIJIN99+LIJIN100+LIJIN101+LIJIN102+LIJIN103+LIJIN104+LIJIN105+LIJIN106+LIJIN107+LIJIN108+LIJIN109+LIJIN110+LIJIN111+LIJIN112+LIJIN113;LIJIN115:=IF(LIJIN94*LIJIN88=4,1,0);LIJIN116:=IF(LIJIN88*LIJIN82=4,1,0);LIJIN117:=IF(LIJIN82*LIJIN76=4,1,0);LIJIN118:=IF(LIJIN76*LIJIN70=4,1,0);LIJIN119:=IF(LIJIN70*LIJIN64=4,1,0);LIJIN120:=IF(LIJIN64*LIJIN58=4,1,0);LIJIN121:=IF(LIJIN58*LIJIN52=4,1,0);LIJIN122:=IF(LIJIN52*LIJIN46=4,1,0);LIJIN123:=IF(LIJIN46*LIJIN40=4,1,0);LIJIN124:=IF(LIJIN40*LIJIN34=4,1,0);LIJIN125:=IF(LIJIN34*LIJIN28=4,1,0);LIJIN126:=IF(LIJIN28*LIJIN22=4,1,0);LIJIN127:=IF(LIJIN22*LIJIN16=4,1,0);LIJIN128:=IF(LIJIN16*LIJIN10=4,1,0);LIJIN129:=IF(LIJIN10*LIJIN4=4,1,0);LIJIN130:=LIJIN115+LIJIN116+LIJIN117+LIJIN118+LIJIN119+LIJIN120+LIJIN121+LIJIN122+LIJIN123+LIJIN124+LIJIN125+LIJIN126+LIJIN127+LIJIN128+LIJIN129;DRAWBAND(1-LIJIN130/LIJIN98,RGB(0,224,224),LIJIN130/LIJIN98,RGB(255,96,96));状态1明跌:LIJIN114/LIJIN97;状态1明涨:1-LIJIN114/LIJIN97;状态2明涨:LIJIN130/LIJIN98;状态2明跌:1-LIJIN130/LIJIN98;W1:=MAX(状态1明跌,状态1明涨);W2:=MAX(状态2明涨,状态2明跌);状态1:=IF(LIJIN4=1,W1,0);状态2:=IF(LIJIN4=2,W2,0);注意:本指标源码用于通达信,友情提示:代码较多,一定要复制全。本文所述模型算法仅限学术探讨,指标公式作为知识免费分享,'基于开源数据集的理论推演',仅用于学习交流。
学习分享
学术交流:我们专注于市场的学术交流与研究包括自用指标零滞后均线最速曲线,以及自动化程序量化学习。图片
分享知识:田都元帅,敬神常在,爱人如己,我为人人,与人为善,分享快乐! 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。牛米网配资提示:文章来自网络,不代表本站观点。