00631L報酬回測唯讀對話

原始對話 · 4 輪對話

00631L報酬回測

你

我想做一些股票投資的數據回測,舉例來說 元大台灣50正2 00631L的歷史數據你能自己上網撈嗎? 什麼時候以什麼價位上市 現在價位多少,中間歷經分割能夠還原報酬率計算嗎? 上市當日至今報酬率多少 三年內滿倉報酬率多少

ChatGPT

可以,而且像 00631L 這種中間有分割的 ETF,我可以先把歷史價格全部做「還原」,再做你要的回測。不能直接拿分割前 127 元跟現在 38 元比較,那會得到完全錯誤的結果。

以目前能取得的最新完整交易日 2026/09/23 為例:

  • 00631L 於 2014/10/31 上市,發行價格 20 元。〔原始引用1〕
  • 2026/03/31 執行 1 拆 22;分割前最後交易日 3/24 收盤 443.15 元,分割後參考價為 443.15 ÷ 22 = 20.14 元。〔原始引用2〕
  • 2026/09/23 收盤 38.99 元。〔原始引用3〕
  • 00631L 目前沒有配息紀錄,因此這段歷史主要需要處理的就是這次 1:22 分割。證交所目前也顯示無配息資料。〔原始引用4〕

先看你問的「三年滿倉」

三年前最近的對應交易日,Goodinfo 的還原股價資料顯示:

2023/09/25:5.79 元 → 2026/09/23:38.99 元

所以:

報酬率=38.995.79-1 =573.4%

也就是 100 萬滿倉持有約變成 673.4 萬,獲利約 573.4 萬,尚未扣交易成本。Goodinfo 的資料也直接顯示這段三年漲幅約 +573%。〔原始引用5〕

這裡很容易踩坑。例如有網站直接顯示 2023/09/22 收盤 127.45 → 現在 38.99,算成 -69.4%;那是因為把分割前後的名目價格直接相比。〔原始引用6〕 實際上 127.45 元經 1拆22後,相當於:

127.45÷22 ≈ 5.793

所以正確持有報酬其實約:

38.99÷5.793-1≈+573%

從上市一路持有呢?

如果用「發行價 20 元」作為基準,經過 1拆22後,相當於現在價格尺度的:

20÷22=0.9091元

目前 38.99 元,因此粗略的上市至今報酬為:

38.99÷0.9091-1 =+4,188.9%

換句話說,約 42.89 倍資產。

例如當初投入:

初始投入 2026/09/23 約值
10 萬 428.9 萬
50 萬 2,144 萬
100 萬 4,289 萬

不過這裡我特別標成「粗略」,因為 20 元是發行價,不一定等於上市第一天實際成交買入價。如果我們正式做回測,我會使用 2014/10/31 當日實際開盤/收盤成交價,而不是發行價,這樣比較嚴謹。


而且你這個問題其實很適合往下做成一套完整回測。

例如我可以直接把 00631L 2014/10/31~2026/09/23 每日 OHLC 歷史資料抓下來,統一做分割還原,之後我們就能測:

滿倉持有、定期定額、逢低加碼、均線策略、跌 X% 買入、創高買入、槓桿控制、定期再平衡等等。

還可以算 CAGR、最大回撤、最大回撤恢復時間、勝率,以及任意 1年 / 3年 / 5年持有期的最好、最差、中位數報酬。

這最後一項其實比單純「最近三年 +573%」更有意思——我們可以回答:

歷史上任意一天買進 00631L 並滿倉持有三年,結果會怎樣?

最差三年報酬是多少?
最好是多少?
中位數是多少?
有多少比例的三年期間是賺錢的?
最大曾經腰斬多少?

這種才是真正有參考價值的回測。你如果要,我下一步就可以先從 **「00631L 任意時間買進、滿倉持有 3 年」**開始做。

你

好的 再來是我想測以2020/01/01後最近的交易日收盤價格為準,直接滿倉,然後在達到歷史最高價時,賣掉一半,然後等待新的歷史高價出現八折也就是回檔20%時再次滿倉,再次等到突破新高價時賣掉一半,用這樣的操作方式至今,跟直接滿倉抱到現在相比 兩者的報酬率? 此外,我可能之後會想改變參數與標的,能夠用GPT的新對話"工作"設計模板讓系統自行改參數逐一回測嗎? 推薦怎麼做呢?

ChatGPT

我先把規則定義清楚,避免回測時「新高」與「賣一半」的解讀不同造成結果差很多。接著我會用 00631L 的還原日線實際跑一次,並一起說明怎麼把它做成可重複調參的 Work 模板。

你

好的?

ChatGPT

有,我剛才那句之後應該直接開始算,不是停在那裡。抱歉。

我已經確認兩個關鍵資料點:2020 年第一個交易日的開盤是 53.85 元,而 2026/3/31 的 1 拆 22 必須完整還原;證交所公告也確認分割前 443.15 元對應分割後參考價 20.14 元。〔原始引用7〕 最新完整交易日 2026/9/23 收盤則是 38.99 元。〔原始引用8〕

