Historical Data

disabled for public users

Factor Prices

Historical data used in factor risk model, as at April 2026 — select factors to display (Ctrl/Cmd-click to multi-select).

Stock Prices — S&P 500

Historical data used in factor risk model, as at April 2026 — select tickers to display (Ctrl/Cmd-click to multi-select).

Risk Model

disabled for public users

About this model: a standard full-period covariance matrix fit on 10 years of monthly data, equal-weighted across the window.
With a richer dataset, I would develop:
1. A rolling EWMA estimator with a decay half-life tuned to the rebalance horizon, for more forward-looking risk assumptions.
2. A library of pre-calibrated stress regimes (COVID crash, '08 GFC, rate-shock episodes, etc.) users could select from to understand the relationships in those environments.

How to use: select the factors and tickers you want to compare, then press Plot.

Show values as correlations

Inputs

Initial Holdings and Ticker Restrictions

Example details below, or enter your own. Start typing a ticker to filter the dropdown. To add restrictions on assets not held, just leave the quantity, cost and date blank, and tick yes for the restriction needed.

Ticker Price Quantity Cost_per_share Embedded Gain Cost_date Unrestricted Do Not Trade Do Not Buy Do Not Sell Exclude / Force Sell

Portfolio Construction

Upper bound on how many stocks the optimizer can hold. Minimum stock positions kept after filtering near-zero weights. Auto-set to 90% of the max. How far any single stock's weight can deviate from its benchmark weight. How far any sector's total weight can deviate from the benchmark's sector weight. Floor on sector weight as a % of benchmark (50 = at least half the benchmark weight). How far any size bucket can deviate from benchmark. Size buckets are built by sorting the benchmark by weight and splitting it into 5 equal-count groups (Large / Mid Large / Mid / Mid Small / Small). Floor on size-bucket weight as a % of benchmark. Maximum cash fraction of the portfolio. Minimum cash fraction of the portfolio. Tax rate applied to realized gains on shares held more than 12 months. Tax rate applied to realized gains on shares held 12 months or less. Hard dollar cap on net realized gains during this rebalance — losses offset gains. Cap how far the portfolio's sensitivity to each macro factor can drift from the benchmark's (via the Z-score below). Switch the objective to minimize realized net gains (harvest losses) subject to a TE cap. Falls back to standard TE-min when the cap can't be met.
Minimize tracking error within constraints. Initial holdings are excluded from max weight restrictions on stock, sector and size, to reduce conflicts with the realized gains cap. Factor exposure and tax alpha conditions are optional parameters.

Results

No results yet — go to the Inputs tab and press Analyze Initial Holdings or Create Portfolio.