AQAI QuantAI research lab for systematic strategies

Case study · Backtest

Point-in-Time Triadic Network-Stress Defensive Overlay

TRIADIC_NETWORK_STRESS_DEFENSIVE_OVERLAY
triadic-stress-indexcorrelation-networksystemic-riskdefensive-overlaymulti-assetlarge-capetftreasury-etfpoint-in-timedailyhysteresiscoincident-state-index

🗓 Backtest period: 2016-01-01..2026-08-11

Jan 2016Total 229.7%Aug 2026
Max DD -46.7%

Backtest metrics

Sharpe
0.87
Total Return
229.7%
Max Drawdown
-46.7%
CAGR
11.9%
Volatility
25.0%
Beta vs SPY
0.67
Trades
1,304

Strategy Card

Point-in-Time Triadic Network-Stress Defensive Overlay — strategy card

Spec ID: spec-triadic-network-stress-defensive-overlay-us-large-cap-etfs-1786536770 · Generated: 2026-08-12 12:57 UTC

Cluster: Risk Overlay · Sub Cluster: Network-Stress Defensive Allocation Overlay

One-line description

A point-in-time correlation-network indicator shifts a large-cap equity portfolio into a 75% MBB defensive allocation when systemic co-movement reaches an expanding-history extreme. Hysteresis and asymmetric signal memory reduce rapid state reversals.

Why this trade exists

Diversification can fail abruptly when normally distinct assets begin moving together. The Triadic Stress Index combines weighted clustering, network density, degree heterogeneity, and the inverse Laplacian spectral gap to identify unusually interconnected market states in which equity drawdown risk may be elevated.

The asymmetric memory filter responds quickly to rising stress but decays slowly, while separate 90th-percentile entry and 75th-percentile exit thresholds create a hysteresis band. The economic hypothesis is that temporarily replacing most equity exposure with Treasury and agency mortgage-backed bonds during these states can reduce portfolio risk. This allocation benefit is an extension of the source research rather than a result established by that paper.

Algorithm

[code omitted from public view]

Parameters

Param Value Notes
Network window 20 trading days Daily adjusted close-to-close log returns; no imputation
Network size 42 assets Held constant when replacement candidates are available
Recompute frequency Every 3 trading days Signal state is carried forward between calculations
Adjacency A = abs(rho), diagonal 0 Pearson correlations
Clustering Tr(A^3)/(n(n-1)(n-2)) Complete-graph normalization specified by this implementation
Density Mean off-diagonal adjacency sum(A_ij)/(n(n-1)), for i != j
Degree coexistence Population variance of weighted degrees Coex = Var(k)
Spectral term gap = lambda_2(diag(k)-A) Invalid/nonpositive gaps do not change state
Raw TSI (C*D/M)*Coex, M=1/gap Equivalent to C*D*gap*Coex under the stated definitions
Memory coefficients Rise 0.60; decline 0.08 Faster response to increasing stress and slower decay
Risk-off entry Expanding percentile >= 90% Uses only point-in-time recomputation history
Risk-on exit Expanding percentile < 75% Creates a 15-point hysteresis band
Execution Close, one-trading-day lag Signal uses closing data and the state change is scheduled for the following trading close
Risk-on allocation 100% equities / 0% MBB Equal-weight eligible screened assets
Risk-off allocation 25% equities / 75% MBB MBB is a Treasury and agency MBS ETF
Position limits 10% per equity; 75% MBB Defensive asset is exempt from the general equity cap
Universe PIT US stocks and ETFs, capitalization-ranked Yearly selection; ADRs excluded; positive dollar volume required
Backtest window 2016-01-01 to 2026-08-11 Daily bars; warm-up history begins in 2000 when available
Primary turnover cost model 10 bps per one-way turnover Sensitivity cases: 0, 5, 10, and 25 bps
Platform trading costs $0.004/share; $1 minimum; 1% maximum commission Slippage configured at 0 bps
Annualization / risk-free rate 252 / 0% Used for reported risk ratios
Maximum leverage 4.0 Framework limit; target allocations themselves sum to 100%

Look-ahead audit

# Concern Status
1 Universe membership and ranking Pass by specification: yearly screening is point-in-time and uses the contemporaneous capitalization and liquidity fields.
2 Return-window construction Pass: each signal uses only observed adjusted closes through its calculation date; missing returns are not imputed.
3 Expanding percentile Pass: thresholds use only filtered TSI observations available through the current recomputation, not a full-sample percentile.
4 Close-derived signal execution Pass: the strategy measures the signal at the close and executes the state change at a later close after its explicit one-trading-day lag.
5 Missing execution prices Pass by policy: the affected rebalance is skipped rather than filled with an interpolated or carried-forward price.
6 Annual universe transitions and data survivorship Requires data verification: the PIT flag is specified, but database snapshots, delisted-name coverage, and historical classifications must be independently confirmed.

Caveats / known limitations

Results

From 2016-01-01 through 2026-08-11, the backtest returned 229.67% with a 0.87 Sharpe, 1.06 Sortino, and 0.26 Calmar. Realized volatility was 25.00%, maximum drawdown reached -46.66%, and beta versus SPY was 0.67, indicating reduced market sensitivity but substantial residual tail risk. The run recorded 1,304 trades, a 73.04% win rate, and a 4.88 profit factor. Because no always-invested benchmark or gross-versus-net decomposition is supplied, these figures do not establish that the defensive overlay improved performance relative to continuous equity exposure.

Run diagnostics

Recomputed here from the run's stored daily returns, because every annualized figure in the table above is derived from the LENGTH of that array (years = n / 252). Only total return and max drawdown do not depend on the row count, so when the recomputed and stored values differ by a common factor, those two are the numbers to trust.

Check From the run's own returns Note
Daily-return rows 2,666 1.00x the 2,674 trading days in 2016-01-01..2026-08-11
Distinct dates 2,666 one row per date
Date span 2016-01-04 .. 2026-08-11
Sum of daily returns 229.67% matches the reported total return
Sharpe from these rows 0.87 stored 0.87
Volatility from these rows 25.00% stored 25.00%
Max drawdown from these rows -46.66% stored -46.66%
CAGR from these rows 11.94% stored 11.94%

Backtest metrics snapshot

Metric Value
Total Return 229.67%
Sharpe 0.87
Sortino 1.06
Calmar 0.26
Max Drawdown -46.66%
Volatility 25.00%
Beta vs SPY 0.67
Win Rate 73.04%
Profit Factor 4.88
Total Trades 1304
Symbols 42 (AAPL, ABBV, AMD, AMZN, AVGO, BAC, BND, BRK-B, CAT, COST, +32 more)