Data methodology and model limitations
The site contains several tools with different datasets and timing rules. “Monthly data” does not mean they use identical observations. This page describes the implementation inspected on September 7, 2026 and gives readers a way to check the data behind a result.
Main simulator: Single, Compare, and Portfolio
The public price API reads the prices_monthly table. The ingestion script selects the first available trading-day observation in each month from the upstream daily database. The API returns the observation date and close; it does not expose a separate dividend or corporate-action ledger. An IPO month can begin later. Stocks and ETFs use the upstream adjusted-close field, which can reflect dividends and splits. S&P 500 is the ^GSPC price index, without reinvested dividends.
Initial capital buys at the first selected observation. Monthly contributions also buy at that first observation and every subsequent selected observation, including the last. Thus twelve observations mean twelve monthly deposits but only eleven intervals of price change. Fractional units are allowed. Portfolio mode allocates deposits by target weights and optionally resets holdings to those weights at monthly observations. Compare mode applies the chosen cash schedule independently to each series. Check the displayed date coverage, especially when a stock listed later than your requested start.
Units multiplied by the final close give ending value. Contributions are not investment returns: a growing deposit-funded account can hide losses in its holdings. Do not interpret a ratio of gain to cumulative deposits as an annualized investment return. Taxes, broker charges, spreads, cash interest, and inflation are not modeled. Adjusted prices do not constitute a separate dividend-payment simulation. Our cash-schedule study demonstrates the deposit timing explicitly.
Quant Lab and weekly Returns
Quant Lab uses separate topn_* tables, exposed by /api/topn. The monthly series is sampled at month end, with the current incomplete month allowed to advance to its latest available observation. The universe is current S&P membership applied backward, not a record of historical constituents. Current share counts are also used as a historical approximation. Both affect market-cap rankings and can materially bias every strategy; the direction and size are not corrected by this tool.
Factor-specific ranking, lag, and rebalance rules appear in the help center. Value and quality use limited annual fundamentals and reporting-lag assumptions. A fixed lag is not proof that every value was publicly known on the simulated trade date. Results exclude trading costs, delisting outcomes, and the complete investable universe at each historical date. The weekly Returns table has a separate calculation schedule, so its endpoints need not match a manually configured backtest.
Bubble Meter
The meter averages four component percentile ranks: concentration, trailing-return leadership gap, weak participation, and leader valuation. It uses only months with all four components. Component distributions include the full loaded history, so older scores can change as new observations arrive. The average of four percentile ranks is a composite score, not itself the percentile rank of the composite. It is neither a crash probability nor a validated trading signal. It inherits the membership, share-count, and fundamental-data approximations above.
Retirement simulator
The payroll model and retirement price table are separate from Single mode. Read its fund-proxy descriptions and contribution assumptions before comparing it to a statement from TSP or a 401(k). A proxy series may differ from an official fund's total return, holdings, fees, or benchmark changes. Payroll conventions, historical contribution limits, matching eligibility, and fund selection matter; modeled output is not an official benefit calculation. The current I Fund includes emerging markets as well as developed markets, while older proxy history may use the earlier benchmark.
Freshness and corrections
Inspect the last returned observation and the tool's date range rather than assuming every component updates together. Scheduled updates depend on successful data collection and publication. The original studies freeze their own input snapshot so later vendor corrections do not silently rewrite their results. Their checksum verifies file integrity, not the economic accuracy of the upstream feed.