Fisher指標(biāo)的JavaScript語言實(shí)現(xiàn)以及在FMZ上畫圖
交易中技術(shù)分析的時(shí)候,交易者都把股價(jià)數(shù)據(jù)作為正態(tài)分布的數(shù)據(jù)來分析、研究。不過,股價(jià)數(shù)據(jù)分布并不符合標(biāo)準(zhǔn)的正態(tài)分布。Fisher Transformation
就是一個(gè)可以把價(jià)格數(shù)據(jù)轉(zhuǎn)換為類似于正態(tài)分布的方法。Fisher Transformation
將市場數(shù)據(jù)平滑,剔除一些尖銳的小周期振蕩。利用當(dāng)日和前一日的指標(biāo)交錯(cuò)可以發(fā)出交易信號。
關(guān)于Fisher Transform
的資料百度、知乎很多,這里不再贅述。
指標(biāo)算法:
今日中間價(jià):
mid=(low + high) / 2
確定計(jì)算周期,可使用10日為周期。計(jì)算周期內(nèi)最高價(jià)和最低價(jià):
lowestLow = 周期內(nèi)最低價(jià)
,highestHigh = 周期內(nèi)最高價(jià)
。定義價(jià)變參數(shù)(其中的
ratio
為0-1之間常數(shù),例如可取0.5或0.33):

對價(jià)變參數(shù)
x
使用Fisher
變換,得到Fisher
指標(biāo):

使用JavaScript語言實(shí)現(xiàn)該算法
按照該指標(biāo)算法逐步實(shí)現(xiàn)。需要注意的是這個(gè)算法是一個(gè)迭代算法,對于preX
,preFish
開始都置為0。對于Math.log
就是求以自然常數(shù)e為底的對數(shù)。另外在上面算法中未提及對于x的修正,我在編寫時(shí)也差點(diǎn)忽略掉這個(gè)問題:
修正x的值,大于0.99就強(qiáng)制設(shè)置為0.999。小于-0.99同理。
第一次看這個(gè)算法、指標(biāo),按照算法移植出來之后。該實(shí)現(xiàn)我也并未驗(yàn)證,有興趣研究的同學(xué)可以驗(yàn)證下有無錯(cuò)誤。非常感謝指出錯(cuò)誤。
Fisher Transform
指標(biāo)算法源碼:
畫圖
在FMZ上畫圖就很簡單了,策略廣場:https://www.fmz.com/square
上面有大把的例子可以參考,也可以搜索。

所以在FMZ上研究數(shù)據(jù)、圖形顯示、設(shè)計(jì)策略是非常方便的。
這里拋磚引玉,歡迎各位老師、同學(xué)留言。