Alphanume

Insights

How to Backtest a Short-Selling Strategy

Alphanume Team · April 23, 2026

From event feed to borrow-cost-adjusted returns — the practical end-to-end workflow.

Backtesting a short-selling strategy is fundamentally different from backtesting a long strategy. The data requirements are larger, the cost components are heavier, and the implementation frictions are more material. A credible short backtest accounts for the structural costs that determine whether paper alpha survives to realized alpha — and most retail-grade backtests do not.

The end-to-end pipeline

A defensible short backtest involves:

  1. Universe construction (point-in-time).
  2. Signal generation.
  3. Portfolio construction.
  4. Execution simulation.
  5. Cost accounting.
  6. Performance evaluation.

1. Universe construction

The universe must be point-in-time accurate:

  • Include only securities that were tradeable on each historical date.
  • Include delisted names with proper terminal returns — see delisting bias.
  • Apply size and liquidity filters using historical values, not current values — see point-in-time data.
  • For shorts specifically, restrict to names that were borrowable on each date.

This last point is often skipped but is essential. Many names that "look short-able" in backtest were not in fact borrowable in real time.

2. Signal generation

The signal can be any rule producing a short candidate at a given date. For dilution-event strategies:

  • Identify event flags from the Dilution Events dataset.
  • Apply event-type filters (e.g., RDO with warrants only).
  • Apply firm-characteristic filters (size, sector, cash runway).
  • Apply market-condition filters if relevant (regime, volatility).

Use only information available as of the signal date — see look-ahead bias.

3. Portfolio construction

Decisions:

  • Position sizing. Equal-weighted, value-weighted, or scaled by signal strength.
  • Concentration limits. Maximum number of concurrent positions, maximum exposure per name.
  • Holding period. Fixed window (e.g., 30 days) or signal-based exit.
  • Capacity constraints. Maximum position relative to available borrow inventory or daily volume.

For event-driven strategies, fixed-window holding periods (e.g., 20 or 60 days) are common. The choice affects the relevant event window for benchmark abnormal-return calculations.

4. Execution simulation

Simulate realistic execution:

  • Entry price. Open price the day after the signal (avoid same-day execution unless intraday data confirms feasibility).
  • Slippage. Apply a basis-point slippage estimate. Higher for less liquid names.
  • Locate availability. If locate data is available, exclude names that were not locatable on the entry date. See what is a locate.
  • Position capacity. Cap position size relative to ADV or borrow availability.

5. Cost accounting

The hard part. The cost components:

  • Commission and exchange fees. Modest but should be included.
  • Slippage. Modeled at execution.
  • Borrow fees. Daily accrual based on point-in-time historical borrow rate. See how borrow fees are calculated.
  • Dividend liability. If the short crosses an ex-dividend date, the dividend is a cost. See dividend liability.
  • Buy-in losses. Modeled probabilistically based on borrow utilization and recall indicators. See buy-in risk.

The realized return net of these costs is the borrow-cost-adjusted return. This is the headline metric.

6. Performance evaluation

Report multiple metrics:

  • Mean and median return per trade.
  • Hit rate (percent of trades positive).
  • Win/loss ratio.
  • Sharpe ratio of the strategy returns.
  • Maximum drawdown.
  • Concentration of returns (top decile, bottom decile contributions).
  • Performance over sub-periods (consistent vs concentrated).
  • Performance after fees and after gross alpha attribution.

Sensitivity analysis

Test the strategy's robustness:

  • Parameter sensitivity. Vary holding period, signal threshold, position sizing.
  • Cost sensitivity. Re-run with higher and lower assumed borrow rates and slippage.
  • Period sensitivity. Performance across different historical sub-periods.
  • Universe sensitivity. Performance across size, sector, and structural subsamples.

Common errors

  • Not accounting for borrow costs (or using a single static rate).
  • Look-ahead in signal computation.
  • Survivorship bias in universe construction.
  • Look-ahead in benchmark calibration.
  • Not including delisting returns.
  • Assuming locate is always available.
  • Treating event-time alignment as easier than it is in practice.

Walk-forward and paper trading

Before deploying:

  • Walk-forward test: run the strategy on dates after the original backtest sample. The performance gap between in-sample and out-of-sample is informative.
  • Paper trade: implement the strategy on paper or in a simulated environment in real time. Realistic execution and borrow constraints become visible.
  • Live test at small size: scale to production size only after the small-size results match expectations.

Related reading

Borrow-cost-adjusted return; handling corporate actions in backtests; point-in-time data; universe construction; market-data sources for systematic short-selling research; how to design an event study.

For dilution-event short-strategy backtests, Alphanume's Dilution Events dataset provides the structured event feed with point-in-time-accurate filing timestamps — the foundation that the rest of the pipeline is built on.

Explore the Dilution Events dataset →