重新梳理 7.0 SL規則

 




最近有群友提到,關於止損一些問題,有可能會產生一些影響,希望我可以在止損方面進行一些重新梳理,當我重新審視策略時,發現假如市場像1987年大趺或2000年科網股爆破時,一個月之內下趺幅度令人產生巨大壓力,在這混亂時期,投資人在情緒上肯定會產生一些擔心:

1.) 例如在當月內SELL 1/2觸發時,賣出一半持股後等待到月尾結算,但市場繼續大幅下趺時,我是否還要撐到月尾???

2.) 50%止損下降太大,擔心趺太多才止損。

3.) 趺穿10MA 後進行"月內執行Breakout指令",擔心會反覆  

首先我們看看,重新梳理前後分別

修改前


修改後:



基本上,梳理後的規則,在接近40年超長周期的回測中,它的回撤優化了,從而提升了回報,但是我不想將規則去遷就一堆歷史數字,例如因為某個月份趺太多我就刻意去修改規則去把sell 1/2 觸發條件下修到30%,這些....,這樣做就失去意義,所以改動空間不會太大,在不Overfitting情況下,加入一些規則同時修改一點參數,讓投資人壓力降低同時不會Overfitting

我們先回顧一下舊有7.0的止損規則:

7.0止損篇

1.)股價是否觸發清倉價 (包括股價月內觸發)

是=執行SELL 1/2(賣出一半持倉),否=繼續等到當月月尾結算日時是否進行止損或買入檢查

2.)觸發月內SELL 1/2之後,等待到當月結算日時股價是否低於清倉價??

是=執行SELL 2/2 (出清持股),否=N/A(繼續買入)

3.) 如SELL 2/2之後,結算日NDX是否仍低於10MA??

是=HOLD (暫停買入) 否=(第四題)

4.) 如第三題=否,SELL 2/2或HOLD後,結算日是否NDX低於10MA而同時收盤價高於剛止損時清倉價??

是=N/A (繼續買入),否=HOLD (暫停買入)

5.) 結算日NDX是否向上突破10MA?

是=BREAKOUT 否=HOLD (回第3題)

6.) 重回每月覆盤


新的7.0止損規則流程如下:

1.)股價是否觸發清倉價 (包括股價趺到月內觸發)

是=執行SELL 1/2(賣出一半持倉),否=繼續等到當月月尾結算日時是否進行止損或買入檢查

2.)觸發月內SELL 1/2之後,在等待到當月結算日收盤前,股價是否觸發於SL價??

是=執行SELL 2/2 (出清持股),否=(第三題)

3.) 如觸發月內SELL 1/2之後,月內沒有趺穿SL價,到該月結算日收盤價有沒有低於清倉價??

是=執行SELL 2/2 (出清持股) 否=(第四題)

4.) 觸發SELL 1/2之後,如果沒趺穿SL價,同時月結時股價大於清倉價?

是=N/A 否=(回第二題)

5.) 如SELL 2/2之後,結算日NDX是否仍低於10MA??

是=HOLD (繼續買入),否=(第五題)

6.) 觸發SELL 2/2之後,(當月或下月)收盤價是否高於上月清倉價?

是=N/A 否=HOLD

7.) 觸發SELL 2/2之後,NDX是否向上突破10MA?

是=月內突破執行Breakout指令 否=HOLD

8.) 月內突破執行Breakout指令之後,月尾結算時收盤NDX是否向上突破10MA?

是=繼續執行Breakout指令 否=重回第一題

9.) 重回每月覆盤


新規則解拆如下:

我取消了自行選擇止損百分比,為了策略的一致性。同時我們把清倉價規則由,對上12期之內最高的收盤價-50%,下修到45%,這樣可以使sell 1/2 提早一點觸發賣出從而降低槓桿,然後在sell 1/2觸發後,下個清倉價會變為:

"如果ndx低於10ma,同時該月收盤價低於對上12期內最高收盤價-45%",下個清倉價公式就會

"對上12期內最高收盤價-45% x 0.9"

以1987年 第一次觸發sell 1/2 ,sell 2/2 為例

舊參數:


新參數:


圖中對比下,由於由50%下降到45%,故觸發SELL 1/2 ,L column會由1.15提升到1.26,同時舊的規則是直到月尾收盤時,如果收盤價低於清倉價則觸發SELL 2/2。

但新規則下,由於ndx低於10ma,同時收盤價低於對上12期內最高收盤價-45%,所以下個L欄的清倉價將會由舊的1.15變成1.13,因為公式變為對上12期內最高收盤價-45% x 0.9,故此SELL1/2會比SELL 2/2的清倉價不會相同,這樣做可以提早觸發SELL 1/2但同時又不會降低SELL 2/2下限。

同時,我們為了在觸發SELL 1/2後,在等待月結時限制了其下趺幅度,我們加入SL規則,強制在一定下趺幅度內強制觸發SELL 2/2,就像電磁爐過熱自動關電裝置一樣,如圖:

