Trading Forex with the commitments of traders report

Post on: 17 Июль, 2015 No Comment

Trading Forex with the commitments of traders report

Trading Forex with the commitments of traders report

Updated on 2012-04-04

Commitments of traders report contains information about the long and short positions taken by commercials, speculators and small traders. The information contained within this report is very important particularly to Futures and Forex traders.

The COT or commitments of traders report is published by the Commodity Futures Trading Commission (CFTC) every Friday. It is an excellent tool to measure the market sentiment of commodities, stock indices and currencies because it tells us how heavily big traders (speculator and commercial) are investing in these markets.

Although, this report is about long and short positions on futures contracts, Forex traders should take a close look at it. Indeed, it is a great way to see the bullish and bearish sentiment for different currencies.

Downloading COT Data

The commitments of traders report includes many measures for each group. These measures include the number of long contracts, the number of short contracts, open interest, number of trades, reportable positions and non-reportable positions.

Historical data is available freely on the CFTC website but it may look intimidating at first and it is not always easy to find the data your are looking for.

Fortunately, QuantShare has some downloaders that retrieve COT data and store it in a custom database. The Commitments of Traders item, for example, downloads the legacy report starting from 1986 then adds the different measures in a custom database whose name is commitments_traders1.

Make sure you read the download item description for instructions on how to download data for the different currency futures contracts.

In our case, we are interested only in currency futures contracts and therefore we can specify the following fields under the downloader Symbols tab.

AUSTRALIAN DOLLAR=AUDUSD

BRITISH POUND STERLING=GBPUSD

CANADIAN DOLLAR=USDCAD

EURO FX=EURUSD

JAPANESE YEN=USDJPY

NEW ZEALAND DOLLAR=NZDUSD

SWISS FRANC=USDCHF

You may also look at the following item (Commitments of Traders — Historical Data ) which downloads the new report data from the U.S. Commodity Futures Trading Commission website.

2- Database Data

- Select Tools then Database Data

- Next to database combo box, select commitments_traders1

Commitments of traders’ charts

Let us display the net position of commercials, speculators and small traders on a chart.

- Open a chart by selecting View then New Chart

- Select the EURUSD symbol for example (Forex symbols & data must be added to your database — Download -> Download Data Wizard -> Forex -> Download)

- Click a new pane by right clicking on the chart then selecting Create new pane

- In the new pane, click on the first icon (at the top) to add an indicator or a time-series

- When the Add a function control appears, select Databases/Fields tab

- Select commitments_traders1 database (This database was created by the commitments of traders’ downloader)

- Under Select a field, select noncom_long field (Speculators long positions) then click on OK

To display the net positions, we must update the pane’s formula.

- Right click on the new pane then select Edit formula

- Here is the formula to display the net positions of commercials, speculators and small traders for the Euro futures

spec_long = GetData(‘commitments_traders1′, ‘noncom_long’, LastData);

spec_short = GetData(‘commitments_traders1′, ‘noncom_short’, LastData);

spec = spec_long — spec_short;

Plot(spec, Speculators, colorRed, chartLine, StyleSymbolNone);

comm_long = GetData(‘commitments_traders1′, ‘com_long’, LastData);

comm_short = GetData(‘commitments_traders1′, ‘com_short’, LastData);

comm = comm_long — comm_short;

Plot(comm, Commercials, colorBlue, chartLine, StyleSymbolNone);

trad_long = GetData(‘commitments_traders1′, ‘nonrep_long’, LastData);

trad_short = GetData(‘commitments_traders1′, ‘nonrep_short’, LastData);

trad = trad_long — trad_short;

Plot(trad, Traders, colorGreen, chartLine, StyleSymbolNone);

The formula may look complicated but it is very easy to understand.

The first and second lines get the non-commercials (speculators) long and short positions from the commitments_traders1 database

The third line calculates the net position by subtracting the long positions to the short positions

The forth line plots the net position on the chart

Non-Commercial or large speculators are mainly banks and hedge funds who trade currency futures for speculation.

Commercials are mainly importers and exporters who use futures contracts for hedging purposes.

Non-Reportable traders are small traders who are not required to report their positions to the CFTC.

Trading system based on the commitments of traders data

Here, I will show you how to create a basic trading system using the Euro/Dollar currency and COT or commitments of trader’s data.

- Open the simulator manager by selecting Analysis then Simulator

- Click on New to create a new trading system

- Select the Create a trading system using the formula editor tab

Our strategy will have two buy rules and one single sell rule.

Buy Rules :

In the formula editor, type the following code:

rule1 = close > sma(close, 30);

spec_long = GetData(‘commitments_traders1′, ‘noncom_long’, LastData);

spec_short = GetData(‘commitments_traders1′, ‘noncom_short’, LastData);

spec = spec_long — spec_short;

rule2 = spec > 0;

buy = rule1 and rule2;

sell = !rule2; // Opposite of rule2

Before saving the strategy, set the number of positions to 1; click on Symbols & Dates, add a new custom symbols condition then add the following Forex symbol: EURUSD

Click on Create Trading System to save the COT based trading system.

Backtesting the trading system

In the simulator manager, select the trading system we have just created then click on Simulate / Backtest.

The COT report comes with few days delay. In order to get accurate backtesting results, it is advisable to apply the ref function when getting COT data using GetData. The ref references past bars.

Example:

spec_long = ref(GetData(‘commitments_traders1′, ‘noncom_long’, LastData), 7);

Note. Unlike the Spot FX market, in currency futures foreign currencies are quoted directly against the US dollar. As an example, the Japanese Yen is quoted against the US dollar, while the notation in the spot Forex market is USD/JPY.


Categories
Futures  
Tags
Here your chance to leave a comment!