聊天視窗

數據驅動的投資決策:從基礎統計到量化交易 - 第 3 章

第三章:假設檢定與參數估計——從探索到模型建構

發布於 2026-02-21 22:50

# 第三章:假設檢定與參數估計——從探索到模型建構 ## 3.1 假設檢定的理論基礎 在前兩章中,我們已經完成了對數據的全面探索,掌握了其統計特徵、相關結構以及潛在的異常行為。下一步的關鍵是將這些「知識」轉化為可驗證的結論:即**假設檢定**。假設檢定的核心思路是: 1. **設定零假設 (H₀)**:通常代表「無效應」或「無差異」。 2. **設定對立假設 (H₁)**:代表「存在效應」或「存在差異」。 3. **計算檢定統計量**:根據資料分布與樣本大小,選擇合適的統計量。 4. **確定顯著性水平 (α)**:一般設定為 0.05 或 0.01。 5. **判斷結果**:若檢定統計量落在拒絕域,拒絕 H₀;否則保留 H₀。 在金融時序數據中,常見的檢定包含: - **均值檢定**(t 檢定或單樣本 z 檢定) - **協方差與相關性檢定**(F 檢定、Pearson 相關檢定) - **自相關檢定**(Durbin–Watson、Ljung–Box) - **非正態性檢定**(Shapiro–Wilk、Kolmogorov–Smirnov) ## 3.2 常用統計檢定方法 | 檢定 | 目的 | 主要統計量 | 典型使用場景 | |------|------|-----------|---------------| | t 檢定 | 均值差異 | t | 檢驗股票回報均值是否與市場基準相同 | | F 檢定 | 方差比值 | F | 兩個市場波動率是否不同 | | Ljung–Box | 檢驗自相關 | Q | 檢查ARIMA模型的殘差是否完全白噪聲 | | Shapiro–Wilk | 正態性 | W | 驗證回報分布是否可近似正態 | ## 3.3 參數估計技巧 在進行假設檢定前,我們必須先估計模型參數。最常用的方法包括: - **最小二乘法 (OLS)**:適用於線性回歸;可直接使用 `statsmodels` 的 `OLS`。 - **最大似然估計 (MLE)**:對於非線性模型與時間序列模型(ARIMA、GARCH)尤為重要; `statsmodels.tsa.statespace` 支援 MLE。 - **貝葉斯估計**:若先驗資訊充足,可使用 `pymc3` 或 `stan` 進行貝葉斯推斷。 ### 參數估計實作 python import pandas as pd import statsmodels.api as sm # 讀取已清洗好的回報資料 ret = pd.read_csv('cleaned_return.csv', parse_dates=['date'], index_col='date') X = sm.add_constant(ret['market_ret']) # 加入截距 model = sm.OLS(ret['return'], X).fit() print(model.summary()) 輸出將顯示係數、t 值、p 值以及 R² 等指標,直接對應於假設檢定。 ## 3.4 案例:回歸模型與自迴歸檢定 ### 3.4.1 市場多因子回歸 python # Fama–French 3 因子模型 factors = pd.read_csv('factors.csv', parse_dates=['date'], index_col='date') X = sm.add_constant(factors[['Mkt-RF', 'SMB', 'HML']]) model = sm.OLS(ret['return'] - factors['RF'], X).fit() print(model.summary()) **解讀**:若 `SMB` 或 `HML` 的 p 值 < 0.05,表示大小因子或價值因子對本證券的回報有顯著貢獻。 ### 3.4.2 ARIMA 檢定 python import statsmodels.tsa.arima.model as ARIMA arima = ARIMA.ARIMA(ret['return'], order=(1,0,1)).fit() print(arima.summary()) # 檢查自相關 from statsmodels.stats.diagnostic import acorr_ljungbox lb = acorr_ljungbox(arima.resid, lags=[10], return_df=True) print(lb) 若 Ljung–Box 的 p 值大於 0.05,說明殘差沒有顯著自相關,即模型已充分捕捉時序結構。 ## 3.5 風險評估與模型驗證 - **交叉驗證 (Cross‑Validation)**:對於非時間序列資料,可使用 K‑fold;對於時間序列,應採用滑動窗口或前向擴充。 - **Out‑of‑Sample (OOS) 測試**:將資料分為訓練集與測試集,確保模型泛化能力。 - **風險度量**:使用 VaR、CVaR、最大回撤等指標評估模型投資組合的風險。 ## 3.6 未來方向 - **非參數檢定**:當資料明顯偏離正態分布時,採用 Mann–Whitney、Wilcoxon 等非參數方法。 - **機器學習模型檢定**:利用交叉驗證、Permutation Test 評估決策樹、隨機森林等模型的顯著性。 - **多元時間序列模型**:如 VAR、VECM,進一步探討多資產之間的動態關聯。 > **結語**:在這一章中,我們從理論走向實務,透過統計檢定與參數估計,為量化交易策略奠定堅實的數學基礎。下一章將以此為前提,構建可執行的交易模型,並探討風險管理與策略優化。