Skip to the investigation

CASE 19

The Overnight Costs Your Backtest Never Paid

Gross expectancy is +$14 per trade. The average position remains open for eleven nights. After financing, weekend accrual and hard-to-borrow fees, the same trade is −$6.

One failure mode. One validation verdict.Focused analysis · educationally constructed educational figuresswap cost backtestfinancing rate strategyshort borrow feeholding cost trading strategy
BACKTEST DIAGNOSTIC PANELCase CARRY-ACC. Educational illustrative values, not observed market data.BACKTEST DIAGNOSTIC PANELCase CARRY-ACC · educational illustrative valuesAverage holding11 nightsGross / trade+$14Date-specific costs−$20failure boundaryPoint estimateDependenceTail stressExecutionSelectionReproductionA composite score summarizes evidence; it does not prove robustness.

01

Validation verdict for overnight carrying costs

Entry and exit friction is not the full cost of holding risk. Overnight financing, swap, borrow, management fees, funding payments and contract roll effects can accrue by side, date and notional. A strategy with long holding time can fail even when every fill assumption is conservative.

All figures in this article are educationally constructed examples created to explain the failure mode. They are not real strategy results or recommended thresholds.
02

What the headline metric obscures about overnight carrying costs

Commission and slippage are visible at transaction boundaries, so a backtest that includes both appears cost-aware. Carry costs are quieter: they accumulate while the chart is unchanged and can be absent from a trade export unless modeled separately.

Using one average daily rate can also hide asymmetry. Long and short rates differ, triple-swap conventions cluster charges, borrow fees can spike when a security becomes scarce and crypto funding can switch sign. The relevant cost is a path through dates, not one static percentage.

03

How overnight carrying costs enters the backtest

Cost scales with time and notional

A modest daily charge compounds across long holds and larger positions even when trade count is low.

Long and short sides are asymmetric

FX swaps, CFD financing and stock borrow can reward one direction and heavily tax the other.

Calendars create charge clusters

Weekend and holiday settlement conventions can post several days of carry at once, deepening specific drawdowns.

Historical rates are nonstationary

Policy rates, broker markups, funding markets and borrow availability change, so today’s schedule cannot represent every past period.

04

Compact reconstruction of overnight carrying costs

CASE 19 · overnight costs backtestFocused analysis · educationally constructed educational figures
Cost model Avg hold Gross / trade Carry / trade Net / trade
No overnight cost 11 nights +$14 $0 +$14
Flat −$1/night 11 nights +$14 −$11 +$3
Side/date schedule 11 nights +$14 −$20 −$6
Rate +50% stress 11 nights +$14 −$30 −$16

The signal quality did not change. The cost clock did. Because the strategy harvests a small edge over many nights, a realistic carry schedule reverses expectancy before any additional spread or slippage stress is applied.

05

The test that can overturn the overnight carrying costs verdict

Convert every position into a day-by-day or funding-interval ledger. Apply the historical side-specific rate to actual notional and calendar exposure, then reconcile the accumulated charge to the trade result.

Identify every cost family relevant to the instrument: swap, financing, borrow, funding, management fee, dividend adjustment and roll effect.
Map entry/exit timestamps to charge cutoffs, weekends, holidays and settlement conventions.
Use historical side-specific rates where available and document broker markup and fallback assumptions.
Attribute cost by position notional through partial entries, exits and pyramiding rather than only initial size.
Stress rate level, sign changes, hard-to-borrow episodes and extended holding duration separately.
06

What trade-list analysis can and cannot identify about overnight carrying costs

Export-level red flags for overnight carrying costs

  • Multi-day positions have zero time-based cost
  • Long and short trades use the same financing rate
  • A single current rate is applied across many years
  • Weekend or holiday accrual is absent
  • Short equity results ignore borrow availability and fee spikes

What the export reveals about overnight carrying costs

  • Holding-time distribution and the strategies most exposed to time-based friction
  • Net-result sensitivity to user-supplied daily, side-specific or scheduled cost assumptions
  • Contribution of long-duration trades to gross profit and drawdown
  • Whether a small gross edge disappears before more severe cost stresses