我們以SELL 2/2 清倉價20%波幅作為限制,以上面例子來說,如果股價低0.91 (即1.13清倉價X0.8),這時K行便會出現"SL"字樣,提示我們強制執行SELL 2/2指令,以避免擴大趺勢, 對比1987年10月底,我們因為強制在10月底前0.9美元觸發SELL 2/2 ,避免了在舊規則下等到月結收盤時0.62美元才去執行SELL 2/2,從而避開了31%趺幅。
問題:

1.) 為什麼不把SELL 1/2 SELL 2/2設定到更低? 更易觸發?

測試過程發現回撤雖然降低但同時回報大幅下降,套出的現金更少,而且其實回撤也不是比想像中減少很多,因為套出的現金少了,緩衝低了,甚至現金補不及目標市值,倉位管理比較強差人意

2.) 為什麼不是以自身倉位來決定止損? 例如下趺15%就賣出一半,30%就賣光

為了保持策略一致性,每人倉位部份都不同,可能會在下趺周期時產生他要賣出,我又不能賣的尷尬情況,就像6.2版本倉位止盈(TP1)的情況

參數上,止損結合簡化了的TP規則,提高了止盈的機率,加上保留現金會隨著每月增長,止損反而不應太頻密,你每次TP已經在幫你降低壓力同時減少風險,新規止損對應大約NDX趺幅15%~18%



說回正題,經過調整後,在SELL 1/2後,如果像2000年科技股大趺,我們SL機制都提早了觸發強制SELL 2/2,避開了幾次巨量下趺,但SELL 2/2後,我們便會開始進入"試錯"階段

6.)觸發SELL 2/2之後,(當月或下月)收盤價是否高於上月清倉價?

是=N/A 否=HOLD

如果股價繼續尋底,就應該繼續HOLD著靜觀其變,我們止損加上頻繁止盈而保留了之前累積的子彈,不過在下月收盤時,如果收盤價回升得比清倉價大時,可以改為"N/A"買入,因為這種機會實在不多,萬一當發生這種情況,往往有很大機率是屬於強勢反彈的開始,因為你執行SELL 2/2的策略已經代表股市下趺到一定幅度,即使"試錯"失敗,我們還有止損作緩衝,而且我們也不會全倉買入,例如08年股災作例子:

08年金融海嘯

以08年金融海嘯為例,我們在SELL 2/2後第二個月開始有反彈現象(08年4月30號),紅字1.06收盤價大於3月31號 L行的清倉價(0.96),我們由HOLD改為N/A,結果正好是反彈期,NDX向上衝破10MA,配合月內突破,跟隨著季度反彈。

正如我所說,萬一試錯失敗,我們也有保護措施,且看之後發展:

在2008年6月又再次大趺觸發SELL 1/2,2/2,這次之後更一路大趺,即使在09年3月,4月最低位大幅反彈,由於收盤價升不多於上期清倉價,系統也不會再進行試錯,直到月內突破。

換言之,這種機會不是常常出現,40年來只有金融海嘯以及COVID19時期,在SELL 2/2後執行N/A(買入)試錯。

2020年3月COVID19時期

最後就是月內突破,現在月內突破只會出現在SELL指令後才會執行(可自由決定是否執行),普通時期趺穿10MA再向上突破時不會執行月內突破。


結語:

其實任何策略並不會完美無瑕,我們的策略也從未刻意追求絕對完美。

我們所堅持的,是「夠好就好」——能夠接近完美,已足以成就非凡。

我們回頭看看,自四月低點以來若始終持有100%的全倉TQQQ,結果自然令人驚艷。但這裡我要提醒:在任何上漲的行情中,100%ALL IN 總是贏家。但遺憾的是,沒有人能預知漲勢何時開始、何時結束

正因如此,我所採用的方法,是我廿多年被股市折磨,而結合無漪構思出來的框架,經多次改良回測而成的策略。我的經驗告訴我,破壞任何策略的最快途徑,就是事後諸葛亮去試圖掌握市場時機。

曾經在股市苦苦掙扎、試圖重回正軌的人,要彌補失去時間,唯有堅持紀律,才能理解在通往卓越長期回報的路上,"完美策略"永遠只是個理想,而非現實。

大多數投資人在今年四月關稅解放日驚慌失措,五月半信半疑,六月猶豫不決,當市場狂歡時則被新聞頭條牽著走。現在來看只有在回顧性幻想中,他們現在才會對今年四月的低點充滿信心,對六月的本來猶豫現在卻感到篤定,這種投資性幻想,總是建立在事後發生的數據之上。

事實上,下跌時買入、上漲時賣出並非錯誤。錯的是,當這些策略的價值被揭示後,事後幻想總是掩蓋了真相。投資人總是"馬後炮",他們早就知道會發生什麼事——不該在下跌時逐步買入,而應該在最低點全力ALL IN進場,不該在上漲時逐步賣出(TP),而應該找個最高點一次出清。

堅持一套成熟、穩健且「足夠好」的流程。雖然它不是最完美,但它能讓你易於執行而能實現 不錯回報。你能把系統80%執行度我認為你的回報將會相當出色。

這個網誌中的熱門文章

信號配置策略表格4.0( 非槓桿)

2024年回顧與2025年展望

信號配置策略表格 6.2版