Directa portfolio tracker: benchmark your Directa portfolio against the S&P 500
We read a Directa movement export and rebuild the orders, the charges and the income that sit behind your positions. Directa keeps detailed order records, and its export tends to be a plain table rather than a designed report, which is what makes it straightforward to map. The headings are Italian and the layout is untested here, so you confirm the columns once and files with that same layout are read without asking again.
What the file contains
A movement export lists what happened rather than what you own. Each row carries a date, a description, the instrument, a quantity where one applies, a price and an amount, with charges either attached to the order or booked on their own. Trades made on a market outside Italy settle in that market's currency, so the currency column carries real information instead of repeating the same three letters on every line.
From there the work is ordinary. Purchases and sales in sequence give the average cost of each holding. Charges are counted as costs. Income is recorded on the date the money arrived, with any deduction kept beside it. Deposits and withdrawals give the dated cash flows the comparison replays, and it is that replay, rather than the index chart on its own, that answers whether your money did better or worse than the market over your period.
How the import works for Directa
Directa goes through the column mapper. You point at the date, the type, the amount and the quantity column once, we save that mapping to your account, and later uploads from the same broker are read without a question.
We do not print a click path here, because menu names move between releases and a wrong one costs you more time than no one at all. Look for the transaction history or the account statement of your Directa account and take the machine-readable version of it over the PDF.
Two details make the first pass easier. Italian exports often write decimals with a comma and separate fields with a semicolon, and both are read as they come, so nothing has to be converted first. And the mapping is stored against the headings of the file, which means the next export with the same layout is read without a single question. Take the longest period the interface offers, and where it caps you, export in blocks; rows that appear in two blocks are recognised rather than counted twice.
What to watch for with Directa files
Italian wording in the descriptions. Operations are described in Italian, and the usual words for a purchase, a sale and a dividend are recognised. Anything unusual stays visible, so you can classify it yourself instead of trusting a guess.
Foreign markets, foreign currency. An order placed outside Italy settles in the currency of that market. The rate on the day of the trade is part of what the position cost, and it is kept with the row rather than applied afterwards.
A history in several files. Where one download cannot cover the whole period, a full history arrives as several files. Uploading them one after another produces the same result, as long as no period between them is missing.
Splits change the count, not the money. A split multiplies your share count without any cash moving. Left out of the file, the number of shares stops matching the broker and every figure calculated per share around it looks wrong.
What you see after the upload
Your file becomes a verdict first: your time-weighted return next to the S&P 500 and the Nasdaq 100 over the same period, with your own deposits replayed into the index so both sides carry the same timing. Under it sit your positions with their cost basis, the dividends you received and the income your holdings are expected to pay, your allocation across positions and currencies, and a year report you can keep for your records.
For a Directa history the benchmark screen is the point of the exercise, since an account with orders on several markets is the hardest kind to judge from a broker's own summary.
You can look at all of that on the demo portfolio before you upload anything of your own. The first two weeks are free and no card is asked for.
Frequently asked questions
My file uses commas for decimals. Will it be read correctly? Yes. A comma as the decimal mark and a semicolon between fields are both handled, and so are the European date orders. The version of the file you should upload is the one the broker produced, because opening it and saving it again is where dates quietly change shape and long decimals lose their tail.
What happens if a description is not recognised? The row is kept and shown with the original text rather than being forced into a category. You can then classify it yourself. That is the deliberate trade off: a reading that guesses would be quicker and would also let a wrong classification into your totals without anyone noticing it was there.
Why does the currency column matter for an Italian account? Because orders placed on foreign markets settle in those markets' currencies. If every row is read as euros, a purchase in dollars is recorded at the wrong size and the position that follows from it is wrong too. Assigning the currency column takes one moment and removes an error that is hard to find later.
How much history should I export? All of it. A range that starts after your first purchase leaves positions with no origin and sales with nothing to match against, and the cost basis that results looks entirely reasonable while being wrong. If the interface will not go back far enough at once, take it in blocks and upload every block.
Related: All brokers · Corporate action · FX (foreign exchange) rate · Cost basis · Cash-flow replay · BullBenchmark vs a spreadsheet