How CFD Contracts and Profit Calculations Work

A contract for difference, or CFD, turns a change in market price into a cash profit or loss. You agree a position size with a provider, open a trade at one price and close it at another. Your result depends on the direction of the trade, the price movement and the amount of exposure you hold.

You do not buy the underlying share, currency or commodity. You trade a derivative linked to its value. CFDs are complex, high risk products, and losses can quickly exceed the margin committed to an individual trade. The ASIC Moneysmart explanation of CFDs covers these basic mechanics and risks.

The arithmetic becomes easier once you separate three figures: the full value of the position, the margin needed to open it and the profit or loss after costs. They are not interchangeable.

What a CFD Contract Represents

A CFD creates exposure to a reference market without transferring ownership of that market’s underlying asset. Buying a share CFD is therefore different from buying shares through an investment account. The distinction between CFDs and owning the underlying asset matters beyond the profit calculation.

Before calculating a trade, read its contract specification. You need the size represented by one contract, the currency in which gains and losses are calculated, and the value of each price increment. A quantity labelled “1” is not enough information.

For the examples below, assume one share CFD represents one underlying share. For an index CFD, assume the specification instead states a cash value per index point. These are illustrative terms, not universal contract sizes.

Suppose you buy 400 share CFDs at £15 each. Your opening exposure is:

400 × £15 = £6,000.

That £6,000 is the position’s notional value. It is not necessarily the cash required to open the position, and it is not the profit you receive when closing it. It measures the market exposure used in the calculation.

The CFD Profit and Loss Formula

A long position starts with a purchase and closes with a sale. A short position starts with a sale and closes with a purchase. A rising price benefits the long position; a falling price benefits the short. The MoneySense guide to opening and closing CFD positions sets out this two-trade structure.

For a contract expressed in underlying units, use these formulas:

Long gross profit or loss = (closing price − opening price) × units.

Short gross profit or loss = (opening price − closing price) × units.

Where each contract represents several underlying units, multiply the number of contracts by that unit multiplier first. For a contract expressed as a cash value per point, use:

Gross profit or loss = favourable or adverse points moved × value per point per contract × contracts.

A negative result means a loss. Use actual execution prices, not the price you hoped to receive. Here, “gross” means the result from those prices before separately charged fees and adjustments; any spread already reflected in the execution prices is included.

Worked Example: Buying a Share CFD

Assume you buy 400 CFDs in a fictional company at an executed price of £15.00. Each CFD represents one share. You later sell all 400 at £15.60.

The price has moved £0.60 in your favour:

(£15.60 − £15.00) × 400 = £240 gross profit.

Now assume the provider charges £6 commission to open the position, £6 to close it and £8 in total financing charges during the holding period. There are no other adjustments:

£240 − £6 − £6 − £8 = £220 net trading profit before tax.

The losing version uses exactly the same method. If you instead close at £14.40, the price loss is £240. With the same £20 of charges, the net loss becomes £260.

Illustrative results for 400 share CFDs bought at £15.00
Executed closing price Gross price result Assumed separate costs Net result before tax
£15.60 £240 profit £20 £220 profit
£15.00 £0 £20 £20 loss
£14.40 £240 loss £20 £260 loss

These figures show why getting the market direction right is not sufficient. The favourable move must also cover the trade’s costs. Financing schedules and other charges require a separate check; the guide to CFD trading costs and overnight financing covers that calculation in more detail.

Worked Example: Selling an Index CFD

Assume an index CFD has a contract value of £2 per index point. You sell three contracts at 8,200 because you expect the index to fall. Your total exposure per point is:

3 × £2 = £6 per point.

If you buy back all three contracts at 8,150, the favourable movement is 50 points:

(8,200 − 8,150) × £2 × 3 = £300 gross profit.

If you instead close at 8,250, the result is a £300 gross loss. Separate costs then reduce the profit or increase the loss.

The opening notional value in this example is 8,200 × £2 × 3, or £49,200. A position described as “three contracts” can therefore carry substantial exposure. The contract count alone tells you very little.

How the Spread Enters the Calculation

A CFD quote has a bid, at which you sell, and an offer, at which you buy. The difference is the spread. Consider an illustrative quote of £19.98 bid and £20.02 offer.

Buying 100 units at £20.02 and immediately closing at an unchanged bid of £19.98 produces:

(£19.98 − £20.02) × 100 = −£4.

