Understanding Percent Rank
Percent rank measures a data point's position within a dataset. It expresses this position as a percentage. A percent rank of 90 means 90% of the data points fall below the current value. This contrasts with standard deviation, which measures distance from the mean. Percent rank indicates relative standing, not absolute distance.
Traders use percent rank to identify extreme price movements. It normalizes data, making comparisons across different assets easier. For example, a 2% price increase in a volatile stock might be common. The same 2% increase in a stable utility stock could signal an extreme event. Percent rank helps quantify this relative extremity.
Calculate percent rank using the formula:
Consider daily returns for AAPL over 20 trading days.
| Day | Return (%) |
|---|---|
| 1 | 0.5 |
| 2 | -1.2 |
| 3 | 1.8 |
| 4 | 0.1 |
| 5 | -0.8 |
| 6 | 2.5 |
| 7 | 0.3 |
| 8 | -0.1 |
| 9 | 1.0 |
| 10 | 0.7 |
| 11 | -0.5 |
| 12 | 1.5 |
| 13 | 0.2 |
| 14 | -0.3 |
| 15 | 0.9 |
| 16 | 2.0 |
| 17 | -0.7 |
| 18 | 0.6 |
| 19 | 1.3 |
| 20 | 2.8 |
Sort the returns in ascending order:
| Day | Sorted Return (%) |
|---|---|
| 1 | -1.2 |
| 2 | -0.8 |
| 3 | -0.7 |
| 4 | -0.5 |
| 5 | -0.3 |
| 6 | -0.1 |
| 7 | 0.1 |
| 8 | 0.2 |
| 9 | 0.3 |
| 10 | 0.5 |
| 11 | 0.6 |
| 12 | 0.7 |
| 13 | 0.9 |
| 14 | 1.0 |
| 15 | 1.3 |
| 16 | 1.5 |
| 17 | 1.8 |
| 18 | 2.0 |
| 19 | 2.5 |
| 20 | 2.8 |
Calculate the percent rank for a return of 2.0%. 17 out of 20 returns are below 2.0%.
This means 85% of the observed daily returns were less than 2.0%. A high percent rank suggests an unusually strong positive return. A low percent rank indicates an unusually strong negative return.
Percentile Channels for Mean Reversion
Percentile channels define boundaries based on historical price distributions. They identify overbought and oversold conditions. Unlike Bollinger Bands, which use standard deviation from a moving average, percentile channels use fixed percentiles.
A common application uses the 5th and 95th percentiles. These lines form a channel around the median price. When the price touches the 95th percentile, it signals an overbought condition. When it touches the 5th percentile, it signals an oversold condition. Traders expect the price to revert to the mean (often the 50th percentile or median).
Consider a 200-day lookback period for SPY. Calculate the 5th, 50th, and 95th percentiles of its closing prices.
| Date | SPY Close | 5th Percentile (200-day) | 50th Percentile (200-day) | 95th Percentile (200-day) |
|---|---|---|---|---|
| 2023-01-03 | 380.82 | 375.10 | 390.50 | 405.90 |
| 2023-01-04 | 383.76 | 375.25 | 390.60 | 406.15 |
| ... | ... | ... | ... | ... |
| 2023-06-01 | 417.89 | 385.20 | 400.10 | 415.00 |
| 2023-06-02 | 425.80 | 385.50 | 400.30 | 415.20 |
| 2023-06-05 | 428.18 | 385.75 | 400.50 | 415.50 |
| 2023-06-06 | 427.60 | 386.00 | 400.70 | 415.75 |
| 2023-06-07 | 426.70 | 386.20 | 400.90 | 416.00 |
On June 2nd, 2023, SPY closed at 425.80. The 95th percentile was 415.20. SPY traded above its 95th percentile. This indicates an overbought condition. A mean reversion trader might consider a short position. The target would be the 50th percentile (median) at 400.30.
On June 5th, SPY closed at 428.18, further above the 95th percentile. This reinforces the overbought signal. On June 6th, SPY closed at 427.60, still above the 95th percentile. On June 7th, SPY closed at 426.70, still above the 95th percentile.
This persistence above the 95th percentile strengthens the mean reversion hypothesis. The price eventually reverted. SPY closed at 410.20 on June 23rd, 2023, below the 50th percentile.
This strategy requires careful selection of the lookback period. A shorter period (e.g., 50 days) reacts faster to recent price action but might generate more false signals. A longer period (e.g., 200 days) offers more stable channels but reacts slower.
Implementing Percentile-Based Strategies
Percentile-based strategies offer robust signals for mean reversion. They are less sensitive to extreme outliers than standard deviation methods. Outliers can distort standard deviation, leading to wider, less effective channels. Percentiles, however, are rank-based. They are less affected by the magnitude of extreme values.
Consider a mean reversion strategy for a basket of 100 liquid stocks.
- Define Lookback: Use a 60-day lookback period for daily closing prices.
- Calculate Percentiles: For each stock, calculate the 10th and 90th percentiles of its closing prices over the 60 days.
- Generate Signals:
- Buy Signal: If a stock's current closing price falls below its 10th percentile, generate a buy signal.
- Sell Signal: If a stock's current closing price rises above its 90th percentile, generate a sell signal.
- Entry/Exit Rules:
- Entry: Enter a long position when a buy signal triggers. Enter a short position when a sell signal triggers.
- Exit: Exit a long position when the price crosses above the 50th percentile (median). Exit a short position when the price crosses below the 50th percentile.
- Stop Loss: Implement a time-based stop loss (e.g., exit after 5 days if the trade is unprofitable) or a percentage-based stop loss (e.g., 2% adverse movement).
Example Trade: Stock: MSFT Lookback: 60 days Current Date: 2023-04-12
- 60-day historical closing prices for MSFT: [300, 301, ..., 285, 275, 270] (hypothetical data)
- Calculated 10th percentile: 272.00
- Calculated 50th percentile (median): 288.00
- Calculated 90th percentile: 305.00
- MSFT current closing price (2023-04-12): 271.50
Signal: MSFT's current price (271.50) is below its 10th percentile (272.00). This generates a buy signal.
Action: Buy 100 shares of MSFT at 271.50.
Monitoring:
- Next day, MSFT closes at 275.00. Still below median. Hold.
- Day after, MSFT closes at 280.00. Still below median. Hold.
- Day after, MSFT closes at 289.00. This is above the 50th percentile (288.00).
Exit: Sell 100 shares of MSFT at 289.00.
Result: Profit of (289.00 - 271.50) * 100 = $1,750 (ignoring commissions).*
This strategy provides clear entry and exit points. It relies on the assumption that prices revert to their historical median. Adjust percentile thresholds (e.g., 1st/99th or 20th/80th) based on market conditions and desired sensitivity. Wider channels demand more extreme price movements for signals but might yield higher conviction trades. Narrower channels generate more signals but risk more false positives.
A practical implementation uses a rolling window. Recalculate percentiles daily. This adapts the channels to recent price behavior. This dynamic adjustment makes the strategy more robust in changing market regimes.
