電子信箱 service [at] bituzi.com
幣圖誌首頁 facebook粉絲團 google plus google plus

技術指標的資料科學,以均線為例!


這一年在外面上課,教同學用R語言寫程式做回測,講解資金管理,策略如何建構精進..等一些"經驗"分享。課後常會有同學問我:

『老師..如果用XXX技術指標會如何?』或是『機器學習技術是否可以用在交易上?』


我通常回答其實我對技術指標沒什麼研究,交易的重點當然還是在資金管理!
事實上不是。哥對大部分的技術指標熟透了,但那是在早期。後來我認知到技術指標不是交易的重點。或著正確的說,使用技術指標只是建構策略的一部分(有些人甚至完全沒用),交易的重點當然還是在資金管理、策略建構。

這幾年都在做各種理論研究、模擬驗證。漸漸的就淡忘了這大部分的技術指標。雖然如此,但我還是想談談我對技術指標的看法。


基本上技術指標的目的就是產生訊號,產生什麼訊號?當然是買進賣出的訊號,甚至是加碼停損停利的訊號。然而這一定百分百正確嗎?當然不是。任何一個技術指標,包括很厲害的器學習、深度學習出來的訊號,都只是為了讓你有一個買賣的依據而已。但這個依據絕對不是100%正確,意思是說不是每次進場把把都賺,不然你很快就是世界首富了!

那技術指標到底能不能用?

雖然我自己不太常用,但不代表不能用。誠如上面所說,就是個買賣依據而已。有時當我沒有靈感,也會隨便拿個指標來跑一跑。我反而認為做為一個金融資料科學愛好者,針對技術指標這個議題,應該要研究的是"技術指標的理論面與實務面。

我以均線為例,這是最多人使用的技術指標。簡單的說,大部分投資者都會在黃金突破時買進,死亡交叉賣出。這麼簡單,可惜大部分這樣用的人,還是不會獲利。但相不相信,還是有人靠著這簡單的規則,搭配好的資金管理,一直賺大錢。

於是開始有很多人整日專研均線。5MA、20MA、60MA甚至年線250MA都拿來玩。一條均線不行,就改參數換另一條均線,直到好的均線出線好的績效為止。事實上這樣是不對的!如果真要說技術指標的資料科學,我以SMA跟EMA做為舉例。

理論面的均線

所謂的SMA是指簡單移動平均線(Simple Moving Average)。以10日SMA的算法為例,其算法為

SMA昨日=(C1+C2+...C10)/10

也就是過去10天收盤價的平均,其中Ci為前i天的收盤價。當然不一定要限於收盤價,也可以是最高價、最低價、開盤價。而今日的SMA計算如下:

SMA今日=(SMA昨日*10-C10+C今日)/10

簡單的說,就是把10日前的收盤價(C10)踢掉,然後加上今日的收盤價(C今日)。如果10天前價格相對今天很高,則SMA就會下降(斜率為負),如果10天前的價格很低,因為被踢掉,則SMA便會上升(斜率為正),也就是一般使用者常會觀察的均線往下還是均線往上",用以判斷行情的多空。

但思考一下,如果你是根據均線往上或往下當作買賣多空的依據(的確還不少人這麼判斷),但均線往上往下卻是取決於10天前的價格,這合理嗎?不能說完全不合理,但總是有怪怪的地方,至少不那麼Make Sense。

所以後來有人使用了指數移動平均線(Exponential Moving Average),簡稱EMA。EMA的算法如下:

EMA今日=C1*(1/k) + EMA昨日*(1-1/k)

也就是今日的收盤價永遠佔了1/k,而剩下的(1=1/k)則是昨日的EMA。這避免掉SMA往上往下取決於n日前價格高低的問題,而變成漸進試的改變調整。

實務面的均線

好了,因為我上面敘述的這些理由,現在你可能會覺得EMA比SMA好。但實際使用起來,SMA就沒人在用嗎?不是,還是很多人在用,甚至是大部分的人,因為它最簡單好理解。

下圖是20日SMA黃金交叉60日SMA買進1張台積電(2330),跌破時賣出的累計績效損益圖,可發現還不錯。總績效還達到NT 63,189元,獲利因子甚至高達2.7。


那是否將SMA換成EMA會更好呢?如下圖所示,獲利只剩下NT 36,091,而獲利因子降到1.49。


竟然沒有更好!不是理論上已經證明EMA會比SMA更好嗎?為什麼?我也不知道,反正回測出來就是這樣,資料科學說話。我們在來同樣的測試做在中華電信(2412)上會如何?

用SMA當訊號,累計績效為NT 30,470,獲利因子為1.68。


用EMA當訊號,累計獲利為NT 36,938,獲利因子為1.83。這次EMA奪回一城了。

重點不在EMA跟SMA哪個好!而是哪一個指標,你覺得在哪一檔商品,哪一段時間內有效,你就使用那個指標。

在學術上,我們可以針對各種各種技術指標做理論上的研究,探究怎樣的設計更合乎直覺!

在實務上,交易的目的是獲利,技術指標好不好用,除了真槍實彈下去外,就就是回測讓損益數據說話。

因此,就算一個再不make sense的指標,只要回測績效好,經過統計上的各種檢驗、包括穩固性測試..等,如果能通過,我們就拿來使用。至於為什麼? 不那麼重要了!

當然,或著說探究為什麼是學術上再研究的問題,不一定是來這市場想要大撈一票會關心的!

最後,我再強調一次,所有的技術指標都只是給你一個mechanism的交易步驟。你必須回測、驗證,思考該如何去管理你的部位大小,讓你在賠錢的時候部位小一點,賺錢的時候部位大一些。如此而已!

0 意見: