2026年八月21日 · 数据

为什么你的回测会错误处理股息

为什么你的回测会错误处理股息

股票回测常会以3种方式错误处理股息:把调整后价格序列当作可执行价格,在错误日期计入现金,或完全忽略股息。每种做法都可能画出看似合理、实际账户价值却有误的曲线。

关键是区分股票的市场成交价格,以及公司行动产生的现金或股份。两者都要跟踪。股息会改变股东有权获得的款项;它不会让除息日的价格下跌从市场记录中消失。

错误一:把调整后收盘价当作报价来交易

历史数据供应商通常会按股息调整价格,让图表呈现股息再投资后的总回报。这类序列适用于某些分析,但不是订单实际可能成交的价格。

假设一只股票除息前收于$100,随后每股除息$1。如果开盘价为$99,且其他因素都没有变化,未调整的价格图表会显示下跌1%。股息调整后的序列则可能通过重新缩放历史价格来消除这一断层。若回测用调整后序列生成信号并模拟成交,就把一种收益计算口径和可交易报价混在了一起。

具体会造成什么问题,取决于策略。基于近期高点设定的阈值,可能会被一个从未真实成交过的价格触发。止损可能在调整后的价位触发。用同一调整后序列计算的收益看起来平滑,成交价却来自另一个价格体系。

价格字段适用场景不安全的假设
原始成交价或报价在时点合适的情况下用于生成信号和模拟成交它已经包含股东现金流
股息调整后收盘价部分总回报比较它是当时可执行的价格
调整后的OHLC柱了解调整方法后用于分析盘中最高价和最低价与历史报价一致

错误二:在除息日计入股息

除息日决定了根据适用的市场规则,哪些人有权获得分配款。现金通常会在之后的支付日到账。在账户模拟中,这两个日期的作用不同。

假设你持有100股,跨过每股宣派$0.50股息的除息日,股息将在两周后支付。策略可能在除息日取得$50的应收股息,但此时还没有$50可支配现金。如果模拟器立即把这笔钱加到购买力中,就可能用这笔分配款为一笔真实账户当时无法承担的买入提供资金。

对于只做多的买入并持有收益计算,在除息日记录获得股息的权利或许就够了。对于会将分配款再投资、跟踪购买力或围绕结算进行交易的策略,则应将应收款和实际支付分开处理。使用当时已知的支付安排;之后的数据更正不应改写系统当时能够预期的情况。

对于普通的多头头寸,除息日的价格若接近股息金额下跌,并不自动意味着交易亏损。账户中的股票价值减少了,同时增加了一笔应收股息。这些价值是否正好抵消,取决于市场变动、税费、预扣税以及模拟采用的计算口径。

错误三:价格已经下跌,所以忽略股息

价格不做调整,又漏掉现金流,就会造成相反的失真。在从$100跌至$99的例子中,持有100股的投资者现在持有价值$9,900的股票,而非$10,000,此外还有$100的股息权益。如果只计算股票,就会报告$100的亏损,但简化后的总价值其实没有变化。

在较长样本或高分红股票组合中,这种错误的影响可能尤其大。它还会影响信号:如果策略把每个除息日的跳空都视为普通下跌,就可能恰好在错误的时机卖出。股息或许能解释这次跳空,但不能决定市场接下来如何变动。

股票回测该如何建模股息?

首先使用原始的时点价格来做决策和模拟成交,再将公司行动作为明确的账户事件来表示。所需的细节取决于回测要回答的问题。

  1. 衡量总回报:将有权获得的分配款计入投资组合价值,并明确记录再投资假设。
  2. 模拟策略:在时点会产生影响的情况下,分别跟踪持股、应收款、现金支付和购买力。
  3. 生成信号和模拟成交:使用对应历史市场实际价位及其可获取时间的价格字段。

还应分别检查拆股、特别股息和预扣税。$1的常规股息与$10的特别分配可能导致不同的价格调整,并对策略行为产生截然不同的影响。数据供应商单独提供一个“已调整”标记,通常不足以说明问题。

当回测跨过除息日时,要问清楚账户在除息日前持有什么、因此有权获得什么、现金何时到账,以及决策由哪种价格序列驱动。如果这些答案都隐含在一个调整后收盘价字段里,净值曲线就包含着你看不见的假设。

股息股票公司行动回测
← 全部文章