文章目錄
-
-
- 一、摘要
- 二、《技術分析》與KST
- 三、KST原理
- 四、政策實作
- 五、政策回測
- 六、完整政策代碼
-
一、摘要
在交易中,市場的參與者往往不是絕對理性的,面對公共資訊,大多數人都會做出趨同的決策。就像沙丁魚群一樣,動作整齊劃一的打轉,遇到危險時能很快分開又整合。而這些可以通過技術分析名額顯示出來,根據曆史行情來判斷未來的市場走勢,這正是技術分析的精髓所在。經過一百多年的演繹,技術分析已經發展成非常龐大,且門派林立的思想體系。
二、《技術分析》與KST
提到技術分析,很容易想到《技術分析》這本書,該書在上個世紀80年代初次面世,經過幾十年的發展,該書再版多次,從最初的300多頁增加到600多頁,增加了很多交易工具和技術名額,KST就是其中之一,而作者本人正是大名鼎鼎的馬丁·普林格。
在FinanceWord融語财經的外彙黃金技術分析中,馬丁·普林格都會使用一個叫作KST的名額,本篇文章就以馬丁·普林格的KST名額作為指引,詳細論述其原理,最後依托發明者量化(fmz.com)交易平台,開發一個商品期貨馬丁普林格KST政策。
三、KST原理
KST名額全稱為Know Sure Thing,中文名稱是“确然名額”,最早出現在1992年的《股票與商品期貨》雜志中,KST本質上是基于動量的震蕩名額,其核心是變動率(ROC),通過ROC衡量了4種不同時間周期的價格動量,然後再将它們組合成一個單一的動量震蕩名額。它可以通過修正的價格變動,發現市場超買和超賣情況,以此來判斷趨勢。
具體來說,其利用了4個不同周期的ROC以及再次平均,最後計算出KST值,該值在0軸上下波動。如下面的清單所示:
- RCMA1 = 10周期ROC的10周期MA
- RCMA2 = 15周期ROC的15周期MA
- RCMA3 = 20周期ROC的20周期MA
- RCMA4 = 25周期ROC的25周期MA
- KST = (RCMA1 * 1) + (RCMA2 * 2) + (RCMA3 * 3) + (RCMA4 * 4)
- KSTMA5 = KST的5周期MA
四、政策實作
第1步:計算4個ROC
ROC10 := 100 * (C - REF(C, 10)) / REF(C, 10);
ROC15 := 100 * (C - REF(C, 15)) / REF(C, 15);
ROC20 := 100 * (C - REF(C, 20)) / REF(C, 20);
ROC25 := 100 * (C - REF(C, 25)) / REF(C, 25);
第2步:計算KST
KST : (MA(ROC10, 10) + 2 * MA(ROC15, 15) + 3 * MA(ROC20, 20) + 4 * MA(ROC25, 25))/10;
第3步:計算KST均值
KSTMA5 : MA(KST, 5);
第4步:下單交易
CROSS(KST, KSTMA5), BPK;
CROSS(KSTMA5, KST), SPK;
AUTOFILTER;
五、政策回測
- 回測開始日期:2017-01-01
- 回測結束日期:2021-04-28
- 資料品種:動力煤主力連續
- 資料周期:日線
- 滑點:開平倉各2跳
回測配置
回測績效
資金曲線
六、完整政策代碼
(*backtest
start: 2017-01-01 00:00:00
end: 2021-04-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
args: [["ContractType","ZC888",126961]]
*)
ROC10 := 100 * (C - REF(C, 10)) / REF(C, 10);
ROC15 := 100 * (C - REF(C, 15)) / REF(C, 15);
ROC20 := 100 * (C - REF(C, 20)) / REF(C, 20);
ROC25 := 100 * (C - REF(C, 25)) / REF(C, 25);
KST : (MA(ROC10, 10) + 2 * MA(ROC15, 15) + 3 * MA(ROC20, 20) + 4 * MA(ROC25, 25))/10;
KSTMA5 : MA(KST, 5);
CROSS(KST, KSTMA5), BPK;
CROSS(KSTMA5, KST), SPK;
AUTOFILTER;
上面附上完整政策代碼以及回測配置,也可以點選下方連結複制完整政策代碼:
https://www.fmz.com/strategy/277067