FMSeasonality Lab
← 回到私人專案首頁

FINMIND × CALENDAR EFFECT

月度季節性
不是看最高那根柱。

同時比較平均報酬、中位數、多空勝率、樣本數、信賴區間與跨年熱圖。檢定會把股票本身的長期上漲基準拆開,避免把趨勢誤認成月份規律。

TaiwanStockPriceAdj 完整月份 BH 多重檢定 年度分層 permutation

分析條件

目前顯示 2330 範例
整體季節性 p 值
—
年度內洗牌檢定
平均報酬最高
—
—
做多勝率最高
—
—
做空勝率最高
—
—
EVIDENCE CHECK

正在整理證據

—

各月份平均報酬

柱體=平均報酬;誤差棒=bootstrap 95% 信賴區間。不能只看最高柱。

正報酬負報酬

做多/做空方向勝率

方向勝率未扣成本。

判讀重點

把勝率、幅度與穩定性放在同一張檢查表。

年度 × 月份報酬熱圖

若強勢集中在少數年份,較像事件而非季節性。

月份統計明細

季節性判讀會先看整體月份差異,再看單月是否通過多重比較校正。

月份n平均中位數95% CI做多率做空率前半期後半期判讀

口徑與適用前提

「做多勝率」只代表該曆月報酬為正;「做空勝率」只代表報酬為負。它們不是完整策略績效,尚未納入借券可得性、借券費、保證金、滑價與強制回補。

FinMind 還原價不可用時,系統會明確降級為原始價並警告;原始價可能被除權息、分割或減資扭曲。

  • 每月樣本通常只有一年一筆,建議至少 10 年。
  • 12 個月份同時挑選,必須做多重檢定校正。
  • 下一步應比較 0050/TAIEX 相對報酬,再做 walk-forward。
  • FinMind 資料說明

FINMIND × MARKET-WIDE BACKTEST

同一個月份,
把全市場攤開比較。

掃描目前上市、上櫃普通股,要求最近 10 個完整年度都具備進出場還原價;用方向勝率找一致性,再用平均與中位報酬辨認是否只是少數暴衝年份撐高。

TaiwanStockPriceAdj TWSE + TPEX 固定 10 年樣本 排除 ETF/權證

排行條件

最近 10 個完整年度
選擇月份後開始掃描
尚未執行全市場回測
符合 10 年條件
—
目前上市櫃普通股
勝率第一
—
—
市場中位數
—
—
勝率與前後期皆正
—
勝率至少 70%
RANKING CHECK

排行榜是候選池,不是交易訊號

每檔只有 10 個年度樣本,勝率每一階就是 10 個百分點;必須把平均、中位數與前後五年一起看。

方向勝率 Top 12

同勝率時以平均報酬排序。

執行掃描後顯示排行長條圖

勝率 × 平均報酬

右上角代表方向一致、平均報酬也為正。

執行掃描後顯示全市場散佈

全市場月份排行明細

表格可搜尋與重新排序;勝率與報酬均依所選方向並扣除設定成本。

# 樣本 最差年度最佳年度
尚無排行資料
—

這個排行的適用前提

股票池是「現在還在上市櫃」的普通股。因此沒有包含已下市櫃公司,會有存活者偏誤。它適合用來找當下可交易候選股,不適合直接宣稱十年前照表買就能得到同樣績效。

全市場採 FinMind 還原價的月初/月末邊界日快照;若個股任一年缺少其中一個邊界價,就不進入排行。

  • 勝率 80% 代表 10 年中有 8 年在扣成本後方向正確。
  • 平均很高、中位數普通,常是少數事件年拉高。
  • 前後五年均為正,比單看總勝率更能排除失效規律。
  • 下一步可再加入流動性門檻與樣本外年度。

FINMIND × REVENUE SEASONALITY × EVENT STUDY

旺月不是看到後才追,
而是 D−30 前能不能知道。

先用完整年度營收指數辨認旺月,再把每年旺月首個交易日設為 D0,檢查提前 30 個交易日、旺月後 30 個交易日與完整持有區間的歷史勝率;walk-forward 只用當時已知資料選月,專門防止偷看未來。

TaiwanStockMonthRevenue TaiwanStockPriceAdj D±30 交易日 Walk-forward

營收事件條件

D0=該營收月份首個交易日|前後各 30 個交易日
選擇個股後開始分析
尚未執行營收事件研究
目標旺月
—
完整年度營收指數
旺月營收指數
—
100=該年每月平均
提前布局勝率
—
D−30 → D0
旺月後勝率
—
D0 → D+30
無前視提前勝率
—
逐年只看 Y−2 前資料
POSITIONING CHECK

先分辨旺月,再檢查股價是否提前反應

固定月份勝率是描述;walk-forward 勝率才比較接近當時能執行的預測檢驗。

12 個月營收季節性

完整年度內,單月營收 ÷ 當年平均月營收;100 是該年平均。

候選月份:—
執行分析後顯示營收旺月

固定月份 D−30 → D0 → D+30

勝率含設定的來回成本;線段為 95% Wilson 區間。

執行分析後顯示三段事件勝率

Walk-forward 無前視驗證

每一年只用 Y−2(含)以前的完整營收年度選旺月。

執行分析後顯示無前視勝率

年度 × 月份營收年增率

同月年增率可排除營收規模長期成長,但不能取代旺淡月的營收指數。

固定月份事件明細

每一列是一個年度;尚未走完 D+30 的事件保留但不納入後段勝率。

年度目標月營收指數YoYD−30D0D+30提前報酬旺月後報酬完整報酬
尚無事件資料

D0 的適用前提

