返回目錄
A
數據驅動的投資決策:從基礎統計到量化交易 - 第 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,進一步探討多資產之間的動態關聯。
> **結語**:在這一章中,我們從理論走向實務,透過統計檢定與參數估計,為量化交易策略奠定堅實的數學基礎。下一章將以此為前提,構建可執行的交易模型,並探討風險管理與策略優化。