2019/01/11

兼具趨勢(Trend)盤和震盪(Cycle)盤的交易系統


Chia Ling Liu 好高深啊
管理


顯示更多心情
回覆48分鐘

自營家 高深不一定有用, 有用的東西通常是簡單的; 只是我做系統喜歡有理論根據, 有數學推導的科學化根據更好, 我對自己空想的交易邏輯沒有信心, 師法前人或站在大師的肩膀上再去開發, 會讓我更相信這個系統, 尤其不準的時候, 更需要有這種自信才能堅持跟隨訊號下去. 所以結論是: 我愛用少人知道且有理論根據的系統, 至於有沒有比較好, 或是能不能賺比較多, 則是不一定的!
管理


先看程式實作的成果, 著實花了我不少時間, 重點是回測效果出乎預期非常好, 但是記住一件事 --- 買賣訊號給得再好, 能不能賺錢還是在個人喔!

接下來我用概念性設計(Conceptual Design)的方式來分享, 否則一堆像下面這樣的數學式, 看這篇文的人應該立刻跑掉吧? 哈哈

1. 技術分析就是模塑市場(modeling the market)
2. 市場理論上如墨基爾教授(Burton Gordon Malkiel)所言: 醉漢隨機亂走(Random Walk)
3. 醉漢隨機亂問題仍是著眼在方向(direction)
4. 煙流擴散(Smoke Plume Diffusion)理論可解釋市場狀況
5. 調整醉漢隨機亂走問題: 只看是否要改向(reverse direction)走, 並且不去在意上一步的方向, 使隨機變數(random variable)由方向(direction)改成以動量(momentum)為思考
6. 如此調整過後(改成動量思考)的醉漢問題便可以和凱利(John Larry Kelly, Jr.)或夏農(Claude Elwood Shannon)一樣改用類似資訊理論(i. e. electric wave on a telegraph wire), 抑或彎流(Meandering River)理論來解釋市場狀況
7. 根據以上兩個理論便具有了趨勢(Trend)和震盪(Cycle)兩者來模塑市場行為
8. 要分離出Trend或Cycle時, 不要像以往用減法(subtracted), 改用過濾(filtering)法 => AllPass(全市場) filtered by HighPassFilter(Cycle or Trend)
9. 技術分析的大敵乃移動平均(Moving Averages)的延遲(Lag)效應
10. EMA具有Trend mode特性, 可以averaging over 2 samples以改進衰減, 得到1個新的improved EMA, 把它當成過濾器
11. 將AllPass用HighPassFilter(improved EMA trend)移除(remove)Trend, 然後做平方(square to improve sharpness)來得到Cycle Mode
12. 最後 AllPass(全市場) filtered by HighPassFilter(Cycle Mode) = Trend Mode
13. 做成交易系統需要先行訊號, 因此增加2天的動量(a 2 day momentum) 到Trend Mode來得到先行的2個K線(get a 2 bar lead)
14. 建立1個 low lag smoothing filter來移除HighPassFilter(Cycle Mode)中的high frequency content


=============================
引用網路文章

    作者先假設一個市場走勢的簡單模型:   

       走勢 = 趨勢(Trend)與盤整(Cycle)的加總。



     在趨勢(Trend Mode)時,價格持續往同一個方向移動,價格走勢移動方向變動不大。因此可以把Trend想像成一個低頻的訊號。均線其實就是一種簡單的低通濾波器(low pass filter),因此大部分的均線策略在trend mode時績效很好。

    而在盤整盤(Cycle mode)時,價格移動方向的時常變動,因此可以把Cycle想像成一個高頻的訊號,而一般的震盪指標其實都是簡單的高通濾波器(high pass filter),所以在一般區間盤整的時候,大部分的震盪指標都好像很準。

    作者假設市場為一個動態週期的cycle,嘗試繼續使用數學的方法,取出目前市場走勢cycle的週期。計算出市場目前的週期後,接著發展出Sinewave 指標。


Ø  Hilbert Transform
    作者使用複數的觀念phasor去描述一個cycle

