The options trading ledger
Every options trade as one position, with its risk at a glance.
Position Ledgers reads your broker’s fills, recognizes more than 20 option strategies, and shows each one’s payoff, breakevens and maximum loss.
-
Every strategy, recognized automatically
Strategies recognized from raw fills
-
Risk and payoff for every position
Each one’s payoff, breakevens and maximum loss.
-
Your data, on your device
Your ledger is stored and computed on your device.
Every strategy, recognized automatically
Position Ledgers doesn't just list your open contracts — it looks at which legs belong together and tells you what you're actually holding, with a live payoff diagram for each one.
An iron condor recognized from its four legs, with its payoff chart and the P&L at expiry for any price you pick, not four disconnected contract rows.
Single options
One option on its own, or paired with shares you own. Covered calls, protective puts and collars are matched to your actual share count automatically, no manual tagging.
- Long call
- Long put
- Covered call
- Cash-secured put
- Naked short call
- Naked short put
- Protective put
- Collar
Credit & debit spreads
Bull put, bear call, bull call, bear put — two legs on the same expiration are grouped into one spread with its own net credit or debit, not two separate contracts.
- Bull put spread
- Bear call spread
- Bull call spread
- Bear put spread
Iron condors & butterflies
Four legs, one strategy. A four-leg combination shows up as a single position with one payoff diagram, not four disconnected rows to mentally reassemble.
- Iron condor
- Iron butterfly
- Butterfly
- Broken-wing butterfly
Straddles & strangles
Long or short, same strike or different — volatility plays get grouped and charted the same way as every other recognized strategy.
- Long straddle
- Short straddle
- Long strangle
- Short strangle
Calendars & diagonals
Two expirations, one position. A near-dated option sold against a later-dated one, at the same strike or a different one, is grouped as a single strategy, not two separate contracts.
- Calendar spread
- Diagonal spread (including the poor man's covered call)
Roll chains
Link a position you've rolled forward across expirations into one continuing story — cumulative net credit across every roll, in a single credit chart instead of a pile of disconnected trades.
Wheel cycles
A put assigned into shares, a covered call sold against them, and back again — tracked as one cumulative cycle with its own stage diagram, not disconnected trades.
See it in action
Real screens, sample data — the same demo you can try live. Click any screenshot to zoom in.
The overview dashboard: realized & unrealized P&L, premium income, open positions, and dividends — combined across every account you import.
Your data, on your device
Your ledger is stored and computed on your device. Broker data comes from SnapTrade and passes through our servers without being stored. Your account holds only sign-in and billing details.
- Sign in with a one-time email code — no password to manage
- Read-only broker access — we can see your trades, never place one
- Back up or move your data yourself, any time, as a plain file
About Position Ledgers
Position Ledgers connects to your Schwab or Fidelity account through SnapTrade and computes FIFO-matched realized P&L, open-position cost basis, and premium income by symbol — on your device, with your positions and trade history never stored on our servers.
Why traders switch
Position Ledgers usually replaces one of three things. Here's the honest comparison for each.
Coming from a monthly trade journal
Most trading journals ask you to re-upload your statement by hand every time. Position Ledgers connects to Schwab or Fidelity once and keeps syncing automatically, with FIFO matching, lot by lot, instead of a generic journal template.
Coming from a cloud portfolio tracker
Those often ask for broad account access and keep a full copy of your trade history on their servers indefinitely. Position Ledgers connects read-only through a secure connection provider, computes your ledger on your own device, and never stores your trades or positions — your account holds your sign-in, billing and broker-connection details, never your trades.
Coming from a spreadsheet of formulas
No more hunting down which lot closed against which fill by hand. Import your CSV and every closing trade — options and equities alike — is matched against its actual opening lot automatically, the same way your broker computes cost basis. See how FIFO matching works for the full breakdown.
Built for how options traders actually think
Every part of this reads your real Schwab or Fidelity trades and reasons about lots, contracts, and rolls the way a trader does.
One CSV, fully parsed
Import your thinkorswim Account Statement export directly — combos, rolls, assignments, and expirations are all recognized.
True FIFO matching
Every closing trade is matched against its actual opening lot, for both stock shares and option contracts — the same way your broker's cost basis works.
Premium income, by symbol
See exactly which tickers are generating your credit income, with a drill-down on the long tail so nothing gets lost in an "Other" slice.
Multiple accounts, one view
Import statements from more than one account and flip between them — or view every account combined, correctly kept separate under the hood.
Mark your open positions
Type a current price into any open position and unrealized P&L updates at once. In the Online Edition, positions you hold also show your broker's price from the latest sync, with its as-of time.
How FIFO matching works
Position Ledgers matches every closing trade against its actual opening lot in the order those lots were opened — first in, first out. When you close part of a position, the realized gain or loss is calculated against the oldest remaining lot still open, not an average cost blended across everything you've ever bought. That's true for stock shares and option contracts alike, and it's the same method your broker uses to compute cost basis.
-
1
Every fill from your statement becomes a dated event. Buys, sells, sells-to-open, buys-to-close — each row is read with its date, contract or symbol, quantity, and price.
-
2
Opening lots queue up in the order they happened, per account and per contract or symbol — so a Roth IRA's lots are never matched against a taxable brokerage account's fills, even if they happen to hold the same ticker.
-
3
Each closing trade consumes the oldest matching lot first, and only moves on to the next-oldest lot once the first is fully closed out — including partial closes, multi-leg combos, rolls, assignments, and expirations.
-
4
Realized P&L is the closing proceeds minus that specific lot's original cost — never an averaged or estimated figure — and it's what feeds every P&L number, premium-income total, and open-position cost basis you see in the app.
This is also why a spreadsheet of manual formulas gets this wrong so easily: the moment a position is closed in more than one piece, or rolled to a new expiration, tracking which specific lot closed against which fill by hand becomes error-prone fast. FIFO matching does it the same way for every trade, automatically.
Questions
Don't see your question here? Email support@positionledgers.com — questions, suggestions, anything.
When can I start?
We open in early 2027. Pricing will be announced before launch, and the founders' list hears first.
Is my data ever sent to a server?
Your ledger is stored and computed on your device — the FIFO-matching engine runs in your browser, not on our servers. Broker data comes from SnapTrade (read-only access — we can see your trades, never place one) and passes through our servers without being stored there. Your account with us holds only sign-in and billing details, never your positions or trade history.
Which brokers do you support?
Schwab (including thinkorswim) and Fidelity today. Fidelity Crypto isn't included yet. We're adding more brokers, starting with the ones founding members ask for most, and new brokers appear in your ledger as we add them. Tell us yours when you join the founders' list.
Prefer not to link a broker?
The Online Edition also imports your broker's CSV export.
Do I need to install anything?
No. Position Ledgers Online runs in your browser at app.positionledgers.com — sign in with an emailed code and connect your broker. Nothing to download or configure.
Can I track more than one account?
Yes. Import statements from as many accounts as you like. Switch between any single account or a combined "All accounts" view — positions and P&L are always kept correctly separated per account under the hood.
Using Position Ledgers
Common questions from people already using the app — the same links show up inside the app itself under the ⋮ menu.
How do I mark prices on positions that haven't closed yet?
Type a price into any open position's mark field and unrealized P&L updates at once. In the Online Edition, positions you hold also show your broker's price from the latest sync, with its as-of time.
Does my data save automatically, or do I need to back it up?
Yes, it saves automatically, in the browser you use it in. Your imports, marks and notes are kept in that browser's own local storage as you go, so closing the tab or the browser and reopening the file picks up where you left off. Nothing is ever sent anywhere.
That saved copy lives only in that one browser on that one computer, though. Clearing your browsing data (cookies and site data), using a private or incognito window, or opening the file in a different browser or on another computer will show an empty ledger. So a backup now and then is still worth it: Backup in the ⋮ menu saves a snapshot file to your computer, and Restore loads it back into any browser.
Because imports add up automatically, this is also the way around thinkorswim's own limit on how far back a single CSV export can go: export what you can, import it, and next time export the next stretch and import that CSV on top. Rows already imported are recognized and skipped, so re-importing an overlapping date range never duplicates anything.
Still stuck, or seeing a number that looks wrong? Email support@positionledgers.com and tell us which tab you were on and what you expected to see.
Position Ledgers is getting an upgrade
Join the founders' list for early access.
Thanks, you're on the list.
We'll email you about early access.