Trade Log
Every trade and position you have - filter, sort, edit, tag, group, add trades and see performance by year and month.
The Trade Log holds all your trades. It can show them two ways: grouped into positions (a buy and the sells that close it), or as a plain list of single trades. To learn how trades become positions, read Trades and positions.
Top buttons
Accounts
Next to the page title, shown with two or more accounts that aren't hidden. Narrows the table and the performance cards to the accounts you pick; it changes only this page. It is the same pick as the Account filter in the filter bar: changing one changes the other, and Clear All clears both. Hidden accounts are listed greyed out; see Hide an account.
Currency
Next to Accounts. Says which currency the performance cards and position results (ENTRY, EXIT, RETURN $) are in. With trades in both US and Canadian dollars it is a USD | CAD toggle: switch this page to the other currency and back; it changes only this page and starts on your saved Display Currency. With one currency it just shows it. See Currencies. A single trade's own price stays in its own currency.
Recalculate
Rebuilds your positions from your trades and refreshes every number. Use it after you Unmerge trades (see Selecting rows) or when numbers look out of date. It can take a few seconds.
If it fails, it says Recalculating failed and a red banner appears at the top of the page. We're notified automatically; see Something went wrong processing your trades.
Export
Downloads your trades. Pick one or more formats (PDF, Excel, CSV, JSON or Word) and click Export. The file holds all your trades; the filters on the page are not applied.
Add Trade
Opens a form to type in a trade by hand. See Adding a trade.
Performance cards
Six cards sum up the trades and positions that match your filters:
| Card | What it shows |
|---|---|
| Realized P&L | Profit or loss you've locked in, with the split underneath: Cap (trading) and Div (dividends) |
| Win % | Share of closed positions that made money |
| Avg Win | Average profit of a winning position |
| Avg Loss | Average loss of a losing position |
| Avg Time | Average number of days a position stayed open |
| Avg Fees/Group | Average commissions and fees per closed position |
In the Grouped view every filter changes the cards. In the List view only the date range, tickers, actions and Include Dividends do. The rules are in Performance.
Table and Reports tabs
- Table shows your positions or trades (described below).
- Reports shows your results by year and month. See Reports tab.
Grouped and List views
Use the Grouped / List switch at the top left of the table card.
- Grouped (the default) shows one row per position. Click the small arrow at the start of a row to see the trades and dividends inside it.
- List shows one row per trade or dividend, newest first.
Switching views clears your selection. More rows load as you scroll down. On a computer or tablet the table scrolls in its own box with the column headers fixed at the top, so they stay in view however far down you go; on a phone the List view scrolls with the page.
On a phone, positions show as cards instead of a table. Tap a card to open it.
Columns
Columns opens Customize View, where you tick which columns and filters to show:
- Main Table: the position rows in the Grouped view.
- Details: the trade rows inside a position, and the rows of the List view.
- Filters: which filters appear above the Grouped view.
Reset to Default restores the tab you're on. Your choices are saved with your account. When you have option trades, the option columns (type, strike, expiration) are always shown.
Filters
Grouped view filters
| Filter | What it keeps |
|---|---|
| Date Range | Positions with a trade or dividend between the two dates |
| Position | Open (still held, known cost or not) or Closed |
| Result | Win, Loss or Unknown. A closed position's result is final; an open one's is its gain or loss at the latest cached price (no price yet: neither). Unknown is a position with no result: its cost basis is unknown, or it's a strategy whose result can't be worked out (Show Issues finds those too) |
| Date Open / Date Close | Positions opened or closed between two dates |
| Tickers | The tickers you pick |
| Account | Positions in the accounts you pick (hidden ones aren't listed) |
| Broker | Positions at the brokers you pick |
| Entry / Exit | Entry or exit price between a minimum and a maximum |
| Quantity | Position size between a minimum and a maximum |
| Fees | Total fees between a minimum and a maximum |
| Return $ / Return % | Profit or loss between a minimum and a maximum |
| Side | Long (you bought first) or Short (you sold first) |
| Tags | Positions with any of the tags you pick |
| Actions | Positions with a trade of a kind you pick: Buy, Sell, Dividend, Expiry or Journal (shares moved between listings) |
Only Date Range, Position, Result, Tickers, Account, Side, Tags and Actions show at first. Turn the others on in Columns → Filters (Position and Result share the Status switch). A filter also hides when its column is hidden.
Every filter applies to all your positions, not only the rows loaded so far: the list, the TOTALS row and the cards above it agree on the same set. Sorting a column sorts the whole set too, so the first rows are the real top of the order. Fees can be sorted as well.
List view filters
Date Range, Actions (Buy, Sell, Dividend, Expiry, Journal: shares moved between listings, not journal entries), Tickers, Portfolio, Broker, Side and Tags work as above, on single trades. Include Dividends shows or hides dividend rows.
Show Issues
Switch on Show Issues to see only what needs a look: shares that arrived without a purchase price (for example moved in from another broker), trades that aren't part of any position, positions that are only partly matched, open options past their expiration date, and dividends the app couldn't match to a dividend announcement. How to fix them: Find and fix data issues and Data issues.
Clear All and Reset Sort
Clear All appears when a filter is on and removes every filter. In the List view, Reset Sort removes your column sort.
The view, the date range and the Position, Result, Tickers, Portfolio, Broker, Side, Tags and Actions filters are kept in the page address, so you can bookmark them (an older bookmark with a Status filter still opens: Open becomes Position, Win and Loss become Result).
Position rows (Grouped view)
| Column | What it shows |
|---|---|
| STATUS | WIN, LOSS, OPEN (WINNING), OPEN (LOSING), OPEN, or CLOSED (UNKNOWN) / OPEN (UNKNOWN) when the cost basis is unknown (a strategy whose result can't be worked out shows the same) |
| DATE OPEN / DATE CLOSE | When the position opened and closed |
| SYMBOL | The ticker; click it to open its Ticker Report — an option position's opens the contract's report |
| EXCHANGE / CURR | Where it trades and in which currency |
| ACCOUNT / BROKER | The account; "+1" means the position spans more than one account |
| ENTRY | Your average cost, after option premiums when the position is part of a strategy |
| CURRENT | Latest price, green or red by whether an open position is up or down |
| EXIT | Your average selling price |
| QUANTITY | Number of shares or contracts |
| FEES | Commissions and fees of the trades in it |
| RETURN $ / RETURN % | Profit or loss. For an open position it's the gain or loss on paper today, in the page's currency: the latest price (converted at today's rate when the listing is in the other currency) against what you paid in that currency |
| SIDE | LONG or SHORT |
| TAGS | Your tags; click × on a tag to remove it |
| JOURNAL | + creates a journal entry for the position; the book icon opens the one you wrote |
At the end of each row, the eye icon adds the ticker to a watchlist. Open option positions also get a calendar icon: Record outcome: expired, assigned or exercised. See Recording an option outcome.
The TOTALS row at the bottom adds up fees and the Return $ of the rows shown, exactly as each row shows it: unrealized for an open position, realized for a closed one, only the dividends for one with an unknown cost basis. Its Return % weighs that by cost and leaves positions with an unknown cost basis out.
Trades inside a position
Expanding a position lists its trades. The ACTION column names each one: Buy, Sell, Dividend, Expiry, Assignment and Exercise (shares bought or sold because an option was used), Transfer In / Transfer Out (shares moved between accounts), Journal In / Journal Out (shares moved to another listing of the company, as in Norbert's Gambit; see Journaling shares) and Synthetic Buy / Synthetic Sell (a trade the app added to complete a position; see Transfers). A TOTAL row closes the list.
Sorting
Click a column header to sort; click again to reverse, a third time to go back. A line above the table shows the sort, with Default to undo it.
Selecting rows and the action bar
Tick the box at the start of a row to select it. Shift-click a second box to select everything between. The box in the header selects every row that matches your filters, in the Grouped view every position whether or not it has scrolled into view yet. In the Grouped view you can select whole positions, or single trades inside an expanded position.
A bar appears at the bottom of the screen with what you can do. × clears the selection.
With positions selected (Grouped view)
- Add Tag: pick a tag or type a new one (tags are saved in capitals).
- Remove Group Tag: click a tag to take it off the selected positions.
- Delete Groups: permanently deletes every trade and dividend in the selected positions.
- Merge Groups (two or more): combines them into one position.
- Unmerge: takes the trades out of their positions. They move to the List view with the
tag
UNMERGEDuntil you group them again.
With trades selected
- Move to Group (one or more trades): moves them into any other position, whatever its ticker.
- Add Tag and Remove Trade Tag.
- Delete Trades: permanently deletes the selected trades and dividends.
- Merge Trades: makes a new position from the selected trades. In the List view this is how
you group
UNMERGEDtrades again. - Unmerge Trades (Grouped view): takes just those trades out of their position. Dividends can't be unmerged; move them to another position instead.
- With one trade selected, in the List view or inside an expanded position: Edit, Ticker Report, and Add Journal or View Journal.
Grouping by hand is explained in Grouping trades yourself and Merge, move and unmerge trades. Tags are explained in Tags.
Deleting can't be undone.
Editing a trade
Double-click a trade row (in an expanded position or in the List view) to open Edit Trade. The top shows the ticker, exchange, currency and where the trade came from. You can change:
- Account, Type (Buy or Sell; Dividend too for stock trades) and Date
- Quantity (shares, or Contracts for options; Shares Held for a dividend)
- Price (options: Premium per share, as your broker quotes it; dividends: Amount)
- Commissions & fees
Expiry and journal rows keep their type. Click Save Changes; positions are recalculated.
Adding a trade
Add Trade opens the same form, empty:
- Choose Stock or Option.
- Type the Ticker (for an option, the Underlying). Pick Market (US or CA) when the same ticker trades in both countries.
- For an option, set Call / Put, Strike and Expiration.
- Pick the Account (no account yet? + New account adds one without leaving the form), the Type and the Date. Each account shows its broker, type and currencies; closed accounts appear after Show closed accounts, and the first open one is picked to start.
- Fill in quantity, price and fees, then click Add Trade.
A price you type is saved to 2 decimals (4 below $1, where sub-penny prices are allowed) and fees to the cent: 40.1234 is saved as 40.12. The same applies when you edit a price. Imported trades keep your broker's numbers.
Selling an option you don't hold opens a short position; buying it back closes it. Step-by-step help: Add a trade by hand.
Recording an option outcome
An option you hold or sold stays open until you say how it ended. Click the calendar icon on the open option's row. Record Option Outcome opens with the contract filled in. Pick a Type:
- Expired: the option ends worthless at $0.
- Assigned (options you sold): the option closes at $0 and 100 shares per contract are bought (put) or sold (call) at the strike.
- Exercised (options you bought): the option closes at $0 and 100 shares per contract are bought (call) or sold (put) at the strike.
The form says what will happen before you click Record. You can also pick these types in Add Trade when the instrument is Option.
Reports tab
The Performance Reports card shows your results year by year. It uses the same filters as the performance cards; a Filtered: line lists the ones that are on.
| Column | What it shows |
|---|---|
| NAME | The year (or month) |
| TREND | A small chart of the 12 months; point at it to see each month's result and running total |
| YOY / MOM | Change from the year before / month before |
| BEST/WORST | The best and worst month of the year |
| CAPITAL | Trading profit realized in the period |
| DIVIDENDS | Dividends paid in the period |
| TOTAL | Capital + dividends |
| WIN % | Share of positions closed in the period that made money |
| TRADES | Positions closed in the period plus positions opened in it and still open |
| OPEN / CLOSED | Those two counts side by side |
| AVG RETURN / AVG PROFIT / AVG LOSER | Average result of all, winning and losing closed positions |
| COMMISSIONS | Fees on the positions closed in the period |
- Click a year to see its 12 months (Back to Years returns).
- Click a month to jump to the Table tab, Grouped view, with Date Range set to that month.
- The TOTAL row sums everything shown.
The TREND chart can be a line or bars: Settings → Theme → Reports Chart Type (Settings).
Getting here from other pages
- On the Calendar calendar, clicking a day with trades or dividends opens the Trade Log filtered to that date.
- In the Journal, View all trades in this group opens the Trade Log on that position, expanded.
- On the Dividends page, View Individual Dividend Transactions opens the List view showing only dividends.
The Trade Log has no calendar of its own; the calendar is on the Calendar page.