交易之道 — 完整实施方案规范

基于 John Piper 著,《交易之道》(1999) 中文书名:金融交易圣经

一套完整的交易方法论,涵盖交易者的整个旅程——从制定交易计划、系统设计到资金管理和心理掌控。Piper 将交易成功组织为五层金字塔:计划、方法、资金管理、心理学和纪律。


目录

  1. 概述
  2. 交易者金字塔
  3. 第一层:交易计划
  4. 第二层:交易方法/系统设计
  5. 第三层:资金管理
  6. 第四层:交易心理学
  7. 第五层:纪律
  8. 市场方法
  9. 交易者之旅:七个阶段
  10. 系统测试与验证
  11. 每日交易流程
  12. 常见错误及避免方法
  13. 交易日志
  14. 实施伪代码
  15. 核心原则总结

1. 概述

核心论点

John Piper 的核心论点是:交易成功 80% 靠心理学和资金管理,20% 靠方法。 大多数有抱负的交易者将 90% 的时间用于寻找"完美系统",几乎不花时间在真正决定成败的领域。

交易失败的三大支柱

  1. 没有计划:没有书面、全面的计划就进行交易是在赌博。
  2. 没有资金管理:即使再好的系统,没有适当的仓位管理和风险控制也会爆仓。
  3. 没有心理准备:在实时交易中,情绪(恐惧、贪婪、希望、自我)会压倒理性分析。

本书涵盖内容

"交易之道不是一种方法,而是一个过程。这个过程会引导你找到属于自己的交易方式。"


2. 交易者金字塔

Piper 将交易成功的组成部分组织为一个五层金字塔。每一层支撑着它上面的一层。

            ┌──────────┐
            │  纪律    │    ← 第五层:顶石
            ├──────────┤
            │ 心理学   │    ← 第四层:情绪掌控
            ├──────────┤
            │  资金    │    ← 第三层:资本保全
            │  管理    │
            ├──────────┤
            │  方法    │    ← 第二层:入场/出场规则
            ├──────────┤
            │  计划    │    ← 第一层:基础
            └──────────┘

为什么这个顺序很重要

大多数交易者失败是因为他们从第二层开始(寻找方法),从未建立第一、三、四、五层。


3. 第一层:交易计划

3.1 交易计划包含什么

完整的交易计划是一份书面文档(Piper 坚持书面而非头脑中的),涵盖:

交易计划模板:

1. 个人评估
   - 我为什么要交易?(目标、动机)
   - 我的风险资本是多少?(可以承受损失的资金)
   - 我的时间投入是多少?(每天/每周小时数)
   - 我的性格类型是什么?(耐心/不耐心,关注细节/宏观)
   - 我的优势和劣势是什么?

2. 市场选择
   - 我将交易哪些市场?(股票、期货、外汇、期权)
   - 为什么选择这些市场?(波动性、流动性、熟悉度)
   - 什么时间框架?(日内、日线、周线)

3. 方法规范
   - 入场规则(具体、定量)
   - 出场规则(具体、定量)
   - 仓位规模规则
   - 最大同时持仓数

4. 资金管理规则
   - 每笔交易最大风险(占资本的百分比)
   - 每日最大风险
   - 停止前的最大回撤
   - 金字塔加仓/减仓规则

5. 心理规则
   - 开市前准备流程
   - 情绪状态规则(焦虑、愤怒、兴奋时该怎么做)
   - 每日最大交易小时数
   - 亏损后强制休息

6. 绩效回顾
   - 我将如何以及何时回顾绩效?
   - 我将跟踪哪些指标?
   - 我如何知道计划需要更改?

3.2 目标必须是基于过程的,而非基于结果的

3.3 计划是一份活文档


4. 第二层:交易方法/系统设计

4.1 什么使一个好的交易系统

交易系统必须具备:

  1. 正期望值:经过多笔交易,系统是赚钱的。
  2. 清晰的规则:没有模糊性。给定相同数据,两个人应该做出相同的交易决策。
  3. 可交易性:信号在实际时间用真实资金执行时必须实用。
  4. 稳健性:系统在不同的市场条件下都能工作,而不仅仅是在一种特定环境中。

