Overview
Every Arithmos index displays a hypothetical historical equity curve alongside summary statistics (CAGR, volatility, max drawdown, Sharpe, Sortino and where applicable Brinson attribution). These statistics are produced by replaying the index’s rules over historical price data — they are simulated and do not represent actual trades.
Universe construction
The universe for each backtest is the set of holdings produced by the index generation step at the date the backtest is run. We do not re-derive holdings as of each historical rebalance date — meaning today’s holdings are projected backward over the simulated period. This introduces a degree of selection bias because the chosen names are, by construction, those that survived to the run date.
Price and corporate-action data
Daily adjusted close prices are sourced from Yahoo Finance and Financial Modeling Prep. Adjusted closes incorporate splits and ordinary cash dividends. Spin-offs and special distributions are handled via the data provider’s adjustment factor and may differ from total-return indices computed by other providers. Securities without a complete history over the requested window are either dropped or contribute only over the window for which data is available, depending on the engine mode.
Weighting and rebalance
Indexes are weighted using one of: equal-weight, market-cap-weight, inverse-volatility, risk-parity, or a custom weight vector supplied by the model at generation time. Unless otherwise specified, the backtest uses a monthly rebalance cadence with a buy-and-hold assumption between rebalance dates. Cash drag is assumed to be zero (no idle cash earning the risk-free rate) unless an explicit cash sleeve is part of the index definition.
Transaction costs and slippage
Backtests display gross-of-cost performance by default. We do not subtract commissions, bid-ask spread, market impact or borrowing costs from returns. Real-world implementation will incur these costs, which can materially reduce realised performance — especially for high-turnover indices, small-cap names, or large notional sizes.
Risk-free rate and risk-adjusted statistics
Sharpe and Sortino ratios use the US 3-month Treasury yield as the risk-free rate, sourced via Financial Modeling Prep. Where the backtest period spans multiple risk-free regimes we use the contemporaneous yield rather than a single average. Volatility is annualised using a √252 trading-day convention.
Attribution
Where Brinson-Hood-Beebower attribution is shown, the breakdown decomposes excess return versus a benchmark (default: SPY) into allocation, selection and interaction effects. Sector groupings use the GICS classification supplied by the data provider; missing or unmapped tickers are pooled into an “Other” bucket.
Known biases and limitations
Backtests on Arithmos are subject to the standard biases that affect all simulated portfolios:
- Survivorship bias. Securities that have been delisted may not appear in the universe.
- Look-ahead bias. The universe is selected with knowledge that did not exist at past rebalance dates.
- Data-snooping bias. Iteratively refining a prompt until the backtest looks good is a form of in-sample over-fitting. Out-of-sample behaviour will differ.
- Cost omission. Commissions, spreads, market impact and short-borrow are excluded by default.
- Tax effects. All returns are pre-tax. Realised after-tax performance will be lower and depends on your jurisdiction.
- FX.Performance is reported in the index’s base currency without hedging, and currency moves can dominate short windows.
Use the numbers as a sanity check, not a forecast
A backtest tells you what would have happened if you had run a specific rule over a specific historical window using a specific dataset. It does not tell you what will happen. Treat backtest metrics as one input into your own diligence, not as a prediction — and read the risk disclaimer before acting on anything you see.