A contract for difference (CFD) is a derivative product that derives its value from the performance of an underlying instrument such as Gold, a Stock Index, a Currency Index or a Government Bond. It is a contract to pay or receive the difference between the current price of an underlying instrument and the price when the contract is liquidated. This allows traders to take advantage of price movements. CFDs can be used to either speculate and try to profit from price movements or to hedge an exposure to certain instruments by mitigating the risk of price movements.
CFDs are popular with retail traders and are typically not held for a long time. They are similar to futures, but there are differences, for example they don't have an expiration date or a set future price, they have less regulation, the minimal amount of the underlying asset you need to trade is less and CFDs are traded through brokers, not through large exchanges. These brokers are paid via a spread and most offer products in all major markets worldwide.