Calculation contract
cost_fraction = gross_traded_weight * cost_bps / 10000; net_approx = gross_return - cost_fraction| Input | Allowed values | Meaning |
|---|---|---|
| before | Aligned long-only weights summing to one | Drifted pretrade fractions |
| after | Same-length weights summing to one | Targets before cost-funded cash adjustment |
| cost_bps | 0 to 1000 basis points per traded notional | Same assumed rate for buys and sells |
| gross_return | Decimal, -1 to 10 | One-period return before this assumed cost |
Method and interpretation
The default gross traded fraction is 0.4 and the per-side cost is ten basis points, or 0.001. The assumed drag is therefore 0.0004 of starting NAV, equal to four basis points. Subtracting it from 0.02 gives an approximate net return of 0.0196.
Multiplying the same rate by one-way turnover would halve the stated per-side cost. Conversely, an already round-trip cost quote cannot be used as a per-side rate without adjustment. Record the quote convention before comparing outputs.
Where the reference stops
This linear reference is not an execution estimate. It has no participation, spread, impact, tax, financing or order timing model, and does not re-solve holdings after fees. A net approximation below -100% is possible under extreme inputs and signals that the additive illustration is outside a feasible funded account.
Published synthetic inputs
{
"before": [
0.6,
0.4
],
"after": [
0.4,
0.6
],
"cost_bps": 10,
"gross_return": 0.02
}Frozen calculation output
{
"trades": [
-0.19999999999999996,
0.19999999999999996
],
"gross_traded_weight": 0.3999999999999999,
"one_way_turnover": 0.19999999999999996,
"cost_fraction": 0.0003999999999999999,
"net_return_approximation": 0.0196
}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.
Symmetric basis-point cost per buy and sell notional. Linear one-period approximation; no spread/impact calibration, tax, financing or cash re-solve.
Verification coverage
- Basis-point conversion, gross-versus-one-way factor and zero-cost identity.
- Costs remain explicit in exports and never relabelled as actual broker charges.
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.