MengNotes
部落格標籤關於
首頁/部落格/66天量化訓練週記:從 SMA 到 Ichimoku,七天打穩技術指標地基
Quant-Trading

66天量化訓練週記:從 SMA 到 Ichimoku,七天打穩技術指標地基

記錄 66 天量化交易訓練 Day 4 ~ Day 10 的學習歷程。七天內,我們從最基礎的簡單移動平均(SMA)出發,逐步探索布林通道、MACD、ADX 與一目均衡表,最終以一堂百萬美金的風險管理心法課作結。每一個指標都經過實際回測驗證,而非紙上談兵。

2026年3月8日3,280 字17 分鐘閱讀
#quant-trading#technical-indicators#backtesting#66-days-training#week-summary

66天量化訓練週記:從 SMA 到 Ichimoku,七天打穩技術指標地基

本文摘要

記錄 66 天量化交易訓練 Day 4 ~ Day 10 的學習歷程。七天內,我們從最基礎的簡單移動平均(SMA)出發,逐步探索布林通道、MACD、ADX 與一目均衡表,最終以一堂百萬美金的風險管理心法課作結。每一個指標都經過實際回測驗證,而非紙上談兵。


一、這七天的學習地圖

天數核心主題指標類型學到的關鍵觀念
Day 4SMA 策略 + IBKR 實作趨勢追蹤均線交叉、資料擷取流程
Day 5SMA 日內交易改造趨勢追蹤(短線)時間週期切換、SMA 參數靈敏度
Day 6布林通道(Bollinger Bands)波動率 + 均值回歸95% 法則、過度擬合的代價
Day 7MACD 黃金交叉動能指標落後指標特性、柱狀圖斜率濾網
Day 8ADX 趨勢強度趨勢強度濾網不看方向只看力道、假訊號過濾
Day 9Ichimoku Cloud 一目均衡表全方位系統五線整合、雲帶作為多空禁區
Day 10風險管理心法心態與紀律止損獨立、破產風險、正期望值

二、指標深度解析

Day 4–5:SMA — 一切趨勢策略的起點

簡單移動平均(SMA) 是技術分析最經典的工具。它的運算邏輯極其樸素:取過去 NNN 天收盤價的算術平均。

SMAN=1N∑i=1NPiSMA_N = \frac{1}{N} \sum_{i=1}^{N} P_iSMAN​=N1​i=1∑N​Pi​
核心概念

SMA 的價值不在於預測未來,而在於平滑雜訊,讓你看清價格正在往哪裡走。當價格穿越均線時,可能代表趨勢正在轉向。

實作上學到的事

  • Day 4 我們用 IBKR API 擷取 MAG7(七巨頭:MSFT, AAPL, TSLA, NVDA, META, GOOGL, AMZN)的歷史資料,針對每支股票分別找出最佳 SMA 視窗。這不是套用同一組參數了事,而是認識到不同標的有不同的最佳節奏。
  • Day 5 我們把日線 SMA 200 改造成 1 分鐘線的 SMA 5,體驗了日內交易的節奏。縮短時間週期讓訊號更靈敏,但假訊號也爆增——這正是短線交易的雙面刃。
週期越短,雜訊越多

SMA 5 在 1 分鐘線上跳動非常劇烈。快節奏不等於高獲利,反而需要更嚴格的進出場紀律。


Day 6:布林通道 — 用統計學丈量波動率

布林通道由三條線組成:

  • 中軌:SMA(通常為 20 日)
  • 上軌:SMA + k×σk \times \sigmak×σ(通常 k=2k = 2k=2)
  • 下軌:SMA - k×σk \times \sigmak×σ

其中 σ\sigmaσ 為收盤價的標準差。

95% 法則

根據常態分佈,約 95% 的價格波動會落在 ±2 標準差以內。當價格突破上下軌,就進入了統計上的「尾部事件」。這不代表必定反轉,但代表這個價格已經「不太正常」了。

回測結論與反思

以 AAPL 為標的,使用「觸及下軌買入、觸及上軌賣出」的均值回歸邏輯回測十年:

指標樣本內(2016–2021)樣本外(2022–2026)
CAGR25.99%8.85%
Sharpe1.200.59
Max Drawdown-31.43%-16.61%
  • 網格搜尋找到的最佳參數 (SMA=20, σ=3.0) 的 Sharpe 是平均值的 2.05 倍——過度擬合的警訊。
  • 3σ 的帶寬極少被觸發(樣本外僅 1 筆交易),多數時間空倉,回撤低但報酬也偏低。
  • AAPL 長期呈向上趨勢,純粹的均值回歸策略會在上軌時過早賣出,錯過趨勢延伸的大段漲幅。
