2015年7月15日 星期三

★股票程式交易SOP

     在我所有程式交易投資組合中,我花最少時間管理,也最不用操心的大概就是股票程式交易,最近有人在問,今天我就花點時間,跟讀者分享一下股票程式交易的心得。
     其實要切入股票程式交易,遠比大家想的都容易,也比大家熟悉的期貨程式交易來的簡單,其關鍵就在於股票商品數量夠多,而且有全球的市場,永遠都找得到容易創新高的股票,也很容易找得到每天都在破底的股票,既然選商品是重點,那麼策略就不是太重要了。下面是我提供要切入股票市場的SOP,供資金水位高的人參考:


[步驟1] 準備一隻簡單的策略
     股票交易一律使用日K進行交易,所以就不需要收集分鐘K線資料,也不會有細部回測的問題。首先,你需要準備一隻簡單的策略,通常程式碼很簡單,任何人花點心思一定寫得出來,你可以用兩條均線,多頭排列的時候破高就做多;也可以簡單用個SAR、MACD或是布林通道突破寫策略。

     到這裡,先隨便準備一兩個商品,進行回測,直到測出好的結果再停止。注意,不要有過多的最佳化,否則會無法通過下一個步驟的考驗。回測手續費記得要設。



[步驟2] 使用台灣100內所有股票進行測試

     把步驟1的策略丟到MC的Portfolio或是Portfolio Trader針對台灣100裡所有股票進行回測,在不改任何參數的情況下,如果回測出類似下面的結果,表示你的策略有穿透性,可適用大多數的股票,如果不行的話,請回到上一個步驟重新開發策略。


    到這裡一定有人會問,為什麼要使用台灣100進行回測? 理由很簡單,台灣100都是屬於相對較有成交量的股票,而且歷史資料大多比較齊全,更重要的是裡面充斥著牛皮股,例如2330台積電、2002中鋼、2891中信金、1101台泥等大型股票,這些股票幾乎都沒有什麼波動,大部分的策略丟進去測,都會因為這些拖油瓶把績效變難看。換句話說,如果單一策略用等量的資金分配到這100檔股票,如果表現還是不錯的話,表示這個策略具有泛用性。


[步驟3] 定期找出股票池,丟入投組

    其實到步驟2,你已經完成了,這個時候你會發現,只要隨便丟個50檔股票以上(不管是大型股或是小型股)到投資組合裡面去跑,回測都會很漂亮,到了這一步,你的策略基本上已經不會失效了,接下來要花心思的就是去找出更有效率的股票。

     選股的頻率,我自己是每一季會選一次,第一次通常比較辛苦,要從市場中找到一堆看起來順眼的股票,之後就比較簡單了,因為只要替換某幾隻股票就可以了,選股的技巧百百種,我自己是索羅斯那派的,會優先選出市場上的題材股或是群眾有共識的股票,簡單來說長期易漲的股票,都是有群眾有期待性,然後有題材,也有獲利支撐的股票。反正最壞的打算就是選到一隻不會漲的股票,但是最壞的狀況也不會比選到2002中鋼來得更糟。

    下面這兩檔股票是選股比較成功的例子,我在台股上萬點之後程式才買進作多,雖然大盤一路下跌,但股票部位卻仍然創新高的一個關鍵。


.

選股技巧稍微加強一下,很容易跑出來的獲利曲線長這樣…

       我想股票程式交易最大的好處是,對策略的信心度會很高,帳戶隨便就可以打敗大盤。這個交易模式很適合大資金的操作者,例如基金經理人,因為要做的事情只有選股,然後接下來電腦搞定,還滿單純的。


後記:

     今天就先講到這裡。更有趣的是,你會發現這個策略丟到海外也一體適用,我相信程式交易單一策略是沒有聖盃的,最接近的我認為是股票程式交易策略。

     以後有機會再慢慢跟大家分享,我覺得股票程式交易是可以很有趣的。

丟到S&P500及Dow30的大型股測試,也是可以通過考驗的!!!




8 留言:

呆門 提到...

請問怎麼用Multicharts做台股的程式下單呢?
是否要洽詢特訂券商呢?
謝謝您的分享!

WEN 提到...

第一,要有一個可以下股票的下單機。
第二,你的券商要有api接口才行。

呆門 提到...

請問有推薦的券商嗎?元大?

匿名 提到...

交易次數太高了吧

WEN 提到...

1. 沒有推薦的券商耶……看個人喜好,可以打電話問營業員是否有支援。
2. 匿名的先生…我都沒有說這個交易次數是幾年累積下來的…怎麼會說太高呢?

匿名 提到...

怎麼不公開一下時間給大家知道呢

Pat 提到...

想請問是不是用日K線進出的?因為回測有可能買到漲停個股導致失真。

匿名 提到...

分享一支台股回測app
https://play.google.com/store/apps/details?id=priceyang.stockbacktest

張貼留言

如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!

----------------------------------------------------------------------------------------------------
網站聲明(Disclaimer)
本教學網站內所提供之程式碼(包括函數、指標、訊號)屬開放程式碼,用意在於讓使用者學習程式語法之撰寫,使用者可以任意修改語法內容並調整參數。本網站所有之內容(包括文章、影片、歷史紀錄、程式碼、教材)限用於個人學習使用,請勿轉寄、濫用,嚴禁私自串接帳戶交易。
-------------------------------------------------------------------------------------------------