That £4 loss already captures the spread. Subtracting another £4 “spread charge” would count it twice. Conversely, calculating both sides from a midpoint price would overlook it.

Commissions and funding charges may sit outside the quoted spread. The FCA review of CFD pricing and value examines all three cost categories and identifies overnight funding as a potentially substantial ongoing expense.

For a simple break-even calculation, suppose those 100 units incur £10 in separate costs, with no other adjustments. The closing bid must reach £20.12: a £0.10 gain from the £20.02 purchase price earns £10, covering the charges. Break-even means covering the whole bill, not just getting back to the opening quote.

Why Margin Does Not Change the Price Formula

Return to the £6,000 share CFD position. Assume its initial margin requirement is 20%, giving an opening margin of £1,200.

A £240 gross profit equals 4% of the £6,000 exposure but 20% of the £1,200 initial margin. A £240 gross loss has the same percentages in reverse. Those are different ways of expressing the same cash result.

Do not multiply the calculated profit by the leverage ratio again. The 400-unit position already captures the full exposure. Multiplying £240 by five would invent a £1,200 profit that the trade did not earn.

Nor should you subtract the initial margin as though it were a trading fee. It is collateral supporting the position, rather than a purchase price consumed by the trade. The separate guide to CFD margin and negative balance protection covers how collateral, account equity and available funds interact.

A percentage return on initial margin also differs from the return on your entire account. If the account contains £5,000, a £240 gain is 4.8% of that starting balance before costs, not 20%.

The UK Retail Protection Boundary

For CFD business covered by the UK retail rules, firms must close positions as soon as market conditions allow when account net equity falls below 50% of the required margin. Negative balance protection restricts liability to funds in the relevant account. These requirements appear in FCA Handbook COBS 22.5.

Neither rule makes an individual trade’s opening margin its maximum loss. Money elsewhere in the same trading account can also be at risk. These are account-level protections, not a promise that each position will stop losing at the amount initially committed.

Converting a CFD Result Into Your Account Currency

Keep the price calculation and currency conversion separate. Assume a hypothetical US share CFD settles its price result in dollars, while your account is in sterling.

You buy 100 units at $50 and sell them at $52:

($52 − $50) × 100 = $200 gross profit.

If the applicable conversion rate is GBP/USD 1.2500, one pound buys $1.25. Convert the dollar profit by dividing:

$200 ÷ 1.2500 = £160.

At 1.3000, the same $200 converts to approximately £153.85. These examples exclude conversion charges. For the quotation convention behind the calculation, see how to read currency pairs and forex quotes.

Check the contract and account terms for the actual settlement currency, conversion timing and rate. If commissions or financing are converted separately, reconcile each entry rather than assuming every dollar amount uses one exchange rate.

Partial Closures and Average Entry Prices

You can calculate a partial closure without treating the whole position as closed. Suppose you bought 500 units at £10 and sell 200 at £10.40:

(£10.40 − £10.00) × 200 = £80 realised gross profit.

The remaining 300 units are still exposed. If their available closing price is £10.30, their unrealised gross gain is £90. That £90 is not the result of a completed sale and may change before execution.

Adding to a position needs another calculation. Suppose you buy 100 units at £20 and another 200 at £21. The weighted average entry price is:

[(100 × £20) + (200 × £21)] ÷ 300 = £20.6667, approximately.

Closing all 300 units at £22 produces a £400 gross profit: £6,600 of closing value less £6,200 of opening value. Keep the unrounded figures when calculating; round the final cash result.

For partial closures across several entries, check which opening trades the platform allocates to the closure. Keep an allocation record so that realised and remaining results reconcile.

Use Filled Prices, Not Planned Prices

A trade estimate is only as accurate as its assumed exit. An ordinary stop order does not guarantee that the eventual execution will match its trigger price. The distinction between a requested price and a fill is covered in the guide to order execution and slippage.

Suppose you buy 400 units at £15 and plan to exit at £14.50. The planned price loss is £200. If the actual sale fills at £14.35, the gross loss is £260 instead. Charges remain additional.

For reconciliation, work from the execution confirmations and account ledger. Record the instrument, direction, quantity, multiplier, opening and closing fills, settlement currency, separate charges and any contractual adjustments.

Then check the result in order: calculate the signed price difference, apply the full position size, account for charges and adjustments, and convert currencies where required. This separates a market loss from a cost, conversion difference or arithmetic mistake—and prevents the margin figure from disguising the size of the trade.