ReachRichInsights › A-Share Price Adjustment: Forward/Backward Adjustment for XDXR

A-Share Price Adjustment: Forward/Backward Adjustment for XDXR

In China A-share quant, ignoring XDXR (ex-rights & ex-dividend) is the fastest way to wreck your backtest and trigger false stops in live trading. This post explains the adjustment mechanics every A-share quant must get right.

Why adjustment matters

When a Chinese listed company executes a stock split (送股), capitalization increase (转增), or cash dividend (派息), the raw closing price drops in a non-trading "gap". Example: a 10-for-4 stock split makes raw close drop ~30% overnight — but this is not a real decline.

If you use raw prices: - Backtests record a massive loss on the XDXR day - Overnight position stops get triggered by the fake gap - Momentum/reversal factors get contaminated by the non-economic discontinuity

Forward vs backward adjustment

Method How Use case
Forward-adjusted (前复权) Re-base history to the current price Charting, recent analysis
Backward-adjusted (后复权) Multiply forward from listing day Long-horizon backtests, return computation
Adjustment factor Keep raw + a per-day multiplier Flexible reconstruction

The right method depends on use case, but consistency across the entire pipeline matters more than which method you pick. Real-time data, historical data, backtest engine, and position-cost computation must all use the same adjustment logic — otherwise live and backtest drift, and reconciliation breaks.

Consistency at the data layer

Adjustment should be handled at the data contract layer, not in each strategy. Otherwise you get N strategies each implementing slightly different adjustment logic — guaranteed inconsistency.

ReachRich handles forward/backward adjustment and XDXR factors at the data contract layer, returning continuous prices. Upper-layer quant research just consumes the data — no per-strategy adjustment debugging.