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

Platen and Fergusson's EWI1 likelihood ratio: 2.80 versus 0.0000566 printed

Table 5.10 reports ratios of log-likelihoods. The authors attribute EWI163's 0.139 annual growth over cash to equal weighting.

2026-11-06 · 8 min read · Activity-Time Risk Management · US equity ETFs

Reviewing: Information-Theoretic Model for the Growth Optimal Portfolio of Stocks · Eckhard Platen and Kevin Fergusson · Read it on arxiv

Our backtest of this idea

Our automated quick test, not the paper's

SPY Activity-Time Hysteresis Overlay with Matched Realized-Volatility Control

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

Why these figures are not the paper's (3)

Run on a different market than the paper

Use SPY as a US equity benchmark proxy instead of the MSCI world index or EWI163. The quadratic-variation activity-time construction and associated risk-modeling mechanism apply to positive diversified stock-portfolio paths, but SPY is not established as growth-optimal and its results cannot reproduce the original portfolios' reported growth rates.

The paper's own figures describe its universe and do not carry over to ours.

This is not a replication of the paper (2)

  • The proposed backtest evaluates an activity-based allocation overlay derived from the model, not a replication of the EWI163 construction or benchmark-neutral derivative pricing and hedging claims.
  • Daily squared increments provide a discretized quadratic-variation estimate, not continuous observation of activity time; sensitivity to sampling and trailing calibration must be tested.

The figures below measure what we could run, not the paper's own method, so they are not evidence for or against its claim.

Our own audit found this run does not follow the paper faithfully (3)

  • Paper benchmark universe: constructed global EWIs and MSCI rather than SPY.: Use only adjusted SPY observations and SPY holdings. (invalidates: The paper's fitted activity-time values and R-squared values are not SPY acceptance criteria; Table 5.6 distributional estimates are not SPY calibration parameters; Table 5.8 EWI and MSCI performance is not expected SPY overlay performance)
  • Paper simulation uses calendar-time step Δ=1/262; the task uses daily observations and 252-session annualization.: Use observed daily SPY increments and the specified 20-session finite-difference activity rate with 252-session annualization. (invalidates: Illustrative EWI163 simulation paths and their simulation parameter calibration are not reproduced)
  • Section 4 uses proportional transaction cost κ̄=0.004 for constructed EWIs.: Apply the task's one-basis-point fee plus two-basis-point explicit slippage cost on both SPY purchases and sales. (invalidates: The paper's EWI net performance cannot be transferred to the SPY overlay)

These are our findings about our own implementation, not criticisms of the paper. Read the figures below as a description of what we ran.

Jan 2020Total 57.0%Jul 2024
Sharpe
0.99
Total Return
57.0%
Max Drawdown
-17.4%
CAGR
10.6%
Volatility
12.8%
Beta vs SPY
0.31
Trades
5

