Calculation contract
trade_i = after_i - before_i; gross = sum(abs(trade_i)); one_way = gross/2| Input | Allowed values | Meaning |
|---|---|---|
| before | 2-50 nonnegative weights summing to one | Drifted pretrade weights at the measurement time |
| after | Same-length weights summing to one | Posttrade targets on the same NAV basis |
Method and interpretation
Moving 60/40 to 40/60 sells 20% of NAV in one exposure and buys 20% in the other. Gross traded weight is 40%; the half-sum convention reports 20% one-way turnover. Both are retained because cost formulas and reports can use different denominators.
The before vector must describe holdings immediately before the rebalance. Comparing today with an older target omits price drift and can understate or overstate the actual rebalance. An asset-order mismatch can also create fictitious trades even when totals look correct.
Where the reference stops
The half-sum convention presumes a fully invested, self-financing comparison on one NAV basis. External flows, leverage changes, cash accounting and derivatives require a richer trade ledger. The card never silently normalizes weights to hide those differences.
Published synthetic inputs
{
"before": [
0.6,
0.4
],
"after": [
0.4,
0.6
]
}Frozen calculation output
{
"trades": [
-0.19999999999999996,
0.19999999999999996
],
"gross_traded_weight": 0.3999999999999999,
"one_way_turnover": 0.19999999999999996
}Both vectors use the same pretrade NAV and asset order, sum to one, and exclude external flows. before means drifted pretrade weights, not an earlier target.
Verification coverage
- No trade, full rotation and partial balanced reallocation.
- Sum-one, alignment and unsigned-weight constraints tested.
Unit and independent-reference checks test arithmetic and rejection rules, not future investment performance.
Method references
Read the assumptions in context
Allocation referencesTurnover definitions: count the trades before comparing the number
Distinguish gross trading, half-turnover, cash movements and drift using a fully reconciled synthetic rebalance.
Allocation referencesTransaction cost units: from a quoted rate to portfolio drag
Reconcile basis points, trade notional, ticket fees and portfolio-level drag without confusing a cost assumption with observed execution.