Choose the definition before comparing strategies
Let B be total purchase value, S total sale value and A positive average portfolio assets over the same measurement window. Values must share one currency and one asset scope. These labels are not standardized across all software; save the equation beside the result. The following are account research conventions, with the regulated fund definition treated separately below.
- When B = S, half-gross and smaller-side turnover agree and two-way turnover is twice either. The identity does not hold for the smaller-side measure when B differs from S.
- Count executed amounts, not submitted or canceled orders. Opening purchases and closing sales both contribute to a cost budget, including executions belonging to positions still open at the end of the window.
| Convention | Formula | What it counts |
|---|
| Two-way turnover | (B + S) / A | Both sides of gross executed trading. |
| Half-gross one-way turnover | (B + S) / (2 × A) | Half the gross traded amount, even when buys and sells differ. |
| Smaller-side turnover | min(B, S) / A | The smaller of total purchases and total sales. |
| Purchase or sale ratio | B / A or S / A | A single specified side, useful when cash allocation changes. |
Recalculate a quarter from amounts and average assets
Assume a hypothetical long-only USD account with four quarterly valuation snapshots: opening $100,000, then month-end $110,000, $120,000 and $110,000. Each includes cash and marked-to-market holdings. For this illustration, define A as their arithmetic mean: ($100,000 + $110,000 + $120,000 + $110,000) / 4 = $110,000. This snapshot convention is explicit; it is not a daily average or a regulatory fund denominator.
- Two-way = $100,000 / $110,000 = 90.9091%. Half-gross = $50,000 / $110,000 = 45.4545%. Smaller-side = $40,000 / $110,000 = 36.3636%.
- The separate purchase and sale ratios are 54.5455% and 36.3636%. Their sum is the two-way result; their average is the half-gross result.
- Opening capital alone would give 100% two-way turnover. Ending capital happens to equal the average here, but that coincidence is not a general rule. Obtain more frequent valuations if sparse snapshots miss major funding or exposure changes.
- Report these as quarterly observations. Multiplying 90.9091% by four gives a 363.6364% annualized trading pace under a repeat-quarter assumption, not an observed annual result. Turnover is activity, so do not compound it like a return.
| Execution | Quantity × fill price | Purchase value | Sale value |
|---|
| Buy asset A | 200 × $100 | $20,000 | $0 |
| Buy asset B | 800 × $50 | $40,000 | $0 |
| Sell asset C | 100 × $150 | $0 | $15,000 |
| Sell asset D | 500 × $50 | $0 | $25,000 |
| Total | Four executions | $60,000 | $40,000 |
Rebalance turnover uses drifted holdings
For a rebalance with unchanged capital and no transaction costs, define each trade weight as target weight minus current weight immediately before execution. Sum the absolute non-cash trade weights for two-way turnover; half that sum is the half-gross convention used by Cvxportfolio. Compare against drifted holdings, rather than the target weights saved at the previous rebalance.
- Two-way turnover is |0.50 - 0.60| + |0.50 - 0.40| = 20%; half-gross is 10%. If the previous targets were also 50% and 50%, comparing targets alone would incorrectly report zero.
- Specify whether cash is an asset in the weight sum. Moving an unchanged $100,000 account from all cash to all stock gives 50% half-gross turnover when cash is excluded, or 100% if both the cash reduction and stock increase enter the half-sum. Only $100,000 of securities was purchased.
- When deposits, withdrawals or fees change capital during a rebalance, normalized before-and-after weights can change without equivalent trades. Calculate executed dollars first and disclose the denominator; do not infer trading solely from weight differences.
| Asset | Before rebalance | Target | Trade on $100,000 |
|---|
| A | 60% | 50% | Sell $10,000 |
| B | 40% | 50% | Buy $10,000 |
| Total | 100% | 100% | $20,000 gross trading |
Separate cash flows from securities trading
A deposit is an external flow into the account, not a security purchase. A withdrawal is not itself a security sale. Trades financed by a deposit or used to fund a withdrawal still incur execution costs and belong in gross traded value. Keep a dated flow ledger alongside the trading ledger and asset valuations.
- In a separate simple example, an account receives $20,000 and immediately invests it, with no sales. Purchases are $20,000, sales are zero, half-gross traded value is $10,000 and smaller-side traded value is zero. Zero smaller-side turnover does not mean zero activity or zero cost.
- Even without external flows, purchases can exceed sales because existing cash is invested. Sales can exceed purchases when the strategy raises cash. The smaller-side convention is not a complete adjustment for funding or allocation changes.
- For a flow-adjusted research statistic, identify actual flow-related executions and state the allocation rule. Subtracting every deposit from gross trading assumes all new cash was invested in the window and can produce nonsense when it remained in cash.
A fund prospectus uses a different denominator
SEC Form N-1A instructs funds to divide the smaller annual purchase or sale amount by average portfolio securities value. Its monthly average uses 13 observations: the opening fiscal-year value and the 12 month-end values. Securities acquired with one year or less to maturity or expiration are excluded from both parts of the calculation. This is not simply average total account NAV including cash.
- Hypothetical eligible securities values of $100,000, $102,000, $104,000, continuing in $2,000 steps through $124,000, average $112,000 across 13 observations. Eligible annual purchases of $60,000 and sales of $40,000 produce $40,000 / $112,000 = 35.7143%.
- This annual fund example is separate from the quarterly account example. To reproduce a published fund figure, follow the complete Form N-1A instructions, including applicable transaction exclusions, rather than substituting the account formula.
Convert trading amounts into a cost budget
For a hypothetical linear execution cost of 10 basis points per traded dollar, the quarterly ledger costs ($60,000 + $40,000) × 0.001 = $100, or 0.0909% of its $110,000 average assets. Equivalently, cost as a fraction of average assets equals two-way turnover × the per-side rate. Using half-gross turnover requires multiplying by two. The assumed rate is an illustration, not a broker quote.
- Four executions can trade $100,000 or $1,000,000. Splitting the same order into ten fills can increase execution count while leaving traded value unchanged. Trade count matters for fixed ticket charges, but cannot determine a percentage-of-notional cost.
- Minimum fees, spread, market impact, borrow charges and financing do not all scale linearly with traded value. Model those separately, and do not charge the same commission or slippage again if a reported return already includes it.
- For several TradingView signals, first define shared portfolio capital and the actual combined execution policy. Opposing orders may offset before execution or trade separately; use the trades that policy would execute. Summing standalone turnover percentages ignores capital weights and possible netting.
Audit TradingView exports and the report boundary
TradingView exports each Strategy Report tab separately; a List of Trades export contains trade information, while Performance Summary contains metrics. Backtest Deep Report parses trade timestamps, direction, prices, quantity and P&L, and reports supported metrics such as net profit, profit factor and total trades. The current report does not supply the portfolio turnover methods calculated on this page.
- Retain raw entry and exit rows and reconcile to executions before aggregating. Include opening or closing legs inside the measurement window even when their paired leg lies outside it. Avoid counting a duplicated export twice.
- For ordinary shares, absolute quantity × price gives fill value. Futures require their contract multiplier; currency conversion must use a declared rate convention. Option premium turnover and underlying-notional turnover are different measures, so label either explicitly.
- Keep the turnover worksheet alongside the report. Use Pine Script AI Coding Agent to draft strategy logic or custom simulated statistics with an explicit definition, then verify its output independently. It cannot recover missing broker flows or valuations from a trade CSV.
- If average assets are zero, the ratio is undefined. Very small or negative net assets, substantial leverage and missing fills require a different analysis or an explicit warning, not a forced zero. Turnover above 100% is possible when capital is traded repeatedly.
| Required input | What to verify | What the report cannot replace |
|---|
| Execution ledger | Actual side, timestamp, fill quantity and value; partial exits and reversals reconciled. | A closed-trade count is not gross traded value. |
| Portfolio assets | Cash plus marked-to-market positions on the declared valuation schedule. | Closed-trade cumulative P&L does not provide all interim asset valuations. |
| Funding and instrument terms | External flows, reporting currency and any contract multiplier. | A trade CSV alone is not a complete portfolio cash-flow or instrument ledger. |