What overnight carrying costs still requires from settings, code, or market data

  • A trade CSV rarely contains a complete historical financing or borrow schedule. The user must supply authoritative rates or transparent assumptions.
  • Borrow may be unavailable rather than merely expensive, and venue funding rules can change. A cost deduction cannot fully model inability to execute or maintain a position.
ACADEMIC VALIDATION DOSSIER

Turn unmodeled overnight holding costs into a falsifiable backtest diagnosis.

Case file 19/20 · CARRY-ACC · one failure mechanism, one falsifiable protocol

01

Research abstract: overnight carrying costs

Case file 19/20 · CARRY-ACC · one failure mechanism, one falsifiable protocol

This article tests one central proposition: a price-only backtest ignores costs that accumulate with holding time and presents the gross profit of a low-turnover strategy as net profit. The question is not merely whether the displayed net profit or win rate was arithmetically calculated. The deeper identification problem is whether we know what constitutes one observation, what information was available at the decision time, which assumptions are necessary for the profit to exist, and how much of the conclusion survives when those assumptions are perturbed. The research object is therefore not one performance table; it is the linked data-generation, fill-generation, estimation, selection, and capital-allocation process.

The primary estimand is net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment. The observation unit is defined as a position-by-holding-day-by-cost-type accrual record. Without this definition, split fills, duplicated signals, common events, synthetic prices, or timestamp conversions can be double-counted as independent evidence. A larger row count does not necessarily contain more independent information. An academically defensible analysis fixes the relationship between the observation unit and the estimand before it reports sample size, standard error, or statistical confidence.

The principal sensitivity axes are base financing, crisis financing, holding duration, and placement of triple-charge days. The hidden state is daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials. In particular, financing, borrow, and spreads worsen together during stress, positively correlating price loss and cost loss. Means and medians alone are incapable of describing that mechanism, so the analysis combines central estimates with lower quantiles, expected shortfall, sign stability, boundary-hitting frequency, and contribution concentration. The objective is not to find one pessimistic number, but to map the full region in which the original conclusion changes sign or ceases to be economically usable.

The conclusion does not attempt to prove that a backtest is good. It separates the component that remains after attempted falsification from the component that disappears when assumptions are reconstructed. The governing decision principle is to build a daily accrual ledger and report net P&L under base, upper-quantile, and crisis cost scenarios. This is not trading advice; it is a research procedure for measuring how much evidentiary weight a TradingView trade export can carry. Liquidity not present in the file, broker-specific rules, future regimes, outages, and gaps require separate evidence, and statistical survival never guarantees future profit.

The numerical values illustrate the method for unmodeled overnight holding costs; they are not a real strategy, client record, or forecast.

02

Hypotheses and identification target for overnight carrying costs

net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment

Null hypothesis / H₀

H₀ for overnight carrying costs: The reported performance is not materially dependent on the suspected failure mechanism and survives reasonable perturbations.

Alternative hypothesis / H₁

H₁ for overnight carrying costs: The reported performance depends materially on the suspected failure mechanism and deteriorates after reconstruction, perturbation, or dependence-aware resampling.

Estimand

net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment

Observation unit

a position-by-holding-day-by-cost-type accrual record

Latent mechanism

daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials

Stress axes

base financing, crisis financing, holding duration, and placement of triple-charge days

03

Formal estimands for overnight carrying costs

Definitions precede inference.

Carry=Σ_dNotional_d·r_d·Δ_dAccrued holding P&L under a sign convention in which receipts are positive and payments are negative, including date-specific notional, rates, triple-charge dates, and day counts.
Π_net=Π_price−fees−spread−slippage+CarryNet P&L under the same signed-carry convention.
L_carry=−Carry, Cov(L_price,L_carry|stress)>0Convert paid carry into a positive loss variable and measure whether price loss and carry loss deteriorate together in stress regimes.
Positions290
Gross P&L+64.0R
Base carry−18.5R
Stress carry−41.2R
Stress net−7.6R

The primary estimand is net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment. The observation unit is defined as a position-by-holding-day-by-cost-type accrual record. Without this definition, split fills, duplicated signals, common events, synthetic prices, or timestamp conversions can be double-counted as independent evidence. A larger row count does not necessarily contain more independent information. An academically defensible analysis fixes the relationship between the observation unit and the estimand before it reports sample size, standard error, or statistical confidence.