關鍵教訓

最佳參數 ≠ 未來最佳。 回測中的冠軍組合,在實盤往往表現平庸。這是過度擬合(overfitting)的經典案例。


Day 7:MACD — 動能世界的入場券

MACD 全名 Moving Average Convergence Divergence(指數平滑異同移動平均線),是衡量動能最常見的工具之一。

MACD=EMA12−EMA26MACD = EMA_{12} - EMA_{26}MACD=EMA12​−EMA26​ Signal=EMA9(MACD)Signal = EMA_9(MACD)Signal=EMA9​(MACD) Histogram=MACD−SignalHistogram = MACD - SignalHistogram=MACD−Signal
黃金交叉與死亡交叉
  • 黃金交叉:MACD 線由下往上穿越訊號線 → 看漲動能正在匯聚
  • 死亡交叉:MACD 線由上往下穿越訊號線 → 看跌動能正在發動

進階技巧:柱狀圖斜率濾網

單純的交叉訊號容易在盤整市場中被「洗」出場(whipsaw)。加入柱狀圖斜率濾網後:

  • 僅在柱狀圖「上升」時允許買入
  • 僅在柱狀圖「下降」時允許賣出

這層額外確認能有效減少假訊號,但也會讓你晚一步進場——動能指標的天生特性就是落後(lagging)。交易永遠是「確認度」與「時效性」之間的取捨。


Day 8:ADX — 不告訴你方向,只告訴你值不值得出手

ADX(Average Directional Index,平均趨向指數)是一個非常獨特的指標。它不像 SMA 或 MACD 告訴你該買還是該賣,而是回答一個更根本的問題:「現在有趨勢嗎?趨勢夠強嗎?」

ADX 的計算原理

ADX 並非直接從價格算出,而是經過多層加工。整個計算鏈可拆成五個步驟:

步驟一:計算趨向變動(Directional Movement)

每根 K 棒比較當前最高/最低價與前一根的差異:

