ThetaTracker Pro Journal
How Every Number is Calculated
Getting Started โ Complete Setup Guide
Welcome to the ThetaTracker Pro Journal. This guide walks you through everything you need to do to get fully set up โ from opening the journal for the first time to having your real tastytrade positions loaded and your first data file saved on your computer. Follow these four steps in order and you will be up and running in about 10 minutes.
Step 1 โ Access the Journal
The ThetaTracker Pro Journal lives at a web address. You do not need to download or install anything. Open any web browser on your computer and go to:
The journal will open in your browser. You will see the dark-themed dashboard with sample positions already loaded so you can see how it looks. You will replace these with your real positions in Step 3.
Step 2 โ Set Up Your tastytrade Columns
The journal imports data directly from tastytrade's CSV export. For the import to work correctly you need to have the right columns visible on your tastytrade Positions page. This is a one-time setup that takes about 2 minutes.
| Column Name | What It Powers in the Journal |
|---|---|
| Symbol | Position identifier |
| Type | Option type (call/put) |
| Quantity | Number of contracts. Negative = short position (income generating โ short puts, short calls). Positive = long position (protection โ long puts, long calls, LEAPs). The sign determines department auto-assignment and whether the position counts toward Premium Remaining. |
| Exp Date | Expiration date and DTE calculation |
| DTE | Days to expiration color coding |
| Strike Price | Strike displayed on each position |
| Call/Put | Auto-assigns Short Put / Long Call etc. |
| Mark | Current per-share price of the option. The journal calculates Premium Remaining as abs(Mark ร Quantity ร 100) for short positions. |
| Trade | Premium Captured โ what you collected at entry |
| Delta | Portfolio Delta KPI |
| Theta | Daily theta value per position. Positive for short positions (income), negative for long positions (cost). The journal sums all signed theta values to produce the net daily theta โ matching tastytrade's portfolio theta exactly. |
| Bid (Sell) | Current bid price reference |
| Ask (Buy) | Current ask price reference |
| OTM % | OTM probability per position |
| PoP | Probability of profit |
| Touch Prob | Probability of touch |
| IV Rank | IV Rank per position |
| P/L Open | Used to calculate premium decay |
| Realized Tod | Today's realized premium income |
| Net Liq | Net liquidating value cross-check |
Step 3 โ Export from tastytrade and Import Your Positions
Now that your columns are set up, export your positions from tastytrade and bring them into the journal.
Step 4 โ Save Your Journal
Your positions are now loaded. Before you close the browser, save your journal data to a file on your computer. This is your personal data file โ it never goes to any server and belongs entirely to you.
The Premium Philosophy โ Why This Journal is Different
Every standard options trading platform โ tastytrade, thinkorswim, Interactive Brokers โ reports performance using traditional P&L methodology: how much did the position gain or lose in mark-to-market value since you opened it. For most trading strategies, this makes sense.
For the ThetaTracker Pro methodology it is completely wrong and actively misleading.
A short put that is deep in the money will show a large mark-to-market loss on every standard platform. But in the ThetaTracker Pro system, that same position may have accumulated hundreds of points of premium across multiple rolls โ and represents a future windfall when the market recovers. The standard report makes it look like a disaster. The premium view shows it as an asset.
Best practice: mantra: "I'm not looking at whether a trade is profitable. I'm looking at how much premium I've captured, how much theta is working for me, and what the accumulated value of this position is across all its rolls."
The ThetaTracker Pro Journal is built around three questions that matter in this system:
The Status Bar
The status bar runs across the top of the Positions view and is always visible regardless of which filter or view you are in. It shows your most critical portfolio-level metrics at a glance.
Calculated automatically on every import โ no manual entry needed
Best practice: ranges:
ยฑ150 = Ideal / balanced
ยฑ300 = Monitor closely
ยฑ500 = Caution โ add offsetting trades
Beyond ยฑ500 = Emergency โ act immediately
Note: Long positions (long puts, LEAPs) subtract from this total
Updates automatically on every import
Calculated automatically from the Trade Price column in your tastytrade CSV
Short position = negative Quantity in tastytrade (you sold it)
The Four KPI Cards
The four large cards at the top of the Positions view give you the highest-level summary of your premium performance.
premiumCaptured = Opening credit per contract ร Number of contracts
Example: Sold 5 XSP short puts at $3.50 credit ($350/contract)
premiumCaptured = $350 ร 5 = $1,750
tastytrade reports theta as signed values per position row:
Positive theta = short position (income generating)
Negative theta = long position (protection cost)
The journal sums all values directly โ positives add, negatives subtract.
Result matches tastytrade's portfolio theta exactly.
Example from a real 20-position portfolio:
Short puts + short calls theta: +$865/day
Long puts + long calls theta: โ$633/day
Net theta today = $232/day โ what the journal displays
Short positions = negative Quantity in tastytrade (short puts and short calls)
Long positions (long puts, LEAPs) are excluded โ they are protection costs, not income
Confirmed formula from live data:
Mark -9.78 ร Qty -1 ร 100 = $978 โ (matches tastytrade Net Liq exactly)
Mark -7.19 ร Qty -5 ร 100 = $3,595 โ
Decay % = 1 โ (Premium Remaining / Total Premium Captured) ร 100
(premiumCaptured + sum of all roll credits for that position)
Example โ a single Weekly Income position:
Entry credit: $1,750
Roll 1 credit: $800
Roll 2 credit: $750
Roll 3 credit: $900
Accumulated = $4,200 โ this is the real number
The Four Department Cards
Below the KPIs, four cards break down performance by Best practice: three departments plus the LEAP campaign. Each card shows department-specific metrics that matter for that position type.
| Positions | Count of open MP positions (both short puts and long puts) |
| Captured | Total premium collected on all short puts โ the weekly income you've locked in |
| Remaining | Current value of all MP options โ premium still to be earned |
| Theta/day | Net daily theta from all MP positions (short put theta minus long put theta) |
| Progress bar | Visual showing what % of captured premium has already decayed โ the closer to full, the more work is done |
| Positions | Count of open GI bear put spreads |
| Net Cost | The net cost basis of your GI โ original purchase cost minus any roll credits harvested. Shown as negative because it is a portfolio cost, not income. |
| Current Value | Current mark-to-market value of the GI spread โ this rises sharply when the market drops and VIX spikes |
| Credits Harvested | Total roll credits collected from GI rolls โ this is the "source of funds" concept โ rolling protection positions for a credit to reduce cost basis |
| Positions | Count of open DD trades (CCS, PCS, IC) |
| Captured | Total credits collected on all daily diamond trades |
| Remaining | Current value โ close to zero = near max profit |
| Win Rate | Percentage of DD positions where the remaining value is less than 30% of captured premium (i.e., position has achieved near-maximum profit). A position that has been breached will temporarily show a lower win rate. |
| Positions | Count of LEAP positions (long calls and short calls against them) |
| Cost Basis | The current mark-to-market value of your long LEAP calls โ what you paid and its current value. Shown as negative because it is a net cost position at entry. |
| Calls Harvested | Total credits collected from all short calls sold against the LEAP โ the weekly income campaign running against the long position |
| Net Effective Cost | Cost Basis minus Calls Harvested = what the LEAP has actually cost you net. When this reaches zero, the LEAP is "free." |
The Positions Table
The main positions table shows every open position with its key premium metrics. You can filter by department using the buttons above the table.
Column Definitions
GI Portfolio Protection โ bear put spreads
DD Daily Income โ CCS, PCS, Iron Condors
LEAP LEAP Strategy โ long calls + covered calls
Color coding:
Red pill = 7 days or less โ immediate attention needed
Gold pill = 8โ21 days โ monitor, plan your roll
Green pill = 22+ days โ comfortable, theta working
Example: 5 contracts at $2.50 credit ($250/contract) = $1,250 captured
The progress bar shows what percentage of this amount has already decayed:
Full gold bar = 100% captured and still remaining
Green fill = portion already decayed (earned)
Shown as:
+$X/day for short positions (income producers)
-$X/day for long positions (GI, long puts, LEAP longs)
Example: Short put with theta 0.35 ร 5 contracts = +$175/day
Updated via CSV import or manual entry
The green progress bar shows the inverse of the gold bar:
Full green = mostly decayed (work almost done)
Small green = mostly remaining (position still early)
Accumulated Total = premiumCaptured + Sum of all roll credits
Example: Original entry $1,750 + Roll 1 $800 + Roll 2 $750 + Roll 3 $900 = $4,200 accumulated
Click the badge to open the full roll history for that position
Analytics View โ What Each Chart Shows
Bar height is proportional to the largest week in the dataset
MP segment = total MP premiumCaptured
DD segment = total DD premiumCaptured
LEAP segment = total LEAP roll credits (covered call income)
GI segment = total GI roll credits harvested
Height reflects the relative size of that day's theta vs. the largest day shown
Accumulated View โ The Roll History
The Accumulated view is the most unique feature of the ThetaTracker Pro Journal. It shows the true premium performance of the system by tracking every roll event and the running total across all positions.
| Total Accumulated | The grand total of every premium dollar collected โ original entries plus every roll credit โ across every position that has ever been in the journal. This is your true cumulative income since inception. |
| Average Per Roll | Total Accumulated รท Total Roll Events. Shows the average credit you collect each time you roll a position. A healthy Weekly Income roll should average 25โ40 points ($250โ$400 per contract). |
| Total Roll Events | The count of every time any position was rolled. In the ThetaTracker Pro system, a well-managed account will have hundreds of roll events over the course of a year โ each one adding premium to the accumulated total. |
Example: Position opened at $1,750. Roll 1 for $800 โ Running Total = $2,550. Roll 2 for $750 โ Running Total = $3,300.
Save Journal ยท Load Journal ยท Clear All
These three buttons in the journal header give you complete control over your data. Your positions, roll history, and accumulated premium records belong to you โ they never go to any server or cloud. Here is what each button does.
Location: your computer's Downloads folder
Contains: positions ยท roll history ยท accumulated totals ยท all metadata
This file is YOUR data. Store it anywhere โ desktop, USB drive, Dropbox. The journal has no access to it unless you load it back in.
The confirmation dialog shows: the date the file was saved, how many positions it contains, and how many roll events are recorded.
It does NOT delete your saved JSON files on your computer โ those are always safe. Clear All only affects what is currently loaded in the browser.
The Recommended Daily Workflow
Add Trade โ Field by Field
The Add Trade button opens a form to manually enter a new position. Here is what each field means and what to enter.
| Department | Select MP, GI, DD, or LEAP. This determines which department card the position counts toward and how its metrics are interpreted. |
| Symbol | The underlying ticker. Defaults to XSP. Change to SPX if you are on Portfolio Margin with $200k+, or SPY for smaller accounts. |
| Option Type | The structure of the position โ Short Put, Long Put, Short Call, Long Call, Put Credit Spread, Call Credit Spread, Iron Condor, Bear Put Spread (GI), or Long Call LEAP. |
| Strike (Short) | The short leg strike price. For a simple short put, this is the strike you sold. For a spread, this is the short (closer to money) leg. |
| Strike (Long / Spread) | The long leg strike for spreads and ICs. Leave blank for naked short puts or long calls. |
| Expiration Date | The option expiration date. The DTE column is calculated automatically from this date vs. today. |
| Contracts | The number of contracts. All dollar values are calculated as per-contract ร this number. |
| Premium Captured (per contract, $) | The credit you received per contract when you opened the position, in dollars. Example: Best practice: .35 credit = $35 per XSP contract. Enter $35 here if you have 1 contract, and the journal multiplies by your contract count. |
| Current Premium Value ($) | The current market value of the position in dollars (total, not per contract). This is what the option is currently worth โ used to calculate how much premium has decayed and how much remains. |
| Daily Theta (per contract, $) | The theta value for this option per contract per day, in dollars. Found on your tastytrade position screen or in the CSV export. Example: theta of 0.35 = $35/day per XSP contract. |
| Open Date | The date you entered the position. Defaults to today. Used for the weekly analytics charts. |
| Notes | Free text for any context โ e.g. "New MP seed โ planted for April harvest" or "IC created by adding PCS to breached CCS." |
Recording a Roll
The Roll button on any position opens the Roll modal โ the most important data entry action in the journal. Every time you roll a position, you record it here and the accumulated premium total updates automatically.
The Roll Form Fields
| New Strike | The strike price of the new position after the roll. Pre-filled with the current strike โ change it if you are rolling up, down, or flat. |
| New Expiration | The new expiration date after the roll. Pre-filled with the current expiry โ change it to next week's expiration (or however far out you rolled). |
| Credit Received ($) | The net credit you received for the roll, in dollars total (not per contract). Example: Roll credit of $1,250 = enter $1,250. |
| New Mark (per share) | The mark price per share of the new position immediately after the roll fills โ exactly as shown in tastytrade's positions page. The journal automatically calculates the New Current Premium from this value using: abs(Mark) ร 100 ร contracts. You never need to do this math manually. |
| New Current Premium | Calculated and displayed automatically from the New Mark you entered. This read-only field shows the dollar value that will be stored as the position's new remaining premium. No manual entry required. |
| Roll Notes | Context for the roll โ e.g. "Rolled up 10 pts, credit $1,250. Market recovering, aligning with new MP cluster." |
Enter 8.50 in the New Mark field.
The journal instantly displays: $2,550 (8.50 ร 100 ร 3 contracts).
That is the value that resets the position's Remaining column.
Portfolio Protection Panel
The ๐ก Portfolio Protection button in the top toolbar toggles an expandable panel that shows your true spread liability and how much of it is covered by credits collected. This panel only includes income-generating positions (Weekly Income and Daily Income departments).
Example: 710/705 put spread ร 5 contracts
= 5pt ร 5 ร $100 = $2,500 max liability
Requires leg links โ use the โ Link button on each short position row to pair it with its long leg. Once linked the spread width calculates automatically.
Net Liability = $0 means your collected premium exceeds your max possible loss.
Net Liability > $0 means you need additional protection to fully cover your portfolio.
1. Find a short position row in the positions table
2. Click the โ Link button (shows ๐ Linked once set)
3. Select the matching long position from the list
4. The spread width and liability calculate automatically
Links are stored by symbol + strike + expiry + type โ they survive CSV reimports and Clear All. You only link once per position.
Changing a Position's Department
The journal automatically assigns departments when you import from tastytrade โ but sometimes the auto-assignment is wrong, or a position changes its role mid-life (like a breached DD trade becoming a HEDGE). The Dept button lets you reassign any position instantly.
MP = Weekly Income
GI = Portfolio Protection
DD = Daily Income
LEAP = LEAP Strategy
HEDGE = Active Hedge (converted position)
๐ฐ Weekly Income (MP)
๐ก Portfolio Protection (GI)
โก Daily Income (DD)
๐ LEAP Strategy (LEAP)
๐ด Active Hedge (HEDGE)
Click Reset Default in the rename dialog to restore the original name at any time.
Closing a Position โ The Most Important Habit in the Journal
This is the single most important habit to develop when using the journal. When you import a fresh CSV from tastytrade, the journal replaces your open positions with the new snapshot. Any position that no longer appears in tastytrade โ because it expired, was bought back, or was restructured โ simply disappears from the journal without a trace.
The Close button is how you protect your history. When you properly close a position before importing, the journal permanently records it in the Closed Positions tab with its full accumulated premium, roll history, and realized P&L. That data becomes part of your permanent performance record โ your true track record in the ThetaTracker Pro system.
What Happens If You Don't Close First
If you import a new CSV without closing expired or filled positions first, those positions are silently removed from the journal with no record. Their accumulated premium โ which may represent weeks or months of rolling credits โ vanishes from your history. Your Total Accumulated Premium drops. Your win rate loses those trades. Your performance record has gaps.
The Correct Pre-Import Workflow
Close Types โ Choosing the Right One
| Expired Worthless | The option expired at zero value โ maximum profit. The full accumulated premium (entry credit + all roll credits) is recorded as realized profit. This is the ideal outcome for every Weekly Income position. |
| GTC Order Filled | Your GTC close order at .07 (XSP/SPY) or .65 (SPX) was filled. The profit is the accumulated premium minus the close debit. Typically still a strong win. |
| Closed at a Loss | The position was bought back for a debit that exceeded your accumulated premium buffer. Enter the total debit paid. The journal calculates your net loss after premium credit. This is honest accounting โ the ThetaTracker Pro system has losses sometimes and the journal records them accurately. |
| Restructured | The position was converted into something else โ for example a short put that became part of an Iron Condor, or a position that was split. Use this when the position changed form rather than simply closing. |
CSV Import from tastytrade
The Import CSV button allows you to upload a position export from tastytrade and automatically populate the journal. The import engine maps tastytrade's column format to the ThetaTracker Pro methodology.
How to Export from tastytrade
Department assignment: The import engine automatically assigns departments based on option type. Short puts โ MP, bear put spreads โ GI, short-dated spreads โ DD, long calls with long expiry โ LEAP, call spreads against a LEAP โ LEAP. You can change any assignment after import using the Dept button on each position row.
Roll history is not in the CSV. tastytrade does not export roll history โ each roll must be recorded manually using the Roll button at the time it happens. This is one of the most valuable things the journal tracks that tastytrade cannot.
Daily Workflow โ At a Glance
| Start of session | Open journal from Netlify URL โ click ๐ Load Journal โ select your saved file |
| Update positions | Export CSV from tastytrade โ click โฌ Import CSV โ paste โ Import Positions โ OK |
| Record a roll | Find position in table โ click Roll โ enter new strike, expiry, credit โ Save Roll |
| Record a new trade | Click + Add Trade โ select department โ fill fields โ Add Position |
| Close a position | Find position โ click Close โ confirm โ position removed from open table |
| End of session | Click ๐พ Save Journal โ file saves to your computer automatically |
| Fresh start | Click ๐ Clear All โ confirm โ then Import CSV with fresh tastytrade data |
| Convert position to hedge | Find position in table โ click Dept โ type HEDGE โ OK โ remembered on all future imports |
| New computer / browser | Open journal from Netlify URL โ click ๐ Load Journal โ select your JSON file from wherever you stored it |
The ๐ฐ Account Button โ Net Liquidating Value
The Account button opens the Net Liq tracking modal. This is where you connect your journal's performance metrics to your actual account value so that ROA, theta percentage, and drawdown all have real context.
Your Net Liquidating Value (Net Liq) is the single number tastytrade shows at the top right of your account. It represents everything your account is worth right now โ your uninvested cash, the current market value of all long positions, minus the current liability of all short positions. It is your true account value if you closed every position today.
What to Enter
Open tastytrade and look at the Net Liq value shown at the top of your account screen. Enter that number in the journal's Account modal. The journal uses it to calculate:
| Return on Account (ROA) | Accumulated Premium รท Net Liq โ the true measure of how much your premium strategy has generated relative to total account size |
| Daily Theta % | Daily theta income รท Net Liq โ what percentage of your account you earn every day from time decay |
| Annualized Theta Rate | Daily Theta % ร 252 trading days โ what that daily rate compounds to on an annual basis |
| BP Used % | Short position liability รท Net Liq โ how much of your account is currently deployed in short premium |
| Drawdown | Peak Net Liq โ Current Net Liq โ how far the account is from its highest recorded value |
By this time tastytrade has settled all position marks to their end-of-day values and the Net Liq is stable and accurate. This number becomes your official daily record โ the baseline for ROA calculations, drawdown tracking, and week-over-week performance comparison.
Transaction Types
| Update Net Liq | Enter the current Net Liq value from tastytrade. This sets your account value to exactly what tastytrade shows. Use this for your regular daily/weekly update. |
| Deposit | Record cash you added to the account. Increases the balance by the amount entered. Use this when you wire or transfer new funds into tastytrade. |
| Withdrawal | Record cash you removed from the account. Decreases the balance by the amount entered. Use this when you transfer funds out of tastytrade. |
Transaction History
Every Net Liq update, deposit, and withdrawal is recorded with a date, amount, and optional notes. This gives you a chronological record of your account's growth โ a powerful visual of the ThetaTracker Pro methodology compounding over time.
Glossary โ Key Terms
| premiumCaptured | The opening credit collected when a position was first entered, in total dollars (per contract ร contracts). This number never changes after entry. |
| currentPremium | The current market value of the position โ updated via CSV import or manual entry. Decreasing = premium decaying = theta working. Increasing = adverse market move or vol expansion. |
| Roll Credit | The net credit received when rolling a position to a new strike and/or expiry. Always a positive number in the ThetaTracker Pro system โ Best practice: rule is to always collect a credit on every roll. |
| Accumulated Premium | premiumCaptured + sum of all roll credits for a position. The true measure of a position's total premium performance across its entire life. |
| Decay % | (premiumCaptured โ currentPremium) / premiumCaptured ร 100. Shows what percentage of captured premium has already been earned through theta decay. |
| Net Theta | Sum of theta for all short positions minus sum of theta for all long positions. Best practice: system maximizes net positive theta โ more short theta than long theta cost. |
| DTE | Days to Expiration. Calendar days from today to the position's expiration date. |
| Premium Remaining | The current market value of all SHORT positions โ the future income still locked in and waiting to be earned as the option decays toward expiration. |
| Premium Captured | The total credits received from SHORT positions at entry. Calculated as abs(Trade Price ร Qty ร 100). Long positions are excluded โ they represent costs not income. |
| HEDGE | The fifth department for positions that started as income trades and were converted to hedges. Assigned manually using the Dept button. Tracks cost and current value separately from GI and DD. |
| Portfolio Delta | The net directional exposure of the entire portfolio โ sum of all position deltas from the tastytrade CSV. Calculated automatically on every import. |
| Reclassification Memory | The journal's record of manual department assignments. Keyed to symbol + strike + expiry. Applied automatically on every import so you never reclassify the same position twice. |
Department Assignment Guide
When adding trades manually, use this guide to assign the correct department.
| MP Short Put (weekly) | The income leg of the Weekly Income. Rolling weekly. No GTC close โ always rolled. |
| MP Long Put (protection) | The protection leg of the Weekly Income. Out to May/June. Rolled at 30 DTE. |
| GI Bear Put Spread | Portfolio Protection. Buy higher put, sell lower put. Net debit position. Theta works against you. |
| DD Call Credit Spread | Daily Income โ short call spread. Short-dated income. GTC close at .07 db (XSP/SPY) or .65 db (SPX) immediately on fill. |
| DD Put Credit Spread | Daily Income โ short put spread. Short-dated income. GTC close at .07 db (XSP/SPY) or .65 db (SPX) immediately on fill. |
| DD Iron Condor | Daily Income โ both sides simultaneously. GTC close at .07 (XSP/SPY) or .65 (SPX) db or .95 db for FOMC. |
| LEAP Long Call LEAP | The long call position โ 6โ12+ months out. Net debit. Covered calls sold against it weekly. |
| LEAP Short Call (vs LEAP) | The weekly covered call sold against the LEAP. Treated as LEAP department roll credits. |
| HEDGE Converted Position | Any position that started as DD income but was converted to defense after a breach. Use the Dept button to assign. Remembered permanently. |