Loading the latest snapshot of the Ballast Core portfolio.
Overview
Holdings
Quantities: shares; bonds in $100-face units; options in shares covered (100 per contract); the swap in notional/100, negative when paying fixed. Bond prices include accrued interest.
Rates
Treasury holdings
SOFR swap
Rate scenarios
Full revaluation off a shocked curve, against the first-order key-rate estimate. The gap is convexity.
Options and swap
Delta-adjusted exposure
Risk
Backtest tests
p-values below 0.05 reject the model. Kupiec: wrong number of exceptions. Christoffersen: exceptions cluster together. Conditional coverage: both. Basel zone: exceptions in the latest 250 days (green 0 to 4, yellow 5 to 9, red 10 or more).
Stress episodes
Construction
Assets
Portfolio weights
Attribution
Where the difference came from
By year
Brinson-Fachler effects, linked across days with Carino's method so they add up exactly to the cumulative active return. Allocation: over- or underweighting segments that beat or lagged the benchmark. Selection: holdings beating or lagging their own segment's benchmark.
Model checks
Each model is tested against something published independently. The live checks below use this snapshot's data; the rest run on every commit in the test suite.
API
Every number on this page also comes from a read-only REST API. Run ballast serve and open http://127.0.0.1:8000/api/docs to call it; the reference below is generated from the same OpenAPI schema.