Commitment Of Traders Report

The Commitments of Traders (COT) is a market report by the Commodity Futures Trading Commission (CFTC), listing the holdings of participants in futures of financial instruments, metals, and other commodities. It is believed by some traders to give insight into the upcoming development of those markets. The CFTC releases a new report every Friday at 3:30 p.m. Eastern Time, and the report reflects the commitments of traders on the prior Tuesday.

The following functions return selected parts of the COT report, and work likewise in backtest and live trading:

COT (int Handle, string Code, int Field): var

Downloads the COT report with the given Quandl Code and stores it in the dataset with the given Handle. Returns the positions determined by Field for the time of the current bar: 1 = open interest, 2 = commercial long positions, 3 = commercial short positions, 4 = noncommercial long positions, 5 = noncommercial short positions.

COT_CommercialPos (int Handle, string Code): int

As before, but returns the net commercials position, i.e. the difference Commercial Longs - Commercial Shorts.

COT_CommercialIndex (int Handle, string Code, int TimePeriod): var

As before, but returns the net position normalized over the given TimePeriod and scaled to 0..100.

COT_OpenInterest (int Handle, string Code): var

As before, but returns the open interest.

Remarks:

Example:

#include <contract.c>

function run()
{
  StartDate = 2015;
  EndDate = 2018;
  BarPeriod = 1440;
  LookBack = 12*20;
  set(PLOTNOW);
  
  if(is(INITRUN)) {
    assetAdd("GOLD");
    int Handle = assetHistory("CHRIS/CME_GC1",FROM_QUANDL|VOLATILE); // load gold futures history
    if(Handle) dataSave(Handle,"GOLD.t6");
  }
  asset("GOLD");
  string COT_Code = "CFTC/088691_F_ALL";
  var Ind = COT_CommercialIndex(1,COT_Code,6*20); // gold COT report
  plot("Fast Index",Ind,NEW,RED);
  var Ind2 = COT_CommercialIndex(1,COT_Code,12*20);
  plot("Slow Index",Ind2,0,BLUE);
}

See also:

asset, season, dataFromQuandl

► latest version online