4.2 系统组件

交易系统 = {
    形态:      定义潜在交易机会的条件
    入场:      触发交易的具体事件
    止损:      交易以亏损平仓的价格水平
    目标:      获利了结的价格水平(或追踪止损规则)
    仓位:      基于风险参数交易多少
}

4.3 趋势跟踪系统

Piper 将趋势跟踪描述为最稳健的方法之一:

趋势跟踪系统(基础版):
    形态:  价格在 200 日均线上方(上升趋势)
    入场:  价格回调至 50 日均线并反弹(在高于前一日高点收盘时买入)
    止损:  在近期波段低点下方
    目标:  用 3 倍 ATR 追踪止损

    或者(突破变体):
    形态:  价格盘整 20+ 天(低波动率)
    入场:  突破 20 日高点
    止损:  在 20 日低点下方(或入场价下方 2 倍 ATR)
    目标:  用 2 倍 ATR 止损追踪,让盈利奔跑

4.4 均值回归系统

均值回归系统(基础版):
    形态:  股票处于长期上升趋势(在 200 日均线上方)
    入场:  RSI(2) 跌破 10(极度短期超卖)
    止损:  固定百分比止损(入场价下方 5%)
    目标:  收盘高于 5 日均线(均值回归目标)

4.5 突破系统

突破系统(Donchian 通道):
    形态:  计算 20 日高点和 20 日低点通道
    入场:  当价格收于 20 日高点上方时买入
    止损:  在 10 日低点下方(或 2 倍 ATR)
    目标:  当价格收于 10 日低点下方时退出(或 20 日低点)

4.6 系统质量指标

指标 定义 良好 优秀
胜率 盈利交易的百分比 >40% >55%
收益风险比 平均盈利 / 平均亏损 >1.5 >2.5
利润因子 总盈利 / 总亏损 >1.5 >2.5
期望值 (胜率 x 平均盈利) - (败率 x 平均亏损) >0 >1R
最大回撤 最差的峰值到谷值下降 <25% <15%
夏普比率 风险调整后收益 >1.0 >2.0

5. 第三层:资金管理

5.1 交易中最重要的主题

Piper 认为资金管理是长期交易成功最关键的决定因素:

"赢家交易者和输家交易者的区别不在于他们使用的方法,而在于他们如何管理资金。"

5.2 固定百分比风险模型

最广泛推荐的方法。每笔交易承担固定百分比的资本风险。

函数 calculate_position_size(capital, risk_pct, entry, stop):
    risk_per_share = ABS(entry - stop)
    dollar_risk = capital * risk_pct
    position_size = FLOOR(dollar_risk / risk_per_share)
    RETURN position_size

示例:
    资本 = $100,000
    每笔交易风险 = 1% = $1,000
    入场价格 = $50
    止损 = $48
    每份风险 = $2
    仓位 = $1,000 / $2 = 500 股

5.3 风险参数

推荐风险限制:

每笔交易风险:
    保守:    资本的 0.5%
    中等:    资本的 1.0%
    激进:    资本的 2.0%
    最大:    资本的 3.0%(绝不超过)

总开放风险:
    保守:    资本的 3%
    中等:    资本的 6%
    激进:    资本的 10%
    最大:    资本的 15%

每日亏损限制:
    如果日亏损超过资本的 3%,当日停止交易

回撤断路器:
    如果回撤超过 10%,将仓位规模减少 50%
    如果回撤超过 20%,停止交易——审查系统和计划

5.4 凯利公式(高级)

对于那些想要从数学上优化赌注大小的人:

凯利 % = W - [(1 - W) / R]

其中:
    W = 胜率(例如,55% 胜率 = 0.55)
    R = 收益风险比(例如,2:1 = 2.0)

示例:
    凯利 % = 0.55 - [(1 - 0.55) / 2.0]
    凯利 % = 0.55 - 0.225 = 0.325 (32.5%)

