← 返回《初阶量化交易:策略编写及系统搭建》
📑 查看全课大纲(第 35 / 38 节)

tick数据的介绍及使用

约 22 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

两个经典实战量化策略原型:海龟法则与多因子 Alpha

小象实战讲义 · 初阶量化交易:策略编写及系统搭建 本讲义仅用于编程与量化方法教学,不构成任何投资建议。

在完成了量化交易系统的基础搭建与风控框架后,量化工程师必须熟练掌握工业界两大最具代表性的策略原型——趋势跟踪策略的巅峰代表《海龟交易法则》(Turtle Trading System)现代量化对冲基金的压舱石《多因子 Alpha 选股模型》(Multi-Factor Model)。这两类策略分别代表了”技术时序驱动”与”截面基本面驱动”的最高成就,两者的低相关性组合更是专业机构构建全天候资产配置的核心底座。

本讲系统解构海龟交易法则的唐奇安通道突破、基于 ATR 的动态 Unit 头寸、金字塔加仓与硬性止损全套闭环;深度剖析多因子 Alpha 模型的因子清洗(去极值/标准化/中性化)、打分排序与股票组合对冲机制;并指导完成两大策略的工程化实现。


💡 核心导读

  • 策略原型一:海龟交易法则(Turtle Trading System)全套六大闭环规则
    1. 波动率度量 NN:以 20 日真实波幅 ATR20ATR_{20} 作为全系统唯一的风险计量单位;
    2. 头寸规模单位(Unit)Unit=1%×账户总资金 CapitalN×每点价值 PointValueUnit = \frac{1% \times \text{账户总资金 } Capital}{N \times \text{每点价值 PointValue}} 单笔头寸波幅波动 1 个 NN,账户资产变动严格等于 1%1%
    3. 入场信号(唐奇安通道 Donchian Breakout)
      • 系统 1(短期):价格突破过去 20 日最高价买入;
      • 系统 2(长期):价格突破过去 55 日最高价买入;
    4. 金字塔顺势加仓:每当价格自上次建仓价上涨 0.5×N0.5 \times N,追加买入 1 个 Unit,最多加满 4 个 Units;
    5. 止损离场规则:以最后一次买入成交价向下 2×N2 \times N 作为硬性止损线(所有 Unit 同步平仓);
    6. 趋势终结离场:价格跌破过去 10 日最低价全部清仓。
  • 策略原型二:多因子 Alpha 基本面选股模型(Multi-Factor Model)
    • 四大基础因子大类:价值(PE/PB/PS)、成长(净利润增速)、质量(ROE/资产负债率)、动量与低波(RSI/ATR);
    • 数据标准化三步流水线3-Sigma / MAD 去极值Z-Score 标准化行业与市值正交中性化\text{3-Sigma / MAD 去极值} \xrightarrow{\quad} \text{Z-Score 标准化} \xrightarrow{\quad} \text{行业与市值正交中性化}
    • 截面打分与对冲:每月对全市场股票综合打分,做多 Top 100 股票组合,做空沪深 300 / 中证 500 股指期货,锁定纯 Alpha 超额收益。
┌─────────────────────────────────────────────────────────────┐
│                    海龟交易法则全流程运行拓扑图                 │
└──────────────────────────────┬──────────────────────────────┘

 价格 (Price)                   ▲ [突破 20 日高点: 建立第 1 个 Unit]
                              ▲ │
                            ▲   │ ─── 涨 +0.5N: 加仓第 2 个 Unit
                          ▲     │
                        ▲       │ ─── 涨 +1.0N: 加仓第 3 个 Unit
                      ▲         │
                    ▲           │ ─── 涨 +1.5N: 加仓第 4 个 Unit (加满)
                  ▲             │
 ─── 跌破 10 日低点 ────────────┼───────────────────────────► 触发趋势清仓离场

 ─── 最新买入价 - 2N ───────────┴───────────────────────────► 触发鳄鱼硬性止损

一、海龟法则的核心哲学:以波动率为统一度量衡

海龟法则之所以穿越牛熊四十载依然闪烁光芒,关键在于其将头寸管理、加仓与止损完全统一在市场波动率 NN(ATR)之上

  • 当市场剧烈动荡时,NN 变大,系统自动缩小 Unit 规模,减少头寸暴露;
  • 当市场平稳收敛时,NN 变小,系统自动扩大 Unit 规模,充分利用资金杠杆。

二、多因子 Alpha 模型的截面中性化处理

在多因子选股中,若不做中性化,模型选出的股票往往会严重超配某一行业(如全选银行或全选消费)。通过对行业哑变量和对数市值进行多元线性回归并提取残差:

Factorraw=βmktln(Size)+jβjIndustryj+ϵneutralFactor_{raw} = \beta_{mkt} \cdot \ln(Size) + \sum_{j} \beta_j \cdot Industry_j + \epsilon_{neutral}

提取残差项 ϵneutral\epsilon_{neutral} 作为中性化后的纯净因子值,彻底消除行业与市值风格偏见。


📝 动手练一练

下面我们用 Python 编写一段 海龟交易法则核心参数计算器,输入账户资金、当前股价与 20 日 ATR,自动输出 Unit 股数、入场突破点、加仓点与止损线:

import pandas as pd
import numpy as np

