00632R 週K反向切割?還好有 AI 幫我

更新 發佈閱讀 6 分鐘
投資理財內容聲明



我不是什麼量化高手,也不是什麼金融工程師。 我只是那種會自己寫下載器、跑回測的人。 但說真的,如果沒有 AI 幫我,我根本不知道怎麼處理這些資料。

🧠 問題一:ETF 拆股後,Yahoo Finance 的 Adj Close 竟然沒調整?

理論上:

Adj Close = Close × 調整因子(應已含拆股)

但在某些 ETF(例如 4950)中,我發現:

程式碼

日期     Close   Adj Close   Stock Splits   結果
11/3 26.18 26.18 0 ❌ 沒調整(應該要乘 0.393
11/4 26.18 26.18 0.393 ❌ 標記日錯位、未修正前一日

這代表什麼?代表如果你用 Adj Close 算報酬率,會在拆股那週出現莫名其妙的 +150%、+200% 的「假漲幅」。

🧠 問題二:停牌占位列會切斷週K,導致報酬率錯誤?

以前我以為,只要資料有日期、有收盤價,就能算週K。 但 AI 教我:停牌占位列(成交量為 0 且四價全相等)如果不先刪掉,會讓週K產生錯誤的切割。

例如 00632R 的日K片段:

程式碼

日期           開盤       最高       最低       收盤       成交量     判斷
2024-12-02 23.45 23.52 23.17 23.17 27865768 ✅ 有交易
2024-12-03 22.82 23.03 22.82 22.96 23524613 ✅ 有交易
2024-12-04 22.96 22.96 22.96 22.96 0 ❌ 停牌占位列
2024-12-05 22.96 22.96 22.96 22.96 0 ❌ 停牌占位列
2024-12-06 22.96 22.96 22.96 22.96 0 ❌ 停牌占位列
2024-12-09 22.96 22.96 22.96 22.96 0 ❌ 停牌占位列
2024-12-10 22.96 22.96 22.96 22.96 0 ❌ 停牌占位列
2024-12-11 23.09 23.14 22.94 23.12 20797034 ✅ 恢復交易

如果沒清掉停牌列,週K會被錯誤切成:

  • 一週(12/02~12/06)→ 收盤 22.96
  • 下一週(12/09~12/13)→ 收盤 23.12
  • 報酬率 ≈ +0.70%,看起來正常,但如果價格異常就會誤爆 >100%

✅ 正確做法:連續停牌週都不產生週K,直到恢復交易後的「第二週」才恢復計算

程式碼

週別           狀態                     是否產生週K     原因
12/0212/06 有交易 ✅ 可正常計算
12/0912/13 完全停牌 ❌ 無交易,不應產生週K
12/1612/20 恢復交易,但前週停牌 ❌ PrevC_W 無效,報酬率不可信
12/2312/27 有交易 ✅ 可正常計算

這樣才能保證:

  • PrevC_W 是來自「真實有交易的週」
  • 報酬率計算不會被假價格污染
  • QA 分布與厚尾名單乾淨可靠

📈 週高 / 月高也安全了

週高是這樣算的:

週高 = 該週內所有交易日的日高最大值

如果停牌列沒清掉,週高可能被鎖死在某個常數(例如 22.96),導致:

  • QA 報表出現假厚尾
  • 策略誤判異常波動

但只要先清掉停牌列,週高就只會來自「真實有交易的日子」,分布自然乾淨,厚尾名單也不會被污染。

🧠 問題三:反向切割怎麼做?我根本不知道

我原本以為只要用 resample('W') 就能搞定週K,但 AI 教我:

  • 要用 ISO 週(避免跨年錯位)
  • 要先清洗日K,再做幾何連乘驗證
  • 要做 QA 稽核:分箱分布、漂移警報、厚尾異常

這些我根本不會寫,是 AI 一步一步教我怎麼做,還幫我產出:

程式碼

weekly_vs_daily_diff.csv
weekly_drift_alerts.csv
weekly_top_outliers.csv

✅ 結論:花錢買資料也要做一樣的處理

你以為花錢買資料就能省事?錯了。

商業資料也會有拆股錯位、停牌占位、報酬異常。 如果你不做清洗與 QA,策略再好也白搭。

留言
avatar-img
留言分享你的想法!
avatar-img
《炒股不看周月年K漲幅機率就是耍流氓》
3會員
230內容數
普通上班族,用 AI 與 Python 將炒股量化。我的數據宣言是:《炒股不做量化,都是在耍流氓》。
2025/11/04
我會回答:有沒有可能付費資料也有問題,只是沒被發現? 市面上絕大多數教學都遵循一條「快速上手」的路線: 使用某個 T 開頭的回測平台(你知道是哪個) 安裝 Python 套件如 backtrader、bt、yfinance 丟入策略,跑出回測結果 然後就開始分析報酬率、夏普值、最大回撤
2025/11/04
我會回答:有沒有可能付費資料也有問題,只是沒被發現? 市面上絕大多數教學都遵循一條「快速上手」的路線: 使用某個 T 開頭的回測平台(你知道是哪個) 安裝 Python 套件如 backtrader、bt、yfinance 丟入策略,跑出回測結果 然後就開始分析報酬率、夏普值、最大回撤
2025/11/04
── 一次真實的資料偵錯實戰紀錄 一、故事的起點:一筆「詭異的 +113%」 某天,我在檢查台股週K報酬分布時,發現一筆極度誇張的紀錄: 8476.TW(台境)在 2023 年第一週的週K漲幅竟高達 +113%。 我原以為是興櫃或除牌後復牌的特殊行情,但越看越不對勁。 台境並不是那種會一週翻倍
2025/11/04
── 一次真實的資料偵錯實戰紀錄 一、故事的起點:一筆「詭異的 +113%」 某天,我在檢查台股週K報酬分布時,發現一筆極度誇張的紀錄: 8476.TW(台境)在 2023 年第一週的週K漲幅竟高達 +113%。 我原以為是興櫃或除牌後復牌的特殊行情,但越看越不對勁。 台境並不是那種會一週翻倍
2025/11/04
每當我掃描六個主要市場(台、港、中、日、韓、美)的股票日K檔,總會發現一個詭異現象── 只有台灣和美國的資料裡,偶爾會出現「1 月 1 日」的交易紀錄。 乍看之下彷彿跨年當天仍在開盤,實則不然。這只是資料時區與紀錄慣例交錯下的「跨年假象」。 🇹🇼 為什麼台灣會出現「1 月 1 日」交易?
2025/11/04
每當我掃描六個主要市場(台、港、中、日、韓、美)的股票日K檔,總會發現一個詭異現象── 只有台灣和美國的資料裡,偶爾會出現「1 月 1 日」的交易紀錄。 乍看之下彷彿跨年當天仍在開盤,實則不然。這只是資料時區與紀錄慣例交錯下的「跨年假象」。 🇹🇼 為什麼台灣會出現「1 月 1 日」交易?
看更多
你可能也想看
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
這篇文章記錄了我與香氛品牌 Sunkronizo 的相遇,用氣味重新校準生活的節奏。 從前調的水底靜謐,到中調的貼膚潔淨,再到基調的安穩木質,每一層都像在提醒自己:慢下來、呼吸、同步。 Silent Wild 對我來說,是一種存在方式的註記,也是我日常裡的小小儀式。
Thumbnail
歡迎來到Scikit-learn教學系列的第二篇文章!在上篇中,我們介紹了Scikit-learn與機器學習基礎,並探索了Iris資料集。這一篇將聚焦於資料預處理,我們將學習如何使用Scikit-learn清理資料、處理缺失值、進行特徵縮放與類別編碼,並以真實資料集進行實作。
Thumbnail
歡迎來到Scikit-learn教學系列的第二篇文章!在上篇中,我們介紹了Scikit-learn與機器學習基礎,並探索了Iris資料集。這一篇將聚焦於資料預處理,我們將學習如何使用Scikit-learn清理資料、處理缺失值、進行特徵縮放與類別編碼,並以真實資料集進行實作。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。然而,資料清理在這個過程中顯得至關重要。
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。然而,資料清理在這個過程中顯得至關重要。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 180 | RoBERTa 預訓練前言:RoBERTa 預訓練前言 AI說書 - 從0開始 - 181 | 預訓
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 180 | RoBERTa 預訓練前言:RoBERTa 預訓練前言 AI說書 - 從0開始 - 181 | 預訓
Thumbnail
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 總結一下目前有的素材: AI說書 - 從0開始 - 103:資料集載入 AI說書 - 從0開始 - 104:定義資料清洗的函數 AI說書 - 從0開始 - 105
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 總結一下目前有的素材: AI說書 - 從0開始 - 103:資料集載入 AI說書 - 從0開始 - 104:定義資料清洗的函數 AI說書 - 從0開始 - 105
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News