這一集會分享一下我選擇的特徵還有我使用的演算法,
開始吧!
------------------------------------------------------------------------------------------------------------
Step 5 : 特徵選擇
自己學了機器學習到現在兩個多月,
我發現,如果想要好好的使用機器學習,
不僅要好好了解這個技術的架構、使用方法以及背後原理,
除此之外,還要對你要使用的領域,有一定的瞭解。
所以在特徵選擇前,我們一樣瞭解一下,到底有什麼東西會影響指數期貨。
這邊推薦一個網站,INVESTOPEDIA,很多金融遊戲的名詞都可以在裡面找到不錯的解釋。
通常大家打開XX分析台,最常聽到的就是什麼 5 日均線、20 日均線、60 日均線,
也被分別稱為週線、月線和季線,還有什麼五波上漲、頭肩頸、支撐、壓力、旗型整理,
之類的非常 fancy 的東西,我們就拿最好實現的均線來當特徵。
那均線是什麼東西呢?
以 5 日均線為例,就是取過去五天指數的平均(或是股價的平均),來當作一個指標。
比如,過去五天台股指數分別為
台股指數期貨 ( 8/29 ~ 9/2 ) | ||||
8/29 (一) | 8/30 (二) | 8/31 (三) | 9/1 (四) | 9/2 (五) |
9000 | 9100 | 9200 | 9300 | 9400 |
那我們就知道在 9/2 (五) 的五日均值是 ( 9000 + 9100 + 9200 + 9300 + 9400 ) / 5 = 9200
而把每一天的均值組合起來就得到五日均線,月線和季線也是相同的原理。
知道均線是什麼後,我們還必須知道,這些線有什麼用?
通常呢,週線、月線是給短期操作的人使用的,月線、季線則是給長期操作的人用。
那我們玩期指,還是短期操作就好,所以以下只會使用 5 日和 20 日線。
理論上來說,5 日線向上和 20 日交叉的時候,趨勢上漲,
5 日線向下和 20 日線交叉的時候,趨勢下跌,
大家可以看一下下圖,這不是亂唬小。
這是 2016 年年初到今日的台股加權指數變動,紅線是 5 日線而綠線是 20 日線。
我分別取兩個點出來,第一個是今年四月份左右,5 日線向下和 20 日線交叉的時候,
台股跌了一個半月,跌到八千點,然後總統就職後,5 日線向上和 20 日線交叉,
台股一路狂飆到現今的九千點。
好了,大家可以去買指數賺錢了......
好,當然不是這樣,我們要追求卓越,
不能為了這點蠅頭小利就放棄追求新知識這個甜美果實。
大概瞭解 5 日線和 20 日線的實力後,我們再加上一個 fancy 一點的東西,
這個東西叫做 KD 值 ( 隨機指標 ),要引入 KD 值的觀念前,
我們先講未成熟隨機值 RSV ,因為講的有點累,大家自己在這邊看。
大概瞭解後,我們就決定使用 K9、D9 和均線們來讓機器學習吧!
但是,我們要用什麼演算法呢?
------------------------------------------------------------------------------------------------------------
Step 6 : 演算法選擇
回想一下,機器學習的演算法中,可以被大概分成三種,
分別是 Regression、Clustering、Classification,
Regression 就是我們上次河川水位預測時,使用的方法。
Clustering 則是讓資料自動分群,但我們要做的事情,是有絕對的答案的,
每天就是,漲或跌。所以 Classification 將是我們選擇的方法。
在 Classification 中,我是選擇 Nearest Neighbours Classification 方法,也就是 最近鄰居們法。
這個演算法是什麼東西呢?
簡單說就是近朱者赤、近墨者黑的概念。
假設,平面上有十個點,如下圖,
五個綠點五個藍點,我們現在加入新的點,要如何把它分類呢?
以最近鄰居們法,我們就找出三個離它最近的點,分別是二藍一綠,
那最近鄰居們法就會判斷新的點是藍色。
當然實際上,這套演算法可以到很複雜,
在很高維度底下要如何找出最近的點們,
還有距離的計算公式和判斷的依據......等很多複雜的東西。
這邊只是稍微淺白地講一下,因為我也只是亂學。
好,選擇好特徵也決定要使用的演算法後,我們就可以開始寫程式碼並實現機器學習了!
------------------------------------------------------------------------------------------------------------
Reference
[1] 期貨 wikipedia
[2] 股票指數 wikipedia
[3] 台灣期貨交易所, http://www.taifex.com.tw/
[5] A beautiful soup, https://www.crummy.com/software/BeautifulSoup/bs4/doc/
[6] Pickle, https://docs.python.org/2/library/pickle.html
[7] Scikit-Learn, http://machine-learning-python.kspax.io
[8] Scikit-Learn, http://scikit-learn.org/stable/
[9] INVESTOPEDIA, http://investopedia.com
[10] Wikiwand, http://www.wikiwand.com/
下一集:
[機器學習練習] [Machine Learning Practice] 用 Scikit 學習台灣指數趨勢(五)
[8] Scikit-Learn, http://scikit-learn.org/stable/
[9] INVESTOPEDIA, http://investopedia.com
[10] Wikiwand, http://www.wikiwand.com/
下一集:
[機器學習練習] [Machine Learning Practice] 用 Scikit 學習台灣指數趨勢(五)
沒有留言:
張貼留言