D14 · F02 · A03

Risk budgeting

Choose the share of measured volatility risk each asset should carry. The compiled allocator computes capital weights; it does not repair prices, splits, quantities, FX, or stale evidence.

Choose inputs

0.80

The other pairwise covariances stay fixed in this synthetic case.

Try a blank budget, a total other than one, or the rejection scenario. Each invalid state clears the prior table.

Ready

Compute the default 50/30/20 risk budget to begin.

See the calculation in four honest stages

1 · Choose2 · Solve3 · Inspect4 · Compare

Stage 1: the covariance and budgets are editable inputs. No weight is implied yet.

Keyboard: focus a stage button, then Shift+Right to step or Shift+Left to go back.

Evidence boundary

Do not turn bad evidence into zero risk. The prior Stale-Quote Detector method motivates this synthetic boundary: flat returns alone do not prove an outage, and a stale/split-invalid series must not receive an infinite allocator weight. Quantity × local mark × FX (base per local) is market value, not cost basis; local and base-currency covariances can differ.

This panel is an upstream-validation reminder. It is not a provider adapter and does not infer a historical event.

Computed local/base contrast

On four aligned synthetic intervals, a local-return ERC check gives weights 38.7426% / 61.2574%; after the same observations are expressed in USD, the base-return ERC check gives 32.0372% / 67.9628%. The equal 50% / 50% figures are risk shares, not weights. This illustrates why currency basis belongs upstream of allocation.