Comparing Multiple Instruments with Starting-Price Normalization
Summary
The document explains how to compare price changes across instruments whose share prices are at different levels. The suggested method is to divide each instrument’s price series by its own starting value and subtract one, expressing the result as a cumulative percentage change from that baseline. In a table of instruments, the calculation is applied separately to each series, with the exact operations depending on how the data is arranged.
The answer gives a concise normalization rule rather than a worked example or empirical comparison. It does not specify how to choose the starting date, handle missing observations, or account for dividends, splits, or other corporate actions. Those details matter when turning the calculation into a performance comparison.
Key ideas
- Normalize each instrument against its own starting price to compare percentage performance.
- Subtracting one from the price-to-starting-price ratio expresses the change relative to the baseline.
- The calculation depends on whether instruments are organized in rows or columns.
- Corporate actions and baseline selection are not addressed.
Tags
Full text
# Can NumPy calculate the % change the way it is shown in multiple instrument charts? # Can NumPy calculate the % change the way it is shown in multiple instrument charts? I have closing prices for multiple equities in NumPy arrays (or a pandas timeseries DataFrame). I like to calculate the % change numbers for the closing prices in the DataFrame the way it is shown in mainstream charting platforms like the one below: Is there any common NumPy method to calculate % change prices based on $ prices when we compare multiple instruments? ## Answer by D Stanley (score 4, accepted) https://quant.stackexchange.com/a/70614 Sure - just divide (`.div()`) the values in each series by the starting value in that series and subtract 1. The actual syntax will depend on how your data is organized (e.g. row/column order).
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.