CFD stands for "Contract for Difference".
A contract for difference is an arrangement made in financial derivatives trading between a buyer and a seller. The buyer of the CFD must pay the seller the difference between the opening value of the trade and its value at the time of closing the trade.
Trading in CFDs allows traders to potentially generate a profit from price movement in a financial asset without actually owning the underlying asset. Traders can do this because the value of a CFD contract does not take into consideration the asset's underlying value; rather, it only takes into account the price difference between the trade entry and exit.
Most traders will execute a CFD trade through their retail broker platform where the broker will take the counterparty risk on the trade. Most brokers allow CFD trading on all kinds of financial products such as Forex, futures, stocks and shares, commodities, indices and cryptocurrencies for example.