金融怪杰——完整实施方案规范

基于 Jack D. Schwager,Market Wizards: Interviews with Top Traders (1989)


目录

  1. 概述
  2. 所有巫师通用的原则
  3. 趋势跟踪系统
  4. 自主性技术交易
  5. 基本面/宏观交易
  6. 风险管理规则
  7. 仓位管理原则
  8. 市场心理学与行为规则
  9. 入场规则综合
  10. 出场规则综合
  11. 巫师们识别的常见错误
  12. 实施伪代码
  13. 每位交易者的关键语录
  14. 附录:交易者快速参考

1. 概述

1.1 本书是什么

Market Wizards 是对 20世纪70年代和80年代的16位顶级交易者 的深入访谈集。Schwager 的目标不是呈现单一的交易系统,而是找出 区分最佳交易者与他人的共同线索。本书涵盖了期货、股票、外汇和期权交易者——包括系统化和自主性交易、基本面和技术面交易。

本书的力量在于 收敛性:拥有截然不同方法的交易者都在风险管理、纪律和心理控制方面得出了相同的核心原则。

1.2 受访交易者

交易者 主要市场 风格 成名原因
Michael Marcus 期货/商品 自主性、趋势 将30,000美元变成80,000,000美元
Bruce Kovner 外汇/期货/宏观 宏观基本面+技术 创立Caxton Associates
Richard Dennis 期货 系统化趋势跟踪 "海龟"实验;将400美元变成2亿以上
Paul Tudor Jones 期货/宏观 自主性技术+宏观 预判1987年崩盘;连续多年收益超100%
Gary Bielfeldt 国债期货 自主性 成为最大的国债交易者之一
Ed Seykota 期货 系统化趋势跟踪 最早的计算机化交易者之一;16年内收益约250,000%
Larry Hite 期货 系统化趋势跟踪 共同创立Mint Investment Management
Michael Steinhardt 股票 基本面+变异感知 20年年化收益30%以上
William O'Neil 股票 CAN SLIM/技术基本面 创立投资者商业日报
David Ryan 股票 CAN SLIM/动量 三届美国投资锦标赛冠军
Marty Schwartz 标普期货/股票 技术/短期 九届美国交易锦标赛冠军
Jim Rogers 商品/全球宏观 基本面 与索罗斯共同创立量子基金
Mark Weinstein 股票/期权/期货 自主性技术 异常高的胜率
Brian Gelber 国债期货 场内交易员/自主性 主要债券场内交易员
Tom Baldwin 国债期货 场内交易员/剥头皮 债券场内最大交易量
Tony Saliba 期权 期权做市+方向性 连续70个月盈利

1.3 本书的独特之处

与单一系统书籍不同,Market Wizards 提供了一套 交叉验证 的原则。当 Ed Seykota(系统化趋势跟踪者)、Paul Tudor Jones(自主性宏观)和 Michael Steinhardt(基本面股票投资者)都独立地说出关于止损的相同看法时,该原则的分量远超过任何单一权威的建议。


2. 所有巫师通用的原则

这些是 元教训——本书中几乎每位交易者明确陈述或隐含展示的原则。

2.1 七大通用法则

# 原则 提及者 实施方法
1 快速止损 所有交易者 使用硬止损;永不期待亏损交易恢复
2 让利润奔跑 Seykota, Dennis, Jones, Kovner, Marcus 追踪止损;不要因恐惧而过早获利了结
3 每笔交易风险小比例 Hite (1%), Kovner (1-2%), Dennis (可变), Jones 单笔交易风险不超过账户的1-2%
4 拥有优势并知道它是什么 所有系统化交易者,Steinhardt 交易前明确阐述你的优势;测试它
5 纪律胜过智力 Schwartz, Seykota, Dennis, Kovner 机械地遵循你的规则;系统就是优势
6 适应或消亡 Rogers, Kovner, Jones 市场在变化;适应能力本身就是优势
7 情绪控制就是一切 所有交易者 交易80%是心理的;没有纪律最好的系统也会失败

2.2 元规则

每个市场巫师,无论风格如何,都同意一件事:风险管理比入场信号更重要。 你可能拥有平庸的入场方法,但凭借出色的风险管理仍然可以赚钱。反过来则永远不会成立。


3. 趋势跟踪系统

3.1 Ed Seykota

风格: 计算机化系统化趋势跟踪,20世纪70年代中期最早使用计算机进行交易的先驱之一。

核心哲学

可实施规则

规则 规格
趋势识别 长期移动平均线(Seykota使用专有的基于EMA的信号)
入场 在长期趋势方向上突破时买入
出场(亏损) 预设止损置于入场位置;通常基于波动率
出场(盈利) 追踪止损;除非趋势逆转否则不退出盈利仓位
每笔交易风险 小到即使连续10次亏损也不会重创账户
组合 分散于不相关的商品市场
重新入场 如果被止损但趋势恢复,重新入场

Seykota 的交易方程

交易结果 = f(市场知识, 方法, 心理学)

其中心理学占结果的约60%
      方法占约30%
      市场知识占约10%

系统框架(重构)

参数:
  long_trend_ema    = 150日至200日EMA
  medium_trend_ema  = 40日至50日EMA
  atr_period        = 20日
  risk_per_trade    = 账户权益的0.5%至1.0%

入场:
  如果价格 > long_trend_ema(确认上升趋势)
  且价格上穿 medium_trend_ema
  且突破近期整合高点
  则 做多

出场(止损):
  止损 = 入场价格 - (2.0 * ATR)

出场(追踪):
  追踪止损 = 进场后最高收盘价 - (3.0 * ATR)
  如果价格 < 追踪止损 则出场

