Bollinger-Keltner Squeeze · Strategy evidence
Inspect the inputs, parameters and accounting behind a published result.
Downloads
Downloads load and verify compressed objects only when selected. Negative weights represent short exposure; no code is executed in your browser.
1. Download a complete bundle
Download the Python tool above and run this command. It checks shared objects and creates replay.zip; no repository clone is needed.
python e0543584b55263609cc8fd38cd032cb8432af6c2b48da3f53599e6e68c922f59.py https://quantarenas.com/data/evidence/runs/f9499e41f0475afdd5f4582461bb0dc42c2269dc5f27abbacf296d39570b2a05/manifest.json --bundle replay.zip2. Replay the arithmetic
Extract replay.zip and run from its folder with Python. This verifies recorded weights, contributions and equity using only the standard library; it does not recalculate strategy decisions.
python scripts/replay_evidence.py data/evidence/runs/f9499e41f0475afdd5f4582461bb0dc42c2269dc5f27abbacf296d39570b2a05/manifest.json3. Obtain and compare inputs
In the extracted bundle, use the recorded Python version and install the pinned dependencies. This command downloads provider inputs privately and reports inputHashMatches. Only a matching hash supports exact recomputation; revised provider data may not match. You may instead supply an original matching snapshot as private-input.json.
python -m pip install -r requirements-lock.txt
python scripts/recompute_evidence.py data/evidence/runs/f9499e41f0475afdd5f4582461bb0dc42c2269dc5f27abbacf296d39570b2a05/manifest.json --fetch-input private-input.json4. Recompute the original strategy
With the exact original input snapshot and recorded dependencies, run the archived strategy and walk-forward selection. Original provider inputs are not public. Revised downloads fail the input-hash match and cannot establish exact reproduction.
python scripts/recompute_evidence.py data/evidence/runs/f9499e41f0475afdd5f4582461bb0dc42c2269dc5f27abbacf296d39570b2a05/manifest.json --input private-input.jsonAccounting assumptions
Each day's return uses the preceding day's target allocation. The new target is decided at the current close. This is a synthetic close-based model, not a measured execution price.
- Cash residual
- 1 - sum(weights); residual may exceed one or be negative for shorts/leverage.
- Decision
- Target weights use bars through close t; previous targets earn (t-1,t].
- Trading costs (bp)
- 0
- Execution assumption
- Synthetic daily target allocations, not broker orders or fills; financing/borrow costs omitted.
- Synthetic rebalance turnover
- Sum(abs(target[t] - target[t-1]*(1+assetReturn[t])/(1+grossReturn[t]))); one-way risky notional at close t after returns, divided by pre-trade equity.
- Return interval
- Sum of previous target weight times each asset close-to-close return; cash return is zero.
- Target weight change
- Sum(abs(target[t] - target[t-1])); changes in rule targets only.
- Walk-forward transition
- Candidate retains its own hypothetical state; first test return uses previous published target.
Parameters used
{
"active": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"defaults": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
}
}Walk-forward selections
Default/pre-walk-forward history is not out-of-sample evidence. Each fold records its training and test boundaries; the selected candidate retains its own hypothetical state.
1 · 2013-01-04T00:00:00 → 2013-07-03T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.44975644066138165,
"run": 7,
"testEnd": "2013-07-03T00:00:00",
"testStart": "2013-01-04T00:00:00",
"trainEnd": "2013-01-03T00:00:00",
"trainStart": "2010-01-04T00:00:00"
}2 · 2013-07-05T00:00:00 → 2014-01-03T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.45330106257570557,
"run": 7,
"testEnd": "2014-01-03T00:00:00",
"testStart": "2013-07-05T00:00:00",
"trainEnd": "2013-07-03T00:00:00",
"trainStart": "2010-07-06T00:00:00"
}3 · 2014-01-06T00:00:00 → 2014-07-03T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.32103662898184815,
"run": 7,
"testEnd": "2014-07-03T00:00:00",
"testStart": "2014-01-06T00:00:00",
"trainEnd": "2014-01-03T00:00:00",
"trainStart": "2011-01-06T00:00:00"
}4 · 2014-07-07T00:00:00 → 2015-01-07T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.7294197488693582,
"run": 7,
"testEnd": "2015-01-07T00:00:00",
"testStart": "2014-07-07T00:00:00",
"trainEnd": "2014-07-03T00:00:00",
"trainStart": "2011-07-07T00:00:00"
}5 · 2015-01-08T00:00:00 → 2015-07-08T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": 0.999817829104796,
"run": 0,
"testEnd": "2015-07-08T00:00:00",
"testStart": "2015-01-08T00:00:00",
"trainEnd": "2015-01-07T00:00:00",
"trainStart": "2012-01-09T00:00:00"
}6 · 2015-07-09T00:00:00 → 2016-01-08T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": 0.7107240523500759,
"run": 0,
"testEnd": "2016-01-08T00:00:00",
"testStart": "2015-07-09T00:00:00",
"trainEnd": "2015-07-08T00:00:00",
"trainStart": "2012-07-09T00:00:00"
}7 · 2016-01-11T00:00:00 → 2016-07-11T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": 0.7592019764446463,
"run": 0,
"testEnd": "2016-07-11T00:00:00",
"testStart": "2016-01-11T00:00:00",
"trainEnd": "2016-01-08T00:00:00",
"trainStart": "2013-01-11T00:00:00"
}8 · 2016-07-12T00:00:00 → 2017-01-12T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.707668532896856,
"run": 4,
"testEnd": "2017-01-12T00:00:00",
"testStart": "2016-07-12T00:00:00",
"trainEnd": "2016-07-11T00:00:00",
"trainStart": "2013-07-12T00:00:00"
}9 · 2017-01-13T00:00:00 → 2017-07-13T00:00:00
{
"config": {
"bb_period": 24,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.4868403449412541,
"run": 8,
"testEnd": "2017-07-13T00:00:00",
"testStart": "2017-01-13T00:00:00",
"trainEnd": "2017-01-12T00:00:00",
"trainStart": "2014-01-13T00:00:00"
}10 · 2017-07-14T00:00:00 → 2018-01-12T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.6444010309723339,
"run": 4,
"testEnd": "2018-01-12T00:00:00",
"testStart": "2017-07-14T00:00:00",
"trainEnd": "2017-07-13T00:00:00",
"trainStart": "2014-07-14T00:00:00"
}11 · 2018-01-16T00:00:00 → 2018-07-16T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.7825911562998664,
"run": 4,
"testEnd": "2018-07-16T00:00:00",
"testStart": "2018-01-16T00:00:00",
"trainEnd": "2018-01-12T00:00:00",
"trainStart": "2015-01-16T00:00:00"
}12 · 2018-07-17T00:00:00 → 2019-01-17T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.6263860838896952,
"run": 4,
"testEnd": "2019-01-17T00:00:00",
"testStart": "2018-07-17T00:00:00",
"trainEnd": "2018-07-16T00:00:00",
"trainStart": "2015-07-17T00:00:00"
}13 · 2019-01-18T00:00:00 → 2019-07-18T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.7132902147594599,
"run": 7,
"testEnd": "2019-07-18T00:00:00",
"testStart": "2019-01-18T00:00:00",
"trainEnd": "2019-01-17T00:00:00",
"trainStart": "2016-01-19T00:00:00"
}14 · 2019-07-19T00:00:00 → 2020-01-17T00:00:00
{
"config": {
"bb_period": 24,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.6466248044032864,
"run": 5,
"testEnd": "2020-01-17T00:00:00",
"testStart": "2019-07-19T00:00:00",
"trainEnd": "2019-07-18T00:00:00",
"trainStart": "2016-07-19T00:00:00"
}15 · 2020-01-21T00:00:00 → 2020-07-21T00:00:00
{
"config": {
"bb_period": 24,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 1.001464366811498,
"run": 5,
"testEnd": "2020-07-21T00:00:00",
"testStart": "2020-01-21T00:00:00",
"trainEnd": "2020-01-17T00:00:00",
"trainStart": "2017-01-23T00:00:00"
}16 · 2020-07-22T00:00:00 → 2021-01-22T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.6498271970451153,
"run": 7,
"testEnd": "2021-01-22T00:00:00",
"testStart": "2020-07-22T00:00:00",
"trainEnd": "2020-07-21T00:00:00",
"trainStart": "2017-07-24T00:00:00"
}17 · 2021-01-25T00:00:00 → 2021-07-23T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.6215627525286108,
"run": 7,
"testEnd": "2021-07-23T00:00:00",
"testStart": "2021-01-25T00:00:00",
"trainEnd": "2021-01-22T00:00:00",
"trainStart": "2018-01-25T00:00:00"
}18 · 2021-07-26T00:00:00 → 2022-01-26T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.7276443172980541,
"run": 7,
"testEnd": "2022-01-26T00:00:00",
"testStart": "2021-07-26T00:00:00",
"trainEnd": "2021-07-23T00:00:00",
"trainStart": "2018-07-26T00:00:00"
}19 · 2022-01-27T00:00:00 → 2022-07-27T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.6942362980498321,
"run": 7,
"testEnd": "2022-07-27T00:00:00",
"testStart": "2022-01-27T00:00:00",
"trainEnd": "2022-01-26T00:00:00",
"trainStart": "2019-01-28T00:00:00"
}20 · 2022-07-28T00:00:00 → 2023-01-27T00:00:00
{
"config": {
"bb_period": 20,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": 0.4788736722033365,
"run": 1,
"testEnd": "2023-01-27T00:00:00",
"testStart": "2022-07-28T00:00:00",
"trainEnd": "2022-07-27T00:00:00",
"trainStart": "2019-07-29T00:00:00"
}21 · 2023-01-30T00:00:00 → 2023-07-28T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": -0.29724994868578253,
"run": 0,
"testEnd": "2023-07-28T00:00:00",
"testStart": "2023-01-30T00:00:00",
"trainEnd": "2023-01-27T00:00:00",
"trainStart": "2020-01-30T00:00:00"
}22 · 2023-07-31T00:00:00 → 2024-01-31T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": -0.04138446471836797,
"run": 0,
"testEnd": "2024-01-31T00:00:00",
"testStart": "2023-07-31T00:00:00",
"trainEnd": "2023-07-28T00:00:00",
"trainStart": "2020-07-31T00:00:00"
}23 · 2024-02-01T00:00:00 → 2024-08-01T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": -0.09723595905980115,
"run": 0,
"testEnd": "2024-08-01T00:00:00",
"testStart": "2024-02-01T00:00:00",
"trainEnd": "2024-01-31T00:00:00",
"trainStart": "2021-02-01T00:00:00"
}24 · 2024-08-02T00:00:00 → 2025-01-31T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": -0.2124049755544185,
"run": 0,
"testEnd": "2025-01-31T00:00:00",
"testStart": "2024-08-02T00:00:00",
"trainEnd": "2024-08-01T00:00:00",
"trainStart": "2021-08-02T00:00:00"
}25 · 2025-02-03T00:00:00 → 2025-08-01T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 40,
"squeeze_percentile": 25
},
"isSharpe": -0.15820155412422754,
"run": 0,
"testEnd": "2025-08-01T00:00:00",
"testStart": "2025-02-03T00:00:00",
"trainEnd": "2025-01-31T00:00:00",
"trainStart": "2022-02-03T00:00:00"
}26 · 2025-08-04T00:00:00 → 2026-02-04T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.2295928954622946,
"run": 6,
"testEnd": "2026-02-04T00:00:00",
"testStart": "2025-08-04T00:00:00",
"trainEnd": "2025-08-01T00:00:00",
"trainStart": "2022-08-04T00:00:00"
}27 · 2026-02-05T00:00:00 → 2026-08-05T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 60,
"squeeze_percentile": 25
},
"isSharpe": 0.5210377076407142,
"run": 6,
"testEnd": "2026-08-05T00:00:00",
"testStart": "2026-02-05T00:00:00",
"trainEnd": "2026-02-04T00:00:00",
"trainStart": "2023-02-06T00:00:00"
}28 · 2026-08-06T00:00:00 → 2026-11-10T00:00:00
{
"config": {
"bb_period": 16,
"bb_std": 2.0,
"max_hold": 20,
"momentum_period": 12,
"squeeze_lookback": 50,
"squeeze_percentile": 25
},
"isSharpe": 0.7913572457562704,
"run": 3,
"testEnd": "2026-11-10T00:00:00",
"testStart": "2026-08-06T00:00:00",
"trainEnd": "2026-08-05T00:00:00",
"trainStart": "2023-08-07T00:00:00"
}Run summary
| Price observations | 4240 |
|---|---|
| Ending equity | 1.10339 |
| Total return | 10.34% |
| Days with target changes | 260 |
| Cumulative target change | 26000.00% |
| Cumulative synthetic rebalance turnover | 26000.00% |
| Target gross exposure | 0.00% |
| Target net exposure | 0.00% |
| Target cash residual | 100.00% |
| Effective gross exposure | 0.00% |
| Effective net exposure | 0.00% |
| Effective cash residual | 100.00% |
Latest asset weights
| Market | Target | Effective |
|---|---|---|
| SPY | 0.00% | 0.00% |
Target change measures changes in rule weights. Synthetic rebalance turnover also accounts for weight drift after returns; even unchanged targets can require rebalancing. Cash is the signed residual after net exposure.
Accounting changes on identical inputs
{
"changedReturnDays": 2,
"correctedTerminalEquity": 1.103391129697458,
"legacyTerminalEquity": 1.1253448095505827,
"maximumDailyReturnDelta": 0.012542314447365976,
"model": "coherent-lagged-target-v2",
"terminalEquityDelta": -0.021953679853124797
}Full run identity and technical record
{
"inputHash": "88bde742cfb27ffcc612439c8e267028d5cf5a9a66771d65927b86949dca809c",
"ruleVersion": null,
"sameInputAccountingCorrection": {
"changedReturnDays": 2,
"correctedTerminalEquity": 1.103391129697458,
"legacyTerminalEquity": 1.1253448095505827,
"maximumDailyReturnDelta": 0.012542314447365976,
"model": "coherent-lagged-target-v2",
"terminalEquityDelta": -0.021953679853124797
},
"sourceHashes": {
"scripts/build_data.py": "e3dcc988d80a46f7f5a24396bb4ffcac240da8e1249de18a5a282eacccc52320",
"scripts/enrich_metrics.py": "05611fa9c6de11c261f631cdd8a3314212e7c567f24878a396d057d88752051c",
"scripts/evidence_v2.py": "c4c6523dbbb9513464dca25150f42cbaac7cbfd71bd8afdc855659b2c763d72e",
"scripts/performance_io.py": "42282ff10697ceb56dc7ca2edf79538c2e1e8344da8e6d69ceac4d16ba5c668a",
"scripts/recompute_evidence.py": "a7f59004cb7c356940ee3748439024cd83cac434acb90c0bead2ae19f81be127",
"scripts/replay_evidence.py": "4e04d937c19b9040da6dc9c3c80ac22181b45ffba0131f3a63a4def95865fad6",
"scripts/requirements.txt": "7424048072a2cf3d8c3b4e4f37a5b36c1e7ff3732d893c43295d17d85c5f97d1",
"scripts/strategies/bb_kc_squeeze.py": "cdabc2ffcb4094b3d2f173e34ce44be119345c67368bd71e46e66174827d7e10",
"scripts/strategy_evidence.py": "a3a93d62a84298470af3eb8e7d74e9f0ca0d29cf672d1d2d5449b41904e3d58c"
},
"runId": "f9499e41f0475afdd5f4582461bb0dc42c2269dc5f27abbacf296d39570b2a05",
"generatedAt": "2026-11-11T10:55:31.449953+00:00",
"executionModel": {
"cash": "1 - sum(weights); residual may exceed one or be negative for shorts/leverage.",
"decision": "Target weights use bars through close t; previous targets earn (t-1,t].",
"feesBasisPoints": 0,
"fills": "Synthetic daily target allocations, not broker orders or fills; financing/borrow costs omitted.",
"id": "synthetic-daily-target-v3",
"rebalanceTurnover": "Sum(abs(target[t] - target[t-1]*(1+assetReturn[t])/(1+grossReturn[t]))); one-way risky notional at close t after returns, divided by pre-trade equity.",
"return": "Sum of previous target weight times each asset close-to-close return; cash return is zero.",
"targetChange": "Sum(abs(target[t] - target[t-1])); changes in rule targets only.",
"wfo": "Candidate retains its own hypothetical state; first test return uses previous published target."
}
}