Keystone

Replay the market.
Analyze the past.
Predict the future.

Drop into any date, see the option chain exactly as it was, open a position, and step forward day by day — every fill marked to market

Real historical option chains — bid, ask, and volume, back to 2014
Blind replay — a real simulation, with the ticker hidden
Real and paper trades scored, ranked, and analyzed to the penny
Trader leaderboard — see where you rank against everyone
A product of Keystone Research Group
Sign in to your account
or
We’ll email you a one-time code — no password needed.
Keystone
Not signed in
Alerts
Log
Ticker
—
—
—
Out of credits. Your balance has hit zero, which locks Blind replay — the game that trades your real balance. Practice modes stay open. Add credits to play again.
Off
Broker trades
Real-time trades
Loading chart…
—
Options replay coverage
CHARTS ONLYno options this far back
REAL PRICESto the minute · modeled fills
TO THE MINUTEbid/ask · mid fills
2002'14Mar '22today
2014 → Mar '22: real, recorded option prices — daily and to the minute — so the price action is exact. There's no bid/ask feed before Mar '22, so only the FILL is modeled (from the trade + the live stock; measured on real 2024 markets: typical miss ~1.5% of the true mid during the session, ~3.2% at the close with 75% within 10%). From Mar '22, fills price off the real bid/ask. Before 2014, replay is stock charts only — no option chains.

Click a call on the left or a put on the right to open an order ticket.

CallsStrikePuts
BidAskLastIVVol BidAskLastIVVol
Real-time trades live market
Imported from my broker
Blind replay mystery sessions

Cumulative P&L

Drawdown

Net P&L by day

Wins vs losses

Trade timeline Hide ▾ every trade in the order you opened it · the bar runs from the day it opened to the day it closed

made moneylost money open at the same time as another trademarket selloff

Win rate by symbol click a column header to sort · click a symbol to filter the blotter below

Every trade

Real-time trades live market
Imported from my broker
Blind replay mystery sessions

Exit fingerprint how much of each trade's peak you captured

Ran higher after you sold days from your exit to the later peak

Disposition curve

Decay, not direction

Where the money lives net P&L by the premium you paid at entry

How long should you hold? net P&L by how many days you held · hover a bar

Time on the clock at entry days to expiry when you opened · hover a bar

What volatility did you pay? net P&L by the option's implied vol when you opened, in 10% bands · hover a bar

Down bad, then what? trades that fell hard while you held — and whether they came back

Does size help you?

Drop your trades here
CSV · Excel · PDF · screenshot — any broker export
No template, no reformatting — a layout we don't know is read with AI, and you check the trades before they're added.
✓
How this works

Everything you'd ask before dropping a file

01What happens after I drop a file?

Every trade is read and listed in Trade History → Imported — entries, exits, expiries, quantities and commissions, totalled and reconciled against your own statement.

Nothing is estimated at this stage. If your file says it, you'll see it; if it doesn't, you'll be told what's missing.

02What is the Analyse button for?

Open any completed trade in the blotter and press Analyse. Keystone replays the market across the trade's whole life — every session from your entry to expiry — and prices the five paths you didn't take:

  1. Held to expiry
  2. The best exit while you held it
  3. The best exit after you sold
  4. The same money in shares
  5. The next expiry out

Each comes back with the contract's own day-by-day price path, your entry and exit marked on it, so you can see where the trade actually peaked and what it did after you were out — from real recorded quotes, never a model.

No broker, journal or backtester does this. They tell you what you made. This tells you what was on the table.
03Why one trade at a time instead of all of them?

An analysis is not a single snapshot. Keystone replays every session the trade was alive — from the day you opened it through to expiry — pulling that exact contract's daily prices and the underlying alongside them, then re-running the alternatives you didn't take against the same days.

That is a lot of recorded market per trade, so it is opt-in. You choose which round trips are worth the look.

There is an Analyse all button in the Scenario panel when you want the lot — it tells you how many will run and roughly how long before it starts.

04Which files work?
Excel .xlsx
The trade sheet is found for you inside a multi-sheet workbook, Excel's numeric dates are converted, and account balances are picked up from a balances sheet if the workbook has one.
PDF .pdf
Works as long as the text in the PDF can be selected — a statement downloaded from a broker can be. A PDF that is really just a picture of a page cannot.
CSV / TSV / TXT
Columns are found by their heading, so the order they sit in doesn't matter, and it doesn't matter what separates them — a comma, a tab or anything else your broker used.
Screenshots, scanned PDFs, any other layout
Read with AI (Claude). Every trade it finds is checked against your file, and you see the list before anything is added. Option trades only — stock trades, transfers and exercises are skipped.
05How do I get the most accurate results?

After every import you get a checklist of what your file contained. Anything with a circle rather than a tick is missing and worth including next time:

Exit date and price
Without them a trade reads as still open and cannot be scored at all.
Commissions
P&L is gross without them, and the commission total reads $0.
Account balances
Needed for drawdown as a percentage of the account rather than of your gains.

Most brokers offer a realised gain/loss or closed positions export that carries all three.

06What if the numbers look wrong?

Check the blotter footer first — it totals the rows and the commissions so you can tie them straight to your statement.

If those match and something downstream doesn't, the import is fine and the problem is worth reporting. Nothing here is estimated: every figure comes from your file or from recorded market data.

07Can I remove what I imported?

Yes — Remove this data sits beside the source picker in Trade History. It clears the imported trades and their saved analyses, and leaves your simulator and real-time trades untouched.

Admin dashboard

Market-data pool checking…

      
Members & access emails & the invite list

Invite-only access

When on, only the emails below can use the app. Everyone else is signed out with an “invite only” message. Your admin email and every team account always have access, list or not.

  1. Flip the switch (top right) to On.
  2. Paste the emails in the box — one per line, nothing else on the line.
  3. Click Save list. Nothing changes until you save — the switch alone does nothing.

Sign-ups

new accounts per day  ·  running total

Registered emails

Everyone who has signed in — Google or email/password. Pulled live from the sign-in records.

EmailSign-inJoinedLast seen
Loading…

Duplicate watch

Re-checks every hour whether two sign-ins look like the same person. Duplicates you’ve already confirmed are merged in the counts and don’t show here.

Waiting for the first check…

Balance check

Every hour the server re-adds every account’s trades and checks the balance matches to the cent. Any booking that wouldn’t match is refused outright and listed here.

Waiting for the first check…
Auto-trader checking…
When it buys:
Data check: checking…

Journal — every decision, fill, skip and error, newest first.


        
Loading usage…
Mystery hidden while the window is in the background — click back in.