def calculate_turtle_trading_parameters(capital=1000000.0, current_price=50.0, atr_20=2.0, point_value=1.0, donchian_high_20=52.0, donchian_low_10=46.0):
    """
    经典海龟交易法则 (Turtle Trading System) 核心参数计算器
    1. 计算 1 个 Unit 头寸规模: Unit = (1% * Capital) / (ATR * PointValue)
    2. 入场买入点: 突破 20 日高点 Donchian_High_20
    3. 加仓点: 每上涨 0.5 * ATR 加仓 1 个 Unit (最多 4 个 Units)
    4. 硬性止损线: 最新买入价 - 2 * ATR (每次加仓后全部 Unit 的止损同步上移)
    5. 出场离场点: 跌破 10 日低点 Donchian_Low_10
    """
    risk_budget = capital * 0.01  # 1% 风险预算 = 10,000 元
    dollar_volatility = atr_20 * point_value  # 每股风险波幅 = 2.0 元
    unit_shares = int(risk_budget / dollar_volatility / 100) * 100  # 按手整除
    
    entry_price = donchian_high_20
    add1_price = entry_price + 0.5 * atr_20
    add2_price = entry_price + 1.0 * atr_20
    add3_price = entry_price + 1.5 * atr_20
    # 海龟原始规则: 止损锚定「最新买入价 - 2N」, 每次加仓后全部 Unit 的止损同步上移
    stop_loss_initial = entry_price - 2.0 * atr_20   # 首仓止损: 52.0 - 2*2.0 = 48.0
    stop_loss_price = add3_price - 2.0 * atr_20      # 加满 4 个 Unit 后: 55.0 - 2*2.0 = 51.0
    exit_price = donchian_low_10
    
    res = {
        "Account_Capital": f"{capital:,.2f} 元",
        "ATR_20 (N)": f"{atr_20:.2f} 元",
        "Unit_Size": f"{unit_shares} 股 (单手资金: {unit_shares * entry_price:,.2f} 元)",
        "Entry_Trigger (20日高点突破)": f">= {entry_price:.2f} 元",
        "Add_Position_1 (+0.5N)": f"{add1_price:.2f} 元",
        "Add_Position_2 (+1.0N)": f"{add2_price:.2f} 元",
        "Add_Position_3 (+1.5N)": f"{add3_price:.2f} 元",
        "Initial_Stop_Loss (首仓 -2N)": f"{stop_loss_initial:.2f} 元",
        "Raised_Stop_Loss (加仓后 -2N)": f"{stop_loss_price:.2f} 元",
        "Exit_Trigger (10日低点破位)": f"<= {exit_price:.2f} 元"
    }
    return res

def test_turtle_run():
    res = calculate_turtle_trading_parameters(capital=1000000.0, current_price=50.0, atr_20=2.0, point_value=1.0, donchian_high_20=52.0, donchian_low_10=46.0)
    print("================ 海龟交易法则 (Turtle Trading) 参数测算 ================")
    for k, v in res.items():
        print(f"  - {k:<28}: {v}")
    print("----------------------------------------------------------------------")
    print("量化精髓: 海龟法则通过 N (ATR) 彻底打通入场、仓位、加仓与止损的全套机械规则!")
    print("======================================================================")

if __name__ == "__main__":
    test_turtle_run()

运行结果输出:

================ 海龟交易法则 (Turtle Trading) 参数测算 ================
  - Account_Capital             : 1,000,000.00 元
  - ATR_20 (N)                  : 2.00 元
  - Unit_Size                   : 5000 股 (单手资金: 260,000.00 元)
  - Entry_Trigger (20日高点突破)     : >= 52.00 元
  - Add_Position_1 (+0.5N)      : 53.00 元
  - Add_Position_2 (+1.0N)      : 54.00 元
  - Add_Position_3 (+1.5N)      : 55.00 元
  - Initial_Stop_Loss (首仓 -2N)  : 48.00 元
  - Raised_Stop_Loss (加仓后 -2N)  : 51.00 元
  - Exit_Trigger (10日低点破位)      : <= 46.00 元
----------------------------------------------------------------------
量化精髓: 海龟法则通过 N (ATR) 彻底打通入场、仓位、加仓与止损的全套机械规则!
======================================================================

本章小结

  1. 掌握海龟法则精髓:以 ATR 为唯一度量衡,实现通道突破建仓、顺势加仓与 2N 硬性止损的完全机械化。
  2. 理解多因子 Alpha 体系:通过去极值、标准化与行业中性化清洗基本面因子,构建多头组合并对冲市场系统性风险。
  3. 策略互补配置:趋势跟踪与多因子截面模型的低相关性,是构建机构级长青组合的最佳实践。

📋 行动清单 (Action Checklist)

  • 运行本讲海龟参数代码,测试当 ATR 扩大为 4.0 元时 Unit 规模的自适应收缩;
  • 思考在 A 股市场中海龟法则与多因子策略分别适合在什么行情环境下运行;
  • 预习下一讲,全面梳理专业量化策略研发与工业级系统搭建的全流程闭环。

— 小象教研组

配套学习资源与课件
  • 第6章课件:进入专业量化赛道的必修课(PDF · 4.3MB)
    下载
  • 开发环境准备:软件安装指导(PDF · 0.9MB · 建议第3章动手实践前先通读)
    下载
  • 量化入门推荐书单(PDF · 318KB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问