The principal sensitivity axes are base financing, crisis financing, holding duration, and placement of triple-charge days. The hidden state is daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials. In particular, financing, borrow, and spreads worsen together during stress, positively correlating price loss and cost loss. Means and medians alone are incapable of describing that mechanism, so the analysis combines central estimates with lower quantiles, expected shortfall, sign stability, boundary-hitting frequency, and contribution concentration. The objective is not to find one pessimistic number, but to map the full region in which the original conclusion changes sign or ceases to be economically usable.

04

Illustrative recomputation design for overnight carrying costs

For the overnight cost reconstruction, table values are illustrative calculations used to expose a verdict reversal; they are not a user’s observed TradingView result.

ID Recomputation layer Operation Comparison Diagnostic purpose
S0 Reported result Restate the Strategy Tester aggregate Base Apparent conclusion
S1 Unit reconstruction a position-by-holding-day-by-cost-type accrual record Reassess count and dependence Information correction
S2 Independent recomputation Rebuild price, size, cost, and currency row by row Separate reconciliation error Measurement validity
S3 Local stress base financing, crisis financing, holding duration, and placement of triple-charge days Perturb one factor only Causal sensitivity
S4 Tail injection financing, borrow, and spreads worsen together during stress, positively correlating price loss and cost loss Recompute lower quantiles and boundary hits Capital preservation
S5 Dependence-aware resampling Generate paths across several block lengths Intervals and sign stability Estimation uncertainty
S6 Selection adjustment Log search, OOS review, and exclusions Correct maximum-selection bias Generalization
S7 Full gate build a daily accrual ledger and report net P&L under base, upper-quantile, and crisis cost scenarios Compare with predeclared thresholds Pass / hold / reject

The illustrative recomputation for overnight carrying costs changes one processing layer at a time, then combines only predeclared layers. S0 is never treated as ground truth; it is the statement to be audited. S1 and S2 ask whether the exported unit and arithmetic are coherent. S3 and S4 identify local sensitivity and tail failure. S5 changes the uncertainty model rather than the trade list. S6 adjusts for the search that preceded publication. S7 applies the same gate to every version. This order prevents an adverse result from being explained away by simultaneously changing several assumptions.

In the overnight cost figures, color and position encode diagnostic sensitivity only; they do not represent statistical significance or future P&L.

05

Diagnostic figures specific to overnight carrying costs

Four separate visual tests; no decorative chart reuse.

Gross profit, carry accrual, and stress netSynthetic experiment; axes and thresholds are diagnostic, not forecasts.Gross profit, carry accrual, and stress netSynthetic experiment; axes and thresholds are diagnostic, not forecasts.grossbase carrystress add-onother costsstress netEducational normalized display. Read direction, slope, and boundary location—not the absolute level.
Figure 1. Primary diagnostic for unmodeled overnight holding costs. Values are methodological illustrations, not estimates of a real strategy or future return.
Accrual calendar for financing costs by holding dayFigure 2. Accrual calendar for financing costs by holding day. Daily accruals—including triple-day and holiday adjustments—reconstruct the cost path by duration and exit day. Values are illustrative recomputations, not observed performance or forecasts.Accrual calendar for financing costs by holding dayA topic-specific estimand decomposed into one diagnostic view1234567891011121314holding daydaily / cumulative cost
Figure 2. Accrual calendar for financing costs by holding day. Daily accruals—including triple-day and holiday adjustments—reconstruct the cost path by duration and exit day. Values are illustrative recomputations, not observed performance or forecasts.
Net-expectancy cost curve by holding durationFigure 3. Net-expectancy cost curve by holding duration. Accumulating carry creates a time boundary beyond which positive expectancy becomes negative. Values are illustrative recomputations, not observed performance or forecasts.Net-expectancy cost curve by holding durationA topic-specific stress test designed to overturn the headline verdict01235710142130holding daysnet expectancy
Figure 3. Net-expectancy cost curve by holding duration. Accumulating carry creates a time boundary beyond which positive expectancy becomes negative. Values are illustrative recomputations, not observed performance or forecasts.
Accrual pipeline from open position to daily adjustments and net P&LFigure 4. Accrual pipeline from open position to daily adjustments and net P&L. Carry is reconstructed as a daily accrual process driven by calendar rules and holding path, not one exit-time deduction. Values are illustrative recomputations, not observed performance or forecasts.Accrual pipeline from open position to daily adjustments and net P&LA causal or processing structure separating observations, assumptions, and decisionsopen positiondaily financingholiday ruletriple dayholding durationaccrued costnet P&L
Figure 4. Accrual pipeline from open position to daily adjustments and net P&L. Carry is reconstructed as a daily accrual process driven by calendar rules and holding path, not one exit-time deduction. Values are illustrative recomputations, not observed performance or forecasts.
The primary diagnostic decomposes expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days along a causal axis. Read slope, curvature, and the first decision-boundary crossing as “base financing, crisis financing, holding duration, and placement of triple-charge days” changes, not merely the height of the favorable point.
The two-dimensional surface exposes interaction among “base financing, crisis financing, holding duration, and placement of triple-charge days.” Color is a normalized margin to a predeclared gate, not an empirical probability. A broad connected pass region is different evidence from a narrow isolated island.
The resampling statistic is net expectancy after holding costs. Compare an IID benchmark with daily blocks that preserve long holding periods and persistent financing or borrow states across several block lengths, reporting the 2.5th, 50th, and 97.5th percentiles and verdict-reversal rate. Save seeds and repetitions.
The causal map traces “zero-cost assumption → overstated long-hold profit → ignore financing and borrow stress → profitable headline → loss after real carry.” A displayed metric is an intermediate product, not the first cause; perturb the input or assumption, rebuild trades and capital boundaries, and return to the predeclared gate.
06