不過你的策略要精確到「哪一天創歷史新高 → 賣 50% → 從該新高回落 20% → 滿倉」,一定要逐日資料跑狀態機,不能拿年/月 K 猜。我目前搜尋結果能確認還原股價,但網頁搜尋沒有把 2020~2026 每一個交易日完整吐給我,所以我不想先報一個看似精確、其實可能錯的數字。

我建議把規則固定成這個版本

假設初始資金 100 萬,全部以「每日收盤價」判斷及成交,不考慮手續費、交易稅與滑價:

  1. 2020/1/2 收盤滿倉 00631L。
  2. 持股期間,如果當日收盤創下「策略開始以來的新歷史最高收盤價」,第一次觸發時賣掉目前持股的 50%。
  3. 賣掉一半後,記住之後持續更新的最高收盤價 ATH。
  4. 當收盤價 ≤ ATH × 0.8,把現金全部買回 00631L,重新滿倉。
  5. 再次滿倉後,必須等價格突破前一輪 ATH,創出真正的新高,才再次賣掉持股 50%。
  6. 重複到 2026/9/23。
  7. 最後把「持股市值+現金」與單純 Buy & Hold 比較。

這裡第 5 點很重要。例如:

ATH = 100 → 賣一半
跌到 80 → 滿倉
漲到 95 → 不賣
漲到 101 → 新 ATH → 賣一半

這應該就是你描述的策略。


而你後面說的「Work 模板」,非常適合

甚至我建議不要只做一個 00631L 回測,而是直接做成一個參數化回測器。

以後你只需要對它說:

標的改成 00631L
起始日 2018/1/1
新高賣出比例改成 40%
回撤 25% 再滿倉

它就自動重新抓資料、處理分割/配息、執行回測,再輸出結果。

可以把參數設計成:

參數 目前設定
標的 00631L
起始日期 2020/01/01 後第一交易日
初始資金 NT$1,000,000
初始倉位 100%
新高定義 收盤價 ATH
新高賣出 50% 持股
回撤基準 最新 ATH
回撤買入 -20%
買回倉位 100%
成交價格 當日收盤
手續費 暫不計
證交稅 暫不計
分割 還原
配息 還原/再投資
Benchmark Buy & Hold

之後更有趣的是可以叫 Work 批次掃參數,而不是我們一次猜一組。

例如一次測:

賣出比例 = 20%、30%、40%、50%、60%、70%

搭配:

回撤買點 = -10%、-15%、-20%、-25%、-30%、-35%、-40%

光這樣就是 42 組策略,每組都跟 Buy & Hold 比較總報酬、CAGR、最大回撤、交易次數、現金閒置時間等。

甚至再加入 0050、00631L、006208、TQQQ、QLD、QQQ 等不同標的,就可以研究「這套規則究竟真的有效,還是剛好適合某段 00631L 多頭市場」。

這比單純找一組「最佳參數」可靠很多,因為我們還可以看參數附近是不是普遍都有效,避免挑到歷史資料的過度擬合。

如果你願意,我建議下一步就直接建立這個 「投資策略回測 Work」,而不是只算這一次;第一個測試案例就放你現在這套 00631L/2020 起始/ATH 賣 50%/回撤 20% 滿倉。Work 特別適合後續反覆改參數、跑資料與產出結果。

你

你的提議很好 我就是這麼想的 ,而且我覺得可以在首次標的資料撈取時,把撈到的資料存起來,並寫出一個能夠獨立運行的小程序或者網頁的程式碼,以後我只要請你將資料更新進去,繁複的回測不用呼叫你

ChatGPT

對,這樣的架構比較合理。我已經幫你開了一個新的 Work 專案對話,目標就是把它做成「資料更新」和「本機回測」分離的工具。

核心會是:第一次把標的歷史資料完整抓下來並保存,之後只做增量更新;回測邏輯則全部在你本機執行,所以改參數、批次掃描、重跑幾百次都不用再依賴我。資料層我也建議保留「原始價格 / 分割配息事件 / 還原價格」三層,這樣之後換 00631L、0050、TQQQ 或其他標的都不容易算錯。

介面方面,我建議同時做兩個入口:一個簡單的本地網頁介面,例如 Streamlit,讓你直接填「標的、起始日、ATH 賣出比例、回撤比例」按一下就跑;另一個保留命令列模式,方便以後批量測幾十、幾百組參數。

第一個內建策略就是你現在這套:

滿倉 → 創新高賣一半 → ATH 回撤 20% 全部買回 → 突破前高再賣一半 → 重複

並跟 Buy & Hold 同時輸出總報酬、CAGR、最大回撤、交易紀錄、資產曲線與現金閒置情況。

後面你只需要在那個 Work 對話裡繼續叫它實作即可;這樣會比在一般聊天裡零散寫程式好很多。

原始引用標記的位置已保留;來源對話未提供可還原的引用網址,故不另補猜測的連結。

對話封存至策略風險分析。公開網站連結保留;個資與本地檔案連結已遮蔽。