The Boring Edge Project

Paper Trading Dashboard — live data from data/paper/trades.json
Loading data...
Total Trades
—
Open / Closed
—
Win Rate
—
Total P&L
—
Expectancy
—
Sharpe
—
Overview
Trades
Capital
IV History
Insights
Learn

Equity Curve (Cumulative P&L)

Drawdown

P&L per Strategy

Date Asset Strategy Dir. Credit (USD) POP DTE Strike Spot Status P&L (USD) Exit
USDC
Minimum needed
—
Recommended
—
Cash flow
—
APY
—
Max drawdown
—
Positions
—
Utilization
—
Realized P&L
—

How to read the P&L in this app

Deribit quotes BTC options in BTC, not in dollars — that's why every raw number in this app is coin-denominated. Here is the chain from that raw number to the APY above, on one real trade:

Collateral per position (the table below): defined-risk structures are charged their spread width net of credit; naked shorts are charged Deribit's standard initial margin, max(15% − OTM/spot, 10%) + mark per contract; covered calls are charged the coin you must hold. The minimum at the top is not their sum — under Cross: Portfolio Margin the whole book is charged one worst-case scenario, so offsetting positions and collected credit reduce it.

Capital required per strategy

Strategy Risk Capital / trade (standalone) Trades Win rate Trades / month Expectancy / trade $ / month ROC / month

Capital in use over time

Equity in USD

IV History (BTC vs ETH)

StrategyBookTradesWin RateTotal P&L (USD) Avg P&L (USD)Expectancy (USD)Exit ReasonsSignal

AI Analysis

Strategy comparison — theoretical vs. real

Theoretical columns come from the same payoff engine used in the chart below (45% illustrative IV, DTE at the top of each strategy's range). Max. loss is managed, not held-to-expiry: the bot exits at a 2x-credit stop (or sooner via the 50% profit target or the 21-DTE time exit), so realized loss caps at roughly the credit collected, not the full theoretical worst case — except Covered Call, where the stop only covers the written call and the held coin itself is still exposed. Real columns come from /api/stats (the same data as the Insights tab, data/paper/trades.json) — they only populate once the bot has closed trades for that strategy. Click a header to sort.

Strategy Direction Legs Risk DTE Min. IVR Max. profit (theoretical) Max. loss (managed, 2x-credit stop) Loss/Profit Real trades Real win rate Real expectancy

Options basics, in plain terms

An option is a contract on an asset (e.g. BTC) with a fixed price (the strike) and an expiration date. There are two kinds, and two things you can do with each:

CALL = the right to buy the asset at the strike price. Worth more as the price rises.
PUT = the right to sell the asset at the strike price. Worth more as the price falls.

BUY / "go long" an option = pay money now (the premium) to own that right. You can lose at most what you paid, and profit if the market moves far enough in your favor.
SELL / "go short" / "write" an option = collect the premium now, in exchange for taking on the obligation — if the buyer exercises their right, you must honor it. Your max gain is the premium you collected; your loss can be larger if the market moves against you.

Worked example: suppose BTC = $100,000 and you sell 1 put at a $90,000 strike, collecting a $2,000 premium. If BTC stays above $90,000 through expiration, the put expires worthless — you keep the full $2,000, nothing else happens. If BTC falls below $90,000, you're obligated to buy BTC at $90,000 (still keeping the $2,000 premium, so your real cost basis is $88,000). That's the whole idea behind every strategy below: they're just combinations of buying/selling calls and puts to shape how much premium you collect (or pay) and what happens at different prices.

The 12 strategies the bot knows. Click a card to see the mechanics, the "edge" (the thesis behind it), and simulate the payoff over time. The detail panel then offers two modes: Textbook, where strikes are illustrative (derived from the delta targets in config.py, normalized to a reference spot of 100) so the shape reads cleanly; and Real chain, where every leg is a listed Deribit option — you pick the expiration and each strike, and the premium, capital required, breakevens and P&L all come out in dollars. You can also load one of the bot's open positions straight into the simulator.

—

Premium now (collect / pay)
—
Simulated day
—
Simulated spot
—
Remaining DTE
—
Simulated P&L
—
Max. profit
—
Max. loss (managed, 2x-credit stop)
—
"Synthetic" = a made-up textbook path (bull/neutral/bear). "Real" = actual daily candles for the BTC/ETH perpetual on Deribit (last 90 days) — shows what actually happened, not a prediction. In Real chain mode the entry credit is the live mark price of each listed leg, while the "Today" curve is Black-Scholes at each leg's own quoted IV — so the two can differ slightly at the entry spot. IV is held constant through the whole path, and the simulation has no early exit: the bot's real 50%-of-credit target and DTE-21 rule aren't applied here.