Step 1 of any trading journal is getting your data in. With the largest combined support for manual and auto-import, and over 50 million trades imported so far, it's fair to say we've some experience dealing with broker data.
We wanted to write this blog post to serve as a central guide for common questions and issues one may face when importing trades into TradesViz. We'll structure this guide by common questions that apply to most brokers/platforms.
I just imported/synced my trades, and I don't see all of them. Why?
This is the #1 most common question when a new user imports their file. Our response is almost always the same: Your file/synced data is NOT complete.
Here's the gist: Most brokers do not export or provide ALL trading history via API. If you are unsure, open the file (csv/excel/whatever > open via notepad) and check the most recent trade and the oldest trade. If you are using auto-sync, we provide all the info you need when establishing the connection.
This causes an array of issues, from incorrect pnl, missing trades, and completely incorrect stats. Because if you only import, say, the closing positions and ignore the open positions, how can the result be correct? It's just a case of garbage-in, garbage-out. Plain and simple, and there's nothing we can do to solve this - i.e, we can't make missing data magically re-appear...
The solution? It's something you have to do from your side: Piece-wise import or import + sync.
So the data is missing, and that is clear so far. If you are working with manual imports, then you simply have to import each year or month, etc., - whatever your broker provides sequentially. Example: IBKR provides tradelog files of up to 365 day range, or you can export year by year. Suppose you have a 3-year trading history (say, 2021 to 2024), you need to first export 2021 to 2022 as 1 file (since the limit is 365 days for IBKR), import it, then export 2022 to 2023, import it, then export 2023 to 2024 and import it. Now you will have complete data. A suggestion we have here is to use the "Swing" import profile under advanced import settings if you are importing multi-year data and if you have swing trades.
Tedious? Maybe, but it's a one-time process. There are zero ways around this. This takes ~5-10 minutes, and the insights you get after importing all of those trades are priceless. So don't lose patience, import all your data, and you're all set.
Now, the case is a bit different for sync. There are **hard limitations** here. For all the auto-sync connections, please fully read the prompt that appears when you click on "connect". That will tell you all the info you need to know about potential historical data limitations for the broker you are connecting to.
Most brokers/platforms provide limited history via sync - that's totally fine. Why? because almost all brokers allow you to export a piece-wise history of your trading data - either month-wise or quarter-wise, or year-wise. So, the solution is simple: import all historical data and then sync from the recent date.
Note that we are just using an example broker here - the same logic applies to your broker also, as long as they support manual export of data and provide API-based sync, which we have on TradesViz.
Let's take the same IBKR example. Suppose you want to automate the process going forward. You would import all your history till the current year and then create a flex query with history as "YTD" or "Year to date". So that means you get all sync data for this year and going forward, and you have all historical data imported into your account already.
For most other brokers, we provide a specific sync from date option when establishing the connection:
Notice the "Sync from date" section. When you fill this in, only trades on or after the entered date will be synced.
HOWEVER!
There are some broker-level limitations here. For example, Webull only provides ~10-14 days of data. If you enter 2024-01-01 for a webull auto-import connection, you are obviously not going to get the data from 2024...
Some brokers ONLY provide current-day data. It should be pretty much self-explanatory in these cases that sync from date is not used, or you will not see this input for those brokers.
To sum up:
- If you are manually importing and need all your history, get all the history year by year from your broker and import it sequentially (limitations subject to broker's rules and export limits)
- If you want to automate the import process, do NOT expect all your years of data to be synced. As explained above, import your history manually (one-time process) and then set sync from date to be from a specific date, i.e, the last date of the most recently imported data, and let it sync.
I imported all the data, and the numbers still don't match. Why?
Ok, now assuming you've done everything - imported all data manually or manually + auto-synced, and if you are still having issues matching pnl, there are some possibilities on what could be happening.
First, be clear on what you are comparing.
Total realized pnl?
Total unrealized pnl?
Total account value?
Of the above, is it NET pnl (inclusive of commissions and fees) or GROSS (not including commissions and fees) pnl?
Whatever you may be comparing, first check Summary > Overall Statistics (or just Overall stats in simple dashboard mode): This shows most of the numbers you may be looking for:
Remember that TradesViz splits your numbers neatly into the following sections and provides combinations of it:
Total fully closed PnL: The total profit and loss of all fully closed trades
Unrealized PnL: Total *realized* profit and loss of all open or partially closed trades
Total realized PnL: Total fully closed PnL + Unrealized PnL
All of the above are also toggleable between NET and GROSS by clicking on the Filters button at the top right corner and switching between the PnL modes.
If you don't see any difference between NET and GROSS, there are 2 reasons:
- You are on a Free account, so commissions/fees are not imported or used
- You are on a Pro/Platinum, but your import or synced data did not include commissions/fees.
Now, assuming you are clear on what you want to compare, let's follow along on the possibilities of comparison results:
If you are comparing total account value, make sure to add your deposits and dividends (optional).
Remember: TradesViz does NOT import your deposits or withdrawals.
Remember: TradesViz does NOT import your dividends and other non-trading transactions. We have a dedicated management system for dividends, which has to be manually entered, and it can be automated.
After importing/adding both, you can either check the Summary > Overall Statistics or Summary > Equity curve for your total account value.
Note that the Equity curve is NOT net liquidity per day!
Equity curve = PnL + Deposit - Withdrawal.
Is this what you are looking for? Great. Your troubleshooting ends here.
No? Ok, no problem. Before proceeding further, first do a simple check: Compare your broker's total closed gross pnl to TradesViz's total fully closed pnl (gross). This is the simplest, most basic, and easiest check to do because all it compares is all your closed trades' pnl - meaning, we are ONLY looking at 100% completed data (so there's no chance of fluctuation due to unrealized pnl) and there are no other entities like dividends, cost, account interest etc., that can mess with your totals.
Is it matching? Great. Now, whatever is not matching is probably non-trading transactions that we do not support. If you have costs, try adding them as withdrawals. If you gained account interest, add them as deposits. If it's NET pnl that is not matching, it means your imported/synced data did not have commissions/fees numbers. You can easily automate adding them using
advanced commission profiles. TradesViz, at this point, has provided you with accurate trade data totals and features to add/update the remaining to match your broker's numbers.
Total fully closed PnL not matching?
Let's summarise. At this point, if you've been following the steps, you have ensured:
- You have ALL data in your account (the entire trading history)
- You are 100% sure of the fully closed realized gross pnl number from your broker
- The difference between the broker and TradesViz's total fully closed pnl is significant
There are 3 possibilities here:
- Stock splits: TradesViz does not natively handle stock splits - these are only cases when you held a stock position through a split. You need to find these tickers and adjust them accordingly. For example, if a stock undergoes a 1:3 (1 for 3 split), then find the trade that has both pre- and post-split executions and adjust the pre-split executions by editing the quantity to be 1/3rd of the original value and the price to be 3x the original value.
- Transfers: If you transferred a position OUT OF the account you are importing, or transferred a position TO the account you are importing, these need to be added as manual trades (Dashboard > Click on '+' button > Add trade).
- Unsupported assets/Leverage or multiplier issue: If you are importing asset types we do not support for leveraged instruments from countries we do not support, then you will not see the correct PnL. A special case here is that of CFDs (MT4/MT5, etc.). Since each broker has a unique CFD symbol and multiplier, it is possible that we may not have support for the exact symbol for the broker you are importing. While this is rare, this needs to be fixed from our side. All you need to do is send your file to [email protected], and multipliers will be fixed in 24-48 hrs. Remember that this is ONLY for CFDs.
Other possibilities also include missing data, incorrect data in the imported file - these are not reasons we can confirm without checking the file/logs directly.
The other reason is that in very rare cases, the import did not group all the trades. For example, when sorting by close date in your
trades table, if you see multiple open trades of the same symbol, you can try to
merge/combine them. This can be avoided by using the "Swing" profile in the import page. You can read more about the advanced import settings
here. This is not required if you are only scalping or doing very short-term (intraday trading), and in such cases, you can even use "Stock/Scalper" settings to make sure your trades are split as frequently as possible (based on flat positions). We've also documented other possible reasons
here.
If none of the above truly work, we suggest contacting us at
[email protected] with your file, expected pnl, and the pnl you see on your TradesViz account so that our technical staff can check and get back to you with a detailed report.
As much as we hope to make the import process 100% seamless for 100% of users, it's a very hard problem. Brokers/platforms have limitations, their formats change, and data reporting type changes - our team is always on top of these changes, and we try to make all of our modules backward compatible, even with older import files.
On the TradesViz side, for 100% of the cases, it is impossible for our modules to miss any data unless it's not supported or if it's a change from the broker's side that we have not caught yet. This is why we need your help. If you have any issues even after all of the above steps, please contact us to chat with us live M-F 9-5 pm ET. Our support team will do its best to get all of your data imported. If it's a format or data change, our developers will work on updating the module, and an update will be pushed within just a day or two.