Multi-layer audit questions for overnight carrying costs

A result is only as strong as its weakest unresolved layer.

AUDIT LAYER 0101 · Fix the estimand

For third-party reproduction, fix the estimand as “net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment.” Do not substitute net profit, win rate, or a visually smooth curve for that target. Declare the horizon, account currency, included frictions, and operating-stop boundary before calculation. Any post-result change creates a new hypothesis and version, preventing the question from being selected after the answer is known.

AUDIT LAYER 0202 · Reconstruct the observation unit

Reconstruct the observation unit as “a position-by-holding-day-by-cost-type accrual record” before treating rows as independent evidence. Report raw rows, parent trades, decisions, event clusters, and the denominator used for each average or standard error. Recompute expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days under more than one defensible aggregation rule so that a larger export is not mistaken for a larger information set.

AUDIT LAYER 0303 · Preserve provenance and settings

Preserve the hash of the TradingView export and the symbol, timeframe, session, timezone, order-processing settings, costs, account currency, and Pine version. For unmodeled overnight holding costs, daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials directly affects reproducibility. Keep immutable source, normalized, and analysis layers separate, with every join, deletion, imputation, and conversion recorded in a transformation ledger.

AUDIT LAYER 0404 · Separate identification from assumption

The export identifies only what can be rebuilt from recorded time, price, quantity, and P&L. historical daily swap, borrow availability, broker triple-charge rules, and futures-roll execution requires additional evidence. Mark each causal link as observed, bounded by assumption, or externally unverified. This prevents daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials from being presented as a confirmed fact when the available data support only an interval or conditional conclusion.

AUDIT LAYER 0505 · Reconcile row-level arithmetic

Do not adopt the platform summary as ground truth. Independently build a position-by-day-by-cost ledger and accrue directional swap, financing, borrow fees, triple-charge dates, holidays, and roll differences. Reconcile total and row-level differences by sign, date, symbol, and order type. If discrepancies concentrate in the exact state associated with unmodeled overnight holding costs, treat that concentration as a primary finding rather than dismissing it as rounding.

AUDIT LAYER 0606 · Quantify finite-sample uncertainty

Report expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days with intervals or resampling distributions, not point estimates alone. Match the uncertainty method to sample size, skewness, heavy tails, censoring, and selection history. If normal, quantile, and dependence-aware methods disagree on the sign, classify the edge as unidentified and show the minimum detectable effect and lower decision bound.

AUDIT LAYER 0707 · Preserve serial and cluster dependence

