counterfactual_fib_downside_vwap.py --round3 [find_instrument_token] Persistent-cache-load-hui: 41 symbols (disk-se) ====================================================================== SIA -- Fib-Downside VWAP-Stop Grid-Search (2-Model x 4-establishe
These results say that, on your sampled data, the Fib‑Downside VWAP stop configuration labelled “Model‑A” is consistently and robustly superior to “Model‑B”.
Key points from the log:
1. Sample and bootstrap structure
- Total downside events: 1684 (your “poora‑combined‑sample”).
- You ran 10 random 65% subsets (≈1095 events each) as a bootstrap‑style robustness check.
- In every subset, you computed average outcome in R‑units for Model‑A and Model‑B.
2. Performance levels (approximate averages)
From the 10 subsets:
- Model‑A values (R):
0.254, 0.31, 0.298, 0.271, 0.297, 0.274, 0.282, 0.287, 0.267, 0.299
→ Mean ≈ +0.284R per event
- Model‑B values (R):
−0.056, −0.028, −0.028, −0.042, −0.025, −0.071, −0.053, −0.04, −0.056, −0.034
→ Mean ≈ −0.043R per event
So, on average, Model‑A outperforms Model‑B by roughly 0.33R per event.
If (as an example) you define 1R as 1% of capital per trade, this is equivalent to an expected +0.28% vs −0.04% per event, before costs and slippage.
3. Consistency of outperformance
- In all 10/10 subsets: `A > B` and `Ordering-holds: ✅`.
- This means there were no bootstrap samples where B beat A on average.
- That’s exactly what you want to see from a robustness check: the edge is not coming from just one lucky slice of data.
4. Interpretation in trading terms
- The Fib‑Downside VWAP stop variant used in Model‑A appears to have a stable positive expectancy on your historical downside events.
- Model‑B not only underperforms A, it is slightly negative on average in the same conditions.
- The fact that the ordering is preserved across 10 random 65% subsamples is strong evidence that Model‑A’s advantage is not a fragile artefact of one specific sample.
5. What this does NOT yet guarantee
This is an encouraging result, but you should still be cautious before deploying capital:
- It’s still in‑sample / design‑space: you’re looking at configurations that were part of a grid‑search. Proper validation needs:
- A true out‑of‑sample hold‑out set or
- Walk‑forward or rolling‑window testing across time segments.
- Transaction costs, slippage, STT, brokerage and impact cost (especially for Indian cash/F&O) are not accounted for in R unless you explicitly baked them in. You should re‑run with realistic costs and see if the +0.284R edge survives.
- Beware of over‑fitting to 41 symbols. Check:
- Symbol‑wise breakdown: does Model‑A dominate across most symbols, or is the edge coming from a few outliers?
- Regime breakdown (e.g., pre‑COVID vs post‑COVID, low vs high VIX, bull vs bear in Nifty).
6. Suggested next validation steps (methodological)
- Hold‑out test: Reserve 20–30% of the 1684 events as a strict hold‑out that was not touched in this grid‑search; evaluate A vs B only on that.
- Time‑based splits: Do walk‑forward tests (e.g., train on 2016–2021, test on 2022–2024, etc.) to ensure the VWAP‑Fib logic works in different market regimes.
- Distribution, not just mean R: Look at win‑rate, payoff ratio, max drawdown, worst 20‑trade run, etc., for Model‑A, especially if you’re thinking of sizing it aggressively.
- Position‑sizing simulation: Run a simple fixed‑fractional or volatility‑scaled equity curve using Model‑A’s signals, with realistic costs on Indian exchanges, to see if the equity curve is stable and not dominated by a small number of big winners.
Bottom line:
- Your script output is telling you that Model‑A’s Fib‑Downside VWAP stop configuration is clearly superior to Model‑B on this dataset, and that this superiority is robust across multiple bootstrap subsets.
- The next step is not more in‑sample grid‑search, but out‑of‑sample and regime‑based robustness testing, plus full cost modelling, before relying on it in live trading.
If you have any further queries, please connect with us on 022-6290-10141 (Timings : 09.00 AM to 05.00 PM) or you can email us on info@cniinfoxchange.com