因為你的疏忽,錯過了遇見聖杯的機會!回測的時候,究竟要注意哪些重點?發現策略效果不好,要怎麼優化呢?
跟長期關注blog的朋友們說聲抱歉,最近真的有點久沒更新了!
我想說先把Hahow上的課程照顧好,所以之前的心力都在上面,
不過目前課程代碼已經穩定許多,問題變少
終於有時間來寫寫blog了!
一個有趣的問題
有同學於論壇中問我,為何他的策略,差幾天選股,回測跑出來差這麼多?
請大家先看數據,從數據中找出原因吧!看你想的跟我想的是不是一樣的!
以下是策略一的獲利狀況
其間 | 報酬率(%) | 股票檔數 |
---|---|---|
2017-06-11 – 2017-08-10 | -0.88 | 15 |
2017-08-10 – 2017-10-09 | +9.06 | 6 |
2017-10-09 – 2017-12-08 | +8.84 | 10 |
2017-12-08 – 2018-02-06 | -10.43 | 8 |
2018-02-06 – 2018-04-07 | -13.09 | 1 |
2018-04-07 – 2018-06-06 | +14.84 | 13 |
2018-06-06 – 2018-08-05 | +0.03 | 13 |
看起來不是非常理想,但同學做了一點點的修改,
把起始日期從原本的 2017/6/11
換成 2017/6/1
號,
結果變成了超好的策略:
其間 | 報酬率(%) | 股票檔數 |
---|---|---|
2017-06-01 – 2017-07-31 | -2.36 | 20 |
2017-07-31 – 2017-09-29 | 8.76 | 7 |
2017-09-29 – 2017-11-28 | 17.26 | 6 |
2017-11-28 – 2018-01-27 | 3.04 | 15 |
2018-01-27 – 2018-03-28 | 8.21 | 9 |
2018-03-28 – 2018-05-27 | 5.45 | 16 |
2018-05-27 – 2018-07-26 | 4.07 | 6 |
回測才相隔十天,並且適用同一個選股策略,
究竟什麼造成了如此大的差異呢?
大家先不要看我的答案,看看能不能用上面的數據,自己找出原因吧!
——公佈答案——
同學最初覺得跟換股時間對報酬率有極大的影響,
但追根究底的原因,其實是「股票檔數」對於報酬率影響很大!
我們就第一張圖進行檢討,
其實仔細看的話,
會發現其實每個時間段表現,除了紫色(2/6~4/7),其它時間都有穩定上升
代表策略能夠發揮功效
那圖1紫色時間段的問題再哪?
其實最主要的原因,紫色的時間區見內(2018-02-06 – 2018-04-07)
策略只選擇了一檔股票而已
沒有平均分散風險,造成毀滅性的虧損
解決的方法很簡單
就是讓策略每個時間段都選到一些股票,就不會有此問題了~
股票檔數是非常非常重要的一個數據!
它代表了策略的潛力~
例如策略每次都選了很多檔股票進行持有,而長期績效勝過大盤
代表這個策略非常有潛力!
我們課程上的「資優生策略」就算是非常有潛力的璞玉,一次會選出非常多檔股票
這些股票並不是拿來讓同學們直接買入,而是可以再進一步根據條件作篩選,選出數10~20檔股票!
不但股票檔數變少,績效也有可能上升!
策略製作最重要的關鍵就在於:股票檔數
假如條件太嚴苛,則可能導致選出太少檔股票,無法分散風險
我們課程中教的是以「條件來篩選」,例如 某某值大於多少 這樣子
有時候篩選不到股票,要預防這樣的問題,可以用以下的方式
condition1 = ...(課堂中的條件)
condition2 = ...
condition3 = ...
...
conditionn = ...
以上是上課用程式寫出來的條件,或是可以添加一些自己的條件,利用這些條件,幫股票做評分:
score = condition1 * 1 + condition2 * 1 + condition * 1 ... + conditionn * 1
selected_stocks = score.nlargest(20)
這邊的數字「1」都可以改成其它的權重,來代表該參數的重要性
這樣我們就可以很穩定的每次都選出20檔股票囉~
財報狗的選股清單就是用類似的方式選出來的~
有興趣的話可以試試看喔!
假如您沒有買課程的話也沒關係,概念上是一樣的喔~希望這篇文章能帶給您一些啟發~