常見的量化交易方法是制定買賣規則然後回測
如果硬要用機器學習覺得可以這樣
分類法
我平常操作是移動停利,而且通常看好的會持續加碼
因此Y可以設成這支股票未來會先漲超過當天收盤價15%(或其他數字)為1,會先跌當天收盤價15%為0,為了必免持續盤整太多天,設定N天沒漲跌超過15%設定為2,做分三類模型。
買進
判斷1買進-> 遇到1再加碼、遇到2不處理、遇到0賣出
放空
判斷0放空-> 遇到0再加碼空、遇到2不處理、遇到1回補
如果分三類模型太困難,因為有時候主力一直佈局但是時機不好遲遲未發動,這個特徵會很像要漲了,可以試試分兩類,並做兩個模型
買進模型
把N天沒漲超過15%也設定為0,判斷1買進->遇到1加碼0賣出
放空模型
把N天沒跌超過15%也設定為1,判斷0放空->遇到0加碼空1回補
每隻股票都做判斷會有太多隻要買賣,可以用有機率的分類法取機率較大的,是否加碼也可以考慮機率避免頻繁加碼。
以上這個方法每天做判斷,X特徵可以是最近N天三大法人累積買賣超、最近一個月營收年成長、主力券商最近3天有沒有持續買...任何嘗試,因為每天判斷所以是移動停利,而且會持續加碼,符合我的操作習慣。
迴歸法
Y是未來N天的漲跌幅度
例如N取5天 Y=(第5天收盤價-第1天開盤價)/第1天開盤價
對所有股票算出預測的Y並排序,選預測漲最多的前幾個買,並對每隻股票根據預測漲幅分配權重,排序靠前的股票權重越大,買進數量越多,如果預測跌幅到一定程度賣出。
分類法、迴歸法可能選其中之一方法做就好,目前覺得結合兩者這個方法感覺可以
先用分類法判斷再取之中迴歸法前幾名過濾是否買賣並依據預測漲幅分配買進數量
剩下當天交易時機如何判斷,簡單可以設定個當天開盤或10點多就買,但比較好還是要分析及時五檔資料挑選好時機。