+DM={Hight−Hight−1若 Hight−Hight−1>Lowt−1−Lowt 且 >00否則+DM = \begin{cases} High_t - High_{t-1} & \text{若 } High_t - High_{t-1} > Low_{t-1} - Low_t \text{ 且 } > 0 \\ 0 & \text{否則} \end{cases}+DM={Hight​−Hight−1​0​若 Hight​−Hight−1​>Lowt−1​−Lowt​ 且 >0否則​ −DM={Lowt−1−Lowt若 Lowt−1−Lowt>Hight−Hight−1 且 >00否則-DM = \begin{cases} Low_{t-1} - Low_t & \text{若 } Low_{t-1} - Low_t > High_t - High_{t-1} \text{ 且 } > 0 \\ 0 & \text{否則} \end{cases}−DM={Lowt−1​−Lowt​0​若 Lowt−1​−Lowt​>Hight​−Hight−1​ 且 >0否則​

簡單來說:+DM 捕捉「向上突破」的幅度,-DM 捕捉「向下突破」的幅度。

步驟二:計算真實波幅(True Range, TR)

TR=max⁡(Hight−Lowt,  ∣Hight−Closet−1∣,  ∣Lowt−Closet−1∣)TR = \max(High_t - Low_t,\; |High_t - Close_{t-1}|,\; |Low_t - Close_{t-1}|)TR=max(Hight​−Lowt​,∣Hight​−Closet−1​∣,∣Lowt​−Closet−1​∣)

TR 衡量的是每根 K 棒的「實際波動範圍」,考慮了跳空缺口的情況。

步驟三:平滑處理(Wilder's Smoothing)

對 +DM、-DM、TR 分別套用 Wilder 平滑移動平均(通常週期 N=14N = 14N=14):

Smoothedt=Smoothedt−1−Smoothedt−1N+ValuetSmoothed_{t} = Smoothed_{t-1} - \frac{Smoothed_{t-1}}{N} + Value_tSmoothedt​=Smoothedt−1​−NSmoothedt−1​​+Valuet​
Wilder 平滑 vs 一般 EMA

Wilder 平滑等價於 2N−12N - 12N−1 週期的 EMA。所以 ADX 14 實際上的衰減速度接近 EMA 27,比直覺上想的更「緩慢」。

步驟四:計算方向指標(+DI / -DI)與 DX

+DI=Smoothed(+DM)Smoothed(TR)×100+DI = \frac{Smoothed(+DM)}{Smoothed(TR)} \times 100+DI=Smoothed(TR)Smoothed(+DM)​×100 −DI=Smoothed(−DM)Smoothed(TR)×100-DI = \frac{Smoothed(-DM)}{Smoothed(TR)} \times 100−DI=Smoothed(TR)Smoothed(−DM)​×100 DX=∣+DI−(−DI)∣+DI+(−DI)×100DX = \frac{|+DI - (-DI)|}{+DI + (-DI)} \times 100DX=+DI+(−DI)∣+DI−(−DI)∣​×100

+DI 代表向上動能占波動的比例,-DI 代表向下動能占波動的比例。DX 則衡量兩者之間的「分歧程度」。

步驟五:ADX = DX 的平滑

ADX=1N∑i=1NDXi(初始值)ADX = \frac{1}{N} \sum_{i=1}^{N} DX_i \quad \text{(初始值)}ADX=N1​i=1∑N​DXi​(初始值) ADXt=ADXt−1×(N−1)+DXtN(後續值)ADX_t = \frac{ADX_{t-1} \times (N-1) + DX_t}{N} \quad \text{(後續值)}ADXt​=NADXt−1​×(N−1)+DXt​​(後續值)

最終的 ADX 是對 DX 再做一次平滑,讓趨勢強度的讀數更穩定、不會因單日波動劇烈跳動。

不需要手算!

實戰中用 Python ta 函式庫一行搞定:ta.trend.ADXIndicator(high, low, close, window=14)。理解原理是為了知道它「慢在哪裡」——經過兩層平滑,ADX 天生就是落後指標,適合確認而非預測。

ADX 數值解讀

ADX 數值趨勢強度操作建議
0–20弱勢 / 無趨勢觀望,避免進場
20–40中等趨勢趨勢正在成形
40–60強勢趨勢適合順勢操作
60–100極強趨勢趨勢極其強勁

ADX 搭配 +DI(正趨向指標)與 -DI(負趨向指標)一起使用:

  • 買入:ADX > 25 且 +DI 上穿 -DI
  • 賣出:ADX > 25 且 -DI 上穿 +DI
ADX 的真正價值

ADX 最適合當作「濾網」而非「訊號產生器」。把它想成一盞交通號誌燈:綠燈(ADX > 25)時你才能上路,但你還是需要其他指標告訴你該往左還是往右。


Day 9:Ichimoku Cloud — 一張圖看天下

一目均衡表(Ichimoku Kinko Hyo)是少數能在單一圖表上同時呈現趨勢方向、動能強弱、支撐壓力的全方位系統。它由五條線組成:

組件計算方式角色比喻
轉折線(Tenkan-sen)(9日高+9日低) ÷ 2偵察兵 — 靈敏的短期趨勢偵測
基準線(Kijun-sen)(26日高+26日低) ÷ 2將軍 — 穩重的中期趨勢錨點
先行帶 A(Senkou Span A)(轉折+基準) ÷ 2,向前位移 26 期雲帶上緣或下緣
先行帶 B(Senkou Span B)(52日高+52日低) ÷ 2,向前位移 26 期雲帶的另一緣
遲行帶(Chikou Span)當前收盤價,向後位移 26 期第二確認者
雲帶(Kumo)= 多空禁區

先行帶 A 與 B 之間形成的區域就是「雲帶」。

  • 價格在雲帶之上 → 多頭環境
  • 價格在雲帶之下 → 空頭環境
  • 價格在雲帶之中 → 方向不明,建議觀望

與單一 MA 策略的比較

相比 SMA 只告訴你「價格相對於均線在哪」,Ichimoku 同時提供了:

  1. 前瞻性:雲帶向未來延伸,讓你預判支撐與壓力位置
  2. 多維確認:轉折線/基準線交叉 + 雲帶位置 + 遲行帶,三重確認降低假訊號
  3. 內建動能判讀:觀察價格與雲帶的距離,越遠代表動能越強,靠近則代表動能衰減

代價是:訊號較為保守,交易頻率低,在震盪市場中容易錯失機會。


Day 10:百萬美金的教訓 — 風險管理心法

這一天沒有程式碼,只有一個真實故事:一位交易者打造了名為 Imhotep 的量化策略,帳戶一度突破 188 萬美元。然後因為止損程式碼未經測試、缺乏監控、全倉投入加上槓桿,一夜之間全部歸零。

他犯的致命錯誤
  1. 使用槓桿
  2. 沒有測試止損邏輯
  3. 沒有完善的監控與告警機制
  4. 用 100% 的資金交易
  5. 當一切順利時,以為自己無敵

我的安全防護框架

參考《交易聖經》的核心理念,我歸納出三項生存原則:

原則一:讓單筆交易風險趨近於零

  • 單筆風險上限 ≤ 總資金的 1%
  • 槓桿以「實際曝險」計算,而非名義部位

原則二:盡可能讓自己存活在市場中

  • 即使連續 20 次止損,帳戶仍保有 80% 以上資金
  • 資金分為「交易資金」與「儲備資金」,儲備資金絕不動用

原則三:確保策略為正期望值

E=(W×Gˉ)−(L×Lˉ)>0E = (W \times \bar{G}) - (L \times \bar{L}) > 0E=(W×Gˉ)−(L×Lˉ)>0

其中 WWW 為勝率,Gˉ\bar{G}Gˉ 為平均獲利,LLL 為敗率,Lˉ\bar{L}Lˉ 為平均虧損。只有正期望值的策略才值得執行。

Quote

程式碼可以幫你執行邏輯,但只有你的風險意識能讓你留在場內。


三、七天回測實戰的共同發現

過度擬合是你最大的敵人

每一次參數優化都是一次與過度擬合的博弈。我們在 Day 6 的布林通道、Day 7 的 MACD、Day 8 的 ADX、Day 9 的 Ichimoku 中反覆驗證同一個道理:

樣本內的最佳參數,幾乎從不是樣本外的最佳參數。

應對方式:

  1. 永遠將資料切分為樣本內(訓練期)與樣本外(驗證期)
  2. 看 Sharpe 熱力圖時,選「高原」而非「尖峰」——穩定的參數區間比單一最佳點更可靠
  3. 當樣本內 Sharpe 遠優於樣本外,就是過度擬合的紅旗

R.E.A.L 回測框架

所有回測都遵循 R.E.A.L 原則:

  • Realistic:加入手續費($0.005/股)與滑價(0.05%)
  • Evidence-based:每個 Phase 逐步驗證,不跳步
  • Avoiding Bias:signal.shift(1) 延遲一根 K 棒執行,避免 Look-Ahead Bias
  • Logged:每階段以 Markdown 記錄觀察,確保可重現

四、指標選擇速查表

市場狀態適合的指標不太適合的指標
明確趨勢SMA、MACD、Ichimoku布林通道(均值回歸)
區間震盪布林通道、RSIMACD、ADX
趨勢不明ADX(用來確認是否值得交易)所有訊號型指標
需要全面判斷Ichimoku(趨勢+動能+支撐壓力)單一指標
沒有萬能指標

每個指標都有它擅長的市場環境。真正的功力不在於找到最強的指標,而在於判斷「現在是什麼樣的市場」,然後選用對的工具。


五、銘記的心態

  1. 簡單的策略往往更穩健。 越複雜的系統越容易在實盤中崩壞。
  2. 回測是地圖,不是領土。 資料是完美的,市場不是。
  3. 風險管理優先於一切。 先求生存,再求獲利。
  4. 落後指標不是缺陷,是特性。 多一層確認換來的是更少的假訊號。
  5. 別追求最佳,追求穩健。 Sharpe 熱力圖上的尖峰是陷阱,高原才是歸宿。

下一步

Day 11 開始進入 RSI 背離與更進階的策略組合。帶著這七天打下的地基,繼續前進。

目錄

一、這七天的學習地圖二、指標深度解析Day 4–5:SMA — 一切趨勢策略的起點Day 6:布林通道 — 用統計學丈量波動率Day 7:MACD — 動能世界的入場券Day 8:ADX — 不告訴你方向,只告訴你值不值得出手Day 9:Ichimoku Cloud — 一張圖看天下Day 10:百萬美金的教訓 — 風險管理心法三、七天回測實戰的共同發現過度擬合是你最大的敵人R.E.A.L 回測框架四、指標選擇速查表五、銘記的心態
← 返回所有文章

© 2024-2026 MengNotes | 版權所有