Do not narrow uncertainty with an IID shuffle alone. Resample daily blocks that preserve long holding periods and persistent financing or borrow states using several fixed block lengths and stationary bootstrap. Preserve random seed, repetition count, wrap rule, and missing-data treatment. For each block specification, report the distribution of expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days, the rejection-side tail mass, and the rate at which the verdict changes sign.

AUDIT LAYER 0808 · Measure tails and operating boundaries

Interrogate the mechanism “daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials” with lower quantiles, expected shortfall, influence, cluster length, and boundary-hitting measures. Historical maximum loss is not a loss cap. Define several absorbing or operating boundaries—capital, margin, mandate drawdown, and recovery time—and record which boundary fails first under each stress.

AUDIT LAYER 0909 · Model execution and market frictions

A flat commission deduction is not an execution model for unmodeled overnight holding costs. Allocate spread, slippage, financing, borrow, roll, conversion, rounding, and rejected orders to the relevant unit. Recompute expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days under base, upper-quantile, and crisis states while preserving the possibility that costs and losses worsen together.

AUDIT LAYER 1010 · Count the complete search path

Count the complete population of periods, symbols, timeframes, parameters, exits, filters, and metrics that were tried. Do not detach the attractive result for unmodeled overnight holding costs from rejected candidates, interim changes, or repeated validation reviews. Where appropriate, use PBO, SPA, and a Deflated Sharpe Ratio, and treat an unrecorded trial count as a material audit limitation.

AUDIT LAYER 1111 · Condition on market regimes

Test whether unmodeled overnight holding costs is concentrated in one trend, volatility, liquidity, rate, or session state. Define regimes prospectively or on training data only. Report statewise expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days, occupancy, transition probabilities, and costs, then reweight the mixture to adverse but realistic future compositions.

AUDIT LAYER 1212 · Separate path, inception, and sizing

For the overnight carrying costs case, the same trade set can follow different capital paths under another inception date, order, initial balance, rounding rule, or stop condition. Separate fixed quantity, fixed R, and percentage sizing, then use circular shifts and block orderings to recompute drawdown, recovery, and boundary hits. Equal terminal P&L does not imply equal path risk.

AUDIT LAYER 1313 · Design counterfactual stress tests

Perturb “base financing, crisis financing, holding duration, and placement of triple-charge days” one axis at a time before creating a joint sensitivity surface. Add the negative control “permute cost rates within the same period while preserving holding days to test whether positions concentrate specifically on expensive dates.” Predefine the grid and crisis rule so that neither the most favorable nor the most damaging cell is selected after inspection. Save the slope, curvature, and exact point where the decision boundary is crossed.

AUDIT LAYER 1414 · Verify through an independent implementation

Have a second implementation build a position-by-day-by-cost ledger and accrue directional swap, financing, borrow fees, triple-charge dates, holidays, and roll differences, then compare critical row-level outputs. Regression fixtures should include empty files, duplicate timestamps, extreme costs, reverse ordering, missing values, and boundary cases. Agreement between implementations is insufficient if they share the same bad input, so separate data construction and review roles where feasible.

AUDIT LAYER 1515 · Use a predeclared decision gate

Predeclare the decision rule. This case passes only if “net expectancy clears the threshold under base, upper-quantile, and crisis carry costs and joint price-plus-carry loss remains absorbable.” Near a boundary, disclose interval width and economic materiality rather than a binary badge. If only one favorable block length, cost state, or implementation passes, classify the result as assumption-sensitive rather than robust.

AUDIT LAYER 1616 · Maintain a reproducibility ledger

The evidence ledger must store the input hash, code version, settings, exclusions, “base financing, crisis financing, holding duration, and placement of triple-charge days,” block lengths, random seed, repetition count, and every scenario output. Keep exploratory and confirmatory results in separate namespaces and retain failed trials. When new TradingView data arrive, create a new version and track holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss rather than overwriting the old result.

AUDIT LAYER 1717 · Translate statistics into capital impact

Translate statistical changes into capital consequences. A shift in expectancy, lower quantile, recovery time, or boundary risk caused by unmodeled overnight holding costs should be mapped to trade count, capital, margin, and continuation. A small per-trade difference can compound under high turnover, while a rare loss can be decisive near an absorbing boundary.

