Visitor, you are here

Trading basics

If you’re new to trading we recommend that you familiarise yourself with the basic concepts first. We have a wide range of articles and guides that cover important topics such as trading strategies and risk management which can be found here.

If you’re ready to start using our API, we highly recommend that you first understand how we treat our products in a development environment.

Market instruments

Market instruments are a fundamental aspect of our API. Each market instrument represents either a CFD or spread bet whose price is determined by an underlying asset or market. In the majority of cases you can take a long (buy) or short (sell) position on a market to take advantage of rising and falling prices. You can find more information on the markets you can trade at www.ig.com/uk/services-ig.

Our instruments are identified by proprietary EPICs, such as IX.D.FTSE.CFD.IP - this CFD contract shows that it is the FTSE100 cash price market.

There are several ways to locate instruments using our API:

Searching using the /markets?q={searchTerm} API

Browsing using the /marketnavigation API, which mirrors the market finder navigation structure on our dealing platform

Using a watchlist that has either been created using the /watchlists API or our dealing platform

Please note that our markets are not always available to be traded. When retrieving market information on a particular product our API will also return the status of the market. Examples of market statuses are:

TRADEABLE - the market is open

CLOSED - we are not currently offering that market

A full list of market statuses along with descriptions can be found in the API reference.

Instrument prices

There are two ways to determine the latest bid (sell price)/offer (buy price) level for an instrument:

Subscribe to the instrument via the our streaming API. This is the recommended approach, allowing up to 40 concurrent subscriptions by default

Poll the /markets/{epic} API to obtain a regular market snapshot. This is not recommended as it will rapidly use up the API quota for an application

In addition, historical prices may be obtained via the /prices API.

Trading

Placing a trade involves opening a position. A basic position consists of:

An instrument and, if applicable, an expiry

An execution price level

A direction - buy or sell

Once opened, the position will then be either in profit or loss, depending on the market movement of the underlying instrument. Positions are then closed in order to realise any profit or loss.

Positions can either be opened immediately via the /positions API, or with conditional, working orders (via the /workingorders API) which only trigger when the desired price level is met. Positions will generally be created as market orders, where we will determine the appropriate execution price level when the position is placed. For more information about the different kinds of order types please visit the API order types section.

Confirming trades

Trade confirmation is done in two phases:

Acknowledgement- a deal reference is returned via the /positions/otc API when an order is placed

Confirmation - a deal identifier is received by subscribing to the TRADES:CONFIRMS Streaming API message (recommended), or by polling the /confirms REST API

Most orders are usually executed within a few milliseconds but it means the confirm may not be available immediately if there is a delay. Please also note the confirm is only available up to 1 minute via the REST API.

Trade history

Historical trade and account activity can be viewed via the /history/transactions and /history/activity APIs.

Instrument expiry

Some of our CFD and spread bet instruments have an associated expiry (or period). This is the date at which the instrument will automatically close, eg DEC-14. CFDs that do not expirehave an expiry of '-'.

When a market expires it will settle (close) based on the price of the underlying asset. You can instruct us to roll a product over which will result in your existing position being closed and automatically reopened with the next available expiry date, while realising any running profit or loss.

Market research

In addition to an EPIC, every instrument has an associated market group identifier, eg FT100. This typically refers to the underlying real-world instrument from which the IG instrument was derived. Market group identifiers are used by the research APIs such as /clientsentiment to provide contextual market information.

An instrument's market group may be determined via the /markets/{epic} API.

If you need more information please refer to the reference, glossary and support sections. Alternatively you can contact us with any questions you may have.

The products we provide are leveraged products. Trading with leverage may not be suitable for everyone and can result in losses that exceed your deposits, so please ensure that you fully understand the risks involved.

For more information about IG Group and our offices in the UK, across Europe, Australia, Japan, Singapore and South Africa please see IG.com.

The information on this site is not directed at residents of the United States and is not intended for distribution to, or use by, any person in any country or jurisdiction where such distribution or use would be contrary to local law or regulation.

Spread betting is only available from our UK entities.

* For CFDs, based on revenue excluding FX, published financial statements, August 2013.
** 99.23% of trades executed in 0.1 seconds: average per month, IG globally (12 months to May 2014)