仓位大小:
  risk_amount = account_equity * risk_per_trade
  position_size = risk_amount / (入场价格 - 止损价格)

3.2 Richard Dennis 和海龟们

风格: 基于突破的系统化趋势跟踪。Dennis 通过训练"海龟交易者"证明了交易是可以被教授的。

核心哲学

海龟系统(根据Schwager + 公开资料重构)

入场规则:

系统 信号 详情
系统1(短期) 20日突破 当价格超过过去20日的最高价时买入
系统2(长期) 55日突破 当价格超过过去55日的最高价时买入

出场规则:

系统 信号 详情
系统1 10日低点突破 当价格跌破过去10日的最低价时卖出
系统2 20日低点突破 当价格跌破过去20日的最低价时卖出

仓位管理(基于N):

N = 真实波幅(ATR)的20日指数移动平均

单位大小 = (账户权益的1%) / (N * 每点美元)

每市场最大单位数:     4
每方向最大单位数:  12(跨相关市场)
最大总单位数:          24

金字塔加仓:

每向有利方向移动0.5 * N就添加1个单位:
  入场:          价格 = 突破水平
  添加单位2:     价格 = 入场 + 0.5N
  添加单位3:     价格 = 入场 + 1.0N
  添加单位4:     价格 = 入场 + 1.5N

每个单位的止损: 入场价格下方2N

过滤器:

Dennis 的行为规则

  1. 永远不要错过信号。 你跳过的那个往往是大赢家。
  2. 用概率思维,而不是单笔交易。
  3. 不要让近期表现改变你的系统。 回撤是正常的。

3.3 Larry Hite

风格: 跨多元化期货市场的纯系统化趋势跟踪。共同创立 Mint Investment Management,是最早的大型管理期货公司之一。

核心哲学

可实施规则

规则 规格
每笔交易最大风险 账户总权益的1%——绝对最大值
趋势信号 移动平均线交叉(确切参数是专有的,可能是40/100或类似)
市场选择 交易所有流动性期货市场;不要预测哪些会形成趋势
多元化 分散于商品、外汇、利率、指数等40+市场
止损 始终在入场时设置;大小由1%风险规则决定
相关性过滤器 减少高度相关市场的仓位以避免集中
最大组合热度 所有仓位的总开放风险有上限(隐含约10-15%权益)

Hite 的系统框架

对于每个市场:
  trend_direction = sign(fast_MA - slow_MA)

  如果趋势方向从负变为正:
    信号 = 做多
  如果趋势方向从正变为负:
    信号 = 做空

  stop_distance = max(基于ATR的止损, minimum_tick_distance)
  risk_per_unit = stop_distance * dollars_per_point
  max_risk_dollars = account_equity * 0.01
  position_size = floor(max_risk_dollars / risk_per_unit)

  如果 position_size >= 1:
    以止损入场
  否则:
    跳过(市场对当前账户规模波动太大)

关键Hite洞察:必然被错

Hite 强调任何单笔交易本质上都是一次硬币翻转,只有轻微优势。1%规则确保即使连续20次亏损(这最终会发生)也只损失20%的权益——痛苦但可存活。


4. 自主性技术交易

4.1 Marty Schwartz

风格: 标普500期货和股票的短期技术交易。九届美国交易锦标赛冠军。

核心哲学

可实施规则

规则 规格
牛/熊过滤器 价格高于10日EMA = 看涨;低于 = 看跌
时机 MACD交叉用于趋势内的入场时机
亏损限制 每日亏损限制;触及则停止交易
会话追踪 每天在电子表格中追踪盈亏
规模管理 盈利期间增加规模;亏损期间减少
避免财报 在重大新闻/财报前减少或消除仓位

Schwartz 的10日EMA系统

参数:
  ema_period = 10
  macd_fast  = 12
  macd_slow  = 26
  macd_sig   = 9

每日:
  ema_10 = EMA(收盘, 10)
  macd_line = EMA(收盘, 12) - EMA(收盘, 26)
  signal_line = EMA(macd_line, 9)
  macd_histogram = macd_line - signal_line

趋势过滤器:
  如果收盘 > ema_10: regime = 看涨
  如果收盘 < ema_10: regime = 看跌

入场(做多):
  如果 regime == 看涨
  且 macd_histogram 从负上穿至正
  则买入

入场(做空):
  如果 regime == 看跌
  且 macd_histogram 从正下穿至负
  则卖空

出场:
  如果regime翻转(价格穿越EMA)则出场
  或者如果触及每日亏损限制则平所有仓位

每日盈亏纪律:
  record(日期, 总盈亏, 净盈亏, 交易数, 最大亏损)
  如果 daily_loss > max_daily_loss_limit:
    当天停止交易
  如果 weekly_loss > max_weekly_loss_limit:
    下周仓位减半

关键Schwartz洞察:转变

Schwartz 用基本面分析亏损了九年。转为技术分析和严格风险管理后几乎立即开始盈利。教训:方法必须与交易者个性匹配。

4.2 Mark Weinstein

风格: 极短期自主性交易,胜率异常高。交易股票、期货和期权。

核心哲学

可实施规则

规则 规格
准备 开盘前2-4小时图表分析;无准备不交易
超买/超卖 使用随机指标和RSI识别极端读数
反向极端交易 在上升趋势中买入超卖;在下降趋势中卖出超买
风险管理 极紧的止损;如果交易没有立即按预期发展立即出场
信念规模 只有当多个指标一致时才增加规模
不强制 如果没有明确的设置,不要交易

Weinstein 的准备清单

