Contracts for difference, or CFDs, are a type of financial derivative used in CFD trading. They act as an agreement between two parties to exchange the difference in price of an asset from when the CFD position is first opened to when it is closed.
CFDs are traded on leverage, which means that all trades have magnified profits and losses.
As a derivative, CFDs allow traders to speculate on market volatility without actually owning any of the underlying assets involved. That also means that assets can be both bought (going long) or sold (going short), and profits can be made from both bull and bear markets: though losses can be incurred also.
They can be used to trade a variety of financial markets like shares, forex, commodities and indices. CFDs are traded in contracts: you take out a certain number of contracts, and each is equal to a base amount of the underlying asset.