Find and fix data issues

    Use Show Issues and Data Quality to find what the app couldn't match, and fix each kind of issue.

    MyTraderDash can only be as complete as the history you give it. When a sale has no purchase, an option has no expiry, or a trade fits no position, the app flags it instead of guessing. This page shows where those flags are and how to clear each one.

    Most issues have the same cure: import the missing history. A broker export that starts in 2022 can't explain shares you bought in 2019.

    Where to look

    Show Issues in the Trade Log: turn on the Show Issues switch in the filter bar. The table now shows only what needs attention.

    • In Grouped view you see the groups (positions) with an issue.
    • In List view you see the individual trades with an issue.

    Data Quality on Accounts & Data: a table of every trade that isn't in any group, with a count such as "12 of 12 unmatched trades". Its Category filter tells you why each one is there. When it's empty it says All trades are grouped.

    Each issue also puts a tag on the row, so you can recognize it at a glance. The tags are only hints; the fixes below are what clear the issue.

    The issues and their fixes

    TagWhat it meansFix
    UNKNOWN_ACBA sale with no matching purchase: the cost is unknown.Import the missing history
    PARTIAL_ALLOCPart of a trade matched, the rest didn't.Import the missing history
    PAST_EXPIRYAn open option past its expiration date.Record the outcome
    UNCOVEREDA sold call with no shares in that account to cover it.Check the shares
    UNCONFIRMED_SPLITA split the app isn't sure about, not applied yet.Usually nothing
    UNALLOCATEDA trade in no group at all (Data Quality).Place or import
    NO_EX_DIVA dividend without its ex-dividend date yet.Usually nothing

    Import the missing history

    Seen as: a group with dashes instead of entry price, return and status, shown dimmed, tagged UNKNOWN_ACB (ACB is the adjusted cost base: what you paid, including fees). Or a trade tagged PARTIAL_ALLOC.

    Why: you sold more than the app knows you bought. The app fills the gap with a $0 stand-in purchase so the numbers add up, and leaves the group out of your performance and P&L until the real purchase shows up.

    Fix:

    1. Find the date of the oldest sale with the issue.
    2. In your broker, export the trade history from before that date (often a separate year file).
    3. Import it into the same account on Accounts & Data. See Import a broker file.
    4. The app regroups after the import. The stand-in disappears and the group gets its real cost.

    If the shares came from another broker or account (a transfer in), import that account's history too, so the app can follow the shares across. See Transfers between accounts.

    If you can't get the old history, add the original purchase by hand with Add Trade on the Trade Log. See Add a trade by hand.

    Record an expiration or assignment

    Seen as: an open option position whose expiration date has passed, tagged PAST_EXPIRY.

    Why: nothing closed it: no expiry, assignment, exercise or buy-back was imported. The app never closes a position for you, because only you know what happened. (On the expiration day itself it isn't flagged yet; brokers usually report the expiry the next day.)

    Fix: import the broker file that has the expiry or assignment, or record it yourself:

    1. In the Trade Log, Grouped view, find the option's row.

    2. Click the calendar-check icon at the end of the row (tooltip "Record outcome: expired, assigned or exercised"). The Record Option Outcome dialog opens, filled in with the contract, quantity, account and the expiration date.

    3. Pick the Type:

      TypeWhat it records
      ExpiredThe option expires worthless and leaves at $0.
      AssignedYour sold option closes at $0 and you buy (put) or sell (call) 100 shares per contract at the strike.
      ExercisedYour bought option closes at $0 and you buy (call) or sell (put) 100 shares per contract at the strike.
    4. Check the Date and click Record. The position closes and the flag goes away.

    If you later import a broker file with the same event, check the Trade Log for a duplicate and delete the one you don't need.

    A call shows UNCOVERED

    Seen as: a sold (short) call group tagged UNCOVERED.

    Why: the app can't find enough shares in the same account to back the call. Usually the shares' purchase isn't imported, or the shares sit in an account you haven't imported.

    Fix: import the history that holds the shares (see Import the missing history). If it really was a naked call in a margin account, there is nothing to fix; the tag just tells you so.

    A split isn't applied yet

    Seen as: a position tagged UNCONFIRMED_SPLIT.

    Why: the market data reported a split whose ratio could also be a spin-off or a distribution (for example 21:20), so it isn't applied until it's reviewed. See Splits the app isn't sure about.

    Fix: usually nothing; the tag goes once the split is reviewed. If you know whether your share count changed on that date, tell us with the Feedback button in the sidebar.

    Trades in no group

    Seen as: rows in the Data Quality table on Accounts & Data, tagged UNALLOCATED. The Category filter groups them, for example:

    • Orphan Buy / Orphan Sell / Unmatched Option: a trade nothing else matches.
    • Partial Unmatched: the leftover part of a trade that only partly matched.
    • Transfer Remnant: one side of a transfer whose other side isn't imported.
    • Orphan Dividend: a dividend with no position to attach to.

    Fix: importing older history (or the other account of a transfer) resolves most of these. To deal with one by hand, tick it in the table and use the toolbar:

    • Move to Group puts it in an existing group of the same ticker.
    • Edit corrects a wrong field (for example a quantity or price).
    • Delete Trades removes it, for example a duplicate row.

    Trades you unmerged on purpose are not issues: they wait in the Trade Log's List view, tagged UNMERGED. See Merge, move and unmerge trades.

    A dividend has no ex-dividend date

    Seen as: a dividend tagged NO_EX_DIV in the List view with Show Issues on.

    Why: the app hasn't matched the payment to the company's dividend calendar yet.

    Fix: usually nothing. The date fills in by itself once the app has the dividend history for that stock.

    Issues Show Issues can't see

    Set each account's type

    The account type decides whether a tax report treats an account as taxable. A TFSA, RRSP or IRA left on Cash (Non-Registered) is taxed in the report as if it were a regular account.

    1. On Accounts & Data, open the account's ⋮ menu and choose Edit Account.
    2. Pick the right Account Type: Cash (Non-Registered), Margin, a Canadian registered type (TFSA, RRSP, FHSA, RESP, RDSP, LIRA, RRIF, LIF), a US retirement type (Traditional IRA, Roth IRA, 401(k), 403(b), 457(b), HSA, SEP IRA) or Other.
    3. Click Save.

    A registered type only shelters gains in its own country's report: a TFSA is tax-exempt in a Canadian report, not in a US one.

    The tax report lists more

    The Excel export of a tax report has an Unresolvable Groups sheet and a Notes & Flags sheet. Each row says what's wrong and the action to take, for example "Import missing broker statements to establish full trade history". Work through them with the fixes above.

    Something went wrong processing your trades

    Seen as: a red banner at the top of every page, "Something went wrong processing your trades". An import may also have said Your trades were saved, but processing them failed, or Recalculate said Recalculating failed.

    Why: the app hit a problem it couldn't handle while turning your trades into positions and strategies. This is a problem on our side, not in your data. Your trades are saved, but until it's fixed some positions may show twice (once inside a strategy and once on their own), and totals may be off.

    Fix: you don't need to do anything. We're notified automatically and fix it. Once the fix is in place, your trades are processed again on their own, the banner goes away, and you get an email and a "Your data is fixed" message in the app. Clicking Recalculate again doesn't help while the banner is up.

    After fixing

    Imports and grouping actions update the Trade Log on their own. If something still looks stale, click Recalculate at the top of the Trade Log. Then turn Show Issues on again to see what's left.