AUDIT LAYER 1818 · Separate roles and enforce stop conditions

Separate hypothesis design, implementation, independent recalculation, and approval where practical. Stop automatically on material reconciliation error, unresolved missing data, non-reproducibility, or a predeclared threshold breach. Audit the chain “zero-cost assumption → overstated long-hold profit → ignore financing and borrow stress → profitable headline → loss after real carry,” and monitor holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss prospectively without turning a historical pass into a promise of future profit.

07

Falsification protocol for overnight carrying costs

build a daily accrual ledger and report net P&L under base, upper-quantile, and crisis cost scenarios

Freeze the TradingView source for the overnight carrying costs audit

Store the export without alteration and record its hash, export time, strategy, symbol, timeframe, and settings. Preserve every column relevant to unmodeled overnight holding costs; deletions and imputations belong only in derived tables.

Reconstruct the observation unit for overnight carrying costs

Aggregate rows into “a position-by-holding-day-by-cost-type accrual record,” and report raw rows, parent trades, events, and independent clusters. Recompute the critical result under another defensible aggregation.

Independently recompute the displayed overnight carrying costs result

Independently build a position-by-day-by-cost ledger and accrue directional swap, financing, borrow fees, triple-charge dates, holidays, and roll differences. Reconcile row-level and aggregate outputs with Strategy Tester and preserve where discrepancies concentrate.

Isolate the overnight carrying costs mechanism

Treat unmodeled overnight holding costs as the principal mechanism and move “base financing, crisis financing, holding duration, and placement of triple-charge days” one axis at a time while holding other settings fixed.

Map the operating boundary for overnight carrying costs

Combine the primary and interacting axes on a predeclared grid and recompute expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days. Record the width and connectivity of the acceptable region and every boundary crossing.

Resample the dependence structure relevant to overnight carrying costs

Use daily blocks that preserve long holding periods and persistent financing or borrow states with several fixed block lengths and stationary bootstrap. Save every random seed, repetition count, and block specification.

Inspect influence points and operating boundaries for overnight carrying costs

For the overnight cost influence test, remove the largest contributor, top-k contributors, selected periods, and relevant regimes in sequence; then recompute lower-tail measures and the operating boundary.

Apply negative controls and conservative bounds to overnight carrying costs

Permute cost rates within the same period while preserving holding days to test whether positions concentrate specifically on expensive dates. Bound historical daily swap, borrow availability, broker triple-charge rules, and futures-roll execution as unobserved factors rather than elevating the optimistic value into the final answer.

Apply the predeclared gate to overnight carrying costs

Do not move the threshold after seeing results. Compare with “net expectancy clears the threshold under base, upper-quantile, and crisis carry costs and joint price-plus-carry loss remains absorbable,” and distinguish pass, hold, and reject. Any unresolved material mismatch causes a hold.

Save a reproducible evidence package for overnight carrying costs

Bundle the source, transformation ledger, formulas, figures, all scenarios, failure logs, and code version for rerun in another environment. Prospectively monitor holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss.

08

Decision gate for overnight carrying costs

Reject the story before trusting the curve.

How to read the overnight carrying costs figures and equations

The figures for overnight carrying costs use illustrative recomputations constructed to expose this specific failure mode. Do not infer statistical significance from line position or color alone; first verify the estimand, units, denominator, censoring rule, and cost sign defined by the equations. A sensitivity surface is not a causal estimate. It shows how a conclusion changes only within the stated assumptions. Resampling should compare an IID shuffle with stationary and block bootstrap procedures across several block lengths so that loss clustering and regime persistence are not silently destroyed. Store the random seed, iteration count, block length, bandwidth, and missing-data treatment, and claim reproducibility only after an independent implementation reproduces the same aggregates.

