Realized P&L
—
Closed options only
Win Rate
—
Closed option trades
Profit Factor
—
Gross wins ÷ losses
Open Positions
—
Options + stock
Premium Collected
Closed STOs only
P&L Detail
Fees Paid
—
All commissions
Dividends & Interest
—
—
Est. Tax — Options ⓘ
—
—rate used
—taxable P&L
Short-term ordinary income
Est. Tax — Stock / ETF ⓘ
—
—rate used
—taxable P&L
Short-term (assignments)
Est. Tax — Dividends ⓘ
—
—qualified
—non-qualified
20% qual · 37% non-qual
Options Performance
Avg Win
—
Per winning trade
Avg Loss
—
Per losing trade
Avg Hold Period
—
Calendar days
Best Trade
—
—
Worst Trade
—
—
Total Trades
—
Closed in range
How Options Closed
Expired Worthless
—
—trades
—of closed
Bought to Close
—
—trades
—of closed
Assigned — Puts
—
Stock received at strike
Assigned — Calls
—
Stock called away
Effective Cost Basis
—
Strike − premium (puts)
Max Put Exposure
—
Open put notional (strike × 100)
Wash Sale Flags
—
Flagged for review
Charts
Cumulative Realized P&L
P&L by Underlying
Trade Type Breakdown
Trade Breakdown
Sell to Open
—
Option contracts sold
Buy to Close
—
Options bought back
Buy to Open
—
Option contracts bought
Sell to Close
—
Options sold to close
Stock Buys
—
Stock purchases
Stock Sales
—
Stock sales
Assigned
—
Assignment closures
Expired
—
Expirations
Recent Closed Trades
| Close Date | Symbol | Type | Open Date | Premium / Cost | Closed For | How Closed | Fees | Net P&L |
|---|---|---|---|---|---|---|---|---|
| No trades loaded. Import a Schwab CSV or JSON file. | ||||||||
Period Performance
—
Current Daily P&L
—
—
Current Weekly P&L
—
—
Current Monthly P&L
—
—
Current Yearly P&L
—
—
Quick Filters
Cumulative P&L by Period
Performance History
| Period | Closed Trades | Wins | Losses | Win Rate | Net P&L | Avg / Trade |
|---|---|---|---|---|---|---|
| No closed trades yet. | ||||||
Total Closed
0
All closed trades
Gross P&L
—
Before fees
Total Fees
—
Attributed to closed trades
Net P&L
—
After fees
Expired Worthless
0
Full premium kept
Assigned
0
Premium kept
Called Away
0
CC exercised
Closed Positions
| Type | Contract / Instrument | Date | Price | Amount | Fees | Gross P&L | Net P&L | |
|---|---|---|---|---|---|---|---|---|
| No closed positions. Import trades to populate. | ||||||||
⚠
Security Notice
Due to security reasons, downloading your open positions data directly from Charles Schwab exposes sensitive account information — including account numbers, position sizes, and cost basis — within the export file.
As a result, this tab is intentionally left empty and is not populated from Schwab exports.
Open positions shown elsewhere in this app are derived from your transaction history only.
Lot-matching note —
Stock positions use same-date buy priority: intraday buy/sell pairs cancel first, then standard FIFO applies to older lots. This may differ from your broker's lot-matching method or strict IRS FIFO accounting. Consult a tax advisor for official cost-basis reporting.
Open Positions
| Symbol | Type | Direction | Qty | Avg Cost | Strike | Expiry | Opened | Status | Premium Rcvd | P&L (realized leg) |
|---|---|---|---|---|---|---|---|---|---|---|
| No open positions. Import trades to populate. | ||||||||||
All Transactions
| Date | Action | Symbol | Inst | Type | Qty | Price | Fees | Amount | Wash? |
|---|---|---|---|---|---|---|---|---|---|
| No trades loaded. | |||||||||
Trading Journal — Decision Documentation
Trading Journal Report — IRS Audit Documentation
⚠ Wash sale detection is heuristic only. Confirm all flagged trades with your CPA before filing. This is not tax advice.
Potential Flags
—
Total Disallowed Loss
—
sum of flagged losses
HIGH Risk
—
repurchased within 7 days
MED / LOW Risk
—
8–14d / 15–30d
By Symbol
| Symbol | Flags | Total Disallowed Loss | Highest Risk |
|---|---|---|---|
| — | |||
Potential Violations
| Symbol | Loss Trade Date ▼ | Loss Amount | Repurchase Date | Days Apart | Repurchase Action | Risk Level |
|---|---|---|---|---|---|---|
| No wash sale flags. | ||||||
Storage & Sync
Local File
Google Drive
App Config
Storage:
—
① First time: import Schwab data below → Save or Connect Drive.
② Next time: Open File or Connect Drive to restore your ledger.
③ After each import: data auto-saves to the active backend.
② Next time: Open File or Connect Drive to restore your ledger.
③ After each import: data auto-saves to the active backend.
Import Schwab CSV / JSON
Drop Schwab export here
Supports CSV and JSON exports from Schwab account history
Duplicate transactions are automatically ignored
Duplicate transactions are automatically ignored
Import History
| Imported At | File | Rows | New | Dupes | |
|---|---|---|---|---|---|
| No imports yet. | |||||
Raw Transaction Ledger
Audit Trail — All Raw Records
| Row ID | Date | Action | Symbol | Qty | Price | Fees | Amount | Import Batch |
|---|---|---|---|---|---|---|---|---|
| No records. | ||||||||
Data Model Coverage
Trade Field Support Matrix
Current dashboard coverage
| Field | Support | Where it comes from | Notes |
|---|---|---|---|
| Trade ID | Yes | Internal id generated from normalized transaction data | Used for de-dupe and record identity |
| Open Date | Yes | Open leg / matched lot date | Shown in closed positions and open positions |
| Close Date | Yes | Closing transaction date | Used for performance buckets and closed trade tables |
| Tax Year | Derived | Can be derived from date / closeDate | Not stored as a separate field |
| Symbol | Yes | Normalized Schwab symbol | Used throughout the app |
| Asset Type | Partial | Classified as stock / option / ETF | Futures are not supported |
| Strategy | No | Not stored as a structured field | CSP / wheel / covered call / swing / scalp are not classified |
| Side | Yes | Schwab action text | Buy / Sell / STO / BTC / BTO / STC are represented by actions |
| Quantity | Yes | Normalized quantity on each transaction | Contracts or shares depending on instrument |
| Open Price | Yes | Open leg / matched lot price | Displayed in positions and closed positions |
| Close Price | Yes | Close leg price | Displayed in positions and closed positions |
| Gross Proceeds | Yes | Broker amount / proceeds | Shown in tables and P&L breakdowns |
| Cost Basis | Yes | Matched lot cost / open credit | Derived from transaction matching |
| Net P/L | Yes | Calculated realized P&L | Used in closed trade summaries and performance |
| Fees | Yes | Schwab fees / commissions | Tracked separately and displayed in tables |
| Notional Dollar Volume | Derived | Can be computed from price × quantity | Not currently shown as a dedicated field |
| Days Held | Derived | Open date to close date difference | Not currently shown as a dedicated field |
| Intraday Flag | No | Would require same-day open/close logic | Not currently tracked |
| Short-Term Flag | No | Would require holding-period logic | Not currently tracked |
| Daily-Move Income Flag | No | No dedicated strategy tagging | Could be added manually later |
| Notes | Partial | Transaction description text | Freeform description exists, but no dedicated notes field |
TGCapital — Trading Report
Closed Trade Detail
| Close Date | Open Date | Underlying | Instrument | Type | Strike | Expiry | Qty | Open Price | Premium / Cost | Close Price | Close Amount | Outcome | Fees | Net P&L |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TOTALS | ||||||||||||||
Summary by Underlying
| Underlying | Trades | Wins | Losses | Win Rate | Premium Coll. | Total Fees | Gross P&L | Net P&L | % of Total |
|---|---|---|---|---|---|---|---|---|---|
| TOTAL | 100% |
Income & Other Cash Events
| Date | Symbol | Type | Description | Amount |
|---|---|---|---|---|
| TOTAL INCOME | ||||
Potential Wash Sale Flags
| Underlying | Loss Date | Loss Amount | Repurchase Date | Days Apart | Repurchase Action | Risk | Note |
|---|