Piper 警告:绝不要使用全凯利。 在实践中使用半凯利或四分之一凯利,因为:

5.5 金字塔加仓和减仓

金字塔加仓(追加盈利股):
    入场 1:计划仓位的 50% 在初始信号
    入场 2:计划仓位的 30% 当走势有利时(确认)
    入场 3:计划仓位的 20% 在进一步确认

    规则:绝不在亏损仓上补仓。只在盈利仓上加仓。

金字塔减仓(部分获利):
    出场 1:在 1R 盈利时平掉 33% 的仓位(保证小盈利)
    出场 2:在 2R 盈利时平掉 33% 的仓位
    出场 3:在追踪止损时平掉 33% 的仓位(让最后三分之一奔跑)

5.6 反马丁格尔原则


6. 第四层:交易心理学

6.1 心理挑战

Piper 确定了交易的核心心理挑战:

"交易是你试图赚取的最难的容易钱。"

困难不在于智力——好系统的规则很简单。困难在于情绪执行——当你的情绪对你尖叫着做相反的事情时,遵循简单的规则。

6.2 五个情绪敌人

1. 恐惧
   表现:犹豫入场、过早平仓、扩大止损
   解药:预先定义的规则机械执行。小仓位。

2. 贪婪
   表现:过大仓位、移除止损、在亏损仓上加仓
   解药:固定每笔交易风险。书面资金管理规则。

3. 希望
   表现:持有亏损股("它会回来的")、忽视止损
   解药:自动执行的硬止损。没有自主裁量覆盖。

4. 愤怒/报复
   表现:亏损后"报复交易"、增加仓位以恢复
   解药:每日亏损限制。连续亏损 3 次后强制休息。

5. 兴奋
   表现:盈利后过度交易、感觉不可战胜、冒险
   解药:无论近期结果如何,每笔交易都遵循相同规则。

6.3 交易的内在游戏

Piper 借鉴运动心理学:

6.4 可视化和准备

在每个交易日前:

市场前心理流程(15 分钟):
1. 回顾交易计划(5 分钟)
   - 阅读你的规则。将其内化。
2. 可视化场景(5 分钟)
   - 想象一笔亏损交易。看到自己冷静地止损。
   - 想象一笔盈利交易。看到自己在目标位获利。
   - 想象混乱的市场。看到自己置身事外。
3. 设定意图(5 分钟)
   - "今天我将每笔交易都遵循我的系统。"
   - "我今天不是要赚钱。我是在努力交易好。"

6.5 处理回撤

回撤是最终的心理测试。Piper 的框架:

如果回撤 < 5%:
    → 正常。继续以全仓位交易。
    → 回顾交易以确保系统正在被遵循。

如果回撤 5-10%:
    → 将仓位减少至正常的 75%。
    → 增加回顾频率(每日日志)。
    → 检查:系统坏了吗,还是这只是正常变异?

如果回撤 10-15%:
    → 将仓位减少至正常的 50%。
    → 休息 1 天不交易。
    → 全面系统审查。

如果回撤 > 15%:
    → 停止交易。
    → 全面系统审计。
    → 模拟交易直到信心恢复。
    → 在系统显示出积极的模拟结果之前,不要恢复实盘交易。

7. 第五层:纪律

7.1 纪律是顶石

纪律是在心理困难时始终如一地执行计划、方法和资金管理规则的能力。

7.2 纪律的样子

有纪律的交易者:
- 接受每个信号,包括连续亏损之后的信号
- 在预定止损点止损——没有例外
- 不会"给交易留空间"而移动止损
- 不会在亏损仓上加仓
- 不会在连胜后增加规模
- 不会因为"感觉不对"而跳过信号
- 每笔交易、每天都遵循计划,毫无偏离

7.3 建立纪律