This case passes only if “net expectancy clears the threshold under base, upper-quantile, and crisis carry costs and joint price-plus-carry loss remains absorbable” across reconstructed values, local perturbations, joint sensitivity, dependence-preserving resampling, and the negative control, with no material sign reversal or unresolved reconciliation error. A pass is limited evidence against the stated failure mode, not certification of future profit.

  • The estimand and observation unit were fixed before outcomes were reviewed
  • For overnight cost, any material disagreement between reported and independently recomputed values must be resolved or explicitly explained.
  • The overnight cost claim passes this gate only when its acceptable stress region is broad and connected rather than one isolated favorable island.
  • The sign of the overnight cost estimate must remain stable across defensible block lengths, saved seeds, and reasonable interval methods.
  • For overnight carrying costs, economic margin remains after deleting the largest and top-five contributors and key regimes
  • For overnight carrying costs, conservative cost, fill, and capital-boundary scenarios remain inside the stopping mandate
6/6required gates · not a performance forecast
09

Limitations, external validity, and reproducibility of the overnight carrying costs audit

Every inference has a boundary.

The first limitation is that a trade export does not contain the complete market state. If order-book depth, queue position, network latency, rejected orders, broker liquidity, or realized financing history is absent, net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment remains model-mediated. Model outputs should be displayed as scenario ranges and must not be formatted as though they were directly observed facts.

A second limitation specific to the overnight carrying costs analysis is structural change. A long historical sample does not guarantee a common population when market rules, participants, volatility, rates, spreads, data construction, or Pine execution semantics change. Do not increase nominal sample size by indiscriminately pooling old periods. Estimate rolling and regime-conditioned behavior and test parameter stability around detected changes.

A third limitation specific to the overnight carrying costs analysis is reuse of the diagnostic battery. Applying these tests repeatedly to the same data and editing the strategy until it passes turns the diagnostic process itself into another optimizer. Every post-test edit starts a new model version and requires untouched or prospective evidence. A test chosen after reading the outcome belongs to exploration and cannot be counted as independent confirmation.

A fourth limitation for the overnight carrying costs analysis is the distinction between statistical survival and operational suitability. Behavioral tolerance, locked capital, tax, regulation, outages, account terms, order-size limits, market-order restrictions, and liquidity discontinuities cannot be resolved from a CSV alone. The lab is a diagnostic for discovering hidden failure risk earlier; it is not investment advice, a performance warranty, or a guarantee of bounded loss. User-specific constraints remain a separate decision layer.

LIMIT 01Identification boundary

The estimand “net holding-period P&L including financing, borrow, roll, holding days, and holiday treatment” is identified only within the columns present in the TradingView export and the stated assumptions. If historical daily swap, borrow availability, broker triple-charge rules, and futures-roll execution cannot be observed, report bounds rather than a false point estimate.

LIMIT 02Structural change

Past estimates of unmodeled overnight holding costs need not belong to the same population after changes in rules, participants, volatility, costs, or data specifications. Track holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss in rolling and regime-specific windows.

LIMIT 03Reuse of the diagnostic

For overnight cost, repeatedly applying the same diagnostic battery and editing until it passes turns verification into another optimizer. Every post-audit change therefore creates a new model version and requires untouched evidence.

LIMIT 04Operational suitability

Even if net expectancy clears the threshold under base, upper-quantile, and crisis carry costs and joint price-plus-carry loss remains absorbable, the analysis does not establish tax, regulatory, behavioral, liquidity, order-size, or systems suitability. Separate statistical diagnosis from live-operating approval.

LIMIT 05Missing data and anomalies

Deleting observations related to daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials may improve the result. Compare no deletion, conservative imputation, and worst-case imputation, and display how expectancy after carry, cost by holding duration, crisis-rate sensitivity, covariance with price loss, and break-even holding days changes.

LIMIT 06Negative controls

Run the control “permute cost rates within the same period while preserving holding days to test whether positions concentrate specifically on expensive dates.” If the control performs similarly, suspect processing rules or common market drift before attributing performance to the strategy.

LIMIT 07Prospective monitoring

After a provisional pass, log holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss sequentially and stop on persistent departures from the predeclared predictive range. Diagnose implementation drift before reoptimizing history.

LIMIT 08Common-mode failure and reporting

Multiple methods can agree because they share the same bad input or the same mechanism “daily swap, triple-charge days, holiday roll, variable borrow fees, and futures roll differentials.” Give lower-tail outcomes, failed scenarios, and unresolved mismatches the same visual prominence as favorable results; test count is not proof of correctness.

10A

Independent and adversarial findings for overnight carrying costs

