Falconn trades NIFTY systematically and records every decision it makes — each signal stamped with the rule that produced it, every session replayable tick by tick, every loss classified.
Everything the engine does lives on one desk — from the live session to the research bench.
Every signal, order, fill and exit is journaled as it happens — nothing typed in after the fact, nothing forgotten.
Play any archived session back print by print and watch exactly what the engine saw when it pulled the trigger.
Walk-forward folds, parameter sweeps and a stored run history — every experiment keeps its id, so a claim can be re-opened later.
Losses are classified, not mourned: false breakout, weak entry, low-vol regime — with the why on every trade.
Session-over-session equity, R-multiples, MAE/MFE excursions and exit-reason attribution across every arm.
Hard order caps, daily loss budgets and per-class position limits, enforced before an order is sent — discipline in code, not willpower.
The journal writes itself while the engine trades. Each entry carries the exact rule and structure that produced it — so weeks later, one click answers "why did we take this?"
Any archived session plays back print by print, on its own clock — and every trade in the journal deep-links to the exact moment its signal armed.
The bench runs backtests and forward validation on sessions the strategy has never seen — and when live trades lose, a deterministic classifier explains how: the taxonomy your next improvement comes from.
Most of this system exists to answer one question honestly: is this edge real, or was it fitted to the past? Each gate needs the run that justified it — a reference, not an opinion.
A rule written against the strategy schema, versioned from the moment it exists.
Owner recordedHistorical candles, walk-forward folds and parameter grids — net of real costs, never gross.
Needs a run idParameters locked, replayed forward on sessions that did not exist when it was tuned.
Months, not daysOnly once the pre-committed bar is cleared — and only with an out-of-band confirmation.
Two-key release✕A strategy that fails a gate goes back, not forward. There is no override on the promotion path, and every transition is written to an audit log with the actor's name against it.
The usual way a thin edge reaches real money is that the target moves — someone looks at six encouraging weeks and decides six weeks was always enough. So the numbers are fixed first, per strategy, alongside the abort triggers that shelve it.
| Criterion | Bar | Actual | |
|---|---|---|---|
| Forward sessions | ≥ 60 | 74 | pass |
| Out-of-sample trades | ≥ 30 | 41 | pass |
| Profit factor, net | ≥ 1.25 | 1.38 | pass |
| Max drawdown | ≤ 8.0R | 5.2R | pass |
| Parity divergences | 0 | 0 | pass |
| Parameters changed | 0 | 0 | pass |
| Ledger | Forward | Trades | Parity |
|---|---|---|---|
| STRAT_002_LONG | 41 | clean | |
| STRAT_010_LONG | 28 | clean | |
| STRAT_006_SHORT | 17 | held | |
| STRAT_007_PEAK | 9 | held | |
| STRAT_011_SHORT | 33 | clean | |
| STRAT_001_LONG | 22 | clean | |
| STRAT_012_SHORT | 14 | clean | |
| STRAT_006_LONG | 19 | clean |
Every forward trade is diffed against the backtest engine that proposed the edge. A mismatch isn't noise to be averaged away — it means one of the two is wrong, and until that's explained the ledger isn't evidence.
Strategies are versioned records, not settings edited in place. Each trade is stamped with the strategy, the version and a hash of the exact definition that was live at that moment — so a trade from months ago still traces to the logic that placed it, character for character.
| strategy_id | STRAT_002_LONG |
| version | 4of 6 |
| definition_hash | 9f3c1d…a71ecopy |
| promoted_by | prashant |
| promoted_at | 2026-07-14 18:02 IST |
| paper_ref | sim_2026-07-14_a3open |
They're the pod restarting mid-position, the stop that never got placed, the feed going quiet at 11:04. Most of the engineering here is about those.
Every restart reconciles against the broker's own truth before trading resumes — and refuses to start with an unprotected live position.
Protective-stop coverage is re-checked on a schedule, never assumed from the moment an order was accepted.
A stop is validated against the instrument it belongs to, so a futures level can never reach an option order.
A feed that goes quiet is treated as a fault, not as a market that happens to have no ticks in it.
Risk-increasing actions make the operator type the thing back. Risk-reducing ones stay frictionless — and both are audited.
Self-hosted end to end. Strategy logic and trade history never leave the cluster, and no vendor's shutdown becomes your problem.
Recorded at every step. Reviewable forever. Replayable from signal to fill.
Not today. Falconn is a private, non-commercial project — one person's engine, trading one account. This site exists to document the work, not to sell it.
No. Nothing here is a recommendation, signal, or solicitation. Figures in interface illustrations are sample data, historical market data, or research/validation results — not live performance.
A strategy is frozen, then evaluated on sessions it has never seen — the third of the four gates above. Only strategies that hold up on that unseen data become eligible to place live orders.
The equity curve and stats combine three research-bench runs over Jan 2025 → Aug 2026 — 106 trades, merged in exit order, no trades removed. Sizing follows the same risk rules the live engine uses (NIFTY lot size 65). The three runs are not a selection from a larger pool — they are the three strategies that passed forward validation and earned live eligibility, shown in full. P&L is as reported by the research runner with transaction costs and slippage included. Validation windows are frozen before evaluation and strategies are not modified during a run. These are research results on historical and unseen forward sessions — not live trading.
Accountability and craft. Writing the system down — honestly, including how it loses — keeps the engineering disciplined.
Falconn is a private project — but questions and conversations are welcome. Leave a note and we'll get back to you.