纪律不是意志力——它是通过结构建立的习惯:

  1. 清单:每笔交易前,物理检查清单。如果任何项目未勾选,不交易。
  2. 自动化:尽可能使用自动止损、市价单和算法执行,移除人类决策。
  3. 问责制:与导师或问责伙伴分享你的交易日志。
  4. 先从小额开始:在情绪压力低的小仓位中建立纪律习惯。只有在习惯建立后才增加规模。
  5. 常规:在同一时间、同一地点、按相同顺序交易。常规减少决策疲劳。

7.4 纪律清单

交易前清单:
□ 这笔交易是否符合我的交易计划?
□ 形态定义清晰吗(不模糊)?
□ 我是否根据我的风险规则计算了仓位?
□ 我在入场前是否设置了止损?
□ 我的盈利目标或追踪止损规则是否定义?
□ 我是否在我的最大开放风险限制内?
□ 我是否情绪中立(不愤怒、不兴奋、也不绝望)?
□ 我是否有充足的睡眠并且思路清晰?

如果任何框未勾选 → 不交易

8. 市场方法

8.1 趋势跟踪

8.2 波段交易

8.3 均值回归

8.4 突破交易

8.5 选择你的方法

将你的性格匹配到方法:

耐心 + 容忍亏损    → 趋势跟踪
活跃 + 果断       → 波段交易
逆向 + 统计       → 均值回归
风险寻求 + 爆发风格 → 突破交易

没有"最好"的方法。最好的方法是你能够
在数千笔交易中始终如一执行的方法。

9. 交易者之旅:七个阶段

Piper 描述了交易者的典型演变:

阶段 1:不知情的乐观主义者

阶段 2:消息灵通的悲观主义者

阶段 3:系统成瘾者

阶段 4:沮丧的交易者

阶段 5:觉醒

阶段 6:发展中的交易者

阶段 7:一致的交易者

"大多数交易者从未超越第三阶段。他们整个职业生涯都在寻找完美的系统,从未找到——因为它不存在。"


10. 系统测试与验证

10.1 回测规则

回测协议:
1. 用没有歧义的规则定义——计算机应该能够执行它们。
2. 使用样本外数据进行验证(在数据 A 上开发,在数据 B 上测试)。
3. 包含交易成本和滑点。
4. 在多种市场条件下测试(牛市、熊市、横盘)。
5. 在多个时间段测试(至少 10 年)。
6. 使用 walk-forward 分析(滚动开发 + 测试窗口)。

10.2 曲线拟合警告

10.3 模拟交易阶段

模拟交易协议:
时间:最短 3-6 个月
规则:
    - 交易每个信号——不挑选
    - 在日志中记录每笔交易
    - 完全遵循所有资金管理规则
    - 在情感上将模拟资金视为真钱(困难但必要)

毕业标准:
    - 100+ 笔交易的正期望值
    - 最大回撤在可接受范围内
    - 交易者在 >95% 的信号上遵循系统

10.4 实盘交易阶段(小规模)

实盘交易协议(第一阶段):
时间:3-6 个月
仓位规模:预期正常规模的 25-50%
规则:
    - 完全按照模拟交易的方式遵循系统
    - 每笔交易都记日志
    - 每月绩效回顾

毕业标准:
    - 结果与模拟交易一致(没有显著恶化)
    - 交易者在真实资金压力下保持纪律
    - 通过日志回顾验证情绪稳定

11. 每日交易流程

11.1 Piper 每日流程

市场前(开盘前 30-60 分钟):
    1. 回顾隔夜动态(新闻、期货)
    2. 回顾未平仓合约(止损、目标、状态)
    3. 扫描/筛选新形态
    4. 心理准备流程(可视化)
    5. 完成交易前清单

交易时段:
    1. 只执行计划好的交易
    2. 监控未平仓合约
    3. 在日志中记录所有执行
    4. 不要进行未计划的交易
    5. 每 2 小时休息一次(至少远离屏幕 10 分钟)

市场后(收盘后 30 分钟):
    1. 在日志中记录所有交易详情
    2. 计算当日盈亏
    3. 回顾:我是否遵循了我的计划?
    4. 确定教训(什么做得好,什么可以改进)
    5. 为下一时段做准备(更新观察列表、设置警报)

