This Shiny application provides an interactive way to view the weekly Commitments of Traders (CoT) published by the Commodity Futures Trading Commission (CFTC). Users can select different markets, along with a date range, to explore historical and most recent CoT data. The application displays this information in an easy-to-read table, enhanced by color coding and detailed descriptions of each data column.
- Interactive Filters: Users can filter the CoT data by selecting the market and date range.
- Dynamic Table Display: The data is presented in a table format with options to interactively explore different time frames.
- Column Descriptions: Provides descriptions for each column to help users understand the metrics used in the CoT reports.
There are four main reports:
-
Legacy (THIS APP USES DATA FROM THIS REPORT) -- The Legacy reports are broken down by exchange. These reports have a futures only report and a combined futures and options report. Legacy reports break down the reportable open interest positions into two classifications: non-commercial and commercial traders.
-
Supplemental -- The Supplemental report includes 13 select agricultural commodity contracts for combined futures and options positions. Supplemental reports break down the reportable open interest positions into three trader classifications: non-commercial, commercial, and index traders.
-
Disaggregated -- The Disaggregated reports are broken down by agriculture, petroleum and products, natural gas and products, electricity and metals and other physical contracts. These reports have a futures only report and a combined futures and options report. The Disaggregated reports break down the reportable open interest positions into four classifications:
- Producer/Merchant/Processor/User
- Swap Dealers
- Managed Money
- Other Reportables
-
Traders in Financial Futures -- The Traders in Financial Futures (TFF) report includes financial contracts, such as currencies, US Treasury securities, Eurodollars, stocks, VIX and Bloomberg commodity index. These reports have a futures only report and a combined futures and options report. The TFF report breaks down the reportable open interest positions into four classifications:
- Dealer/Intermediary
- Asset Manager/Institutional
- Leveraged Funds
- Other Reportables
-
Date: Data at Tuesday market close, released Friday.
-
OI All: Total open interest for all trader categories.
-
Z: Z-score for each column relative to target dates selected by input
-
Δ Week: Change from prior week.
-
Net: The difference between the total long and short positions.
-
Long/Short: Number of long and short positions respectively.
-
% Long/Short: Percentage of total open interest that is long or short.
-
Flip: Difference between the % Long and % Short columns.
To run this application locally, follow these steps:
- Install R from the Comprehensive R Archive Network (CRAN).
- Install necessary R packages. Run the following commands in your R console:
R # this starts interactive R shell
required_packages <- c("tidyverse", "readxl", "data.table", "vroom", "gt", "shiny")
install.packages(required_packages)
q() # exits R shell
Currently supports R 4.3.3
Clone the repository and run the app through your terminal after installing above requirements.
git clone https://github.com/modest-melody/CoT-Report-Viewer.git
cd CoT-Report-Viewer/Legacy-NonCom
R -e "shiny::runApp('non_commercial_app.R')"
Bring the server and port # to your browser.
- Input Panel: Located at the top for easy access, allowing users to select the market and date range.
- Column Descriptions: Situated between the input panel and the table, this section explains the data points displayed in the table.
- Data Table: Displays the CoT data according to user-selected filters.
-
data/
- Leg_FAO_95_06.xls - Data from 1995 to 2006
- Leg_FAO_07_14.xls - Data from 2007 to 2014
- Leg_FAO_15_16.xls - Data from 2015 to 2016
- Leg_FAO_2017.xls - Data from 2017
- Leg_FAO_2018.xls - Data from 2018
- Leg_FAO_2019.xls - Data from 2019
- Leg_FAO_2020.xls - Data from 2020
- Leg_FAO_2021.xls - Data from 2021
- Leg_FAO_2022.xls - Data from 2022
- Leg_FAO_2023.xls - Data from 2023
- annualof.xls - 2024 Data populated after running script #1
-
scripts/
- 1_Leg_FAO_Import.R - Imports data from 1995 to 2023 and downloads most recent 2024 data.
- 2_change_cftc_names.R - Data Cleaning: Renaming
- 3_filter_leg_fao.R - Data Cleaning: Filtering
- 4_functions.R - gt table functions
Running the non_commercial_app.R
file will source all 4 script files which creates the data and functions for the app. The shiny UI, Server, and App call are all in the same non_commercial_app.R
file.
Contributions to improve the app are welcome. If enough interest is apparent, this app can be extended to include more/all of the CoT reports.