跳轉至

建立 2025-02-24 更新 2026-09-16

交易策略開發

交易策略就是把「什麼時候買、什麼時候賣」寫成明確、可重複執行的規則,通常由三個部分組成:

  1. 入場條件:什麼情況下買進?
  2. 出場條件:什麼情況下賣出?
  3. 風險控制:單筆交易最多能虧多少(詳見回測與風險管理)?

沒有這三者,「策略」就只是憑感覺喊買喊賣,無法回測、也無法檢討。

三個入門策略範例

均線交叉(Moving Average Crossover)

短期均線由下往上穿越長期均線視為偏多訊號,反之視為偏空。

data["SMA_20"] = data["Close"].rolling(window=20).mean()
data["SMA_50"] = data["Close"].rolling(window=50).mean()

data["Buy_Signal"] = data["SMA_20"] > data["SMA_50"]
data["Sell_Signal"] = data["SMA_20"] < data["SMA_50"]

RSI 反轉(RSI Reversal)

假設價格在極端超買、超賣區容易反轉:RSI 低於 30 視為超賣進場訊號,高於 70 視為超買出場訊號。

import talib

data["RSI"] = talib.RSI(data["Close"], timeperiod=14)
data["Buy_Signal"] = data["RSI"] < 30
data["Sell_Signal"] = data["RSI"] > 70

布林通道突破(Bollinger Breakout)

價格突破上軌視為強勢延續訊號,跌破下軌視為弱勢訊號。

upper, middle, lower = talib.BBANDS(data["Close"], timeperiod=20)
data["Buy_Signal"] = data["Close"] > upper
data["Sell_Signal"] = data["Close"] < lower

這三個策略都只用單一指標,實務上容易被雜訊觸發假訊號;下一章回測會示範如何驗證這些規則在歷史資料上到底表不表現得好。

動手做

7-2 編寫自訂策略 是一份空白練習 Notebook:請挑選上面任一個策略範例(或自訂組合),實際寫成程式碼並在回測章節驗證績效。

推薦影音

Algorithmic Trading Using Python - Full Course

簡述:從 API 基礎講起,實作三個完整專案(S&P 500 等權重指數、動能投資策略、價值投資策略),完整示範如何把投資邏輯轉換成程式碼。內容較長(約 4 小時),適合想看完整實戰專案、而不只是片段範例的學習者。