AQAI QuantAI research lab for systematic strategies

Automated analysis

This analysis was drafted by our research engine and has not been checked by a human editor. It may contain errors. It separates the paper’s own results from our tests, and any figures called ours come from our own backtest.

Our automated analysisOur backtest

NYSE price weighting beat cap weighting by 0.5 log level

An and Kim's split-aware diversity portfolios add only 0.002 to 0.066 in log relative wealth over the price-weighted index.

2026-10-07 · 7 min read · Functional portfolio generation · NYSE-listed US equities

Reviewing: A Price-Based Framework for Stochastic Portfolio Theory · Jongbong An and Donghan Kim · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

Split-Aware Diversity Weighting on Separate NYSE Price and Capitalization Universes

Backtest period 2020-01-01 to 2024-07-01 · hypothetical, net of modelled costs

Jan 2020Total 39.6%Jul 2024
Sharpe
0.38
Total Return
39.6%
Max Drawdown
-47.5%
CAGR
7.7%
Volatility
23.1%
Beta vs SPY
1.00
Trades
160,880

What the paper reports for its own strategy

  • Cap-based p-diversity-weighted portfolios, terminal log relative wealth vs cap-weighted index on U^S (2002–2021, frictionless, no costs): p=0.1 +0.447, p=0.3 +0.369, p=0.5 +0.278, p=0.7 +0.174, p=0.9 +0.060
  • Cap-based p-diversity-weighted portfolios, terminal log relative wealth vs cap-weighted index on U^P (2002–2021, no costs): p=0.1 +0.538, p=0.3 +0.434, p=0.5 +0.316, p=0.7 +0.190, p=0.9 +0.062
  • Price-based p-diversity-weighted portfolios, terminal log relative wealth vs price-weighted index on U^S (2002–2021, no costs): p=0.1 +0.007, p=0.3 +0.004, p=0.5 +0.004, p=0.7 +0.004, p=0.9 +0.002
  • Price-based p-diversity-weighted portfolios, terminal log relative wealth vs price-weighted index on U^P (2002–2021, no costs): p=0.1 +0.066, p=0.3 +0.049, p=0.5 +0.034, p=0.7 +0.020, p=0.9 +0.007
  • Price-based portfolios rebased to the cap-weighted index on U^S (2002–2021, no costs): p=0.1 +0.479, p=0.3 +0.476, p=0.5 +0.476, p=0.7 +0.476, p=0.9 +0.475
  • Price-based portfolios rebased to the cap-weighted index on U^P (2002–2021, no costs): p=0.1 +0.577, p=0.3 +0.561, p=0.5 +0.545, p=0.7 +0.531, p=0.9 +0.518

For a trader, the index choice carries nearly all the result. On NYSE stocks from 2002 to 2021, An and Kim's price-based diversity portfolios barely outrun the price-weighted index that generates them. The authors report both results. Their stronger-looking comparison uses a different starting line: against the cap-weighted index, the price-based portfolios finish ahead of cap-based ones. On the cap universe, almost all that rebased gain comes from a 0.48 weighting effect. The figures below use natural-log units. In those units, 0.01 is roughly one percent; 0.5 is large.

Why splits change the calculation

An and Kim rebuild stochastic portfolio theory around nominal share prices rather than market capitalizations. Classical stochastic portfolio theory generates portfolios from capitalization weights and judges them against the cap-weighted market. The Dow and the Nikkei 225 instead weight stocks by price. A 2-for-1 split exposes the difficulty with that choice: the quoted price halves, the share count doubles, and capitalization and holder wealth stay put. Yet the stock's weight in a price index, its price divided by the sum of prices, jumps. A portfolio rule reading those weights sees an event with no underlying gain or loss.

The authors make the price-weighted benchmark continuous through a split by rescaling its price sum with a divisor, as the Dow does. They also put the forced change in share count into the portfolio's self-financing condition. Holdings and prices then move in offsetting amounts. Their main example is a p-diversity-weighted portfolio, which holds stock i in proportion to its weight raised to a power p between 0 and 1. A lower p brings the allocation closer to equal weight. Excess growth, the rebalancing gain collected from volatility, is meant to pay for the strategy; concentration of weights creates an opposing drift in its generating function.

Every split triggers a restart. Between events, the portfolio follows the textbook multiplicative construction. At the event, the authors rescale it to preserve its wealth, then allocate using the current price weights raised to the power p. Their master formula removes split-induced jumps from the generating-function term. They prove a related identity for an announced split: "the adjustment jump itself contributes no incremental wealth," so advance knowledge of its date gives no model-free guarantee. The additive (Karatzas-Ruf) construction fares worse. In their two-asset example, splits repeatedly reset price weights to one half each; with sufficiently large price drift, the entropy-generated strategy's relative wealth tends to minus infinity almost surely.

The test draws on CRSP daily closes and share counts for NYSE common stocks from 2002-01-02 to 2021-12-31, or 5,036 trading days. Each quarter, information from the preceding close selects two universes: the 500 highest-priced stocks and the 500 largest by capitalization. An initial selection is followed by 79 rotations. The universes overlap by 268 names on average. In the price universe, the authors identify 753 forward splits and 12 reverse splits; its divisor declines from 1 to about 0.41.

Where did the 0.63 index gap come from?

The price-weighted index on the price universe finishes at a cumulative log level of 1.61. The cap-weighted index on the cap universe finishes at 0.97. Their 0.63 gap combines the effect of choosing stocks with the effect of choosing weights. The paper's four terminal index levels separate them:

