Algorithmic Trading : PART 3: Defining and Testing Trading Strategies

交易策略概述

交易數據類型

基本面數據

  • 利率
  • GDP增長
  • 通貨膨脹
  • 失業率
  • 公司收入和利潤
  • 限制: 本課程不使用基本面數據
    • 原因1: 新聞資訊較難結構化處理
    • 原因2: 需要深厚的經濟學背景來解釋數據

價格與成交量數據

  • 歷史價格
  • 歷史報酬率
  • 交易量
  • 價格與報酬率波動性

技術指標類型

趨勢指標

  • 簡單移動平均線(SMA)
  • 布林通道(Bollinger Bands)
  • 指數移動平均線(EMA)

動量指標

  • 隨機震盪指標(Stochastic Oscillator)
  • 相對強弱指標(RSI)
  • 移動平均匯聚背離指標(MACD)

策略實作範例:買入持有(Buy and Hold)

數據準備

  1. 使用EUR/USD匯率數據(2004-2020)
  2. 資料特點
    • 每日數據
    • 僅包含交易日
    • 使用對數報酬率計算

績效指標計算

基本績效指標

  • 絕對報酬率
  • 年化平均報酬率
    • 計算方法:日均報酬 × 252(交易日)
  • 標準差(風險指標)
    • 計算方法:日標準差 × √252

進階風險指標

  • 最大回撤(Maximum Drawdown)
    • 定義:從高點到低點的最大跌幅
    • 計算步驟:
      1. 計算累積報酬的歷史最高點
      2. 計算當前價格與歷史最高點的差距
      3. 找出最大差距即為最大回撤

實用工具與資源

交易平台

  • MT4交易平台
    • 提供多種技術指標
    • 支持自定義指標添加

學習資源

  • MT4官方網站
    • 基本面分析教程
    • 技術分析指標說明
    • 策略開發指南

注意事項

  1. 市場並非100%有效
  2. 交易者並非100%理性
  3. 這些市場特性為交易策略提供了獲利機會
  4. 建議從簡單策略開始,逐步擴展到更複雜的策略

#交易策略 #技術分析 #量化交易

移動平均交叉策略詳解

移動平均線基礎

移動平均線類型

  1. 簡單移動平均線(SMA)
    • 最常用類型
    • 對固定時間窗口內價格進行等權重平均
    • 例如:50日均線、200日均線
  2. 加權移動平均線(WMA)
    • 對近期價格賦予更高權重
    • 更快捕捉趨勢變化
  3. 指數移動平均線(EMA)
    • 類似WMA,近期價格權重更高
    • 趨勢反應更敏感

移動平均線功能

  • 平滑價格波動
  • 過濾市場雜訊
  • 識別價格趨勢
  • 確定趨勢動量

SMA交叉策略實作

基本邏輯

  1. 短期均線向上穿越長期均線 → 做多信號
  2. 短期均線向下穿越長期均線 → 做空信號

策略建構步驟

  1. 數據準備

    # 計算短期與長期均線
    df['SMA_short'] = df['price'].rolling(window=50).mean()
    df['SMA_long'] = df['price'].rolling(window=200).mean()
    
  2. 生成交易信號

    # 生成持倉
    df['position'] = np.where(df['SMA_short'] > df['SMA_long'], 1, -1)
    
  3. 計算策略收益

    # 計算策略收益
    df['strategy_returns'] = df['position'].shift(1) * df['returns']
    

績效評估指標

  1. 絕對收益

    • 策略總收益率
    • 對比買入持有策略
  2. 年化指標

    • 年化收益率
    • 年化波動率
    • 夏普比率

策略優化

參數優化流程

  1. 定義參數搜索範圍

    • 短期均線:10-50天
    • 長期均線:100-252天
  2. 迭代測試

    from itertools import product
    combinations = list(product(range(10,50), range(100,252)))
    
  3. 尋找最優參數

    • 遍歷所有參數組合
    • 記錄每組參數表現
    • 選擇最佳表現參數

優化注意事項

  1. 過度擬合風險

    • 參數過度適配歷史數據
    • 未來表現不一定理想
  2. 樣本外測試必要性

    • 使用新數據驗證
    • 確保策略穩定性

實用技巧與建議

  1. 數據處理

    • 使用對數收益率
    • 處理缺失值
    • 移除首個交易日數據
  2. 回測要點

    • 考慮交易成本
    • 注意數據前視偏差
    • 使用向量化運算提高效率

#量化交易 #技術分析 #移動平均線

1 Like