盘前(开盘前2-4小时):
  1. 审查所有仓位——原因仍然有效吗?
  2. 扫描处于随机/RSI极端水平的股票
  3. 检查板块轮动模式
  4. 在日线和周线上识别支撑/阻力位
  5. 注意关键新闻、财报、经济发布
  6. 确定:今天我精神敏锐吗?
     如果不:不要交易或大幅减少规模

盘中:
  7. 仅在设置匹配盘前计划时入场
  8. 入场时立即设置止损
  9. 如果交易未在预期时间内朝有利方向移动:
     出场——"时间止损"

关键Weinstein洞察:时间止损

如果交易没有几乎立即开始盈利,说明出了问题。Weinstein 会退出那些根本没有动静的仓位,即使他的止损没有被触及。这种"时间止损"是最被低估的风险管理工具之一。

4.3 Paul Tudor Jones

风格: 宏观自主性,高度依赖技术分析用于时机。 以预判1987年崩盘著称。

核心哲学

可实施规则

规则 规格
200日均线规则 如果价格在200日均线下方,偏空或中性;如果上方,做多或中性
回报:风险最低 永远不接受低于2:1回报风险比的交易
理想R:R 寻找5:1的设置;这些是成就职业生涯的交易
永不摊平 "亏损者加仓"——如果亏损,减少,永不加仓
月度重置 如果月度亏损超过几个百分点,减少规模或停止交易
艾略特波浪 使用艾略特波浪分析作为输入之一(非唯一驱动)
历史类比 将当前价格模式与历史先例进行比较

Jones 的决策框架

宏观视图:
  1. 确定宏观趋势:扩张、收缩、拐点
  2. 识别当前体制中受益的资产类别
  3. 寻找极端共识(需反向交易的拥挤交易)

技术时机:
  4. 价格在200日均线上方还是下方?
     上方 → 寻找做多或保持中性
     下方 → 寻找做空或保持中性

  5. 识别具体入场:
     - 支撑/阻力位
     - 艾略特波浪计数
     - 历史价格类比
     - 情绪极端

  6. 计算回报:风险:
     回报 = 到目标的距离
     风险 = 到止损的距离
     比率 = 回报 / 风险
     如果比率 < 2.0:跳过——不做这笔交易
     如果比率 >= 5.0:最大规模

仓位管理:
  7. 如果仓位朝不利方向移动:
     减少——永远不要加仓亏损者
  8. 如果仓位朝有利方向移动:
     可以加仓(金字塔)但先将止损移至盈亏平衡点
  9. 如果月度盈亏 < -3%:
     在信心恢复前将所有仓位减半

关键Jones洞察:防守赢得冠军

Jones 的主要焦点是防守。他花在思考可能出错上的时间远多于思考什么会成功。仅他的200日均线规则就可以让交易者避开20世纪每一次重大熊市。


5. 基本面/宏观交易

5.1 Jim Rogers

风格: 长期基本面/宏观投资。与乔治·索罗斯共同创立量子基金。

核心哲学

可实施规则

规则 规格
独立研究 永远不依赖华尔街研究;做你自己的分析
耐心 等待正确的设置可能需要数月或数年;同时什么都不做
好球 只有当机会如此明显以至于像"捡钱"时才交易
逆向 当市场处于多年低点且人人看跌时买入
卖出恐慌 当市场处于狂热泡沫时,寻找做空机会
了解基本面 深入理解供需、资产负债表、宏观周期
长期持有期 如果基本面论点成立,持有数年

Rogers 的研究框架

机会识别:
  1. 扫描处于多年或历史低点的市场
  2. 寻找负面共识:"每个人都知道"这是一笔糟糕的投资
  3. 检查:负面共识是否已经被定价?

基本面深入:
  4. 研究供需基本面:
     - 供应:生产是否在削减?供应商是否破产?
     - 需求:需求有底部吗?需求在增长吗?
  5. 研究政府政策:法规、补贴、贸易壁垒
  6. 尽可能亲自访问国家/行业
  7. 阅读一切:年报、行业期刊、政府数据

入场:
  8. 等待催化剂或基本面拐点的早期迹象
  9. 逐渐入场——在数周或数月内建立仓位
  10. 没有紧迫感——大波动需要数年

出场:
  11. 当基本面论点被打破时(供应响应,需求下降)
  12. 当乐观取代绝望——"每个人都知道"这是一笔伟大投资时
  13. 当出租车司机给你市场提示时

5.2 Michael Steinhardt

风格: 以"变异感知"为中心的基本面股票交易。二十年来年化收益30%以上。

核心哲学

可实施规则

规则 规格
变异感知 识别你的知情观点与共识实质上不同的情形
催化剂识别 确定什么事件会导致市场重新定价该资产
时间范围 中期:数周至数月,不是分钟或数十年
信念规模 规模与信念程度成比例;最高信念的想法最大仓位
灵活性 如果论点错误,立即出场——对仓位没有忠诚
信息优势 与管理层、竞争对手、供应商、客户交谈

Steinhardt 的变异感知框架

第1步:识别共识
  - 市场对该股票/板块/宏观主题相信什么?
  - 分析师说什么?当前估值中定价了什么?

第2步:发展变异观点
  - 通过独立研究,你是否看到了市场遗漏的东西?
  - 是否有尚未被认可的基本面变化?
  - 示例:市场认为收益会下降。你相信新产品将导致收益加速。这是变异感知。

第3步:验证
  - 你的变异观点是基于更好的信息还是更好的分析?
  - 你可能错吗?什么会证伪你的论点?
  - 计算期望值:
    EV = (正确概率 * 上涨) - (错误概率 * 下跌)
    如果EV不是强烈正向:跳过

第4步:识别催化剂
  - 什么具体事件会导致市场重新定价?
  - 财报?FDA批准?管理层变动?宏观数据?
  - 使催化剂在你的持有期内发生

