Alternative Weighting
6 algorithms in Index and Benchmark Engineering · 6 with asserted arithmetic.
In this family#
-
Fundamental-Weighted Index verified
Weight by accounting size — sales, book value, cash flow, dividends — instead of market price. The argument is that price-based weighting mechanically overweights whatever is currently expensive.
calculate(data) -
Dividend-Yield-Weighted Index verified
Weight by dividend yield. Straightforward arithmetic with a well-known failure mode: yield rises as price falls, so the construction naturally overweights companies in distress.
calculate(data) -
Factor-Score-Weighted Index verified
Weight by a composite of factor scores — value, quality, momentum — with a floor so negative scores cannot produce negative weights.
calculate(data) -
Minimum-Volatility Index verified
Solves for the weights that minimise portfolio variance for a given covariance matrix. The result is only as good as the covariance estimate, which is the part that is hard — not the optimisation.
calculate(data) -
Equal-Risk-Contribution Index verified
Risk parity: weights chosen so every constituent contributes the same share of total portfolio risk. Equal *risk*, not equal money — a volatile asset gets a smaller position.
calculate(data) -
Thematic-Tilt Index verified
Tilts a parent index toward a theme by scaling weights with a theme score, bounded so no single name runs away. Keeps the parent's diversification while expressing a view.
calculate(data)
What they share#
Every topic here is a record-transform, so once you have
called one the rest follow the same shape. Import paths differ only in the final segment:
import { calculate } from "fintech-algorithms/index-and-benchmark-engineering/alternative-weighting/fundamental-weighted-index";
import { calculate } from "fintech-algorithms/index-and-benchmark-engineering/alternative-weighting/dividend-yield-weighted-index";Read them in the order above — the sequence is pedagogical, not alphabetical.
Where this sits#
Index and Benchmark Engineering collects 40 algorithms across 6 families. For the concept behind this family rather than the call signatures, see the concept guides.