Calculation contract
w_i = (1 / sigma_i) / sum_j(1 / sigma_j)| Input | Allowed values | Meaning |
|---|---|---|
| volatilities | 2-50 decimal values, 0.000001 to 10 | Strictly positive, same-frequency standalone volatility |
Method and interpretation
A 10%, 20%, 40% volatility vector creates weights in the ratio 4:2:1. The common normalization sets total capital weight to one. Multiplying every volatility by the same positive scale leaves the weights unchanged.
This reference is useful for checking a proposed weighting implementation, including its asset order and zero-input policy. It does not estimate volatility from prices. Choose and document the estimator, lookback and cutoff elsewhere before passing a vector here.
Where the reference stops
Correlations are absent. In general the output is not an equal-risk-contribution solution, and a low historical volatility estimate can concentrate capital. Zero is rejected instead of receiving an infinite weight. All inputs must use one frequency.
Published synthetic inputs
{
"volatilities": [
0.1,
0.2,
0.4
]
}Frozen calculation output
{
"weights": [
0.5714285714285714,
0.2857142857142857,
0.14285714285714285
],
"weight_sum": 1
}Positive same-frequency decimal volatilities only. Correlations are not used; this is not a general equal-risk-contribution solver.
Verification coverage
- Scale invariance, normalization and equal-volatility equality.
- Zero, negative, null and string values rejected.
Unit and independent-reference checks test arithmetic and rejection rules, not future investment performance.
Method references
Read the assumptions in context
Allocation referencesWhen Inverse Volatility Is, and Is Not, Risk Parity
Inverse-volatility weights equalize weighted standalone volatility. Equal portfolio risk contributions require correlation information except in special cases.
Risk measurementCovariance Units and Frequency Must Travel With the Matrix
Decimal versus percentage returns and daily versus annual horizons change covariance scales. Correct matrix multiplication cannot repair mismatched units or unsupported time aggregation.