The overnight cost case has a separate review line for formulas, chart encodings, data definitions, and falsifiability so agreement on one layer cannot mask failure on another.

The formula audit checks numerator, denominator, sign, unit, domain, and every conditioning assumption as one system. The material caution for this case is: Carry uses one sign convention: receipts positive and payments negative, so it is added to net P&L. For loss covariance, define L_carry=−Carry so adverse cost is positive. Mixing conventions reverses interpretation, so tables, formulas, and code must agree. A correct symbolic expression can still calculate the wrong quantity when a column, currency, time unit, or fee sign is misdefined, so those mappings are part of the mathematical audit.

The figure audit assigns distinct jobs: Figure 1 diagnoses unmodeled overnight holding costs; Figure 2 maps joint sensitivity; Figure 3 shows the dependence-preserving distribution of net expectancy after holding costs; Figure 4 traces causal propagation. Color denotes distance to a predeclared gate, not probability or observed performance. Axis units, zero, quantiles, censoring, and bounds must agree with captions and tables. A smooth SVG line is explanatory geometry, not evidence of estimation precision.

The adversarial test does not cherry-pick one hostile scenario. It uses the negative control “permute cost rates within the same period while preserving holding days to test whether positions concentrate specifically on expensive dates,” resamples daily blocks that preserve long holding periods and persistent financing or borrow states at several block lengths, and bounds historical daily swap, borrow availability, broker triple-charge rules, and futures-roll execution as unobserved factors. Repetitions, seeds, exclusions, block specifications, and plotting range are frozen before results so the implementer cannot tune the audit after seeing the answer.

The independent conclusion is restricted to whether “net expectancy clears the threshold under base, upper-quantile, and crisis carry costs and joint price-plus-carry loss remains absorbable.” It does not certify a good strategy or future profit. Any material reconciliation error, formula-domain violation, table-figure contradiction, sign reversal across defensible block lengths, or failure to outperform the negative control produces hold or reject. Prospectively, monitor holding days, daily cost rate, triple-charge exposure, borrow fee, and joint deterioration with price loss.

10

Methodological references for overnight carrying costs

Primary methods and official platform documentation.

  1. Almgren, R. & Chriss, N. Optimal Execution of Portfolio Transactions. Journal of Risk.
  2. Newey, W. K. & West, K. D. (1987). A Simple, Positive Semi-definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix. Econometrica.
  3. Efron, B. (1979). Bootstrap Methods: Another Look at the Jackknife. Annals of Statistics.
  4. Politis, D. N. & Romano, J. P. (1994). The Stationary Bootstrap. JASA.
  5. Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal.
  6. White, H. (2000). A Reality Check for Data Snooping. Econometrica.
  7. TradingView Pine Script® documentation: Strategies.

References for the overnight carrying costs case provide methodological context; they do not validate the synthetic numbers in this article or certify any backtest result. TradingView documentation is used for platform semantics, while statistical papers motivate uncertainty and selection controls.

08

Frequently asked questions about overnight carrying costs

Is overnight cost already included in TradingView results?

That depends on the strategy implementation and instrument assumptions. Never assume inclusion; reconcile one held trade against the modeled charges and exported fields.

Can I use today’s swap rate as a conservative estimate?

It can be a scenario, but it is not a historical reconstruction. Test multiple rates and disclose the limitation.

Does this matter for intraday systems?

Less if every position reliably closes before the charge cutoff, but time zones, session definitions and failed exits can still create overnight exposure.

Backtest Analysis

Can a backtest exposed to overnight carrying costs be trusted?

Do not judge the overnight cost case from a finished equity curve alone. Use the TradingView trade list to inspect the mechanism-specific concentration, path, cost, timing, and dependence evidence shown on this page.

Important limitations for the overnight carrying costs analysis

This article provides educational, descriptive analysis of constructed backtest failure examples. It is not investment advice, a buy or sell signal, a forecast or a promise of performance. Backtest results depend on data, code, broker-emulator assumptions, costs, sizing and market structure. TradingView is a trademark of TradingView, Inc.; SG Group is independent and does not claim endorsement or sponsorship by TradingView.

Counterpart: バックテストが払っていない夜間コスト|スワップ・資金調達・借株料