第5步:规模与入场
  - 最高信念 = 最大仓位(高达组合的10-15%)
  - 中等信念 = 中等仓位(3-5%)
  - 低信念但正向EV = 小仓位(1-2%)

第6步:监控与出场
  - 如果催化剂发生且市场重新定价:获利了结
  - 如果论点被证伪:立即出场,无论亏损
  - 如果催化剂延迟但论点完整:持有但减少规模

5.3 Bruce Kovner

风格: 跨货币、商品和利率的全球宏观交易。创立 Caxton Associates。

核心哲学

可实施规则

规则 规格
入场前止损 入场前确定止损点;如果无法定义,不要交易
每笔交易风险 权益最大1-2%
基于波动率的规模 根据市场波动率反调仓位大小
基本面+技术 用基本面确定方向;用技术面把握入场和出场时机
宏观框架 理解利率、货币政策、贸易流、政治风险
困惑时减少 如果你不理解市场为何移动,立即减少仓位
心理意识 了解你的情绪状态;压力大或疲惫时不要交易

Kovner 的交易构建流程

1. 宏观论点:
   "基于货币政策分歧,美元在未来3-6个月应该对日元走弱"

2. 技术确认:
   - 美元/日元低于关键移动均线吗?
   - 价格是否在创造更低的高点和更低的低点?
   - 是否在支撑下方突破?
   如果技术面与基本面矛盾:等待

3. 风险定义:
   stop_level = 当前价格上方最近的技術阻力
   risk_per_unit = abs(入场价格 - stop_level)
   max_risk = account_equity * 0.015 (1.5%)
   position_size = max_risk / risk_per_unit

4. 入场:
   在技术触发时入场(跌破支撑、失败反弹等)
   立即设置止损

5. 管理:
   - 如果交易有效:用技术位追踪止损
   - 如果宏观论点变化:无论盈亏出场
   - 如果对价格走势感到困惑:立即减少

6. 给赢家加仓:
   - 仅在交易盈利时加仓
   - 加仓前将止损移至盈亏平衡
   - 每次加仓小于初始仓位

关键Kovner洞察:仓位管理就是一切

"新手交易者交易规模太大。他们在单笔交易上冒5-10%的风险,然后一笔坏交易就把他们踢出局。关键是保持风险足够小,以便能够度过漫长的连亏期。你必须能够明天再来。"


6. 风险管理规则

这是整本书的 #1主题。每位交易者,无论风格,都强调风险管理高于一切。

6.1 通用风险规则

规则 谁说 实施方法
始终使用止损 Kovner, Hite, Dennis, Seykota, Jones 入场时设置止损单;无例外
入场前定义风险 Kovner, Jones, Hite 下单前计算确切的美元风险
每笔交易最大风险1-2% Hite (1%), Kovner (1-2%), Dennis (可变) 风险 = 账户权益 * 0.010.02
永不摊平 Jones, Dennis, Kovner, Marcus 如果交易亏损,要么持有要么减少——永远不加仓
回撤期间减少 Jones, Schwartz, Marcus 亏损月份后仓位减半
限制相关风险 Dennis (海龟), Hite 不要以全额规模在相关市场持有多个仓位
保留资本 所有交易者 资本是原材料;没有它你无法交易
每日/每周亏损限制 Schwartz 触及预设亏损限制时停止交易
快速砍仓 Weinstein, Schwartz, Seykota 如果交易不有效,快速出场——不要等待止损

6.2 风险层级(来自本书隐含框架)

层级1:每笔交易风险
  任何单笔交易的最大亏损 = 权益的1-2%

层级2:每板块风险
  相关仓位的最大敞口 = 权益的4-6%

层级3:组合热度
  所有仓位的最大总开放风险 = 权益的10-20%

层级4:回撤熔断机制
  如果账户从峰值回撤10%:
    所有仓位减少50%
  如果账户从峰值回撤20%:
    停止交易;审查一切

层级5:月度重置
  如果月度亏损 > 5%:
    休息或以最小规模交易
    审查日志并识别哪里出了问题

6.3 毁灭的数学

为什么1%规则重要——毁灭概率计算:

每笔交易风险 胜率 毁灭概率(50笔交易)
1% 40% ~0%
2% 40% ~2%
5% 40% ~25%
10% 40% ~60%
25% 40% ~95%

巫师们一致同意:生存第一,盈利第二。每笔交易冒1%风险的交易者几乎可以承受任何连败。 每笔交易冒10%风险的交易者离毁灭只有一周的时间。


7. 仓位管理原则

7.1 巫师使用的各种方法

方法 使用者 公式
固定比例 Hite, Kovner size = (权益 * risk_pct) / (入场 - 止损)
基于波动率(ATR) Dennis/海龟, Seykota size = (权益 * risk_pct) / (ATR * 乘数 * 点值)
基于信念 Steinhardt, Jones 基础规模 * 信念乘数(1x至5x)
凯利公式(隐含) Seykota f* = (bp - q) / b 其中b=赔率,p=赢概率,q=输概率
亏损减少 Jones, Schwartz 亏损月份后减少规模25-50%

7.2 复合仓位管理算法

输入:
  account_equity  = 当前账户值
  entry_price     = 计划入场价格
  stop_price      = 计划止损价格
  base_risk_pct   = 0.01(默认1%)
  conviction       = 1.0至3.0(主观置信水平)
  recent_perf     = 滚动20笔交易的盈亏占权益百分比
  correlation_adj = 0.5至1.0(如果存在相关仓位则减少)

