← Performance

Performance Methodology

v1.0 (2026-09-01)

Exactly how records are generated, paper-traded, evaluated and published. If any rule changes, the version above is incremented.

Signal Generation

A signal is generated when the engine’s predefined conditions align during regular NSE market hours (09:15–15:30 IST, Mon–Fri). The engine evaluates: volatility regime (India VIX), IV rank, trend strength (Wilder ADX with +DI/−DI smoothing), option-chain skew and time-of-day regime.

The time-regime classifier hard-blocks new entries in the pre-open period and the closing window (after ~15:00 IST). Signals are typically generated for L1 Credit Spreads when the score, volatility and regime gates all pass.

Entry Rule

Entry reference price is the net credit of the option legs at signal generation time, recorded from the live option feed at that timestamp. All timestamps are recorded in IST (UTC is retained internally).

Paper entry uses option prices quoted by the data feed at signal time. Recorded entries are never improved after the fact.

Exit Rule

Each strategy defines exits in advance. For L1 Credit Spreads: (1) profit target — exit when spread premium decays by the strategy-defined percentage of entry credit (target varies with VIX and DTE); (2) stop loss — exit when spread premium widens beyond the strategy-defined threshold; (3) time-based exit — open paper records are squared off at 15:15 IST.

Stop Loss

The stop loss is a premium-multiple of the entry credit, set per strategy and adjusted for volatility. When the paper-marked spread reaches the stop level, the record closes at the then-current feed price. Stop levels come from strategy configuration at signal time — never adjusted retroactively.

Target

The target is a percentage of entry credit (premium decay), dependent on VIX and DTE at entry. A recorded exit reads e.g. "Profit target (99% >= 52% [VIX=18, DTE=5])" — the spread decayed 99%, exceeding the 52% target for those conditions.

Time-Based Exit

If neither target nor stop is hit intraday, all paper records close at the 15:15 IST time-stop, recorded with exit reason "Time exit (15:15)". Time-exit results can be wins or losses and are included without filtering.

Option Price Source

Paper pricing comes from the live broker WebSocket feed (Flattrade Noren stream currently). Spot, VIX and premium values are recorded at entry and exit. On stale or unavailable feeds the engine does not invent prices — affected records are excluded or marked invalid.

Market Data & Freshness

Underlying and option-chain data come from the connected broker’s exchange feed, streamed during market hours. Telemetry monitors staleness; stale feeds halt evaluation rather than producing output on old data. Known limitations: occasional feed interruptions, instrument-mapping differences across brokers, and liquidity gaps away from ATM.

Slippage

Current paper calculations do NOT model slippage. Fills are assumed at feed prices. Real fills for option spreads — especially illiquid strikes — can be materially worse. This limitation is stated plainly rather than hidden.

Brokerage, Taxes & Charges

The journal records brokerage, STT and other charges per record. Current paper runs mostly record zero brokerage (discount-broker plans would apply in practice). Where cost fields are populated they are included in net P&L. Users should model their own broker’s actual cost schedule — real costs will reduce results versus this record.

Liquidity

Strategy logic constrains strike selection toward the liquid near-ATM region. Paper fills still assume the displayed quote is fully fillable — illiquid strikes can produce unrealistic paper fills. Strike gates mitigate but do not eliminate this.

Look-Ahead Protection

Signals are generated only from data available at the signal timestamp. Exits are evaluated against the live feed during the record. The pipeline does not inject future prices into earlier decisions. Records affected by known past data bugs were marked invalid via a validity flag and excluded — not rewritten.

Historical Data

The published record covers the live paper-trading period beginning mid-March 2026. Rows affected by a known synthetic-price era and pricing bugs were audited, marked invalid and excluded from all published statistics — this is why published counts may be lower than raw database rows.

The methodology (exit rules, gates, ADX calculation) was revised on 2026-09-01. This page documents the current version; future changes will be versioned here.

Score Definition

The model score is an internal 0–100 strength measure computed from conditions at signal time (regime alignment, volatility, trend strength and related components). It expresses how strongly current conditions match the strategy’s predefined criteria.

The score is NOT a probability of profit. It has not been statistically calibrated as a probability estimate. Two scores of 90 and 60 do not imply the first is "90% likely" to profit.

Known Limitations — Stated Plainly

  • • No slippage modeling in current paper results.
  • • Mostly zero-brokerage assumption in the current record.
  • • L1 Credit Spreads dominates the record; other levels have insufficient sample size to publish.
  • • The sample period includes one large loss day (2026-03-26), included in every published statistic.
  • • Results are not indicative of future performance and are not actual customer returns.