D0 是「營收月份首個交易日」,不是營收實際公告日。FinMind 的歷史月營收 `date` 是月份標記,舊資料沒有完整公告時間;若硬把它當公告日,會產生假精準。

提前窗口、後續窗口與完整窗口都以還原價收盤計算,並各扣一次設定的來回成本。勝率只表示歷史樣本中淨報酬大於零的比例。

  • 營收指數只使用具備 12 個月的完整年度,避免把未完年度當淡季。
  • 固定月份回測可能有挑最好月份的偏誤,決策時優先看 walk-forward。
  • 每年只有一筆事件;樣本少於 8 次時,勝率很容易被單一年份翻轉。
  • FinMind 月營收資料說明

FINMIND × ALL-MARKET REVENUE POSITIONING

目標旺月前,
誰的 1/2/3 月布局最一致。

掃描目前上市、上櫃普通股,先確認所選月份是否真的是該公司的歷史營收旺月,再比較提前 1、2、3 個曆月進場到 D0 的十年勝率與報酬。排行優先看三段中最弱的一段,不讓單一持有期掩蓋不穩定。

TaiwanStockMonthRevenue TaiwanStockPriceAdj TWSE + TPEX 1M/2M/3M

布局排行條件

最近 10 個 D0 事件年
前 1/2/3 個曆月首個交易日 → D0|三段最低勝率優先
預設為當前月份
尚未執行全市場營收布局掃描
完整樣本股票
—
股價十年+營收至少八年
符合布局門檻
—
營收旺月+三段報酬皆正
保守排行第一
—
—
第一名最低勝率
—
1/2/3 月最弱的一段
ROBUST RANK

先找營收旺月,再看三種提前期是否一致

完整十年只是入場券;全市場掃描後仍有多重挑選偏誤,候選應再進個股頁確認。

布局候選 Top 12:三種提前期勝率

依三段中最低勝率排序,線段為各提前期的歷史勝率。

提前 1 月提前 2 月提前 3 月
執行掃描後顯示布局排行

三段最低勝率 × 三段平均報酬

右上角代表最弱提前期仍有較高勝率,且三段平均報酬較高。

執行掃描後顯示全市場散佈

全市場營收布局排行明細

點股票可直接進入該公司的營收季節性分析。

#
尚無布局排行資料
—

候選門檻與適用前提

D0 是目標營收月份第一個交易日,不是實際營收公告日。「提前 1 個月」代表前一個曆月第一個交易日收盤進場,到 D0 收盤出場;2、3 個月同理。

候選需同時滿足:營收指數中位數至少 100、旺季率至少 60%、三段平均報酬皆正、三段最低勝率至少 60%。

  • 每檔需具備十個完整股價事件年,且至少八個完整營收年度。
  • A 級要求最低勝率至少 70%,且前後半期三段平均皆正;B 級符合基本候選門檻。
  • 只使用目前仍上市櫃股票,排行存在存活者偏誤與全市場挑選偏誤。
  • FinMind 月營收資料說明

POINT-IN-TIME × A-GROUP ETF

每一年重選 A 組,
才叫無前視回測。

把歷史當時可辨識的 A 級公司等權組成虛擬 ETF,提前 1、2、3 個月持有至目標月 D0。選股只讀取進場日前已可取得的營收、過去已完成事件與當時股票池,並以含息大盤做同窗口及買進持有比較。

Point-in-time universe Revenue available D+11 Rolling 10Y training TAIEX total return

無前視回測條件

最近 10 個完整事件年
等權全納入|前史最多 10 年、至少 5 年|三段最低勝率 ≥ 70%
首次建置需數分鐘
尚未執行無前視回測
A 組 ETF 年化
—
含現金等待期
同窗口大盤年化
—
TAIEX 含息報酬
累積超額
—
ETF 累積-同窗口大盤
事件勝率
—
樣本外年度為正比例
平均持股數
—
每年等權 A 組
OUT-OF-SAMPLE

先完成回測,才判斷 A 組是否真的勝過大盤

目前 A 組排行是橫斷面描述;這一頁會逐年重建名單,檢驗規則是否能在未知年份延續。

A 組 ETF 淨值與大盤

事件端點淨值;非日線資產曲線。

A 組 ETF同窗口 TAIEXTAIEX 買進持有
執行回測後顯示長期淨值

逐年樣本外報酬

比較每個布局窗口的等權組合與含息大盤。

執行回測後顯示年度報酬

逐年換倉與績效

每列都是當年進場前才凍結的名單。

事件年訊號截止/進出場當時股票池可評估A 組持股ETF 報酬大盤報酬超額缺出場價前幾大名單
尚無年度回測資料

當年 A 組成分

檢查每一檔入選時實際使用的訓練數據與後續報酬。

#股票產業/狀態訓練年數營收指數旺季率三段最低勝率95% 下限三段均報本期報酬
尚無 A 組成分資料

無前視如何落實

1營收月份 M 最早到 M+1 月 11 日才可使用;`create_time` 更晚時採更晚日期。
2進場日前凍結資料,只用前一事件年以前、最多十年的已完成價格結果。
3股票池取當年進場日確實有還原價的四碼普通股,不用今天仍上市的名單倒填。
4A 組全數等權進場,持有至目標月第一個交易日;缺少出場價保守計為 -100%。

仍要保留的懷疑

  • 資料商若事後回補或改寫歷史值,沒有版本快照就無法完全復原當時畫面。
  • 未加入流動性、漲跌停及資金容量限制,這仍是研究型虛擬 ETF。
  • 事件端點最大回撤會低估持有期間內的日線跌幅。
  • FinMind 報酬指數說明|月營收說明