计算:
  risk_per_unit = abs(entry_price - stop_price) * dollars_per_point

  # 来自固定比例方法的基础规模
  base_size = (account_equity * base_risk_pct) / risk_per_unit

  # 信念调整(Steinhardt/Jones方法)
  conviction_size = base_size * min(conviction, 3.0)

  # 表现调整(Jones/Schwartz方法)
  如果 recent_perf < -5%:
    perf_multiplier = 0.50
  否则如果 recent_perf < -2%:
    perf_multiplier = 0.75
  否则:
    perf_multiplier = 1.00

  # 相关性调整(Dennis/Hite方法)
  adjusted_size = conviction_size * perf_multiplier * correlation_adj

  # 最终规模(向下取整到整单位)
  final_size = floor(adjusted_size)

  # 合理性检查:每笔交易实际风险永不超过2%
  actual_risk = final_size * risk_per_unit
  如果 actual_risk > account_equity * 0.02:
    final_size = floor((account_equity * 0.02) / risk_per_unit)

8. 市场心理学与行为规则

8.1 来自巫师们的心理原则

原则 来源 解释
恐惧比贪婪更有用 Jones, Weinstein 恐惧让你保持防御;贪婪让你鲁莽
自我是敌人 Schwartz, Kovner, Seykota 需要"正确"导致你持有亏损者
亏损是胜利的一部分 Dennis, Hite, Seykota 接受50-60%的交易会亏损;这是正常的
报复交易是致命的 Schwartz, Marcus 亏损后"挽回损失"的冲动导致灾难
无聊会杀死你 Weinstein, Rogers 当没有设置时强制交易导致亏损
信心来自准备 Weinstein, Jones 充分的准备产生良好执行所需的冷静
了解自己 Seykota, Kovner 你的交易系统必须与你的个性匹配

8.2 Seykota 的心理学框架

Ed Seykota 对交易心理学最为明确。他的框架:

1. 每个人从市场得到他们想要的
   - 如果你不断亏损,你内心的某部分想要亏损的戏剧性
   - 盈利的交易是无聊的;许多交易者暗中渴望刺激

2. 无论输赢,每个人都从市场得到他们想要的
   - 一些交易者为刺激而交易,不是为了盈利
   - 将你的有意识目标与你的无意识动机对齐

3. 市场是一个昂贵的寻找刺激的地方
   - 如果你想要刺激,去电影院
   - 如果你想要盈利,机械地遵循你的系统

4. 想要"正确"的感觉是#1账户杀手
   - 能够以60%的错误率仍然赚钱的交易者
     比以80%的正确率但持有亏损者的交易者要好得多

8.3 每日心理检查清单(综合所有巫师)

交易前:
  [ ] 我休息充分、精神敏锐吗?(Weinstein)
  [ ] 我做了准备/功课吗?(Weinstein, Jones)
  [ ] 我是在交易我的计划还是我的情绪?(Seykota)
  [ ] 我是在试图"挽回"昨天的亏损吗?(Schwartz)
     如果是 → 减少规模或不要交易

交易中:
  [ ] 这笔交易在我的计划中吗?还是我在强制它?(Rogers)
  [ ] 我在加仓亏损者吗?停止。(Jones)
  [ ] 我因恐惧而过早砍掉赢家吗?(Seykota, Dennis)
  [ ] 我触及每日亏损限制了吗?如果是 → 停止交易(Schwartz)

交易后:
  [ ] 记录所有交易、盈亏和情绪状态(Schwartz)
  [ ] 审查:我遵循我的规则了吗?(所有巫师)
  [ ] 如果我违反了一条规则,为什么?解决根本原因(Seykota)

9. 入场规则综合

9.1 跨交易者常见入场模式

入场类型 使用者 设置
突破 Dennis, Seykota, O'Neil, Ryan 价格在增加成交量下突破N日高点
移动平均线交叉 Seykota, Hite, Schwartz 快线穿越慢线上方
价格在200日均线上方 Jones, Schwartz(10日) 仅在关键均线上方时做多;下方做空
回踩上升趋势中的支撑 Weinstein, Jones 在清晰上升趋势中的支撑位买入
极端情绪 Rogers, Jones, Kovner 当看跌共识极端时买入
变异感知 Steinhardt 当你的知情观点与市场共识不同时入场
基本面催化剂 Steinhardt, Rogers 在可识别的重新定价事件前入场
超买/超卖 Weinstein 在趋势内使用极端随机/RSI进行反向交易

9.2 通用入场检查清单

任何入场前,每个巫师隐含或明确确认:

1. 趋势:总体趋势有利于我吗?(或者我有明确理由反向吗?)
2. 风险:我定义了止损并计算了仓位大小吗?
3. 回报:风险:R:R至少是2:1吗?(Jones:最好5:1)
4. 催化剂:什么会使这个移动?基于时间还是事件?
5. 时机:入场信号确认了吗?(不要抢跑信号)
6. 规模:我的仓位大小与我的信念和账户匹配吗?
7. 相关性:我是否通过其他仓位已经暴露于相同风险?

如果任何答案不满意 → 不要入场

9.3 复合趋势跟踪入场

参数:
  breakout_period  = 20(Dennis系统1)或55(系统2)
  trend_ma         = 200(Jones)或150(Seykota)
  fast_ema         = 10(Schwartz)
  atr_period       = 20

做多入场信号:
  condition_1 = 收盘 > SMA(收盘, trend_ma)         # 长期上升趋势
  condition_2 = 收盘 > highest(最高, breakout_period) # 突破
  condition_3 = 收盘 > EMA(收盘, fast_ema)          # 短期看涨
  condition_4 = 成交量 > SMA(成交量, 20) * 1.5        # 成交量确认

  如果 condition_1 且 condition_2 且 (condition_3 或 condition_4):
    入场做多

