Abstract
Between 5 September and 5 October 2026, Dr Yash Kulkarni directed an options research programme inside the Blitz research effort, covering a 0DTE and 1DTE SPXW iron-condor line, a feed and harness audit, and successive batches of new strategy engines. This paper reports what that programme found, using only what the research log attributes to him. Three findings recur. First, a single audit that removed hard-coded decay multipliers, floor clamps, dummy implied volatilities and proxied volumes re-tested six engines and parked two of them as data-insufficient. Second, a short list of harness and feed artifacts (single-day snapshots, expiry used as a proxy for event timing, a feed that starts at 10:00, forced liquidation of multi-day structures, a quote feed that ends at 14:30) explained most of the early losses and several of the early wins. Third, later batches kept their failures in the record: five of ten engines in one batch and six of ten in another were rejected, with the mechanism of failure written down. The reported performance figures are contested by earlier audits in the same log and are not independently certified.
Motivation
An options backtest has more places to manufacture edge than an equity backtest. Quotes are two-sided, expiries carry different information, fills cross a spread on four legs at a time, and a historical file may lack the field a strategy needs. A harness that fills the gap with a plausible constant produces a strategy that works.
The programme started from a narrower question than most research does. Rather than asking which engine makes money, it asked whether each number in the output could be traced to something the feed contains. The log records that question being asked of the programme's own earlier work, which is unusual and is the reason for writing this up.
Method
The log describes the programme's operating rules in its own entries. We summarise only the ones the entries show in use.
- Zero synthetic data. An engine that needs a field the feed lacks must report
DATA_INSUFFICIENTand stop, not substitute a proxy [4]. The same entry records the rule being added to the programme'screateskill [4]. - Realistic friction. Entries state crossing half-spreads ($0.025 per leg on SPXW, $0.010 on SPY), exchange fees ($0.57 per leg), broker commissions ($0.65 per leg) and next-bar fills, applied to every trade [4][8][9].
- No parameter grids. Entries state that a repository check (
check_no_grid.sh) exited cleanly on each batch [8][9][10]. - A drawdown ceiling. A 10% account circuit breaker on a $10,000,000 base is used as a hard rejection criterion, and engines that trip it are rejected [9].
- A fixed performance metric. On 13 September the programme standardised on the Omega ratio at zero, with archetype thresholds of at least 1.50 for credit and delta-neutral sleeves and at least 1.35 for debit and convexity sleeves [6].
The data are a local mirror of 1-minute CBOE SPXW NBBO quotes, 15,501,253 rows over 151 sessions from 29 January to 4 September 2026 in the early work [2][3], and later partitioned multi-year session files for SPXW, SPY, QQQ, IWM, NVDA and others [8][9][10].
Results
The first condor line, and what its own author later said about it
The first full run of the 0DTE/1DTE iron-condor engine (Hemera) on the 151-session feed reports 76 trades from 356 cycles, an 80.3% win rate, a profit factor of 3.23, a net P&L of +$295,694.08 after $39,205.92 of friction, and a peak margin of $202,160 [1]. Three gates rejected 280 of 356 cycles: an expiry gate (88), a morning-trend gate (80) and an opening-range compression gate (112) [1].
Before that run, an earlier entry from the same author finds that a single-day test had produced a −$46,858 loss at a 10:50 strike breach and then moved entry to 11:16, short strikes to 15 delta, and added a breach buffer [1b]. The sequence matters: the engine's strikes, entry time and exit rules were revised after a single losing session, and that session is one of the 151 on which the 80.3% figure is then measured.
A feed and harness audit of six engines
On 6 September a self-audit found six engines with artificial parameters [4]. In each case the log gives the constant and its replacement.
| Engine | Artificial input found | Replacement | Post-audit result reported |
|---|---|---|---|
| Nyx | overnight buy-back at 0.72 × entry | next session's 09:32 quote | 118 trades, 67.8% win rate, +$475,922 |
| Themis | floor clamp max(0.20, …) on basis |
unclamped signed cash flow | 154 trades, +$48,658 after $56,152 friction |
| Boreas | IV(1DTE) set to 0.83 × IV(0DTE) | solved IVs for both expiries; true calendar | 1 trade, +$26,611 |
| Harmonia | dummy open-interest z-score and dealer GEX | feed audit | parked, DATA_INSUFFICIENT |
| Keres | volume z-score from price velocity | feed audit | parked, DATA_INSUFFICIENT |
| Ananke | flat 15% implied volatility at every strike | per-strike Black-Scholes inversion | 15 trades, −$11,720 |
The finding for Keres is a direct measurement: volume is zero in all 15.5 million rows of the feed, so any volume-based microstructure signal built on it is a proxy [4]. The finding for Ananke is a statement about weighting: aggregate charm and vanna should be weighted by open interest at each strike, and without open interest a uniform weight dilutes the signal [4].
Five recurring artifacts
The log attributes the following diagnoses to the same author. Each one produced a loss or a gain that did not come from the market.
- Single-day data forced into a multi-week structure. A calendar spread opened at 10:00 and closed at 14:30 on the same day paid four half-spreads for zero elapsed time. The log's remedy was to halt trading when the data cannot span the holding period [2b].
- Expiry used as a proxy for an event. The earnings engine (Pheme) treated days to expiry as days to earnings. No covered ticker reported earnings in the test window, so it traded ordinary days [2b].
- A feed that starts at 10:00:00. Morning entries at 09:45 received null quotes and deltas defaulted to zero. The engine Hyperion had a 0.0% win rate for this reason; moving entry to 10:15 fixed strike resolution [7].
- Forced end-of-day liquidation of multi-day options. With
closeAtEodon, QQQ, IWM, GLD and TLT spreads with 1 to 5 days to expiry were closed on day zero. The log puts the cost at $1,200 to $1,800 per session, and $600,000 to $900,000 in total friction for the affected engines [10]. - A quote feed that ends before the settlement leg. For a 0DTE credit-spread screen the local mirror stops at 14:30 ET, so the 14:30 to 16:00 leg, including settlement, cannot be reconstructed. The screen reports a 100% win rate over 141 sessions and states that this is not evidence of an edge [3].
The last entry is the clearest example of the programme's tone. It reports a result and writes beside it that the result must not be annualised or traded, and names the audit that would settle it [3].
Fleets that keep their failures
After the audit, batch entries report acceptances and rejections together.
| Batch | Date | Engines | Outcome as logged |
|---|---|---|---|
| 27 | 2 Oct | 10 | 5 certified, 5 rejected |
| 28 | 3 Oct | 10 | 1 flagship, 1 winner, 2 in progress, 6 rejected |
| 29 | 3 Oct | 5 | 2 flagships, 2 winners, 1 falsified |
Four falsifications carry explanations of mechanism.
- Upward-trend credit condors fail (Ember, batch 27). With 50 points of call headroom the engine lost −$1,012,249.75 and tripped the 10% breaker [9].
- Gateless open-to-close trading has no edge over friction (Grendel). 969 trades, a 67.4% win rate, a profit factor of 1.00, and −$2,092 net after $352,700 of friction [9].
- A narrow scan window had flattered an engine (Garuda). Widening the window to run through 14:15 changed 19 trades and +$9,800 into 677 trades and −$156,900 [9].
- A 1×2 ratio backspread has a loss valley (Briareus, batch 28). Maximum loss falls where spot settles at the long strike, which a moderate downward drift reaches. Converting it to a 1×2×1 broken-wing fly (Stheno, batch 29) reported +$465,260.42, 93.6% win rate and 0.47% drawdown [10][11].
A fifth entry shows the programme learning from the rejections: the batch 29 engines were designed explicitly to remove each batch 28 failure mode, and one of five (Qorvex, a linear 30-point credit spread) still failed at −$545,632 [11].
Live execution hardening
On 5 October the programme records a forensic fix of the live execution stack after a socket audit [12]. The entry lists five defects: a snake_case versus PascalCase key mismatch that evaluated NAV to $0.0 and falsely marked the account disconnected, a hairpin-NAT stall of 25 seconds when connecting to the host's own public address, a quote-qualification call that hung on a legacy index, a default strike count of 44 that truncated protective wings requiring up to 18 strikes, and a bar-index calculation that failed closed after restarts. The reported repairs include restoring a live NAV of $955,333.27 and cutting the loopback connection to 1.1 seconds [12].
Falsification and limits
This section is the most important one for reviewers.
- The headline performance figures are contested within the same log. On 5 September, an audit by other authors on raw OPRA bid-ask chains reports the same condor engine at 21 trades, a 47.6% win rate, a profit factor of 0.38 and −$169,926.46 [13]. On 6 September a separate audit rejected 4-leg 0DTE condors executed as taker orders, at −0.6 bps per event over 8 qualifying sessions, and codified the rule as SCAR-13 [14]. The 80.3% result in [1] and the 0.38 result in [13] use different feeds and different fill assumptions. The log does not reconcile them, and we have not tried to.
- Several later large P&L figures have no placebo or blind-window result in the entries we read. Batch 25 reports engines at up to +$6.4 million on a $10 million base. The entries we read for batches 25 to 29 do not report a placebo control or an air-gapped blind window, which other entries in the log call a non-negotiable hurdle. This may mean those checks were run elsewhere. We cannot confirm that from the log.
- The 11 September drawdown suite is in-sample tuning. It reports 16 engines moving from −$3,495,280.56 to −$623,595.36 and a portfolio improvement of +$2,720,937.46, after exit times, deltas, wings and gates were changed on the same 386 sessions [5]. The entry states the programme's no-grid rule held, but the size of the improvement is what in-sample re-tuning would be expected to produce.
- Authorship is mixed. Entries from 16 September are labelled as written with an agent (Eidolon,
node-yash), and batch 25 also names an actuator agent. Dr Kulkarni is named as principal author, mandate-setter and decision-maker. The log does not say which analyses he ran by hand. - One external confirmation is second-hand. A 7 September entry by other authors records Dr Kulkarni independently confirming a credit-spread sector-pair finding, quoted as "Long XLP is a hedge, as clean as it gets" [15]. The communication itself is not in the log.
- Log hygiene. Some entries appear twice in the log (for example the 6 September entries on Ananke, Charybdis and the risk architecture), and line numbers in the References refer to the first occurrence in the file as it stood on 5 October 2026.
What this means in practice
For anyone running an options backtest, the programme's most transferable results are the checks, not the engines. Ask whether each input exists in the feed. Ask whether the holding period fits the data. Ask whether a result that depends on a window or a time-of-day gate survives widening it. Record the rejections in the same table as the acceptances, with a mechanism.
For the programme itself, the open item is the one the log already names: the condor line and the later large-dollar fleets need the same independent audit that rejected the first design, on a feed that includes the settlement leg, before any figure here is read as an edge.
Credit
The research reported here was directed by Dr Yash Kulkarni, whose log entries (author tag "Yash / @asher") set the objectives, the rejection criteria and the standing rules that the later batches follow. The engineering and runs were carried out with the Blitz tooling and, from 16 September, with an agent on his node. The log's collaboration rule requires every entry to declare its author at the heading level, and this paper relies on that.
Reproducibility appendix
Source: the Blitz research log (RESEARCH_LOG.md, 59,586 lines at the 5 October 2026 snapshot). Research conducted: 5 September to 5 October 2026. Publication date of this paper: 6 October 2026. No code or data is bundled with this draft. To check any number, open the cited entry and the report file it names.
References
Entries are cited by heading date, a shortened title and the starting line in RESEARCH_LOG.md. All were authored as "Yash / @asher" unless noted.
[1] 2026-09-06, "Hemera Strategy 8 Full 7-Month Empirical 0DTE/1DTE Backtest (151 Days, 356 Cycles)", line 5097. [1b] 2026-09-05, "Hemera Strategy 8 Empirical 0DTE Backtest on CBOE SPXW Intraday Feed", line 4949. [2] 2026-09-05, "Multi-Strategy C++ Options Backtest Execution & Pre-Preliminary Audit Suite", line 4923. [2b] 2026-09-05, "In-Progress Options Engine Audit & Structural Defect Remediation", line 5002. [3] 2026-09-08, "Frontier 10 — 0DTE SPXW Vertical Credit Strike Pinning & Vanna Compression: Local Preliminary M1 Screen", line 22920. [4] 2026-09-06, "Comprehensive Slop Audit, Elimination of Artificial Assumptions & Honest Empirical Retest" (author tag "Yash Kulkarni (@asher)"), line 5542. [5] 2026-09-11, "Drawdown Filter & Hedging Re-Engineering Suite: 16-Engine Empirical Optimization", line 23009. [6] 2026-09-13, "Standardization of Omega Ratio Metric Across Entire 85-Strategy Portfolio & Actuation Pipeline", line 23550. [7] Same entry as [5], section 1, failure mode 2 (feed starts 10:00:00 ET), line 23009. [8] 2026-09-23, "Strategies 186-195 Empirical Verification", line 59196. [9] 2026-10-02, "Strategies 236-245 Empirical Verification: Batch 27", line 59428. [10] 2026-10-03, "Strategies 246–255 Empirical Verification: Batch 28" (with Eidolon / node-yash), line 59463. [11] 2026-10-03, "Strategies 256–260 Empirical Verification: Batch 29" (with Eidolon / node-yash), line 59519. [12] 2026-10-05, "Polaris Forensic Audit Resolution & C++/Bridge Live Execution Hardening" (with Eidolon / node-yash), line 59561. [13] 2026-09-05, "Section XXII: Exhaustive Empirical Stress Audit Across Candidate Strategies" (author tag "Cayden & Rigel"), lines 4772 and 4830. [14] 2026-09-06, "Frontier 10: 4-Leg 0DTE Iron Condor Taker Friction Trap Rejection" (author tag "Cayden & Rigel"), line 6744. [15] 2026-09-07, "Frontier #15 …" section 4, "Independent Peer Empirical Validation: Yash Kulkarni on SCAR-52" (author tag "Cayden, Yash & Rigel"), line 8441.
Cite this paper
@misc{forticia2026feed,
title = {{Feed honesty before alpha: findings from the Yash Desk options research programme}},
author = {Kulkarni, Dr Yash},
year = {2026},
month = oct,
publisher = {Forticia Research Institute},
howpublished = {\url{https://www.forticia.uk/papers/feed-honesty-before-alpha-options-research}},
note = {Paper, published online}
}Generated from this page’s metadata. Forticia does not assign DOIs to these papers.