Python Library for interacting with the CFTC Commitment of Traders reports.
Project description
pycot
pycot is a easy to use python library for interacting with the CFTC Commitment of Traders reports.
Installation
pip install pycot-reports
Requirements
- pandas
- requests
How to use
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("legacy_fut")
df = cot.report(("FED FUNDS - CHICAGO BOARD OF TRADE", "30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE"))
How do I get cached results?
If you want to retrieve data from the same report multiple times, you can use the report
function. This will cache the results of the previous function call.
Lets have a look at an example:
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("legacy_fut")
# will load the full report (~ 10-20 seconds)
fed_funds_df = cot.report(("FED FUNDS - CHICAGO BOARD OF TRADE", "30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE"))
# cached, will load instantly
bbg_df = cot.report(("BBG COMMODITY - CHICAGO BOARD OF TRADE", "BLOOMBERG COMMODITY INDEX - CHICAGO BOARD OF TRADE"))
Report Types
Legacy Report (All Contracts)
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("legacy_fut")
contract_names = ("FED FUNDS - CHICAGO BOARD OF TRADE", "30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE")
df = cot.report(contract_names)
Output Example:
Contract Name Open Interest ... Net Change, Large Spec Net % of OI, Large Spec
Date ...
2023-07-11 FED FUNDS - CHICAGO BOARD OF TRADE 1440370.0 ... -58101.0 -11.5
2023-07-03 FED FUNDS - CHICAGO BOARD OF TRADE 1414525.0 ... -17553.0 -7.5
2023-06-27 FED FUNDS - CHICAGO BOARD OF TRADE 1746984.0 ... 12437.0 -5.1
2023-06-20 FED FUNDS - CHICAGO BOARD OF TRADE 1693141.0 ... 84512.0 -6.0
2023-06-13 FED FUNDS - CHICAGO BOARD OF TRADE 1556681.0 ... 60704.0 -12.0
... ... ... ... ... ...
1993-03-23 30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE 11298.0 ... 106.0 9.1
1993-03-16 30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE 11015.0 ... -8.0 8.3
1993-03-09 30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE 10651.0 ... -51.0 8.8
1993-03-02 30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE 10902.0 ... -190.0 9.0
1993-02-23 30-DAY FEDERAL FUNDS - CHICAGO BOARD OF TRADE 12460.0 ... -83.0 9.4
...
Disaggregated Report (Commodities)
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("disaggregated_futopt")
contract_names = ("BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE", "BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE EXCHANGE")
df = cot.report(contract_names)
Output Example:
Contract Name Open Interest ... Net Change Managed Money Net % of OI Managed Money
Date ...
2023-07-11 BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE 138358.0 ... -2134.0 -2.9
2023-07-03 BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE 130715.0 ... 9436.0 -1.4
2023-06-27 BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE 153190.0 ... -6135.0 -7.4
2023-06-20 BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE 148800.0 ... 2367.0 -3.5
2023-06-13 BRENT LAST DAY - NEW YORK MERCANTILE EXCHANGE 147598.0 ... -3872.0 -5.1
... ... ... ... ...
2011-04-12 BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE... 20546.0 ... -484.0 17.1
2011-04-05 BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE... 19533.0 ... 655.0 20.4
2011-03-29 BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE... 18178.0 ... -276.0 18.4
2011-03-15 BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE... 20233.0 ... 231.0 17.9
2011-03-08 BRENT CRUDE OIL LAST DAY - NEW YORK MERCANTILE... 19639.0 ... NaN 17.3
...
Financial Report (Financial Instruments)
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("traders_in_financial_futures_fut")
contract_names = ("UST 10Y NOTE - CHICAGO BOARD OF TRADE", "10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF TRADE", "10 YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF TRADE")
df = cot.report(contract_names)
Output Example:
Contract Name Open Interest ... Net Change Lev Money Net % of OI Lev Money
Date ...
2023-07-11 UST 10Y NOTE - CHICAGO BOARD OF TRADE 4800091.0 ... 155532.0 -26.8
2023-07-03 UST 10Y NOTE - CHICAGO BOARD OF TRADE 4737762.0 ... 7710.0 -30.4
2023-06-27 UST 10Y NOTE - CHICAGO BOARD OF TRADE 4663919.0 ... -51457.0 -31.1
2023-06-20 UST 10Y NOTE - CHICAGO BOARD OF TRADE 4641767.0 ... -53136.0 -30.2
2023-06-13 UST 10Y NOTE - CHICAGO BOARD OF TRADE 4619668.0 ... 69602.0 -29.1
... ... ... ... ... ...
2006-07-11 10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF... 2112145.0 ... 28199.0 1.8
2006-07-03 10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF... 2136459.0 ... -18122.0 0.5
2006-06-27 10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF... 2194364.0 ... 13929.0 1.3
2006-06-20 10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF... 2097072.0 ... -27203.0 0.6
2006-06-13 10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF... 1912279.0 ... NaN 2.2
...
List Available Contracts
from pycot.reports import CommitmentOfTraders
cot = CommitmentOfTraders("legacy_fut")
contracts: np.ndarray = cot.list_available_contracts()
Output Example:
array(['1-MONTH SOFR - CHICAGO MERCANTILE EXCHANGE',
'10 YEAR DELIVERABLE IR - CHICAGO BOARD OF TRADE',
'10 YEAR DELIVERABLE IR SWAP - CHICAGO BOARD OF TRADE',
'10 YEAR ERIS SOFR SWAP - CHICAGO BOARD OF TRADE',
'10 YEAR ERIS SWAP - CHICAGO BOARD OF TRADE',
'10-YEAR U.S. TREASURY NOTES - CHICAGO BOARD OF TRADE',
...
'UST 10Y NOTE - CHICAGO BOARD OF TRADE',
'UST 2Y NOTE - CHICAGO BOARD OF TRADE',
'UST 5Y NOTE - CHICAGO BOARD OF TRADE',
'UST BOND - CHICAGO BOARD OF TRADE',
'VIX FUTURES - CBOE FUTURES EXCHANGE'], dtype=object)
Release Shedule
The CFTC releases the reports every Friday at 3:30pm Eastern Time.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pycot-reports-0.1.2.tar.gz
(10.7 kB
view details)
Built Distribution
File details
Details for the file pycot-reports-0.1.2.tar.gz
.
File metadata
- Download URL: pycot-reports-0.1.2.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78dca22b796fc6e301360fdf8456519a9e1e4df494b2666c5543b68778c0aad0 |
|
MD5 | 50abfa4d750e37555dd01095588d6b39 |
|
BLAKE2b-256 | 0be267570fcd09a0574e9b3397d1027e3d9b37abe507c7f26c95a7d1f2d588bb |
File details
Details for the file pycot_reports-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pycot_reports-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c1481aa78000f81a84dfa0b1e6ad5164f71cd7f60650c7e096ba500fb44f56f |
|
MD5 | 50c4b13af638a1c29710340c4efacf2a |
|
BLAKE2b-256 | 828625248240412875323e0782b153d985d0d0da66eb83a3bca9247a8bb84fda |