做空入场信号:
  condition_1 = 收盘 < SMA(收盘, trend_ma)
  condition_2 = 收盘 < lowest(最低, breakout_period)
  condition_3 = 收盘 < EMA(收盘, fast_ema)

  如果 condition_1 且 condition_2 且 condition_3:
    入场做空

10. 出场规则综合

10.1 常见出场策略

出场类型 使用者 实施方法
硬止损 所有交易者 固定价格水平或基于ATR;入场时设置
追踪止损 Seykota, Dennis, Hite 朝交易者有利方向移动;永不反向
时间止损 Weinstein 如果在预期时间内没有移动,出场
目标出场 Jones(部分) 在预定回报水平部分获利了结
体制改变 Jones(200日均线), Schwartz(10日EMA) 主要趋势指标翻转时出场
论点失效 Steinhardt, Kovner, Rogers 交易理由不再存在时出场
每日亏损限制 Schwartz 如果触及每日亏损限制则平所有仓位
困惑出场 Kovner 如果无法解释市场为何移动则减少或出场

10.2 复合出场系统

对于每个持仓仓位:

  # 止损(硬底——不可协商)
  如果 current_price <= stop_price:
    以市价立即出场
    原因:"止损触发"

  # 追踪止损(保护利润)
  如果仓位盈利:
    new_trail = 进场后最高收盘价 - (2.5 * ATR)
    trail_stop = max(trail_stop, new_trail)   # 只上调
    如果 current_price <= trail_stop:
      出场
      原因:"追踪止损触发"

  # 时间止损(Weinstein原则)
  如果 days_in_trade > max_expected_holding_period:
    且 unrealized_pnl 约为零:
      出场
      原因:"时间止损——交易未生效"

  # 体制改变(Jones/Schwartz原则)
  如果收盘跌破200日均线(做多):
    平所有多仓
    原因:"体制改变——牛市趋势结束"

  # 论点失效(Steinhardt/Kovner)
  如果交易的基本理由改变了:
    无论盈亏出场
    原因:"论点不再有效"

  # 困惑出场(Kovner)
  如果市场行为方式你无法解释:
    减少仓位50%
    原因:"减少——无法解释价格走势"

  # 每日亏损限制(Schwartz)
  如果 total_daily_pnl < daily_loss_limit:
    平所有仓位
    原因:"每日亏损限制达到——当天结束"

11. 巫师们识别的常见错误

11.1 交易的致命罪

# 错误 谁警告 后果
1 亏损时加仓 Jones, Dennis, Kovner "亏损者加仓"——把小额亏损变成灾难
2 交易规模太大 Kovner, Hite, Dennis 一笔坏交易摧毁账户
3 没有止损 所有交易者 无限下行;希望取代纪律
4 交易为了正确 Seykota, Schwartz 自我阻止砍仓
5 报复交易 Schwartz, Marcus 亏损后的情绪化交易;加倍损害
6 过度交易 Rogers, Weinstein 为行动而交易,不是为优势;佣金拖累
7 忽视风险管理 所有交易者 关注入场而忽视出场计划
8 逆势 Seykota, Dennis, Jones 试图摸顶抄底
9 不做功课 Weinstein, Rogers, Steinhardt 基于提示或感觉入场交易
10 让赢家变输家 Seykota, Dennis 未能追踪止损;回吐所有收益
11 跟随人群 Rogers, Steinhardt 因为"每个人都在做"而在顶部买入
12 系统与个性不匹配 Seykota, Schwartz 使用不适合自己性格的风格
13 回撤期间改变系统 Dennis, Hite 在正常连败期间放弃有效系统
14 ** impairment 时交易** Weinstein, Marcus 疲劳、压力、疾病都会损害判断

11.2 Michael Marcus 避免毁灭的三条规则

1. 永远不要将超过5%的资本 committed 到任何单笔交易
2. 永远要知道你在进入之前在哪里退出
3. 如果你处于连败中,减少规模——不要增加它

12. 实施伪代码

12.1 复合"市场巫师"交易系统

这是一个综合所有访谈中最常见、可实施的规则的合成系统。这是一个 带自主性叠加的趋势跟踪系统

# ===================================================================
# 市场巫师复合系统
# 综合自:Seykota, Dennis, Jones, Hite, Kovner, Schwartz
# ===================================================================

