基于 Martin "Buzzy" Schwartz(马丁·施瓦茨),Pit Bull: Lessons from Wall Street's Champion Day Trader(1998) 中文书名:交易冠军
施瓦茨多次赢得美国投资锦标赛冠军,某些年份回报率超过200%。本书涵盖了他从证券分析师转型为全职交易员的历程、核心工具(10周期EMA、MACD、市场内部指标)以及使他成为冠军的心理和风险管理经验。
Martin "Buzzy" Schwartz(马丁·"巴兹"·施瓦茨)是华尔街历史上最成功的日内交易者之一。他的成就包括:
大多数日内交易者会失败。施瓦茨成功的原因:
"我一直是一个竞争者。我交易是为了赢。不是为了输。不是为了保本。是为了赢。"
"我终于明白了,基本面已经反映在价格中了。我不需要分析资产负债表或与管理层交谈。我只需要看盘。"
这并不是说基本面不重要——但对于在小时和日线级别操作的日内交易者来说,价格行为是唯一重要的信号。基本面分析对于持有多年期限的投资者有价值,但对短期交易者来说反而是障碍,因为它会产生锚定偏差。
分析师思维(失败的方式):
- "这只股票在30美元被低估了。它应该值50美元。"
- 结果:30美元买入,跌到20美元时持有不动,逐步加仓摊低成本。
- 基本面分析在价值判断上正确,但在时机把握上错误。
交易员思维(有效的方式):
- "10-EMA正在上升,价格在其上方。趋势向上。"
- 结果:信号出现时买入,趋势失败时止损出局,下一个信号出现时重新入场。
- 技术分析提供了基本面所缺乏的时机把握和风险管理。
施瓦茨使用的工具极少:
| 工具 | 用途 | 设置 |
|---|---|---|
| 10周期EMA | 趋势方向和入场/出场 | 日线和日内图上的10周期 |
| MACD | 动量确认 | 标准12-26-9 |
| TICK | 短期市场广度 | 实时NYSE TICK |
| TRIN(阿姆斯指数) | 供需平衡 | 实时NYSE TRIN |
| 成交量 | 价格走势的确认 | 无特定设置 |
10周期EMA是施瓦茨最重要的单一指标。他在日线和日内图表上都使用它。
EMA计算公式:
乘数 = 2 / (周期 + 1) = 2 / 11 = 0.1818
EMA_今日 = (收盘价 - EMA_昨日) * 乘数 + EMA_昨日
看涨:价格在10-EMA之上 且 10-EMA正在上升
看跌:价格在10-EMA之下 且 10-EMA正在下降
中性:价格围绕平坦的10-EMA上下波动
做多入场:
1. 价格在10-EMA之上(上升趋势确认)
2. 价格回调至10-EMA(或略低于)
3. 价格在10-EMA处反弹(K线收盘在EMA之上)
→ 在反弹处买入
替代方案:当价格从下方穿越10-EMA向上时买入,
需MACD转为正值或趋势走高来确认。
做空入场:
1. 价格在10-EMA之下(下降趋势确认)
2. 价格反弹至10-EMA(或略高于)
3. 价格在10-EMA处被压回(K线收盘在EMA之下)
→ 在被压回处做空
替代方案:当价格从上方穿越10-EMA向下时做空,
需MACD转为负值或趋势走低来确认。
平多仓:
- 价格在日线图上收盘低于10-EMA
- 或 止损触发
平空仓:
- 价格在日线图上收盘高于10-EMA
- 或 止损触发
施瓦茨在多个时间框架上使用10-EMA:
日线图:确定主要趋势方向
价格在日线10-EMA之上 → 只做多
价格在日线10-EMA之下 → 只做空
日内(5分钟或15分钟):在日线趋势内把握入场时机
当日内价格在日内10-EMA处反弹时做多入场
前提是日线趋势向上
"10周期移动平均线是我的分界线。如果价格在它上面,我看涨。在它下面,我看跌。就这么简单。"
MACD线 = EMA(12) - EMA(26)
信号线 = MACD线的EMA(9)
柱状图 = MACD线 - 信号线
施瓦茨不将MACD作为主要信号生成器。他将其作为10-EMA信号的确认工具:
MACD做多确认:
- MACD线上穿信号线 → 确认看涨动量
- MACD柱状图转正 → 动量加速
- MACD在零轴之上 → 趋势看涨
MACD做空确认:
- MACD线下穿信号线 → 确认看跌动量
- MACD柱状图转负 → 下跌动量加速
- MACD在零轴之下 → 趋势看跌
施瓦茨关注价格与MACD之间的背离:
看涨背离:
价格创新低,但MACD形成更高的低点
→ 卖压正在减弱。可能向上反转。
看跌背离:
价格创新高,但MACD形成更低的高点
→ 买压正在减弱。可能向下反转。
背离不是即时信号——它们表明趋势强度正在减弱。施瓦茨会将背离作为收紧止损或减少仓位的警告,而不是直接的反转信号。
FUNCTION schwartz_signal(price, ema_10, macd, macd_signal):
# 通过10-EMA判断趋势
trend = "BULLISH" IF price > ema_10 AND ema_10_is_rising ELSE "BEARISH"
# 检查MACD确认
macd_bullish = (macd > macd_signal) AND (macd_histogram > 0)
macd_bearish = (macd < macd_signal) AND (macd_histogram < 0)
# 生成信号
IF trend == "BULLISH" AND macd_bullish:
IF price_bouncing_off_ema_10:
RETURN "BUY"
ELIF trend == "BEARISH" AND macd_bearish:
IF price_rejected_at_ema_10:
RETURN "SELL SHORT"
RETURN "NO SIGNAL"
TICK = (上涨股票数) - (下跌股票数)
解读:
TICK > +800: 强劲买压(短期看涨)
TICK > +1000:极端买入(市场可能过度延伸)
TICK < -800: 强劲卖压(短期看跌)
TICK < -1000:极端卖出(市场可能超卖)
TICK接近0: 平衡/中性
TRIN = (上涨家数 / 下跌家数) / (上涨成交量 / 下跌成交量)
解读:
TRIN < 0.80: 强劲买压(看涨——更多成交量流向上涨股票)
TRIN 0.80-1.20:中性/平衡
TRIN > 1.20: 强劲卖压(看跌——更多成交量流向下跌股票)
TRIN > 2.00: 恐慌性抛售(通常预示反弹——逆向买入信号)
FUNCTION market_internal_score(tick, trin):
score = 0
IF tick > 400:
score += 1
IF tick > 800:
score += 1
IF tick < -400:
score -= 1
IF tick < -800:
score -= 1
IF trin < 0.80:
score += 1
IF trin < 0.60:
score += 1
IF trin > 1.20:
score -= 1
IF trin > 1.50:
score -= 1
# 分数范围:-4到+4
# +3或+4:非常看涨的内部指标
# -3或-4:非常看跌的内部指标
# -1到+1:中性
RETURN score
施瓦茨近乎痴迷地跟踪每日盈亏:
施瓦茨的每日规则:
每日亏损限额:设定最大日亏损额(例如X美元或资金的Y%)
如果日内盈亏达到-$X:
停止当天交易。没有例外。
回家。锻炼。清理头脑。
每日盈利目标:不是刚性的,但要有意识
如果当天早些时候获得可观利润:
考虑减少仓位或提前收工以"锁定"胜利。
不要试图把大赢变得更大而回吐利润。
"我绝不让当天的盈利变成亏损。如果我赚了5万美元然后回吐了2万美元,我就停手。我仍然赚了3万美元。这是赢利的一天。"
这条规则防止了因为贪婪或在回吐利润后进行报复交易而将盈利的一天变成亏损的情绪螺旋。
"永远不要冒你一天承受不起的损失。"
施瓦茨的风险管理建立在这一条原则之上。其他一切都由此衍生:
风险层级:
1. 每日最大亏损:你不会超过的固定金额
2. 每笔交易最大亏损:每日最大亏损的一个比例
3. 仓位大小:根据每笔交易最大亏损和止损距离计算
4. 杠杆:使用但始终在每日最大亏损框架之内
FUNCTION schwartz_position_size(daily_max_loss, num_planned_trades, entry, stop):
per_trade_risk = daily_max_loss / num_planned_trades
risk_per_share = ABS(entry - stop)
position_size = FLOOR(per_trade_risk / risk_per_share)
RETURN position_size
示例:
每日最大亏损:$10,000
今日计划交易次数:5
每笔交易风险:$2,000
入场价:$50.00
止损价:$49.00
每股风险:$1.00
仓位大小:2,000股
逐步加仓盈利头寸:
- 在初始信号时以50%的预定仓位入场。
- 当交易朝有利方向发展时加仓30%(确认)。
- 动量持续时加仓最后的20%。
- 每次加仓后将止损移至盈亏平衡点。
逐步减仓:
- 在第一个利润目标处减仓50%。
- 用10-EMA追踪止损保护剩余50%。
- 当10-EMA被突破时平掉剩余仓位。
1. 盘前:评估隔夜动态,检查日线图趋势(10-EMA)。
2. 开盘:观察前30分钟的方向和TICK/TRIN读数。
3. 信号:等待日内图上10-EMA反弹或突破,MACD确认。
4. 入场:以预定仓位大小和止损执行。
5. 管理:监控TICK、TRIN和价格相对于10-EMA的位置。
6. 出场:在目标位、止损位或10-EMA被突破时出场。
施瓦茨将交易视为竞技运动。他的心理方法借鉴了体育竞技:
施瓦茨的亏损处理流程:
1. 立即接受亏损。不要犹豫。
2. 记录在交易日志中。
3. 自问:"我遵守了规则吗?"
如果是 → 这是一笔好交易但结果不好。继续前进。
如果否 → 这是一笔坏交易。找出哪里出了问题。改正它。
4. 不要在下一笔交易中加大仓位以"挽回损失"。
5. 如果连续3笔亏损:停止交易。复盘。重置。
"1987年我损失了很多钱。但我活下来了。而且我东山再起了。那些没有风险管理的人——他们没能回来。"
1. 锻炼(1小时)—— 为精神战斗做身体准备
2. 审查隔夜新闻、期货、海外市场
3. 审查关键市场和持仓的日线图
4. 识别当天的关键价位(日线图上的支撑/阻力)
5. 检查日线和周线图上的10-EMA位置
6. 规划当天:你在寻找什么?什么信号会触发行动?
7. 心理准备:"我将遵守规则。我将止损。我将让盈利奔跑。"
开盘30分钟:
- 观察。不要激进交易。
- 让市场亮出底牌。观察TICK和TRIN以判断方向。
- 判断今天的行情是确认还是否定日线趋势。
核心交易时段(上午10:00 - 下午3:00):
- 根据10-EMA信号执行计划中的交易。
- 持续监控市场内部指标。
- 根据信心程度和日内盈亏调整仓位大小。
最后30分钟(下午3:30 - 4:00):
- 决定是否隔夜持仓或全部平仓。
- 如果日内盈亏显著为正:考虑平仓以锁定利润。
- 如果日内盈亏为负:全部平仓。不要隔夜持有亏损头寸。
1. 在日志中记录所有交易(入场、出场、仓位、盈亏、备注)
2. 计算日内盈亏
3. 复盘:我是否遵守了规则?
4. 准备明天的关注列表
5. 身体恢复(轻度锻炼、放松)
6. 心理恢复:与市场分离。收盘后不查看价格。
| # | 规则 | 理由 |
|---|---|---|
| 1 | 立即止损 | 最重要的一条规则 |
| 2 | 永远不要冒一天承受不起的损失 | 生存是第一位的 |
| 3 | 10-EMA定义趋势 | 简单、有效、客观 |
| 4 | 入场前用MACD确认 | 减少假信号 |
| 5 | 关注市场内部指标(TICK/TRIN) | 为个股交易提供背景 |
| 6 | 不要对抗盘面 | 如果市场与你相反,离场 |
| 7 | 每天从头开始——昨天不重要 | 不带情绪延续 |
| 8 | 每天锻炼 | 身体健康 = 心理健康 |
| 9 | 亏损后休息 | 防止报复性交易 |
| 10 | 锁定利润——不要回吐赢利 | 保护你的盈亏 |
| 11 | 避免在前30分钟激进交易 | 让市场亮出底牌 |
| 12 | 记录每一笔交易的日志 | 问责和学习 |
9:30-10:00:波动大,经常反转。业余时段。观察,不要激进交易。
10:00-11:30:第一波方向性走势。趋势交易的最佳时段。
11:30-1:30:午餐低迷期。成交量减少,震荡。通常不适合交易。
1:30-3:00:下午趋势。通常是早盘趋势的延续或反转。
3:00-4:00:机构买卖。强劲走势,尤其是到期日。
FUNCTION schwartz_trading_day(trader, market_data):
# 盘前准备
daily_trend = determine_trend(market_data.daily, ema_period=10)
key_levels = identify_support_resistance(market_data.daily)
daily_max_loss = trader.capital * 0.02 # 每日最大亏损2%
# 开盘观察(前30分钟)
opening_range = observe_opening_range(market_data.intraday, minutes=30)
# 确定今日偏向
IF daily_trend == "BULLISH" AND opening_range.broken_upside:
today_bias = "LONG"
ELIF daily_trend == "BEARISH" AND opening_range.broken_downside:
today_bias = "SHORT"
ELSE:
today_bias = "NEUTRAL" # 减少仓位或不交易
# 交易循环
WHILE market_is_open AND trader.daily_pnl > -daily_max_loss:
current_bar = market_data.latest_bar
ema_10 = calculate_ema(market_data.intraday, period=10)
macd_line, signal_line, histogram = calculate_macd(market_data.intraday)
tick = market_data.tick_reading
trin = market_data.trin_reading
# 检查入场信号
signal = schwartz_signal(current_bar.close, ema_10, macd_line, signal_line)
internal_score = market_internal_score(tick, trin)
IF signal == "BUY" AND today_bias == "LONG" AND internal_score >= 2:
stop = MIN(recent_swing_low, ema_10 - atr)
size = schwartz_position_size(daily_max_loss, 5, current_bar.close, stop)
ENTER_LONG(size, stop)
ELIF signal == "SELL SHORT" AND today_bias == "SHORT" AND internal_score <= -2:
stop = MAX(recent_swing_high, ema_10 + atr)
size = schwartz_position_size(daily_max_loss, 5, current_bar.close, stop)
ENTER_SHORT(size, stop)
# 管理持仓
FOR each position IN trader.open_positions:
IF position.direction == "LONG":
IF current_bar.close < ema_10:
EXIT position # 10-EMA被突破
IF internal_score <= -2:
EXIT position # 内部指标恶化
ELIF position.direction == "SHORT":
IF current_bar.close > ema_10:
EXIT position
IF internal_score >= 2:
EXIT position
# 日内盈亏检查
IF trader.daily_pnl < -daily_max_loss:
CLOSE all positions
STOP trading for the day
LOG "每日亏损限额已达"
# 利润保护
IF trader.daily_pnl > 0 AND trader.daily_pnl_giveback > trader.daily_pnl * 0.40:
CLOSE all positions
STOP trading for the day
LOG "利润保护:已回吐日内最高水位的40%"
# 收盘
post_market_review(trader)
FUNCTION ema_bounce_entry(price_data, ema_10, trend):
# 识别反弹条件
FOR each bar IN price_data:
IF trend == "BULLISH":
# 价格必须回调至10-EMA或其下方
IF bar.low <= ema_10[bar.index]:
# 然后收盘在10-EMA之上
IF bar.close > ema_10[bar.index]:
# MACD确认
IF macd_histogram[bar.index] > 0:
RETURN {
'signal': 'BUY',
'entry': bar.close,
'stop': bar.low - (0.5 * atr),
'target_1': bar.close + (2 * (bar.close - bar.low)),
'target_2': bar.close + (3 * (bar.close - bar.low))
}
ELIF trend == "BEARISH":
IF bar.high >= ema_10[bar.index]:
IF bar.close < ema_10[bar.index]:
IF macd_histogram[bar.index] < 0:
RETURN {
'signal': 'SELL SHORT',
'entry': bar.close,
'stop': bar.high + (0.5 * atr),
'target_1': bar.close - (2 * (bar.high - bar.close)),
'target_2': bar.close - (3 * (bar.high - bar.close))
}
RETURN None
10周期EMA是分界线。 价格在其上方就看涨。在其下方就看跌。这一个工具比几十个指标提供更多的清晰度。
用MACD确认,不要仅凭EMA交易。 MACD确认减少了假信号。10-EMA趋势方向与MACD动量的组合是施瓦茨的核心优势。
市场内部指标(TICK/TRIN)提供背景。 个股或期货交易存在于更广泛的市场环境中。入场前始终要了解市场内部指标在说什么。
永远不要冒一天承受不起的损失。 这是首要规则。当每日亏损限额被触及时,停止交易。没有例外,没有"再做一笔"。
立即果断地止损。 亏损的大小不决定这是好交易还是坏交易。你是否遵守了规则才是决定因素。接受亏损并继续前进。
锁定利润——不要回吐赢利。 如果你已经大幅盈利,保护这些收益。因为贪婪而将赢利的一天回吐是纪律的失败。
身体健康支撑心理健康。 交易是高压活动。锻炼、睡眠和营养直接影响压力下的决策质量。
每天从头开始。 昨天的亏损或盈利都无关紧要。每天都是一场新的竞赛。不要从前几个交易日带来情绪包袱。
前30分钟用于观察。 让市场亮出底牌。开盘区间提供了关于当天可能方向的关键信息。
保持详细的交易日志。 每一笔交易、每一天,记录你的想法、感受和行为。日志是持续改进的工具。
"在我学会正确交易之前,我一直在亏钱,健康在恶化,婚姻也快破裂了。当我在交易上变得有纪律之后,其他一切也都变好了。"