Paper trading · no money

Open
Interest

Trade S&P 500 options across 55 real market days. Practise the part that actually decides your result: getting in, sitting still, and getting out.

Built on 55 real trading days of S&P 500 history,
27 Apr to 15 Jul 2026. Realized volatility 13.0%.

The basics

What an option is

An option is a contract that gives you the right to buy or sell something at a fixed price, for a limited time. You pay a fee for that right. The fee is called the premium.

You are not buying the index. You are buying a contract whose value depends on where the index goes. When you close the trade, you sell the contract back. Your profit or loss is the difference in premium, nothing else.

Calls and puts

A call gains value when the index goes up. A put gains value when the index goes down. That is the whole distinction.

Think the S&P is heading higher, buy a call. Lower, buy a put. In this app calls sit on the left of the chain and puts on the right.

Strike

The strike is the fixed price written into the contract. Here they run every 25 points: 7500, 7525, 7550, and so on.

The strike closest to where the index is right now is at the money. This app marks it in black so you can find it instantly.

  • At the money. Cheap enough to be interesting, moves fast. Most short-term traders live here.
  • In the money. Already has real value baked in. Expensive, moves closest to the index itself.
  • Out of the money. Cheapest. Needs a real move to pay off. Most expire worthless.

Premium, and why it moves

  • The index moves. The main one. Index up, calls up, puts down.
  • Time passes. Premium leaks away every minute, because there is less time left for the move you need.
  • Volatility changes. When the market gets jumpy, every option gets more expensive.
The one that catches people

You can be right about direction and still lose. Buy a call, index goes up slightly but slowly, and time decay eats more than the move gives you. Being right is not enough. You have to be right fast enough.

Stop loss

A stop loss is a line you draw before you enter: if the premium falls this many points against me, get me out. It fires automatically. You do not have to be watching, and you do not have to decide in the moment, which is the point.

A stop does one job. It caps how bad a single trade can get. It does not improve your odds.

The tradeoff, plainly

Tight stop. Small losses, but noise takes you out constantly. You get stopped out and then watch the trade work without you.

Wide stop. Survives noise, but each loss hurts, and you need a much better win rate to stay level.

Neither is correct. Your stop has to match how far the thing actually wiggles.

Target

Same idea, other direction: if the premium goes this many points my way, take the money. Also automatic.

Its real job is not maximising profit. It is removing the decision. Without a target you will hold a winner hoping for more, watch it turn red, and exit worse than where you started.

The tradeoff, plainly

Tight target. Hits often. Feels great. Caps every winner, so one loss undoes several wins.

Wide target. Rarely hits. When it does, it pays for a lot of losses. Most trades that would have paid a small win instead come back and stop you out.

The relationship between them

Your stop and target together set the arithmetic of your system. Risk 20 points to make 17 and you need to win more than 54% of the time just to break even.

Worked out

Stop 20 · Target 17
break-even win rate = 20 ÷ (20 + 17) = 54.1%

Stop 20 · Target 40
break-even win rate = 20 ÷ (20 + 40) = 33.3%

A tighter target needs a higher win rate. No free lunch in either direction. Pick the tradeoff you can actually sit through.

Contracts, and what a point is worth

S&P options carry a 100× multiplier. One point of premium movement equals $100 per contract.

Buy 2 contracts at 18.50
cost = 18.50 × 100 × 2 = $3,700

Premium rises to 35.50
moved = +17 points
profit = 17 × 100 × 2 = +$3,400

Which is the other thing to understand. The leverage cuts both ways at exactly the same speed.

One last thing

Nothing here makes you money. It makes you familiar. Familiarity is worth having before the numbers are real, and it is the only thing this app can honestly offer.

How this works

The four screens

  • Chart. Where the index is and where it has been today.
  • Chain. Every strike and its price. This is where you pick.
  • Book. What you are holding and what it is doing.
  • Orders. Your live resting orders. Edit or cancel them here.

The strip along the top never changes. Home on the left, then the index price, your day's P&L, the clock, and Restart on the right. Tap the clock to start and pause. Long-press it to change speed.

Reading the chart

Big number is the index right now. Underneath is the move from today's open. Green above the open, red below.

The dashed line is today's opening price. The four boxes below are the day's real open, high, low and close. Blue dots on the line mark your entries. Nothing moves until you start the clock.

Picking a strike

Open the Chain tab. Strikes run down the middle, calls left, puts right. The black strike is at the money.