What the paper reports for its own strategy

  • EWI163 (authors' equal-weighted 163 sub-industry index, 67 countries, 40bp proportional transaction costs, US savings account denomination, i.e. in excess of cash): average annualized growth rate 0.139 versus 0.05 for the MSCI, Jan 1973 to Jul 2024 (Figure 2.1).
  • EWI163 annualized location g p.a. 0.177133 and annualized sigma 0.130138 from the best-fitting (Student t) daily log-return density, versus MSCI 0.092883 / 0.132690, 1973 to 2024, 40bp costs (Table 5.8).
  • Other authors' EWIs, Table 5.8, g p.a. / sigma p.a., 40bp costs: EWI1 0.101776 / 0.111741; EWI11 0.124043 / 0.106853; EWI25 0.142880 / 0.166010; EWI74 0.162391 / 0.142644.

EWI163's 0.139 annual growth over cash is the number a trader would want to pursue. The authors attribute it to equal weighting across 163 sub-industries. Their model's new element is the activity clock, which the paper never tests as a signal. Those claims need to stay separate when adapting the idea to a tradable book. Only the clock travels.

The model Platen and Fergusson built

The growth-optimal portfolio supplies the starting point; the authors call it the benchmark. Following Platen (2026b), they assume that the stationary densities of normalized factors and normalized activity maximize surprisal, which they equate with Shannon entropy. That assumption yields a minimal market model (MMM). Under the benchmark-neutral (BN) pricing measure, which uses the benchmark as numéraire, the benchmark follows a time-changed squared Bessel process of dimension four. Its clock is activity time τ. To construct it, take the quadratic variation of the square root of the cash-denominated index, add e^{τ0}, then take the log. Activity measures the clock's speed, its derivative.

The model makes two predictions. The normalized benchmark Y follows a CIR process of dimension four with mean 2. Squared volatility in activity time, 2/Y, therefore has an inverse gamma distribution. Log-returns should follow a Student t with four degrees of freedom. Random activity in calendar time should pull the estimated degrees of freedom slightly below four.

The authors model activity through an exponential moving average of the driving Brownian motion. They interpret its smoothing parameter κ, between 1 and 2, as evidence of traders overreacting. Normalized activity is the scaled squared increment of that average. It follows a dimension-one CIR process, the square of an Ornstein-Uhlenbeck process.

For the empirical work, the authors construct equal-weighted indices (EWIs) using daily Thomson-Reuters GICS data from 67 countries, January 1973 to July 2024. Within each of 11 sectors, 25 industry groups, 74 industries or 163 sub-industries, country indices receive equal weights. The global indices formed this way are equal-weighted again. Turnover incurs a 40bp charge. Measured in US savings-account units, EWI163 grows by 0.139 annually, compared with 0.05 for the MSCI world total return index. Student t fits produce degrees of freedom ranging from 3.15 (EWI1) to 3.48 (MSCI). A likelihood ratio test against the four-parameter symmetric generalized hyperbolic (SGH) density fails to reject the t for every index.

Equal weighting across 163 sub-industries explains EWI163's growth

No activity term enters the EWI recursion. The 8.9-point growth gap concerns naive diversification across 163 sub-industries and 67 country markets, following Platen and Rendek (2012). The authors make that attribution themselves: incorporating increasingly diverse sources of randomness "by applying equal weighting, results in higher average growth rates". Growth increases with finer groupings in Table 5.8: 0.102 for EWI1, 0.124 for EWI11, 0.143 for EWI25, 0.162 for EWI74 and 0.177 for EWI163.

Volatility requires a closer look. EWI163's σ of 0.130 in Table 5.8 matches its normal-fit daily σ of 0.008071 multiplied by √260. Applying the same calculation to EWI25 gives 0.166 from a normal σ of 0.010296. Its Student t scale, however, is just 0.004292. A sample standard deviation that high usually reflects a few enormous days. The authors identify one: a 2020 jump caused "by a single significant price jump of a Venezuelan stock". They say excluding it would bring the degrees of freedom closer to four.

The paper describes EWI163's volatility as approximately equal to the MSCI's. EWI25's 0.166 is considerably higher than the MSCI's 0.133. Dividing normal-fit standard deviation by Student t scale gives 1.52 for the MSCI, 1.60 for EWI1 and 1.59 for EWI11. For EWI25, EWI74 and EWI163, the ratios are 2.40, 2.06 and 1.84 respectively. These are the three indices the paper says contain the 2020 Venezuelan jump.

The prose also conflicts with the table. Growth "over 0.17" and volatility "less than 0.11" are described as attainable for EWI11, EWI25, EWI74 and EWI163. Yet Table 5.8 reports 0.124 growth for EWI11 and 0.166 volatility for EWI25. EWI163 also has different growth figures: 0.139 in Figure 2.1 and 0.177 in Table 5.8. Between those sources, the MSCI gap is 0.043 and the EWI163 gap is 0.038. Both are close to a cash rate, suggesting that Table 5.8 uses USD rather than savings-account units. Section 4.1 expresses index values in US dollars. Section 5 does not say that log-returns were converted to savings-account units. Because the gaps differ, a single cash deflator cannot explain them fully.

Rebalancing occurs at every observation, hence daily. We found no turnover figure. The flat 40bp charge is fixed "for simplicity" and applies even to frontier-market sub-industry indices.

What does the activity clock add to realized volatility?

Building the clock is straightforward. Accumulate squared daily changes in √(index/cash account), add a constant and take logs. Across five decades the result is nearly linear. For the MSCI, the slope is 0.065 and R² is 0.993; for EWI163, the slope is 0.171 and R² is 0.976. The authors choose the starting constant to maximize that R², obtaining τ0 of -3.6 and -6.9. This choice estimates one number per index in-sample. In calendar time, the derivative moves quickly and spikes, including a jump at the 1987 crash.

A trader needs to know what activity adds. Equation (3.15) expresses calendar-time squared volatility as 2a/Y. Rearranging it makes activity equal to squared volatility times Y/2. The sole distinction from realized variance is Y = S/(2e^τ), the index level relative to its clock. An activity timing rule therefore reweights a volatility signal by how stretched the index is. Any adaptation needs to demonstrate that this Y term contributes something absent from a matched realized-volatility rule.

The paper does not run that test.

Instead, it illustrates the activity model with a simulation using κ = 1.97, ā = 0.15 and ξ = 0.0042. The paper calls these estimated parameters of the daily EWI163. We did not find an estimation procedure or standard errors. Its predicted variance-gamma density with one degree of freedom applies to high-frequency returns, and the only tests offered are from cited literature. On the paper's daily sample, VG has the lowest likelihood among the heavy-tailed fits: 49203.09 versus 49519.80 for the Student t on EWI163.

Table 5.10 prints 0.0000566 for EWI1; recalculation gives 2.80

Using the printed log-likelihoods, recompute L = 2(ℓ_SGH − ℓ_t). For the MSCI, 2 × (46994.43 − 46994.36) = 0.14. For EWI11, the result is 0.98. EWI1 gives 2 × (49524.41 − 49523.01) = 2.80. EWI25, EWI74 and EWI163 each give zero to two decimals. For the first three, Table 5.10 instead prints 0.00000298, 0.0000194 and 0.0000566. Those values match -2 ln of a ratio of log-likelihoods rather than likelihoods. For EWI1, 2.80/49524 = 5.65 × 10^-5.

The authors' conclusion of no rejection at 1% still holds: 2.80 is below 6.635. The apparent margin of comfort shrinks. EWI1's 2.80 exceeds the 10% critical value of 2.706. The Student t also lies at ᾱ = 0, on the boundary of the SGH parameter space. At that boundary, the null distribution mixes a point mass at zero and χ²(1) in equal proportions. This halves the p-value to about 0.047. One of the six indices then rejects at 5%. There is a further problem with multiplying likelihoods over days: the paper's own random-activity model implies that daily returns are not i.i.d.

Even an untroubled test would establish only that the marginal density resembles a t. Before fitting, the paper predicts degrees of freedom between three and four. Its reported fitted range extends further: "smaller than 4 and larger than 2.9". EWI1's SGH-implied 2.91 falls below the predicted floor of three. No number accompanies the explanation that activity and jumps account for lower values. Nor can a density test establish whether activity helps with timing.

Our SPY adaptation

We could not trade EWI163 or the MSCI. We substituted SPY, a US equity ETF whose growth optimality has not been established. Our run applies an activity-based allocation overlay derived from the model. It neither reconstructs the EWI indices nor addresses the BN pricing and hedging claims. We estimate quadratic variation from discretized daily squared increments and calibrate over a trailing window.

The overlay first divides SPY by a cash account accruing lagged fed funds, then accumulates squared √ increments. From 401 candidates, it selects the log constant that maximizes R² over 1,260 training days, mirroring the authors' τ0 selection. That constant then stays frozen. We measure activity as the annualized 20-day change in the log clock. The book switches to cash above activity's expanding 90th percentile and re-enters below the 50th, with execution at the next open. Alongside it, we run buy-and-hold and a realized-volatility book using identical hysteresis. The period is January 2020 to July 2024.

The activity book earned 57.02% in total during that window. Its Sharpe was 0.99 and Sortino 1.11. Annualized volatility came to 12.79%, max drawdown to -17.37% and Calmar to 0.61. Every figure here belongs to the activity book. We have no figures for either the realized-volatility control or buy-and-hold.

Our 57.02% total return covers four and a half years in SPY. The paper's 0.139 annual return above cash for EWI163 covers 1973 to 2024. Its 0.139 and 0.177 figures describe a 163-index global portfolio held over 51 years without timing. Differences between our result and theirs tell us nothing about the paper. Our trades execute at the next open, and costs use the broker commission model rather than our intended 3bp one-way charge. With only the activity book reported, this run cannot establish whether Y adds information beyond realized volatility.

Two implementation choices matter more to our result than the theory. The window contains one sharp stress episode, March 2020. Any switching benefit therefore depends on a single event. Residual cash earns zero, although the signal accrues fed funds, penalizing periods out of the market through 2023. A thin or flat outcome here says more about our one-pass build than about Platen and Fergusson.

We would change our view if the activity book beat the realized-volatility control with identical costs. Only that comparison would earn the Y term in 2a/Y its place.

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.

1. Load adjusted SPY opens/closes and DFF history. Identify the last
   pre-evaluation close as the first decision close.
2. Form exactly 1,260 training increments plus their initial close,
   ending strictly before that first decision close. Fix this origin.
3. Initialize B=1. Accrue B daily using the latest eligible DFF observation
   dated at least two US business days earlier, including weekend accrual.
4. Compute X=P/B and cumulative Q=sum((sqrt(X_i)-sqrt(X_(i-1)))^2).
5. For j=0,...,400, set c_j=Q_train*10^(-4+8*j/400).
   Regress log(c_j+Q_i) on elapsed calendar days with an intercept.
   Freeze the c maximizing training R-squared; exact ties choose smaller c.
6. Compute A=log(c+Q), activity a=(252/20)*(A_t-A_(t-20)), and
   RV=sqrt(252)*sample_sd(last 20 adjusted-close log returns, ddof=1).
   Seed separate expanding histories with valid training observations.
7. At each decision close, require valid training, the fixed-origin path,
   eligible rates, both current signals, and at least 252 prior valid
   observations in each signal history. Otherwise target restored exposure
   for both overlays; never shorten training, reset Q, or invent observations.
8. For each active overlay independently:
   compute prior-history 90th and 50th percentiles using linear interpolation;
   if current signal > 90th percentile: target cash;
   else if current signal < 50th percentile: target fully invested;
   else: retain state, including threshold equality.
   Append the current valid observation only after making the decision.
9. Execute the preceding close's target at the next adjusted open.
   Preserve existing holdings through the overnight gap. Fund purchases and
   costs from cash; retain shares without daily rebalancing if unchanged.
   Check the 4x-initial-capital platform ceiling before each purchase.
   Missing execution open: skip the trade and disclose it.
10. Buy-and-hold purchases at the first evaluation open and retains shares.
    Mark all remaining holdings at the final close without forced liquidation.

The specification requests identical explicit 3 bp one-way costs for all books. The reported metrics instead reflect the platform's recorded commission/MOO convention shown below; comparator cost parity and self-financing behavior require reconciliation with that recalculation.