Trade Decision Engine.
Score it · size it · log it — the discipline layer, not another journal
cards · fill top→bottom · save & lock at foot

Trade cards · saved locally & exportable

Work down the trade below, top to bottom. Nothing is fixed until you Save & lock at the foot — that button lives at the bottom on purpose, so you commit only once the analysis is in front of you.

1 · Trade Setup

Your entry and stop define the trade's risk. Direction signs everything (long vs short). The original stop — a fixed % or price below/above entry — drives your position size and never moves once set; a trailed stop is a later, separate state.
Original stop price
Sizing always uses the original stop. The live/trailed stop is a separate state — coming next. (Fill slippage is captured on your actual fill price in Option Pricing.)

2 · Targets — T1 / T2 / T3

T1 projects off your entry using the range × an extension % (a flag-pole-style move) — or type a specific T1 to override. T2/T3 are optional further targets. Risk:reward is shown risk-normalised as 1 : reward to T1.
Range
T1 target
% to T1 (break-even)
Risk / reward (to T1)
% to T2 / T3
T1 = entry + (range × extension), projected off entry and signed by direction — not a full measured move. Enter a specific T1 to override the formula.

3 · Scoring — pick a method, or build your own

Tick the criteria your setup meets. Weighted points ÷ max = your % grade; the verdict below and your On-system eligibility follow from it. A veto item blocks the trade if unmet, whatever the score. Build a method by hand, pick a preset, or import one from a CSV.
Scoring method
Good ≥ (%)
OK ≥ (%)
 
MetCriterionWeightVeto
veto?
Weighted points ÷ max = the % grade, so thresholds hold however many criteria you pick. Weights are hidden until you tick adjust weights (default 1). Build by hand or Import CSV using the template (Method, Criterion, Weight, Veto, Good %, OK %, Note).
0%weighted grade0 / 0 pts
AWAITING

Tick the criteria above, then read your verdict here — this is the go/no-go gate. Your classification below follows from it.

Trade classification · follows your score, locked when you Save

What is this trade?
Strategy
On-system status
On-system is available only when the setup clears your Good bar with no veto — that is "followed to the tee". Set the type before the outcome is known; once saved it is frozen. Pre-trigger-only lock + a timestamped audit trail land with persistence (Phase 2).

4 · Option Pricing — Black-Scholes

Black-Scholes prices the option from strike, days-to-expiry, implied vol and rate. IV = intrinsic value, TV = time value. Pre-trade the model estimates the premium; once filled, enter your actual fill price so every P&L is real. Watch the self-checks — they flag setups that break your DITM / 30-DTE discipline.
Premium used (entry)
Fill vs model (slippage)
Intrinsic value (IV)
Time value (TV)
Delta
Theta / day
Pre-trade, leave Actual fill at 0 to use the model estimate. Once your broker fills the order, enter what you actually paid — every P&L figure then works off your real fill, so slippage is captured where it happens. TV % of premium flags time-value exposure.

5 · Position Sizing

Contracts = your risk budget (pot × practical-risk %) ÷ risk per contract. Two ways to measure risk/contract: stock-distance (entry−stop, delta-1 shortcut — fine when deep ITM) or option-drop (BSM reprice at the stop). Auto picks by your DITM delta threshold. Always rounds down.
$ risk capital
Risk/ct — stock-distance
Risk/ct — option-drop (BSM)
Active method
Contracts to trade
Capital deployed
% of pot deployed
Auto picks stock-distance when delta ≥ the DITM threshold, else option-drop. Both use the original stop; option-drop assumes the stop is hit at entry (no time decay). Round down always.

6 · Scenario Repricing — option value & P&L at each level

Each column (SL / T1 / T2 / T3) reprices the option with Black-Scholes at that underlying and the remaining time, then shows P&L per contract and in total. Total P&L is the cash line that scales with contracts — the row that matters most.
Days elapsed at scenario (0 = now)
Each row reprices with Black-Scholes at that underlying and the remaining time (DTE − days elapsed) — the honest replacement for the Excel's weighted-TV lookup. At 0 days elapsed you see the immediate / optimistic bound. Leverage = option % move ÷ underlying % move.

Save & lifecycle · nothing is fixed until you save

Card state
SETUP
Commit
Trade date
Closing / No-Trade date
Result at close ($)
 
Work down the trade first. Save & lock is a two-click confirm that freezes the setup — your committed decision, preserved before the outcome is known. Advancing to Live / Closed happens here too. Export regularly; the JSON is your real backup.

7 · Journal & scoreboard — every card, every stage

This is your record, built straight from your cards — every trade you looked at, whatever stage it reached (Setup, Awaiting, Live, Closed, No-Trade). Enter the result at close above and the scoreboard splits your closed results by type (On-system / Override / Punt) and by strategy — the mirror that shows whether you make money on-system or on deviations. No-Trades are listed but excluded from win-rate.
TickerDirStrategyTypeGradeStateEntryContractsCapitalResult
Every card appears here the moment it exists. Win-rate and P/L build from Closed cards that have a result entered. Click a row to open that card.
v0 prototype — built to reconcile against your Excel, not replace it yet. Black-Scholes (European) used for pricing/scenarios; American early-exercise premium not modelled. Not investment advice.