The weighting rule accounts for most of the gap on either universe. Selecting expensive stocks contributes 0.13 to 0.16 of the 0.63. The authors raise diversification as a possible reason for the weighting result. On the price universe, price weights have higher Gibbs entropy than cap weights on every date; the maximum is log 500, about 6.21. On the cap universe, that ordering persists through most of the sample and reverses in 2020. It remains a possible explanation drawn from one 20-year NYSE window, one draw.

Little excess over the price index

Measured against the cap-weighted index, cap-based diversity portfolios on the cap universe finish at +0.447 log units for p = 0.1, declining to +0.060 for p = 0.9. The range on the price universe is +0.538 to +0.062. Use the price-weighted index as the benchmark for the price-based portfolios and the gains shrink sharply: +0.007 to +0.002 on the cap universe, and +0.066 to +0.007 on the price universe.

The decomposition makes the small gain easier to understand. At p = 0.1 on the cap universe, excess growth is +0.746 with price weights and +0.750 with cap weights, nearly the same. The adjusted state component is the generating-function drift after split jumps have been removed. It comes to minus 0.740 for price weights, compared with minus 0.303 for cap weights. As price weights concentrated over the sample, that drift consumed almost all the rebalancing gain.

Rebase the price-based portfolios against the cap benchmark and they finish at +0.475 to +0.479 on the cap universe and +0.518 to +0.577 on the price universe. Every p then beats its cap-based counterpart. The authors themselves attribute most of this to weighting rather than to a portfolio gain over its own benchmark. On the cap universe, the 0.48 weighting effect accounts for almost the entire rebased gain. Changing p from 0.1 to 0.9 moves the result by only 0.004 there. A trader looking at that panel is essentially looking at the price-weighted index, plus or minus a rounding error. On the price universe, p changes the outcome by 0.059, matching the spread in own-benchmark gains from +0.007 to +0.066.

These are frictionless results. We found no cost or turnover figure for the generated portfolios. The price universe replaces 51 names per quarter, versus 23 in the cap universe. On the cap universe, costs the paper does not charge could wipe out the price-based portfolio's +0.007 at p = 0.1 over twenty years. The larger price-universe gain, +0.066, also has to withstand costs associated with 51 replacements a quarter.

Split jumps point in opposite directions

At p = 0.1, cumulative jumps in the diversity function are +0.119 on the cap universe and minus 0.146 on the price universe. The authors offer an explanation. A stock that splits in the cap universe tends to have a high price, so the split can even out price weights. Among the 500 highest-priced stocks, a splitter may already have a weight below 1/500. A further forward split can make that universe's price weights less even and reduce diversity.

The wealth decomposition subtracts those jumps; they represent neither portfolio gains nor portfolio losses. The authors state the distinction precisely: "This comparison concerns an omitted accounting correction, not a counterfactual market in which the splits did not occur."

Implementation still requires choices the theory leaves open. The authors infer splits from share-count and capitalization changes: a share-count change above 15% alongside a capitalization change below 15% qualifies. They leave events unclassified when both changes exceed 15%. The theory fixes the constituent set, whereas the test chain-links 79 reconstitutions. Continuous-time terms are turned into daily sums without a quantified approximation error. Closing-price sums produce the price-weighted indices; capitalization sums produce the cap-weighted ones. We did not find a statement on dividends or delisting returns.

Our run, 2020 to mid-2024

We ran one portfolio: a price-ranked, price-generated basket at p = 0.1, rebalanced daily at the close. From 2020-01-01 to 2024-07-01, it returned 39.6% in total after commissions of $0.004 a share with a $1 minimum. Across 160,880 trades, its beta to SPY was 1.00, annualized volatility was 23.08%, and maximum drawdown was -47.54%. For the same configuration, the paper reports +0.066 log units over its price-weighted benchmark from 2002 to 2021, gross. Our figure is roughly 0.33 in log terms and absolute. The measures differ, so its larger size says nothing stronger about the strategy.

The metric and the dates explain much of the difference. Our beta of 1.00 leaves the full equity-market move in our absolute return; the paper's relative measure removes it. Only 2020 and 2021 overlap between the windows. Our run also misses 2008 to 2009, when the paper's price-based gains built up before later eroding. The universes differ as well: we choose 500 names by raw price from a capitalization-sorted candidate screen of 2,843 symbols, potentially excluding high-priced small caps. Commissions across 160,880 trades probably reduce our relative excess below a frictionless equivalent. Our 10% position cap and adjusted-close benchmarks could move that comparison either way. This was one automated pass, rather than a verdict on the authors' work. It does not test whether the generated portfolio beats its own price benchmark. We have not yet computed the necessary relative wealth against the matching self-financing index.

The paper's contribution is its split-aware accounting. It proves the wealth-preserving restart and the change-of-basis identity. Its strongest empirical finding is the 0.48 to 0.51 cumulative log-level advantage of price weighting over cap weighting on one exchange during one period. An out-of-sample period in which price weights stopped concentrating would change our reading.

Our backtest stops at 2024-07-01, and everything after that date is deliberately left untouched so the same strategy can be checked out of sample later.

How our backtest worked

The steps the code we ran actually executed, from its strategy card. Ours, not the paper's — it is one automated implementation of the idea, not the authors' own.

At each quarterly selection, form separate eligible 500-stock baskets ranked by raw price and annual-screen capitalization within the screened candidate pool.
For the executable basket, use the preceding available close's nominal-price state and p = 0.1; set desired weights proportional to state_i^p.
Account for effective constituent splits without booking a split gain. At each daily close, rebalance toward desired weights using observed adjusted-close fills, subject to the 10% position cap, leverage limit and available data; otherwise skip affected orders.
At quarterly replacement, trade outgoing and incoming names at available closes and chain-link wealth.
Track the remaining universe × basis × exponent combinations and their matching self-financing benchmarks as shadow diagnostics only.