每周回顾(周末,1-2 小时):
    1. 计算每周盈亏和统计
    2. 回顾所有交易:胜率、平均盈利、平均亏损、期望值
    3. 识别错误模式
    4. 如有需要,更新交易计划
    5. 为下周设定目标(过程目标,而非盈亏目标)

12. 常见错误及避免方法

12.1 十二个致命错误

# 错误 后果 预防
1 没有书面计划 随机、不一致的交易 在下单前写计划
2 每笔交易风险过大 账户爆仓 固定百分比风险模型(最多 1-2%)
3 没有止损 灾难性亏损 始终在入场前设置止损
4 移动止损 比计划更大的亏损 自动化止损;绝不触碰
5 在亏损仓上加仓 加速资本毁灭 规则:只在盈利仓上加仓
6 报复交易 亏损后复合亏损 每日亏损限制、强制休息
7 过度交易 无数次小切割死亡(佣金) 定义每日最大交易数
8 系统跳跃 从不发展专业知识 承诺一个系统 6+ 个月
9 忽视资金管理 系统优势被糟糕的规模抵消 每笔交易计算仓位
10 没有优势地交易 缓慢、稳定的资本损失 交易前验证正期望值
11 自我驱动的交易 持有亏损以避免承认错误 关注过程,而非结果
12 不记日志 重复同样的错误 每笔交易记日志,每周回顾

13. 交易日志

13.1 记录内容

交易日志条目:

日期/时间:          [入场日期和时间]
品种:               [交易的股票/期货/货币]
方向:               [做多/做空]
形态:               [系统中的哪个形态触发此交易]
入场价格:           [实际成交价格]
止损:               [止损价格]
目标:               [目标价格或追踪止损规则]
仓位:               [股数/合约数]
风险 ($):           [此交易的风险美元金额]
风险 (%):           [风险占资本的百分比]

出场日期/时间:      [平仓时间]
出场价格:           [实际成交价格]
盈亏 ($):           [美元盈亏]
盈亏 (R):           [R 倍数表示的盈亏]
                     (R = 每份初始风险)

执行评分:           [1-5:我是否遵循了我的规则?]
情绪状态:            [平静/焦虑/自信/恐惧/贪婪]
备注:               [我学到了什么,我会做什么不同]
截图:              [入场和出场的图表]

13.2 R 倍数跟踪

Piper 强调用 R 倍数而非美元跟踪结果:

R = 交易的初始风险

如果入场 = $50,止损 = $48:R = 每份 $2
如果出场 = $56:盈利 = $6 = 3R
如果出场 = $47:亏损 = -$3 = -1.5R(止损被错过)

跟踪所有交易的平均 R 倍数:
    平均 R > 0 → 系统有正期望值
    平均 R < 0 → 系统需要改进

目标:所有交易的平均 R 倍数为 0.5R 至 1.0R

14. 实施伪代码

14.1 完整交易流程

函数 trading_day(trader):
    # 市场前
    pre_market_routine(trader)
    setups = scan_for_setups(trader.system, trader.watchlist)

    # 交易时段
    FOR 每个 setups 中的 setup:
        IF NOT passes_pre_trade_checklist(setup, trader):
            CONTINUE

        # 计算仓位
        entry = setup.entry_price
        stop = setup.stop_price
        risk_per_share = ABS(entry - stop)
        dollar_risk = trader.capital * trader.risk_per_trade_pct
        position_size = FLOOR(dollar_risk / risk_per_share)

        # 检查组合风险限制
        current_open_risk = calculate_total_open_risk(trader.portfolio)
        IF current_open_risk + dollar_risk > trader.max_total_risk:
            CONTINUE  # 会超过总风险限制

        # 检查每日亏损限制
        IF trader.daily_pnl < -trader.daily_loss_limit:
            STOP 当天交易
            BREAK

        # 入场
        trade = ENTER_TRADE(setup, position_size, entry, stop, setup.target)
        trader.journal.RECORD(trade)

    # 监控未平仓
    FOR 每个 trader.portfolio 中的 position:
        IF position.stop_hit:
            EXIT position at stop
            trader.journal.RECORD_EXIT(position)
        ELIF position.target_hit:
            EXIT position at target (or apply trailing stop)
            trader.journal.RECORD_EXIT(position)

    # 市场后
    post_market_review(trader)

