I use an EXCEL spreadsheet to keep track of my investment in Trading212 and every now and then I found errors in the calculation from the data provided by Trading212. Those errors are NOT related to the rounding up or down of the ÂŁ0.01.
As the errors were not materially large so I kept ignoring them but days after days, the accumulated difference between what I calculated and the data from Trading212 becomes larger and larger and this made me annoyed.
I may have missed something in the calculation or the data from Trading212 does not including everything.
Here is an example of the data I downloaded from Trading212:
(Note: I crossed out the “Result” which is not related to this discussion.)
Based on the “No. of Share”, “Price” and “Exchange Rate”, my spreadsheet calculated that the Total should be £3294.961328 but Trading212 gave me £3294.76.
The error is in the fifth significant figure. “No. of Shares” is a fix number. The “Exchange rate” contains 6 significant figures. The “Price” only has 5 significant figures, and this may be the source of the problem. However, it is unlikely unless the “actual” price is less than 108.684 (so as to make the “Total” rounded to £3294.76) which should then be rounded to 108.68.
Can anyone here shed me some light what is missing?
It’s less than 1 in 10000 out, so it will just be rounding. Without details of the T212 calc including rounding rules we can’t see exactly why. But to get round the problem and keep accounts accurate on your own spreadsheet, I would calculate the share price rather than the total. So:
share price = (total - all other charges) / no of shares.
That should solve your problem, even if the share price is slightly different than shown on t212.
The difference is so large that It should not related to the rounding…unless Trading212 uses a rounding method that doesn’t make sense.
The method that you suggested actually was what I used in the past to make the spreadsheet look good but it really annoyed me, so I gave up. Why couldn’t Trading212 give me accurate share price of a transaction but needing me to do the “adjustment”! How can I trust a company if it does not have such basic ability to maintain data integrity?
I will appreciate it if someone from Trading212 can come and point out whether I missed anything in my calculation.
My concern is data integrity, not the immaterial ÂŁ0.2 difference.
I’m guessing something like this kind of rounding error has happened:
1.31749 approx = 1.3175
/40 = 0.329375 approx = 0.032938
*3299.71 = 108.685 approx = 108.69.
It’s a common kind of error in software development, sometimes even forced on developers by rules they are given. But I don’t think it’s particularly material in this case.
Ideally the multiplications should all be done before the divisions, with enough decimal places allowed. Then the rounding should all be done at the end. I don’t think this has happened.
But they might even have rounded up on purpose to avoid the situation where price per share appears slightly less than it actually is (because of interpretation of legislation even.)
But the calculation will be done based on the total order amount, rather than a price per share quote. So you can correct the calculation any way you want for your own records.
Just for clarity, your total cost should always be considered correct because that is what is actually charged. But the price per share can always be subject to rounding errors to some degree whatever is done.
So I reiterate that in my opinion the ideal approach is to enter the total cost and calculate a price per share. Whether trading212 want to change the calculation at all is a separate question that I’m not personally bothered about. I just treat price per share as indicative. It’s total returns and associated percentages that matter to me.
Just to add one other point. They are better rounding up to some number of decimal places than rounding down. Otherwise people would be complaining that they appear to be overcharged when they multiply by the number of shares and find that it is less than they are actually charged, so they might just be doing it for that reason and to keep the number of decimal places on the price per share small.
ÂŁ0.2 is of course not a large value. However, when comparing to calculation accuracy that is expected to be at a level of ÂŁ0.01, ÂŁ0.2 is large. However, this is not the point of my post. I would like to focus on why such inaccuracy/error occurred.
I showed the real data in my first post. Your help is very welcome.
I agree with you that the total cost should always be considered correct, This was why I tried to find out how this number was reached.
I agree with you that it is very likely an “error in software development” but I do not agree that it is “common”. Such error in calculation can easily be prevented by including all the significant digits in the calculations and only do the rounding once when presenting the final results (in this case, the total cost and the FEX fee).
I feel disappointed that Trading212 does not treat accuracy in calculation seriously and presented the data badly which caused confusion to customers.
It is an odd one. Shares x price / xrate x 0.15% FX fee is ÂŁ4.95. Thats bang on.
I dont think you get US Transaction or FINRA fees on this one so not that.
That then suggests probably the exchange rate rounding. The security trades to 2dp, so must be in the exchange rate somewhere. It is approximately a 0.6bp difference.
I can’t work from that screenshot unfortunately but if you want to share some more complete dummy data with a handful of examples please feel free! As in - what format does the data come; how is it encoded; did you get any additional info when downloading it (perhaps the contract note as mentioned above). Things like that.
I have a feeling it could very well be just a calculation error as also mentioned above. Which is definitely more common than you think if you have worked with software engineers
The mismatch most likely comes from the rounding, as you mentioned, and more specifically, the one of the exchange rates. The system calculates and rounds up to more decimals than how you manually work out the result.
However, without looking into the actual order, we can not be sure what the reason for the discrepancy is, so we will DM you for more details.
Hi @G.G , Glad to have some one from Trading212 to answer my query.
However, I don’t quite understand what you mean “The system calculates and rounds up to more decimals than how you manually work out the result.” I will appreciate it if you can elaborate it.
I haven’t got the DM yet. The detail of the actual order is in fact shown in my first post here. Hope that you can tell me the reason for the discrepancy.
You are the second one who replied my posts and asked for the actual data. I just wonder why it couldn’t be seen (in my first post) by some members in this forum. If you really can’t see it , let me know and I will post it again.
According to the screenshot, you’ve used 1.31749 as an exchange rate, while our system will round up the FX amount to the ninth decimal. This difference is most likely the cause for the discrepancy.
Nevertheless, we sent a DM two days ago requesting more information about your account since we couldn’t pinpoint it. Once we locate it, we will be able to provide you with the calculations based on the executed orders.