Tap any price and the ticket slides up. That is the whole selection process.

Hit Show greeks to see delta and theta. Ignore them at first. They will not help until the rest is automatic.

The ticket

Four decisions, in order.

1. Buy or sell

Buy means you pay the premium and want it to go up. Sell means you collect it and want it to go down. Start with buy. Selling has a different risk shape and this app is not the place to learn it.

2. Contracts

Use the − and + buttons. The label shows what it costs before you commit. Watch that number. It is the whole reason position sizing matters.

3. Stop loss

Worked example

Entry premium 42.00 · Stop 20
fires when premium touches 22.00
loss = 20 × 100 × contracts

On 2 contracts that is $2,000. Decide whether you are fine with that number before you press place.

4. Target

Worked example

Entry premium 42.00 · Target 17
fires when premium touches 59.00
profit = 17 × 100 × contracts

On 2 contracts, +$1,700. Paired with a 20-point stop you need to win 54% of the time to break even. The tally box shows this before you place.

What actually happens when you place

This is the part worth understanding, because it is where most people's mental model is wrong.

You do not place one order. You place three.

  • The entry. A market order. Fills instantly at the current premium. Done, gone to history.
  • The stop. A resting order sitting in the book at your stop price, waiting.
  • The target. A resting limit order sitting at your target price, waiting.

The stop and target are linked. When one fills, the other cancels automatically. This is called OCO, one cancels the other. It is why you cannot accidentally exit twice.

Those two resting orders are real objects. They live on the Orders tab. You can see their trigger price, how far the premium currently sits from them, and you can change or kill them.

The Orders tab

Two sections.

Working

Every resting order you have. Each card shows the type, the contract, the trigger price, the distance from where the premium is right now, and what it pays or costs if it fires.

When an order gets within 3 points of triggering the card turns amber. It is about to fill.

Modify changes the trigger price. Cancel kills the order.

If you cancel a stop

The position card in Book turns red and says unprotected. Because it is. There is nothing between you and the close. The app will let you do this without argument. It just will not pretend it is fine.

Filled

Everything that executed today, in order. Read-only.

Getting out

  • Target fills. Automatic. Best case, because you decided in advance.
  • Stop fills. Automatic. Also fine. The stop did its job.
  • You hit Square off. Manual. This is where discipline goes to die.

Anything still open at 4:00 PM closes at the last price. No overnight positions.

The thing worth paying attention to

The end screen counts two things: manual exits, and stops widened.

Widening a stop is the one that matters. It means the trade went against you, you did not like the number, and you moved the line rather than take the loss you already agreed to. Tightening a stop or pulling it to breakeven does not count. Only widening.

Your P&L across 55 days of synthetic fills is noise. That count is not. It is the same behaviour you will bring to real money, and it is measurable here for free.

Where the data comes from

Real

55 trading days of S&P 500 daily data, 27 April to 15 July 2026. Every session's open, high, low and close is the genuine one. Not adjusted, not approximated.

Realized volatility across those 55 days is 13.0% annualized, computed from the actual closes. The average day covers about 0.98% between its high and low. Those numbers drive the option pricing.

Reconstructed

The minute-by-minute path inside each day. Daily data gives four prices, and a session needs 390. So the path is generated to start at the real open, touch the real high, touch the real low, and finish at the real close, wandering between them at the day's real volatility.

The skeleton of every session is what actually happened. The wiggle between the bones is modelled.

Calculated

Premiums come from Black-Scholes, priced off the real index level, volatility set from the data above. Greeks are the standard formulas. Theta bleeds properly and delta behaves correctly, which is most of what makes this feel like the real thing.

What this cannot tell you

Whether a strategy works. Fills here are perfect, spreads are zero, no slippage. A strategy that prints money in this app might not survive contact with a real order book.

What it can tell you is whether you can follow a plan for six and a half hours without interfering. Which, for most people, is the binding constraint anyway.

Day
Open
High
Low
Close
Real session data. High, low and close stay hidden until the day plays out.
Tap a price to open the ticket
CallsStrikePuts
Day P&L$0
no trades yet
Working orders0
Filled today0
Contracts
1
Stop loss
20
Target
17
Cost
Risk / Reward
Break-even win rate

Modify order

Trigger price
0

Are you sure?

Pick a day

55 real S&P 500 sessions. Choose one, or take a blind draw and find out afterwards which day you traded.

Session closed

$0
Net for the day
Trades0
Won0
Manual0
Widened0