class MarketWizardSystem:

    # ----- 参数 -----
    RISK_PER_TRADE      = 0.01     # 权益的1%(Hite规则)
    MAX_PORTFOLIO_HEAT   = 0.15     # 15%总开放风险
    MAX_CORRELATED_RISK  = 0.04     # 相关仓位4%
    REWARD_RISK_MINIMUM  = 2.0      # Jones规则:最低2:1
    ATR_PERIOD           = 20
    TREND_MA             = 200      # Jones:200日均线
    FAST_EMA             = 10       # Schwartz:10日EMA
    BREAKOUT_PERIOD      = 55       # Dennis系统2
    TRAILING_ATR_MULT    = 3.0      # Seykota风格追踪止损
    MAX_DAILY_LOSS       = 0.02    # 2%每日亏损限制(Schwartz)
    DRAWDOWN_REDUCE      = 0.10     # 10%回撤后减少规模

    def __init__(self, initial_equity):
        self.equity = initial_equity
        self.peak_equity = initial_equity
        self.positions = {}
        self.daily_pnl = 0
        self.trade_log = []

    # ----- 每日例行 -----
    def daily_update(self, date, market_data):
        self.daily_pnl = 0

        # 1. 检查熔断机制
        if self.check_circuit_breakers():
            return  # 今天不交易

        # 2. 管理现有仓位
        for symbol in list(self.positions.keys()):
            self.manage_position(symbol, market_data[symbol])

        # 3. 扫描新入场
        for symbol in self.universe:
            if symbol not in self.positions:
                self.evaluate_entry(symbol, market_data[symbol])

        # 4. 记录每日结果
        self.log_daily(date)

    # ----- 熔断机制 -----
    def check_circuit_breakers(self):
        drawdown = (self.peak_equity - self.equity) / self.peak_equity

        # Schwartz规则:每日亏损限制
        if self.daily_pnl <= -(self.equity * self.MAX_DAILY_LOSS):
            self.close_all_positions("每日亏损限制触发")
            return True

        # Jones规则:回撤期间减少
        if drawdown > self.DRAWDOWN_REDUCE:
            self.size_multiplier = 0.50
        elif drawdown > 0.05:
            self.size_multiplier = 0.75
        else:
            self.size_multiplier = 1.00

        return False

    # ----- 入场评估 -----
    def evaluate_entry(self, symbol, data):
        close = data['close']
        ma_200 = SMA(data['close_series'], self.TREND_MA)
        ema_10 = EMA(data['close_series'], self.FAST_EMA)
        highest_55 = max(data['high_series'][-self.BREAKOUT_PERIOD:])
        atr = ATR(data, self.ATR_PERIOD)

        # Jones过滤器:做多必须在200日均线上方
        if close < ma_200:
            return

        # 突破条件(Dennis)
        if close <= highest_55:
            return

        # 短期确认(Schwartz)
        if close < ema_10:
            return

        # 计算止损和回报:风险(Jones)
        stop_price = close - (2.0 * atr)
        target_price = close + (3.0 * (close - stop_price))
        reward_risk = (target_price - close) / (close - stop_price)

        if reward_risk < self.REWARD_RISK_MINIMUM:
            return

        # 仓位管理(Hite/Kovner)
        risk_per_unit = close - stop_price
        risk_dollars = self.equity * self.RISK_PER_TRADE
        raw_size = risk_dollars / risk_per_unit

        # 应用回撤乘数(Jones)
        adjusted_size = int(raw_size * self.size_multiplier)

        # 检查组合热度(Hite/Dennis)
        current_heat = self.calculate_portfolio_heat()
        trade_heat = (adjusted_size * risk_per_unit) / self.equity
        if current_heat + trade_heat > self.MAX_PORTFOLIO_HEAT:
            return

        # 入场交易
        self.enter_trade(symbol, 'LONG', close, stop_price,
                         target_price, adjusted_size)

    # ----- 仓位管理 -----
    def manage_position(self, symbol, data):
        pos = self.positions[symbol]
        close = data['close']
        atr = ATR(data, self.ATR_PERIOD)
        ma_200 = SMA(data['close_series'], self.TREND_MA)

        # 硬止损(不可协商)
        if close <= pos['stop']:
            self.exit_trade(symbol, close, "止损触发")
            return

        # 体制改变出场(Jones:价格在200日均线下方)
        if close < ma_200:
            self.exit_trade(symbol, close, "体制改变:低于200日均线")
            return

        # 追踪止损(Seykota)
        if close > pos['highest_close']:
            pos['highest_close'] = close
        new_trail = pos['highest_close'] - (self.TRAILING_ATR_MULT * atr)
        pos['trail_stop'] = max(pos.get('trail_stop', 0), new_trail)

        if close <= pos['trail_stop']:
            self.exit_trade(symbol, close, "追踪止损触发")
            return

        # 金字塔加仓(Dennis:按0.5 ATR移动加仓)
        if (close >= pos['next_pyramid_level']
                and pos['units_added'] < 3):
            self.add_to_position(symbol, data)

    # ----- 辅助方法 -----
    def enter_trade(self, symbol, direction, price, stop,
                    target, size):
        self.positions[symbol] = {
            'direction': direction,
            'entry_price': price,
            'stop': stop,
            'target': target,
            'size': size,
            'highest_close': price,
            'trail_stop': stop,
            'units_added': 0,
            'next_pyramid_level': price + (0.5 * (price - stop)),
        }
        self.trade_log.append({
            'action': 'ENTER',
            'symbol': symbol,
            'price': price,
            'size': size,
            'stop': stop,
        })

    def exit_trade(self, symbol, price, reason):
        pos = self.positions.pop(symbol)
        pnl = (price - pos['entry_price']) * pos['size']
        self.daily_pnl += pnl
        self.equity += pnl
        self.peak_equity = max(self.peak_equity, self.equity)
        self.trade_log.append({
            'action': 'EXIT',
            'symbol': symbol,
            'price': price,
            'reason': reason,
            'pnl': pnl,
        })

    def calculate_portfolio_heat(self):
        total_risk = 0
        for symbol, pos in self.positions.items():
            unit_risk = abs(pos['entry_price'] - pos['stop'])
            total_risk += unit_risk * pos['size']
        return total_risk / self.equity

12.2 每日工作流程伪代码

每个交易日:

  06:00 - 准备(Weinstein)
    审查隔夜市场和市场新闻
    用技术位更新观察列表
    检查:"今天我适合交易吗?"

  09:00 - 盘前
    计算组合热度
    从观察列表识别潜在入场
    在突破位设置警报

  09:30 - 开盘
    检查跳空——如需要调整止损
    不要追涨跳空;等待确认

  09:30-16:00 - 活跃交易时段
    监控仓位与止损位
    仅在信号触发时执行入场
    追踪运行每日盈亏
    如果每日盈亏 < -2%:停止交易

  16:00 - 收盘
    记录所有交易和每日盈亏(Schwartz)
    为次日更新追踪止损
    审查:"我遵循我的规则了吗?"

  20:00 - 晚间审查
    扫描次日潜在设置
    审查宏观格局(Kovner, Rogers)
    阅读和研究(Rogers)

