Foreign currency fee between 1,5% and 10,5% for CFDs or am I missing something?

Hi community,

My question is how the results from positions in other currencies are calculated. For CFDs, T212 informed me that it applies 0,5% to the exchange rate itself and that this is automatically reflected in my result. However, according to my calculations, the foreign exchange fee varies from 1,5% to 10,5% - or there is another hidden fee!

I used these basic calculations and applied the closing price as exchange rate:

When I had a positive result:

  • ([Start price] - [Closing price]) x [Amount] / ([exchange rate] x 1 - [T212 interest rate]) = [final result]

When I had a negative result:

  • ([Start price] - [Closing price]) x [Amount] / [exchange rate] x 1 + [T212 interest rate] = [final result]

Example of a 3,57% charge - positive result, sell EUR/USD, held in USD, POS812589142, closing 14.01.2021 03:30 (GMT+1), open for 2 days:

  • (1,21752 - 1,21378) x 45000 / (1,21378 x 1,0357) = 133,71 €

Example of a 10,52% charge - negative result, sell GBP/USD, held in USD, POS675038821, closing 21.12.20 13:03 (GMT+1), open for 40min:

  • (1,31941 - 1,32316) x 50000 / 1,32316 x 1,1052 = -156,61 €

Can someone help me to figure out whether there is a mistake in my calculation or whether T212 really charges more?

Could this have to do with the spread? It is unlikely that it is linked to the duration of the held position, the currency the position is held in or the lent capital as the fee seems to vary independently of these variables.

I have been trying to get an answer to this by email but the customer service seems to only spend 5 seconds on each request, so they don’t get my question.


Isn’t the exchange free? Where do you find about 0.5%?

Looking at the EUR/USD exchange rate chart, the lowest the Euro was on 12 Jan was 1.2161. Display of rates can differ slightly between sources.

There a fee on the result of a CFD trade. No fees in Invest or ISA.

The calculation looks correct. But where did you get the fx rate at time of closing? And was you result 133.71?

1 Like

You have to look at the FX rate at buy and now. Example:

I buy a share of $100. EURUSD at that moment is 1,10. So I paid €90 for that $100 share.

The price of that share stays $100, but the EURUSD goes up to 1,21. Suddenly my share is worth €82. If I would sell now for $100, this will give a loss of €8.

(In case of ISA/Invest)

I cant say I’ve heard of a start/closing price in terms of exchange rates, unless you’re effectively talking about the spread(or the daily market opening and closing rates), and I assume you are talking the FX fees on a CFD trade which I think is 0.5%.

You need to do your comparison of costs against the mid market rate at the time.

You said you achieved an exchange rate of 1.208 to convert EUR to USD as at 09:28 on the 12th January 2021.

If I take an external source - say, then at 0900 the rate was 1.2154 and 1000 1.21601.

1.208 / 1.21601 is about 66bps from the mid at 1000. Assuming you were trading CFD with a fee of 50bps, then 66bps seems reasonable to account for spread on the currency pair, and movement in fx rates from 0928 to 1000 - the rate that I’ve taken to compare.

Can you post screenshots like these? It is hard to help without seeing the actual data.

Thank you for your advice! I added the screenshots and modified the calculation a little as the closing price must be the actual exchange rate (had 1,208 before). So the exchange rate fee of T212 seems to be 3% not 3,5% - still 2,5% more than they say they’d apply.

Could this difference have something to do with the spread?

I cannot explain your result. But here is an old one of mine. The result I got of of -£20.36 is exactly correct for a 0.5% fee

1.005 (1.22429 - 1.24066) 1515 / 1.22429 = -20.3584.

Is the difference an issue to do with your Forex margin?

Yours is an older result, a long position and the base currency is GBP. Maybe something has changed since then, short positions are valued differently, or it has to do with having held the position in USD?

It’s the same with all of my USD results that I have checked… See this one for example:

1,005 (1,21192 - 1,20800) * 65000 / 1,20800 = -212€

but I was charged -219,26€, that is 3,95%!

Could be, but I have no idea how it could be calculated differently.

Could it be that your base currency is USD and not EUR? To run this EUR/USD trade you are charged to first buy EUR for the entire position of 5000 and then to convert them back to USD at the end? The spread on this buy and sell is perhaps 0.01%. So 65000 x 1.211920 x 0.0001 is about 7, accounting for the difference between 212 and 219. This could explain why I do not have such a charge when doing a GBP/USD trade when my base currency is GBP. But I am clutching at straws to understand this. When markets open again it would be interesting to do some trades in the practice account.

Again, I think you are using the wrong exchange rate. See the chart

Isn’t the exchange rate at the time of closing the closing price?

No, the CFD prices are not the same as the interbank price.

So how come that for Richard W. it works?

Richard’s is a GBP/USD. I will look dig out one of my transactions.

My base currency is EUR and the EUR/USD is in USD. What I read is that the foreign currency fee is only charged once at the time of closing, but that might be wrong.

I have now analysed all my 28 completed forex trades and the fee is never below 1,5% and it goes up to 10,52%. There is no apparent pattern in this.

  • All but three positions are in USD, the 2 GBP positions range from 1,52-2,46% and the JYP position has 10,30%.
  • Also, the duration doesn’t seem to matter as the positions which I held for less than one day range from 1,47% to 10,52%.

So, overall, I was charged 156€ instead of 20€ when the exchange fee of 0,5% would have been applied.

Could this have to do with the spread though? Such a strong fluctuation seems very strange.

I updated the original post with these numbers.

Your account is in GBP and you held the position in USD, right?

This is the only difference I can see for now.