e = cos(θ)+jsin(θ)

A Phasor Can Represent a Cycle

    作者一開始使用Hilbert Transform從少量價格的資料近似出一個cyclephasor 型式,接著進行一些平滑處理的動作,取出 QuadratureInPhase

Ø  Homodyne Discriminator
取出QuadratureInPhase後,作者以此為基礎,使用Homodyne Discriminator近似出目前cycle的週期(period)

HomodyneDiscriminator的概念為,將這根bar的複數訊號與前一根bar的共軛複數相乘。如下式,可以得到angular frequency(角頻率)amplitude

angular frequency(角頻率) = (2π/Period),由此可得目前cycle的週期(period)

{Homodyne Discriminator}
Re = I2 * I2[1] + Q2 * Q2[1];
Im = I2 * Q2[1] - Q2 * I2[1];
Re = .2 * Re + .8 * Re[1];
Im = .2 * Im + .8 * Im[1];

If Im <> 0 and Re <> 0
    then Period = 360 / ArcTangent (Im/Re);



Ø  The SineWave Indicator
    Sinewave指標概念以下圖為基礎。假設走勢如同一個完美的cycle- sinewave走勢,若已知目前的週期(period)及目前的phase

因此只要將角度往前shift一個量,即可達到一個領先的效果,從下圖中可以觀察到LeadSine的走勢領先Sine走勢。但事實上價格走勢不是一個完美的cycle,以及在近似計算時有些平滑動作已經有產生延遲(lag)了。因此作者說其實他只是想盡量讓lag變少。

Plot1(Sine(DCPhase), "Sine");
Plot2(Sine(DCPhase + 45), "LeadSine");




    得到了價格走勢的動態週期(Period)後,下一步要取出目前市場的phase。若有cycle mode的話,看現在市場的狀態是在一個cycle中走到哪一個位置。

        Cycle mode:  phase會一直從0度增加到360度。
        Trend mode: 走勢往同方向一直持續,而phase不會增加。

    取出phase後取sine(phase)sine(phase+45),即為一個範圍從+1~ -1的震盪指標。下圖為使用完美cyclesinewave指標做測試,中間為sinewave,下面為phase。可以看到下圖中sinewave指標的交叉轉折點比cycle的轉折點還快。


Ø  The SineWave Indicator觀察
    Sinewave跟一般的震盪指標比起來有兩個優點

(1)若在cycle mode的話轉折點可以抓的比較快。

(2)可以分辨cycle mode trend mode:
  若在trend modephase不會持續往前,而作者有提到說,若在上升的trend中,phase       會持續在180度左右。而在下降的trend中,phase會持續在0度左右。




Ø  辨認Cycle mode與Trend mode
        下圖大約為2012/08~2013/02的台指期走勢,對應sinewave指標與phase圖,可以觀察出cycle modetrend mode。而up tremdphase大都在180度、down trendphase大都在0度。

    下圖還把sine指標死亡交叉與黃金交叉的價格點標出來,形成壓力與支撐。死亡交叉為灰點,表示在cycle mode的壓力。黃金交叉為紅點,表示在cycle mode的支撐。在up trend時可以觀察到價格都在灰點之上,表示一個往上突破cycle mode壓力的動作。而在down trend時,可以觀察到價格都在紅點之下,表示一個往下跌破cycle mode支撐的動作。


4 則留言 :

  1. 這.....這樣解釋跟公式差不多難度.....都是看不懂的難度XD

    回覆刪除
    回覆
    1. 那只能說聲抱歉了! 凡事都有個門檻, 基礎知識要手把手教的話, 可能要另找專人喔

      刪除
  2. 能否開放試用,如何計價

    回覆刪除
    回覆
    1. 謝謝您的欣賞! 但本人專職操作&寫文10幾年來, 從來不會有任何一丁點營利意圖, 請參考:
      http://individual-trader.blogspot.com/2013/09/blog-post_6.html

      刪除

.

.
Related Posts Plugin for WordPress, Blogger...