14.2 资金管理模块

函数 money_management(trader, trade_signal):
    # 固定百分比风险模型
    risk_pct = trader.base_risk_pct  # 例如 1.0%

    # 根据回撤调整
    current_drawdown = (trader.peak_capital - trader.capital) / trader.peak_capital

    IF current_drawdown > 0.15:
        RETURN None  # 停止交易——回撤断路器
    ELIF current_drawdown > 0.10:
        risk_pct = risk_pct * 0.50  # 减少至一半
    ELIF current_drawdown > 0.05:
        risk_pct = risk_pct * 0.75  # 减少至 75%

    # 计算仓位
    dollar_risk = trader.capital * risk_pct
    risk_per_unit = ABS(trade_signal.entry - trade_signal.stop)
    position_size = FLOOR(dollar_risk / risk_per_unit)

    # 验证
    position_value = position_size * trade_signal.entry
    IF position_value > trader.capital * 0.25:
        position_size = FLOOR(trader.capital * 0.25 / trade_signal.entry)

    RETURN position_size

14.3 心理学模块

函数 psychological_check(trader):
    # 自动情绪状态评估

    checks = {
        'consecutive_losses': trader.recent_consecutive_losses,
        'daily_pnl': trader.daily_pnl,
        'sleep_quality': trader.self_reported_sleep,
        'emotional_state': trader.self_reported_emotion,
        'time_since_last_break': trader.minutes_since_break
    }

    # 红旗
    IF checks['consecutive_losses'] >= 3:
        ALERT "3+ 次连续亏损。休息 30 分钟。"
        RETURN "PAUSE"

    IF checks['daily_pnl'] < -trader.daily_loss_limit:
        ALERT "每日亏损限制已达到。今天停止交易。"
        RETURN "STOP"

    IF checks['emotional_state'] IN ['angry', 'euphoric', 'desperate']:
        ALERT "情绪状态:{checks['emotional_state']}。离开屏幕。"
        RETURN "PAUSE"

    IF checks['time_since_last_break'] > 120:
        ALERT "上次休息已 2 小时。休息 10 分钟。"
        RETURN "BREAK"

    RETURN "OK"

15. 核心原则总结

  1. 交易者金字塔是不可协商的。 你需要所有五层:计划、方法、资金管理、心理学和纪律。缺少任何一层最终都会毁掉你。

  2. 交易成功 80% 靠心理学和资金管理。 停止把所有时间都花在寻找完美系统上。把那些时间花在风险管理和情绪掌控上。

  3. 在下一单之前写好计划。 书面计划是基础。没有它,你是在赌博,不是在交易。

  4. 每笔交易风险不超过 1-2%。 这一规则保护你免受灾难性亏损,确保你存活足够长的时间让优势复利。

  5. 好的系统是简单的。 2-3 个参数、清晰的规则、正期望值。复杂性是稳健性和纪律的敌人。

  6. 系统不需要大多数时候正确。 35% 胜率配合 3:1 收益风险比是非常有利可图的。不要为了高胜率而牺牲大赢家。

  7. 纪律是一种习惯,不是意志力。 通过清单、自动化、常规训练和小额开始来建立纪律。不要在压力下依赖意志力——它会失败。

  8. 记录一切。 日志是发展中的交易者最重要的工具。没有它,你会无限期地重复同样的错误。

  9. 回撤管理就是生存。 在回撤期间减少规模,在严重回撤时停止交易,绝不要试图用更大的赌注"回本"。

  10. 旅程就是目的地。 交易没有"到达点"。你总是在发展、总是在改进、总是在管理自己。过程就是优势。

"交易之道不是关于找到完美的方法。而是关于成为能够始终如一地执行任何好方法的那种人。"

(文件结束 - 共 845 行)