Strasmore Research
学习 Matt Connor作者: Matt Connor · 更新于 2026-10-03

7%卖出规则详解:欧尼尔止损法

7%卖出规则要求股票较买入价下跌7%至8%时卖出。了解亏损后的回本计算,以及止损单为何可能以远低于7%的价格成交。

7%卖出规则是威廉·欧尼尔提出的一项纪律:任何股票只要较买入价下跌7%至8%,就必须卖出,不设例外,也不等待反弹。它限制的是亏损,而不是预测走势。目标是把每次错误控制在足够小的范围内,让一次普通的盈利就能弥补它。

7%卖出规则是什么?

欧尼尔创办了《投资者商报》(Investor's Business Daily,IBD),并在《How to Make Money in Stocks》中阐述了这项规则。如果持有的股票较买入价下跌7%或8%,就应在当日按市价卖出,无论您如何看待这家公司。IBD将7%至8%描述为上限,而不是目标:如果买入点不佳,或市场较弱,应更早止损。

有四点容易被忽略。

  1. 参照价格是您的买入价,而不是股票的高点;如果一笔持仓上涨20%后回撤10%,并未触及这项规则。
  2. 触发依据是价格,而不是基本面逻辑。决定应提前作出,并在您最不愿意行动时执行。
  3. 该规则与CAN SLIM买入规则配套使用:欧尼尔认为,在合适的图表突破点买入的股票,很少会跌破买入点8%。
  4. 不得越跌越买。低于成本价加仓会破坏亏损上限。

为什么是7%?规则背后的回本计算

亏损与盈利并不对称,而且亏损越大,这种不对称越明显。亏损7%后,100美元变成93美元。要回到100美元,需要在93美元的基础上盈利7美元,即7.5%。一般计算方法是:用亏损金额除以剩余金额。亏损增加时,回本门槛上升得更快。

  • 亏损7%,需要盈利7.5%才能回本。
  • 亏损10%,需要盈利11.1%。
  • 亏损20%,需要盈利25%。
  • 亏损三分之一,需要盈利50%。
  • 亏损50%,需要盈利100%。
  • 亏损75%,需要盈利300%。

下方面板计算了上述各类亏损对应的回本门槛。

查询亏损后回本所需涨幅
亏损亏损百分比所需涨幅百分比
7%77.5
10%1011.1
20%2025
33.3%33.349.9
50%50100
75%75300
每个数字背后的完整 SQL
SELECT
    concat(toString(round(loss_pct, 1)), '%') AS loss,
    round(loss_pct, 1) AS loss_pct,
    round(100 * loss_pct / (100 - loss_pct), 1) AS gain_needed_pct
FROM
(
    SELECT arrayJoin([7, 10, 20, 100 / 3, 50, 75]) AS loss_pct
)
ORDER BY loss_pct
自己运行这个查询

该上限使每次错误都停留在这条曲线较平缓的部分。欧尼尔的论点是:如果将亏损控制在8%,盈利达到25%,交易者即使错两次、对一次,仍可能获得正收益。两次8%的亏损合计损失16个单位,一次25%的盈利带来25个单位,扣除交易成本前净赚9个单位。这就是该规则的全部逻辑基础。

交易者如何用止损单执行7%规则?

大多数遵循者会在买入成交后立即提交一张留在市场中的订单。两类订单可以实现这一目的。

止损单会在某个触发价位等待。股票以该价格或更低价格成交时,订单转为市价单,并以当时可获得的下一个价格成交。若以100美元买入、止损价设为93美元,股票在93美元出现一笔成交时,订单就会被触发;对于流动性较好的股票,成交价通常会落在93美元附近,偏差仅几美分。

止损限价单使用相同的触发价,但触发后会转为您设定的另一价格的限价单。若止损价为93美元、限价为92美元,订单会在93美元触发,并在92美元或更高价格成交,否则不会成交。它可以避免成交价过差,但也放弃了必然退出的确定性。完整比较请参阅止损单与止损限价单。

自2016年以来,NYSE本身不再接受止损单。经纪商会持有这项指令,并在触发价位出现成交时提交市价单,通常只在正常交易时段执行。该规则不适用于期权合约,因为股票变动7%通常会对应合约价格变动30%至50%;期权止损单介绍了两者的差异。

7%止损单可能在远低于7%的位置成交吗?

可能。止损单只有在市场开市且股票穿过您设定的价位时才会生效。盘后公布业绩,或开盘前发布评级下调,都可能导致股票隔夜跳空:一只收于98美元的股票,可能直接以84美元开盘,期间从未在93美元成交。您的止损单会在84美元附近出现第一笔成交时触发,并在那里成交。对于原本将亏损上限设为7%的持仓,这意味着亏损达到16%。跳空的具体机制请参阅股票为何隔夜跳空。

止损限价单也无法解决这一问题。如果限价为92美元,而股票以84美元开盘,订单会因无法成交而继续挂起,您仍然持有该股票。按IBD的表述,这项规则不会在跳空后暂停执行:亏损可能超过原计划,但应当接受亏损,而不是等待缺口回补。决定跳空风险上限的是持仓规模,而不是订单类型。

7%规则适用于ETF、回报率还是提款吗?

在搜索结果中,这一说法常与两个无关概念混淆。第一个是美国股票长期平均实际回报率,通常引用为扣除通胀后每年约7%。这只是长期历史平均值,并非交易规则。第二个是退休规划中的“7%提款规则”,它是4%规则的激进版本,规定每年可以从投资组合中提取多少资金,与卖出亏损仓位无关。两者都与欧尼尔的规则无关。

ETF持有者真正需要考虑的是,这项卖出规则是否适用于指数基金。欧尼尔为在突破点买入的个股成长股制定了这项规则。他没有讨论指数基金。广泛分散的指数基金在每次调整中都可能较某个买入价下跌7%,而调整通常指下跌10%或以上。对于计划持有数十年的投资,是否应设置硬性亏损上限,取决于持仓目的;规则本身并未回答这一问题。期权中的3-5-7规则和共同基金的8-4-3规则也与此无关。

固定7%止损的批评是什么?

最常见的质疑是,固定百分比没有考虑股票的正常波动幅度。一只日收盘价之间经常波动4%或5%的股票,仅因噪声就可能较几乎任何买入价下跌7%;对这类股票而言,止损更像是针对日内波动范围的一次随机判断,而不是对投资逻辑的否定。相比之下,对一只日均波动仅1%的股票,7%的跌幅则很少见。

来回止损是其代价:交易者可能连续经历小额亏损并重新买入,每次都要支付价差。欧尼尔的回应是,突破重新出现后可以再次买入该股票;正常的连续亏损期有多长对这类连续亏损的持续时间进行了量化。

按波动率调整的替代方案可以直接回应这一质疑。两者没有绝对优劣,只是以不同方式在来回止损与利润回吐之间取舍。

  • ATR止损将距离设为真实波动幅度均值的倍数。真实波动幅度均值代表股票近几周的典型日内波动范围,因此波动较大的股票止损距离更宽,波动较小的股票止损距离更窄。
  • 固定美元风险配合可变止损,先确定您愿意承担的金额。例如,5万美元账户承担1%的风险,即500美元。止损7%时,允许建立7,143美元的持仓;波动更大的股票若使用15%止损,则允许建立3,333美元的持仓。判断错误时的亏损金额相同,但持仓规模不同。

下方面板按三种止损距离计算了相应的持仓规模。

查询每个止损距离下500美元风险预算允许的仓位规模
止损仓位规模(美元)
7% stop7143
10% stop5000
15% stop3333
每个数字背后的完整 SQL
SELECT
    concat(toString(stop_pct), '% stop') AS stop,
    round(500 / (stop_pct / 100)) AS position_size_usd
FROM
(
    SELECT arrayJoin([7, 10, 15]) AS stop_pct
)
ORDER BY stop_pct
自己运行这个查询

这两种方法与欧尼尔规则共有的关键原则是:退出决定应在入场前作出,并以订单形式提交,而不是停留在主观意图上。

常见问题

股票中的7%卖出规则是什么?

这是威廉·欧尼尔通过《投资者商报》推广的规则:任何股票只要较买入价下跌7%至8%,就应卖出,不设例外。计算基准是您的买入价,而不是股票高点。

为什么亏损7%需要盈利7.5%才能回本?

亏损7%后,100美元变成93美元。要回到100美元,需要在93美元的基础上盈利7美元,即7.5%。回本所需的涨幅等于亏损金额除以剩余金额,因此亏损越大,回本门槛上升越快;亏损50%需要盈利100%。

7%规则适用于ETF和指数基金吗?

欧尼尔为在图表突破点买入的个股制定了这项规则,没有讨论指数基金。广泛分散的指数基金在每次调整中都可能较某个买入价下跌7%,因此是否将该上限用于长期基金持仓,需要投资者自行判断,规则本身并未作出说明。

7%规则与7%回报率或7%提款规则相同吗?

不相同。7%的平均年度实际回报率是美国股票的长期历史数据,7%提款规则是退休资产的提取比例。两者都与欧尼尔针对亏损股票的卖出规则无关。


百分比止损容易表述,但更难确定持仓规模。若您想了解一只股票收盘价较此前收盘价下跌7%的频率,或其隔夜跳空幅度有多大,可以用自然语言在Strasmore终端中查询。

#7 percent rule#stop loss#risk management#position sizing#trading rules#gaps