Replies

luissalgadofreire
17 Dec 2024, 10:04 ( Updated at: 17 Dec 2024, 14:06 )

Thanks for the confirmation.

My understanding is that that are two ways to deal with stock splits:

1. Forward Adjustment Method (Adjust Shares)

When a stock split occurs, this approach adjusts the number of shares held while keeping the price history unchanged.

Mechanism:
After a split, the number of shares is multiplied by the split ratio, and the price remains at pre-split levels. For example, in a 2-for-1 split:

  • Pre-split: 100 shares at $200 each.
  • Post-split: 200 shares at $200 each.

Advantages:

  • Keeps historical prices intact for easier analysis.
  • Aligns with the actual trading experience at the time.

Use Case:
Suitable for platforms focused on maintaining the original price context during historical analysis.


2. Backward Adjustment Method (Adjust Prices)

This approach adjusts historical prices backward in time to reflect the latest split, ensuring consistency in price data.

Mechanism:
Past prices are divided by the split ratio, and the number of shares remains unchanged. For example, in a 2-for-1 split:

  • Pre-split price of $200 is adjusted to $100, while share quantity remains the same.

Advantages:

  • Provides a seamless price chart without sudden jumps due to splits.
  • Essential for technical analysis and calculating indicators.

Use Case:
Ideal for backtesting algorithms that rely on price continuity.

This second approach would in fact be ideal for backtesting. It would however depend on who provides the source data for cTrader's backtests to supply stock-split adjusted prices, which does not seem to be the case.

I understand cTrader is originally focused on Forex but since it provides multi-asset support for CFD's on stocks, indices, forex, and commodities, it would be useful for backtesting to support this. Right now, I'm sourcing data to exclude stocks with stock-splits from cTrader's backtesting, which is a pain and obviously reduces the precision of the results.


@luissalgadofreire