Use prices on a consistent basis. An adjusted price can help compare returns across a stock split or dividend. A simulation that holds shares and cash also needs to account for those events explicitly. Mixing the two approaches can count an event twice.

This guide explains how to choose the inputs for that calculation. The examples are synthetic and assume no fees, taxes, or market movement beyond the events stated.

What does adjusted close mean?

A raw closing price is the reported close before corporate-action adjustments. An adjusted close is a transformed historical value. The events included, the adjustment formula, and the reference date depend on the data provider. The column name alone does not tell you enough.

For example, Alpaca's historical-bars documentation distinguishes raw, split, dividend, and spin-off adjustments. Its split option changes price and volume; its dividend option changes price for cash dividends. These are provider-specific definitions, not a universal contract for every adjusted-price column.

Save the requested adjustment setting alongside the downloaded data. Keep the retrieval date and source identifier too. If the provider later corrects an event, an identical request may no longer return the same historical values.

A two-for-one stock split

Suppose you own one share priced at $100. A two-for-one split changes the holding to two shares. Assume the price becomes $50 and nothing else changes.

Synthetic split example. The holding is worth $100 at both points.
PointSharesRaw priceHolding value
Before split1$100$100
After split2$50$100

Dividing the two raw prices gives 50 / 100 − 1 = −50%. That is a price comparison across different share units. The holding did not lose half its value: 2 × $50 still equals $100.

On a post-split share basis, the earlier adjusted price could be $50 too. Comparing $50 with $50 then gives zero return. But if a simulation buys one share at that adjusted historical price and later doubles its shares again, it invents a gain: $50 becomes 2 × $50 = $100. The price transformation and the share event must belong to the same accounting convention.

Dividend adjustments need the same care

Consider one share that closes at $100 before an ordinary $2 cash dividend and at $98 on the ex-dividend date. For an eligible holder, the simplified economic value is $98 of stock plus a $2 dividend claim, or $100. This is an assumed price path, not a forecast of how an actual stock will trade.

A return series that already incorporates the dividend should not receive a second $2 credit for the same event. A portfolio using raw prices instead needs to track the claim and its later payment. The claim contributes to value before it becomes spendable cash. See ex-dividend date vs. payment date for the ledger.

Checks before using a price series

  1. Write down the unit of each column: historical shares or shares adjusted to a later basis. Check that prices, volume, and order quantities agree.
  2. Pick a known split and verify both the price ratio and share-count change. Calculate the holding value on either side.
  3. Pick a dividend and trace it through the return series and cash ledger. Confirm that it enters the calculation once.
  4. Keep the original snapshot and event records. A new download is a new input until you compare it with the old one.
  5. Check whether the historical adjustments were available at the simulated decision time, especially for absolute-price thresholds. Read the look-ahead bias guide.

Neither raw nor adjusted prices prove that a trade could have filled. Execution still needs its own timing, price, and cost assumptions. Our portfolio-accounting note explains that boundary and includes a runnable Python companion.