13. 每位交易者的关键语录

Michael Marcus

"每位交易者都有优点和缺点。有些人是优秀的价格持有者,但可能持有亏损者时间稍长。另一些可能稍早砍仓但也往往较快退出盈利者。只要你坚持自己的风格,你会在自己的方法中得到好的和坏的。"

Bruce Kovner

"Michael Marcus 教给我一件极其重要的事情。他教给我,你可以赚一百万美元。他向我展示,如果你全力以赴,伟大的事情就会发生。人们很容易忽略你真的可以做到这一点。"

"每当我进入一个仓位,我都有一个预设的止损。这是我唯一能睡得着的方式。我知道我在进入之前会在哪里出来。"

Richard Dennis

"我总是说,即使我把交易规则登在报纸上,也没有人会遵守。关键是一致性和纪律。"

"当你有一个破坏稳定的亏损时,退出,回家,小睡一会儿,做点什么,但把交易抛在身后。"

Paul Tudor Jones

"不要做英雄。不要有自我。始终质疑自己和你的能力。不要觉得自己很了不起。一旦你觉得自己很了不起,你就完了。"

"亏损者加仓。"

"交易最重要的规则是打出色的防守,而不是出色的进攻。"

Ed Seykota

"良好交易的要素是:(1)砍仓,(2)砍仓,(3)砍仓。如果你遵循这三条规则,你可能有机会。"

"无论输赢,每个人都从市场得到他们想要的。有些人似乎喜欢亏损,所以他们通过赔钱来赢。"

"趋势是你的朋友,除了在末尾它转弯的地方。"

Larry Hite

"在我的金融生涯中,我不断目睹我所认识的其他人因未能尊重风险而毁灭的例子。如果你不对风险产生浓厚兴趣,风险就会对你产生浓厚兴趣。"

"我在交易和生活中获胜有两个基本规则:(1)如果你不下注,你就不会赢。(2)如果你输光了所有筹码,你就不能下注。"

Marty Schwartz

"我总是嘲笑那些说'我从未见过富有的技术人员'的人。我喜欢这个说法!这是一种傲慢、毫无意义的回应。我用基本面分析了九年,但作为一个技术人员致富了。"

"学会接受亏损。在赚钱方面最重要的事情是不要让你的亏损失控。"

Michael Steinhardt

"这些年来最难的事情是有勇气逆当时的主导智慧而行,有一个与当前共识不同的观点并赌这个观点。"

"我把变异感知定义为拥有一个与市场共识有实质不同的深思熟虑的观点。"

Jim Rogers

"我只是等待钱躺在角落里,我所要做的就是走过去捡起来。我同时什么都不做。"

"任何人可以学到的关于投资的最好规则之一是,什么都不做,绝对什么都不做,除非有什么事情要做。"

Mark Weinstein

"我总是快速接受亏损。这可能是我成功的关键。你总是可以重新建仓,但如果你离场,你可以更客观地看待事情。"

"如果你对所做的事情没有信心,什么都不做。除非我觉得胜算强烈有利于我,否则我不交易。"


14. 附录:交易者快速参考

14.1 汇总表

交易者 风格 市场 关键规则 最大教训 风险方法
Michael Marcus 自主性趋势 商品/期货 持有赢家,早期砍亏损者 自信至关重要;导师很重要 回撤中减少规模
Bruce Kovner 宏观+技术 外汇/期货/利率 入场前定义止损;始终 风险管理是第一;交易小仓位 每笔交易1-2%风险;波动率调整
Richard Dennis 系统化趋势 期货 遵循系统——每个信号 纪律就是一切;交易可以被教授 基于N(ATR)的规模;每市场最多4个单位
Paul Tudor Jones 自主性宏观 期货/宏观 200日均线过滤器;永不加仓 防守赢;亏损者加仓 最小2:1 R:R;回撤中减少
Gary Bielfeldt 自主性 国债 仅逐渐增加规模 规模增加的耐心;不要过早杠杆 保守规模;随时间建立
Ed Seykota 系统化趋势 商品 砍仓,砍仓,砍仓 心理学占游戏的60% 小百分比风险;让赢家奔跑
Michael Steinhardt 基本面+变异感知 股票 变异感知;催化剂;灵活性 基本面+估值+催化剂 基于信念的规模;快速认错
William O'Neil CAN SLIM 股票 买入强势,卖出弱势;止损 遵循CAN SLIM规则 7-8%止损;适时止损
David Ryan CAN SLIM/动量 股票 突破新高;均线确定趋势 纪律和一致性 趋势跟踪;紧止损
Marty Schwartz 技术/短期 标普期货/股票 10日EMA;每日损失限制 把交易当生意 2%每日限制;亏损期间减少
Jim Rogers 商品/全球宏观 基本面 自己做研究;逆势 耐心是美德;逆向思维 长期持有;很少交易
Mark Weinstein 自主性技术 股票/期权/期货 准备;时间止损;紧止损 准备创造优势 紧止损;高胜率
Brian Gelber 场内交易 国债期货 场内价格发现;即时反应 流动性和时机至关重要 严格止损;日内平仓
Tom Baldwin 场内交易/剥头皮 国债期货 交易最大规模;日内为主 规模放大一切 日内为主;严格风险控制
Tony Saliba 期权做市 期权 做市商心态;波动率交易 期权不是方向性赌注 严格的波动率止损;delta中性

本规范综合自 Jack D. Schwager, Market Wizards: Interviews with Top Traders。