策略變差,重新最佳化參數有用嗎?|量化通社群問題筆記(十)

量化通社群問題筆記系列文章,是整理自量化通 LINE 社群裡的第一手真實案例與實戰中常常遇到的問題。我們摘錄社群的原始對話內容,並整理成專題文章。

社群的真實討論很有價值,雖然這不是標準教學,而是大家在實踐量化交易中留下來的問題與心得。除了策略開發、回測、串接與下單設定之外,尤其是心理面與經驗分享才是精華所在。這類問題很難在網路或官方文件裡直接找到答案,但在每次提問和交流中,真正的問題核心點就會慢慢浮現出來。

所以這系列文章不是要給一個標準答案,而是把當時的討論脈絡整理出來,順著問題本身往下拆,變成更有參考價值的內容給大家。

立即訂閱電子報,掌握最新資訊!

    稱呼

    電子郵件

    以下非必填,但若您願意分享,我們將能推送更精準的內容給您

    投資經驗

    是否為理工科背景、工程師或有寫程式的經驗?

    有興趣的主題
    量化交易台股期貨海外期貨虛擬貨幣美股

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQ

    想透過量化交易達成甚麼目的?
    不確定自動交易選股回測投資績效量化自己的投資方法想找現成的策略套用

    還有什麼想詢問的?



    社群成員:策略失效後,如果再換一組最近看起來比較漂亮的參數,這樣算是解決問題嗎?
    量化通-Tony:就要換個思維開發了,不能無腦暴力跑參數。
    量化通-Tony:其實還是要回歸到你的使用情境啦。

    當原本順手的策略開始虧損,直覺可能是打開最佳化,挑一組近期表現漂亮的參數,讓績效曲線重新好看起來,但這樣做真的解決問題嗎?

    策略績效下滑,不一定代表參數失效,我們需要先從程式、參數與回測報表,再逐一檢查歷史資料、交易成本、訊號到實際成交,找出績效惡化的原因。如果問題出在滑價增加、委託未如預期成交,單純調整進場門檻並不能改善策略或交易上的問題。

    觸及風控界線時先處理風險

    如果是策略已經破 MDD(歷史最大回撤),我們就需要進一步判斷是正常的績效波動、交易執行問題,還是策略原本的獲利優勢可能已經減弱。

    破 MDD 後怎麼辦,要如何檢查風控,可以參考我們之前寫的 績效久沒創高甚至破 MDD 時,要不要下架策略。

    只有在釐清績效惡化的原因,並確認問題確實可能透過重新估計參數改善後,才考慮進入最佳化流程,即使找到歷史績效更好的組合,也要進一步檢查相鄰參數的表現、成本變動的影響,以及另一段歷史資料,是否還能維持不錯的表現。

    策略績效變差,問題在執行、市場,還是參數?

    策略績效下滑時,我們優先要先固定原版程式與回測設定,核對實際交易與回測結果,確認歷史資料、策略訊號、委託、成交及交易成本等是否正常。

    排除執行異常後,進一步再檢查市場環境是否仍符合策略原本的設計,例如:

    • 趨勢策略在缺乏明確方向的行情(盤整),難以延續原有表現
    • 均值回歸策略在持續單邊行情,容易面臨較大的回撤

    如果是市場結構或波動特性已經改變,就需要重新評估策略的適用性,以及原有風控是否仍符合目前的風險。

    如果市場環境看起來正常,但績效還是持續惡化,我們應該進一步檢查策略的獲利優勢是否減弱,再決定是否需要重新最佳化。

    重新最佳化的關鍵:選對參數,更要驗證結果

    重新最佳化的重點,不是找出歷史績效最高的參數組合,而是評估不同參數對策略表現的影響,確認策略是否過度依賴特定參數。

    即使找到歷史績效更好的參數,我們也要進一步檢查相鄰參數的表現、交易成本變動的影響,以及在未參與參數挑選的歷史資料中,是否仍能維持合理的表現。

    真正需要檢視的不是能不能使用最佳化,而是為什麼要重新最佳化、要如何挑選參數,以及如何驗證結果,有明確的改善目標與驗證標準,才能判斷新參數是否真的改善策略,而不只是讓歷史績效曲線看起來更漂亮。

    最佳參數旁邊幾組,也跑得動嗎?參數孤島的陷阱

    假設策略有一個均線參數,可試 20、21、22 這三個相近值,如果在選模資料中,21 的淨利很高,但 20 與 22 都明顯虧損,先懷疑績效高度依賴精準數值,可能踩到參數孤島了。

    三者在合理成本下都有相近的正向表現,至少表示這個小區域沒有那麼脆弱,但這仍不能保證未來有效,也不能靠三個數字就證明沒有過擬合。

    還要看交易筆數、最大回撤、獲利是否集中在少數日期,以及參數範圍是否有策略邏輯上的理由。

    Community Qa 10 102654755
    相鄰參數是第一層穩健性檢查,圖中高低只作示意,不代表未來績效

    參數選「普佳化」,而不是選最好的

    我們應該要選擇相對穩健的參數,而不是盲目只選第一名。

    這裡說的「普佳化」,是從合理的參數範圍中,找出附近多組設定都有相近表現的區域,先挑對數值較不敏感的候選參數,再做進一步驗證,會比只看回測排名更有判斷依據。

    接著把候選參數與舊參數放在相同商品、資料期間、交易成本與部位設定下比較,先寫下這次要改善的問題,再看成本後獲利、最大回撤與交易筆數的變化,才知道新方案改善了哪裡,又付出了什麼代價。

    選定候選參數後,還要固定設定用未參與挑選的後續資料驗證,如果結果未達事前設定的評估條件,先列為本輪未通過,回到開發資料檢查原因,如果根據這段驗證結果修改參數,它就已參與開發,下一輪須另用未參與挑選的資料驗證。

    每次測過的組合與結果都要保留,連同資料區間、成本假設與採用理由一起記錄,重新最佳化的用途,是幫我們研究參數敏感度、比較新舊方案。下次要換參數前,先留下舊版、寫清楚要改善的問題,再以驗證結果來決定是否更換。


    加入LINE社群「量化交易討論群」無壓力討論與分享!

    加入Discord 「量化交易討論群」即時獲取實用的資源!

    Anti Fraud 10140382164
    Anti Fraud 10140382163
    Anti Fraud 10140382165
    東尼 Tony
    東尼 Tony

    十年餘法人級投資經驗,曾任加密貨幣量化基金經理人與投資策略長、AI智能基金經理人、證券期貨商自營部操盤手,管理資金規模最高超過七億元。
    熟悉各類金融商品操作與加密貨幣領域,在量化交易、指標設計、策略模組打造、投資組合配置,有著深厚的經驗。
    為”智慧型基金投資系統”之專利創作人,多次受邀至各大學與企業擔任講師。

    文章: 109

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *