{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cs224 \n", "last updated: 2020-12-29 \n", "\n", "CPython 3.6.12\n", "IPython 7.16.1\n", "\n", "numpy 1.19.1\n", "pandas 0.22.0\n", "matplotlib 3.3.1\n", "sklearn 0.23.2\n", "h5py 2.10.0\n", "zipline 1.4.1\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -a 'cs224' -u -d -v -p numpy,pandas,matplotlib,sklearn,h5py,zipline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np, scipy, scipy.stats as stats, pandas as pd, matplotlib.pyplot as plt, seaborn as sns\n", "import sklearn, sklearn.pipeline, sklearn.model_selection, sklearn.preprocessing, sklearn.linear_model\n", "import re, fnmatch\n", "\n", "pd.set_option('display.max_columns', 500)\n", "pd.set_option('display.width', 1000)\n", "# pd.set_option('display.float_format', lambda x: '%.2f' % x)\n", "np.set_printoptions(edgeitems=10)\n", "np.set_printoptions(linewidth=1000)\n", "np.set_printoptions(suppress=True)\n", "np.core.arrayprint._line_width = 180\n", "\n", "SEED = 42\n", "np.random.seed(SEED)\n", "\n", "sns.set()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.core.display import display, HTML\n", "display(HTML(\"\"))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import os,sys\n", "path = os.path.realpath(os.path.abspath('') + '/csi_futures_data')\n", "sys.path.append(path)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 1\n", "%aimport csi_futures_data" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import display, HTML\n", "\n", "from IPython.display import display_html\n", "def display_side_by_side(*args):\n", " html_str=''\n", " for df in args:\n", " if type(df) == np.ndarray:\n", " df = pd.DataFrame(df)\n", " html_str+=df.to_html()\n", " html_str = html_str.replace('table','table style=\"display:inline\"')\n", " # print(html_str)\n", " display_html(html_str,raw=True)\n", "\n", "CSS = \"\"\"\n", ".output {\n", " flex-direction: row;\n", "}\n", "\"\"\"\n", "\n", "def display_graphs_side_by_side(*args):\n", " html_str=''\n", " for g in args:\n", " html_str += ''\n", " html_str += '
'\n", " html_str += g._repr_svg_()\n", " html_str += '
'\n", " display_html(html_str,raw=True)\n", " \n", "\n", "display(HTML(\"\"))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesector
0KC2KC37500.00.01CoffeeCSCEAgricultural
1C2_C5000.00.01CornCBTAgricultural
2C2CN5000.00.01CornCBTAgricultural
3CT2CT50000.00.01Cotton #2NYCEAgricultural
4LHLH40000.00.01Lean HogsCMEAgricultural
5LCLC40000.00.01Live CattleCMEAgricultural
6LBLB110.01.00LumberCMEAgricultural
7O2_O5000.00.01Oats-CBTCBTAgricultural
8O2OA5000.00.01Oats-CBTCBTAgricultural
9OJ2OJ15000.00.01Orange JuiceNYCEAgricultural
10RR2RR2000.01.00Rice(Rough)CBTAgricultural
11S2_S5000.00.01SoybeanCBTAgricultural
12S2SY5000.00.01SoybeanCBTAgricultural
13LSULS50.01.00Sugar #5(White)EURONEXTAgricultural
14W2_W5000.00.01WheatCBTAgricultural
15W2WC5000.00.01WheatCBTAgricultural
16KW2KW5000.00.01Wheat-Kansas CityKCBTAgricultural
17MW2MW5000.00.01Wheat-SpringMGEAgricultural
18DADA200000.00.01Class III MilkCMEAgricultural
19FCFC50000.00.01Cattle-FeederCMEAgricultural
20LRCLR10.01.00Robusta Coffee New (LCE)EURONEXTAgricultural
21BO2BO60000.00.01Soybean OilCBTAgricultural
22SM2SM100.01.00Soybean MealCBTAgricultural
23CC2CC10.01.00CocoaNYCEAgricultural
24SB2SB112000.00.01Sugar #11NYCEAgricultural
25XC2CM1000.00.01Corn E-MiniCBOTAgricultural
26XS2MS1000.00.01Soybeans E-MiniCBOTAgricultural
27CL2CL1000.01.00Crude Oil-LightNYMEXNon-Agricultural
28LCOLO1000.01.00Brent CrudeICENon-Agricultural
29HO2HO42000.01.00Heating OilNYMEXNon-Agricultural
........................
53NENZ100000.01.00NZD/USDCMECurrency
54SFSF125000.01.00CHF/USDCMECurrency
55DX2DX1000.01.00USD IndexFINEXCurrency
56MPMP500000.01.00MEP/USDCMECurrency
57MPME500000.01.00MEP/USDCMECurrency
58EXEE62500.01.00Euro FX E-miniCMECurrency
59M6EEU12500.01.00E-micro EUR/USD FuturesCMECurrency
60JTJE62500.01.00Japanese Yen E-miniCMECurrency
61ESES50.01.00S&P 500 (E-mini)CMEEquities
62NQNQ20.01.00Nasdaq (E-mini)CMEEquities
63ER2TF50.01.00Russel 2000 (E-mini)CMEEquities
64ER2ER50.01.00Russel 2000 (E-mini)CMEEquities
65VXVX1000.01.00Volatility IndexCFEEquities
66YMYM5.01.00Dow e miniCBTEquities
67NKNK5.01.00Nikkei 225CMEEquities
68STWTW100.01.00MSCI TaiwanSGXEquities
69MEMEI50.01.00MSCI Emerging Markets MiniICEEquities
70MFSMG50.01.00MSCI EAFE Mini (Europe, Australasia and Far East)ICEEquities
71EMDMI100.01.00S&P 400 MidCap E-MiniCMEEquities
72RS1RM50.01.00Russell 1000 MiniCMEEquities
73SP2SP250.01.00S&P 500 FuturesCMEEquities
74FVFV1000.01.00US Treasury Note 5yrCBTRates
75EDED2500.01.00Eurodollar 3mCMERates
76USUS1000.01.00US Treasury Long Bond 30yrCBTRates
77TUTU2000.01.00US Treasury Note 2yrCBTRates
78TYTY1000.01.00US Treasury Note 10yCBTRates
79FFFF4167.01.0030-Day Federal FundsCBOTRates
80F1UFI1000.01.005-Year Deliverable Interest Rate Swap FuturesCBOTRates
81N1UTN1000.01.0010-Year Deliverable Interest Rate Swap FuturesCBOTRates
82UL2UB1000.01.00Ultra TbondCBOTRates
\n", "

83 rows × 7 columns

\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description exchange sector\n", "0 KC2 KC 37500.0 0.01 Coffee CSCE Agricultural\n", "1 C2 _C 5000.0 0.01 Corn CBT Agricultural\n", "2 C2 CN 5000.0 0.01 Corn CBT Agricultural\n", "3 CT2 CT 50000.0 0.01 Cotton #2 NYCE Agricultural\n", "4 LH LH 40000.0 0.01 Lean Hogs CME Agricultural\n", "5 LC LC 40000.0 0.01 Live Cattle CME Agricultural\n", "6 LB LB 110.0 1.00 Lumber CME Agricultural\n", "7 O2 _O 5000.0 0.01 Oats-CBT CBT Agricultural\n", "8 O2 OA 5000.0 0.01 Oats-CBT CBT Agricultural\n", "9 OJ2 OJ 15000.0 0.01 Orange Juice NYCE Agricultural\n", "10 RR2 RR 2000.0 1.00 Rice(Rough) CBT Agricultural\n", "11 S2 _S 5000.0 0.01 Soybean CBT Agricultural\n", "12 S2 SY 5000.0 0.01 Soybean CBT Agricultural\n", "13 LSU LS 50.0 1.00 Sugar #5(White) EURONEXT Agricultural\n", "14 W2 _W 5000.0 0.01 Wheat CBT Agricultural\n", "15 W2 WC 5000.0 0.01 Wheat CBT Agricultural\n", "16 KW2 KW 5000.0 0.01 Wheat-Kansas City KCBT Agricultural\n", "17 MW2 MW 5000.0 0.01 Wheat-Spring MGE Agricultural\n", "18 DA DA 200000.0 0.01 Class III Milk CME Agricultural\n", "19 FC FC 50000.0 0.01 Cattle-Feeder CME Agricultural\n", "20 LRC LR 10.0 1.00 Robusta Coffee New (LCE) EURONEXT Agricultural\n", "21 BO2 BO 60000.0 0.01 Soybean Oil CBT Agricultural\n", "22 SM2 SM 100.0 1.00 Soybean Meal CBT Agricultural\n", "23 CC2 CC 10.0 1.00 Cocoa NYCE Agricultural\n", "24 SB2 SB 112000.0 0.01 Sugar #11 NYCE Agricultural\n", "25 XC2 CM 1000.0 0.01 Corn E-Mini CBOT Agricultural\n", "26 XS2 MS 1000.0 0.01 Soybeans E-Mini CBOT Agricultural\n", "27 CL2 CL 1000.0 1.00 Crude Oil-Light NYMEX Non-Agricultural\n", "28 LCO LO 1000.0 1.00 Brent Crude ICE Non-Agricultural\n", "29 HO2 HO 42000.0 1.00 Heating Oil NYMEX Non-Agricultural\n", ".. ... ... ... ... ... ... ...\n", "53 NE NZ 100000.0 1.00 NZD/USD CME Currency\n", "54 SF SF 125000.0 1.00 CHF/USD CME Currency\n", "55 DX2 DX 1000.0 1.00 USD Index FINEX Currency\n", "56 MP MP 500000.0 1.00 MEP/USD CME Currency\n", "57 MP ME 500000.0 1.00 MEP/USD CME Currency\n", "58 EX EE 62500.0 1.00 Euro FX E-mini CME Currency\n", "59 M6E EU 12500.0 1.00 E-micro EUR/USD Futures CME Currency\n", "60 JT JE 62500.0 1.00 Japanese Yen E-mini CME Currency\n", "61 ES ES 50.0 1.00 S&P 500 (E-mini) CME Equities\n", "62 NQ NQ 20.0 1.00 Nasdaq (E-mini) CME Equities\n", "63 ER2 TF 50.0 1.00 Russel 2000 (E-mini) CME Equities\n", "64 ER2 ER 50.0 1.00 Russel 2000 (E-mini) CME Equities\n", "65 VX VX 1000.0 1.00 Volatility Index CFE Equities\n", "66 YM YM 5.0 1.00 Dow e mini CBT Equities\n", "67 NK NK 5.0 1.00 Nikkei 225 CME Equities\n", "68 STW TW 100.0 1.00 MSCI Taiwan SGX Equities\n", "69 MEM EI 50.0 1.00 MSCI Emerging Markets Mini ICE Equities\n", "70 MFS MG 50.0 1.00 MSCI EAFE Mini (Europe, Australasia and Far East) ICE Equities\n", "71 EMD MI 100.0 1.00 S&P 400 MidCap E-Mini CME Equities\n", "72 RS1 RM 50.0 1.00 Russell 1000 Mini CME Equities\n", "73 SP2 SP 250.0 1.00 S&P 500 Futures CME Equities\n", "74 FV FV 1000.0 1.00 US Treasury Note 5yr CBT Rates\n", "75 ED ED 2500.0 1.00 Eurodollar 3m CME Rates\n", "76 US US 1000.0 1.00 US Treasury Long Bond 30yr CBT Rates\n", "77 TU TU 2000.0 1.00 US Treasury Note 2yr CBT Rates\n", "78 TY TY 1000.0 1.00 US Treasury Note 10y CBT Rates\n", "79 FF FF 4167.0 1.00 30-Day Federal Funds CBOT Rates\n", "80 F1U FI 1000.0 1.00 5-Year Deliverable Interest Rate Swap Futures CBOT Rates\n", "81 N1U TN 1000.0 1.00 10-Year Deliverable Interest Rate Swap Futures CBOT Rates\n", "82 UL2 UB 1000.0 1.00 Ultra Tbond CBOT Rates\n", "\n", "[83 rows x 7 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the following list is a hand curated list of futures as a combination of data from:\n", "# - Following the Trend\n", "# - Trading Evolved\n", "# - zipline.finance.constants.ROOT_SYMBOL_TO_ETA\n", "# - zipline.finance.constants.FUTURE_EXCHANGE_FEES_BY_SYMBOL\n", "csi_futures_data_df = csi_futures_data.futures_lookup_.copy()\n", "csi_futures_data_df" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
root_symbolmultiplierminor_fx_adjdescriptionexchangesector
0AD1000001.00AUD/USDCMECurrency
1BO6000.01Soybean OilCBTAgricultural
2BP625001.00GBP/USDCMECurrency
3_C50000.01CornCBTAgricultural
4CC101.00CocoaNYCEAgricultural
5CD1000001.00CAD/USDCMECurrency
6CL10001.00Crude OilNYMEXNon-Agricultural
7CT500000.01Cotton #2NYCEAgricultural
8CU1250001.00EUR/USDCMECurrency
9DA2000001.00Class III MilkCMEAgricultural
10DX10001.00USD IndexFINEXCurrency
11ED25001.00Eurodollar 3mCMERates
13ES501.00S&P 500 (E-mini)CMEEquities
14FC500000.01Cattle-FeederCMEAgricultural
15FV10001.00US Treasury Note 5yrCBTRates
16GC1001.00GoldCOMEXNon-Agricultural
17HG250000.01CopperCOMEXNon-Agricultural
18HO420001.00Heating OilNYMEXNon-Agricultural
20JY1250001.00JPY/USDCMECurrency
21KC375000.01Coffee ArabicaNYCEAgricultural
22KW50000.01Wheat-Kansas CityKCBTAgricultural
23LB1101.00LumberCMEAgricultural
24LC400000.01Live CattleCMEAgricultural
25LO10001.00Brent CrudeICENon-Agricultural
26LG1001.00Petroleum Gas OilICENon-Agricultural
27LH400000.01Lean HogsCMEAgricultural
29LR101.00Coffee RobustaEURONEXTAgricultural
30LS501.00Sugar #5(White)EURONEXTAgricultural
31MP5000000.01MEP/USDCMECurrency
32MW50000.01Wheat-SpringMGEAgricultural
33NE1000001.00NZD/USDCMECurrency
34NG100001.00Natural GasNYMEXNon-Agricultural
35NK51.00Nikkei 225CMEEquities
36NQ201.00Nasdaq (E-mini)CMEEquities
37_O50000.01Oats-CBTCBTAgricultural
38OJ150000.01Orange JuiceNYCEAgricultural
39PA1001.00PalladiumNYMEXNon-Agricultural
40PL501.00PlatinumNYMEXNon-Agricultural
41RB420001.00Petroleum GasolineNYMEXNon-Agricultural
42RR20001.00Rice(Rough)CBTAgricultural
43_S50000.01SoybeanCBTAgricultural
44SB1200000.01Sugar #11NYCEAgricultural
45SF1250001.00CHF/USDCMECurrency
46SI50000.01SilverCOMEXNon-Agricultural
48SM1001.00Soybean MealCBTAgricultural
50TW1001.00MSCI TaiwanSGXEquities
51TF1001.00Russel 2000 (E-mini)NYFEEquities
53TU20001.00US Treasury Note 2yrCBTRates
54TY10001.00US Treasury Note 10yCBTRates
55US10001.00US Treasury Long Bond 30yrCBTRates
56VX10001.00Volatility IndexCFEEquities
57_W50000.01WheatCBTAgricultural
59YM51.00Dow e miniCBTEquities
\n", "
" ], "text/plain": [ " root_symbol multiplier minor_fx_adj description exchange sector\n", "0 AD 100000 1.00 AUD/USD CME Currency\n", "1 BO 600 0.01 Soybean Oil CBT Agricultural\n", "2 BP 62500 1.00 GBP/USD CME Currency\n", "3 _C 5000 0.01 Corn CBT Agricultural\n", "4 CC 10 1.00 Cocoa NYCE Agricultural\n", "5 CD 100000 1.00 CAD/USD CME Currency\n", "6 CL 1000 1.00 Crude Oil NYMEX Non-Agricultural\n", "7 CT 50000 0.01 Cotton #2 NYCE Agricultural\n", "8 CU 125000 1.00 EUR/USD CME Currency\n", "9 DA 200000 1.00 Class III Milk CME Agricultural\n", "10 DX 1000 1.00 USD Index FINEX Currency\n", "11 ED 2500 1.00 Eurodollar 3m CME Rates\n", "13 ES 50 1.00 S&P 500 (E-mini) CME Equities\n", "14 FC 50000 0.01 Cattle-Feeder CME Agricultural\n", "15 FV 1000 1.00 US Treasury Note 5yr CBT Rates\n", "16 GC 100 1.00 Gold COMEX Non-Agricultural\n", "17 HG 25000 0.01 Copper COMEX Non-Agricultural\n", "18 HO 42000 1.00 Heating Oil NYMEX Non-Agricultural\n", "20 JY 125000 1.00 JPY/USD CME Currency\n", "21 KC 37500 0.01 Coffee Arabica NYCE Agricultural\n", "22 KW 5000 0.01 Wheat-Kansas City KCBT Agricultural\n", "23 LB 110 1.00 Lumber CME Agricultural\n", "24 LC 40000 0.01 Live Cattle CME Agricultural\n", "25 LO 1000 1.00 Brent Crude ICE Non-Agricultural\n", "26 LG 100 1.00 Petroleum Gas Oil ICE Non-Agricultural\n", "27 LH 40000 0.01 Lean Hogs CME Agricultural\n", "29 LR 10 1.00 Coffee Robusta EURONEXT Agricultural\n", "30 LS 50 1.00 Sugar #5(White) EURONEXT Agricultural\n", "31 MP 500000 0.01 MEP/USD CME Currency\n", "32 MW 5000 0.01 Wheat-Spring MGE Agricultural\n", "33 NE 100000 1.00 NZD/USD CME Currency\n", "34 NG 10000 1.00 Natural Gas NYMEX Non-Agricultural\n", "35 NK 5 1.00 Nikkei 225 CME Equities\n", "36 NQ 20 1.00 Nasdaq (E-mini) CME Equities\n", "37 _O 5000 0.01 Oats-CBT CBT Agricultural\n", "38 OJ 15000 0.01 Orange Juice NYCE Agricultural\n", "39 PA 100 1.00 Palladium NYMEX Non-Agricultural\n", "40 PL 50 1.00 Platinum NYMEX Non-Agricultural\n", "41 RB 42000 1.00 Petroleum Gasoline NYMEX Non-Agricultural\n", "42 RR 2000 1.00 Rice(Rough) CBT Agricultural\n", "43 _S 5000 0.01 Soybean CBT Agricultural\n", "44 SB 120000 0.01 Sugar #11 NYCE Agricultural\n", "45 SF 125000 1.00 CHF/USD CME Currency\n", "46 SI 5000 0.01 Silver COMEX Non-Agricultural\n", "48 SM 100 1.00 Soybean Meal CBT Agricultural\n", "50 TW 100 1.00 MSCI Taiwan SGX Equities\n", "51 TF 100 1.00 Russel 2000 (E-mini) NYFE Equities\n", "53 TU 2000 1.00 US Treasury Note 2yr CBT Rates\n", "54 TY 1000 1.00 US Treasury Note 10y CBT Rates\n", "55 US 1000 1.00 US Treasury Long Bond 30yr CBT Rates\n", "56 VX 1000 1.00 Volatility Index CFE Equities\n", "57 _W 5000 0.01 Wheat CBT Agricultural\n", "59 YM 5 1.00 Dow e mini CBT Equities" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the meta.csv is from the package that Andreas Clenow provides for his random_futures_data: https://www.dropbox.com/s/etocgt9zgeedo22/data.zip?dl=0\n", "futures_meta_df = pd.read_csv('meta.csv', index_col=0)\n", "futures_meta_df" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# outdated: http://www.csidata.com/factsheets/factsheet-futures.html\n", "# csidata_futures_fact_sheet_df = pd.read_excel('~/2020-10-13-csidata-futures-fact-sheet.xlsx')\n", "# csidata_futures_fact_sheet_df.drop(csidata_futures_fact_sheet_df.columns[1], axis=1, inplace=True)\n", "# csidata_futures_fact_sheet_df.head()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolume
01IBNaNCBTBroilers-IcedNaN03.0300.0USD30000 lbscents/lb1.03.01969-08-191981-01-22NaN2000NaN
12LCLCCMELive CattleCombined14.0400.0USD40000 lbscents/lb2.510.01964-11-302020-10-28NaN200157781.0
23CCCCICEUSCocoaRTH110.010.0USD10 tonnesUSD/tonne1.010.01965-12-302020-10-28CC2 starts at 1965-12-30000131624.0
34LHLHCMELean HogsCombined14.0400.0USD40000 lbscents/lb2.510.01966-02-282020-10-28NaN200130958.0
45PBPBCMEPork BelliesRTH04.0400.0USD40000 lbscents/lb2.510.01961-09-182011-07-15NaN2000NaN
\n", "
" ], "text/plain": [ " UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume\n", "0 1 IB NaN CBT Broilers-Iced NaN 0 3.0 300.0 USD 30000 lbs cents/lb 1.0 3.0 1969-08-19 1981-01-22 NaN 2 0 0 0 NaN\n", "1 2 LC LC CME Live Cattle Combined 1 4.0 400.0 USD 40000 lbs cents/lb 2.5 10.0 1964-11-30 2020-10-28 NaN 2 0 0 1 57781.0\n", "2 3 CC CC ICEUS Cocoa RTH 1 10.0 10.0 USD 10 tonnes USD/tonne 1.0 10.0 1965-12-30 2020-10-28 CC2 starts at 1965-12-30 0 0 0 1 31624.0\n", "3 4 LH LH CME Lean Hogs Combined 1 4.0 400.0 USD 40000 lbs cents/lb 2.5 10.0 1966-02-28 2020-10-28 NaN 2 0 0 1 30958.0\n", "4 5 PB PB CME Pork Bellies RTH 0 4.0 400.0 USD 40000 lbs cents/lb 2.5 10.0 1961-09-18 2011-07-15 NaN 2 0 0 0 NaN" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# New, up to date: http://www.csidata.com/factsheets.php?type=commodity&format=htmltable&exchangeid=\n", "csidata_futures_fact_sheet_df = pd.read_csv('./2020-10-29-commodityfactsheet.csv', parse_dates=['StartDate', 'EndDate'])\n", "csidata_futures_fact_sheet_df = csidata_futures_fact_sheet_df[['UACsiNumber', 'SymbolUA', 'ExchangeSymbol', 'Exchange', 'Name', 'SessionType', 'IsActive', 'TerminalPointValue', 'FullPointValue', 'Currency', 'ContractSize', 'Units', 'MinimumTick', 'TickValue', 'StartDate', 'EndDate',\\\n", " 'LinkSymbol', 'ConversionFactorCode', 'HasCurrentDayVolume', 'HasCurrentDayOpenInterest', 'HasKnownExpirationDates', 'LastTotalVolume']]\n", "csidata_futures_fact_sheet_df.head()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "s1 = set(csi_futures_data_df.root_symbol)\n", "s2 = set(futures_meta_df.root_symbol)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "set()" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# verify that all symbols that are present in the meta.csv are present in csi_futures_data_df\n", "s2 - s1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verify the multipliers and minor_fx_adj between meta.csv and what the CSI data factsheet says\n", "\n", "My understanding is that the values in `csi_futures_data_df` are correct and the values in `meta.csv` are incorrect." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplier_xminor_fx_adj_xdescription_xexchange_xsector_xmultiplier_yminor_fx_adj_ydescription_yexchange_ysector_y
0KC2KC37500.00.01CoffeeCSCEAgricultural37500.00.01Coffee ArabicaNYCEAgricultural
1C2_C5000.00.01CornCBTAgricultural5000.00.01CornCBTAgricultural
2C2CN5000.00.01CornCBTAgriculturalNaNNaNNaNNaNNaN
3CT2CT50000.00.01Cotton #2NYCEAgricultural50000.00.01Cotton #2NYCEAgricultural
4LHLH40000.00.01Lean HogsCMEAgricultural40000.00.01Lean HogsCMEAgricultural
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier_x minor_fx_adj_x description_x exchange_x sector_x multiplier_y minor_fx_adj_y description_y exchange_y sector_y\n", "0 KC2 KC 37500.0 0.01 Coffee CSCE Agricultural 37500.0 0.01 Coffee Arabica NYCE Agricultural\n", "1 C2 _C 5000.0 0.01 Corn CBT Agricultural 5000.0 0.01 Corn CBT Agricultural\n", "2 C2 CN 5000.0 0.01 Corn CBT Agricultural NaN NaN NaN NaN NaN\n", "3 CT2 CT 50000.0 0.01 Cotton #2 NYCE Agricultural 50000.0 0.01 Cotton #2 NYCE Agricultural\n", "4 LH LH 40000.0 0.01 Lean Hogs CME Agricultural 40000.0 0.01 Lean Hogs CME Agricultural" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf = pd.merge(csi_futures_data_df, futures_meta_df, how='left', on=['root_symbol'])\n", "ldf.head()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplier_xminor_fx_adj_xdescription_xexchange_xsector_xmultiplier_yminor_fx_adj_ydescription_yexchange_ysector_y
21BO2BO60000.00.01Soybean OilCBTAgricultural600.00.01Soybean OilCBTAgricultural
24SB2SB112000.00.01Sugar #11NYCEAgricultural120000.00.01Sugar #11NYCEAgricultural
63ER2TF50.01.00Russel 2000 (E-mini)CMEEquities100.01.00Russel 2000 (E-mini)NYFEEquities
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier_x minor_fx_adj_x description_x exchange_x sector_x multiplier_y minor_fx_adj_y description_y exchange_y sector_y\n", "21 BO2 BO 60000.0 0.01 Soybean Oil CBT Agricultural 600.0 0.01 Soybean Oil CBT Agricultural\n", "24 SB2 SB 112000.0 0.01 Sugar #11 NYCE Agricultural 120000.0 0.01 Sugar #11 NYCE Agricultural\n", "63 ER2 TF 50.0 1.00 Russel 2000 (E-mini) CME Equities 100.0 1.00 Russel 2000 (E-mini) NYFE Equities" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf[(ldf['multiplier_x'] != ldf['multiplier_y']) & ldf['root_symbol'].isin(futures_meta_df['root_symbol'])]" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplier_xminor_fx_adj_xdescription_xexchange_xsector_xmultiplier_yminor_fx_adj_ydescription_yexchange_ysector_y
18DADA200000.00.01Class III MilkCMEAgricultural200000.01.00Class III MilkCMEAgricultural
56MPMP500000.01.00MEP/USDCMECurrency500000.00.01MEP/USDCMECurrency
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier_x minor_fx_adj_x description_x exchange_x sector_x multiplier_y minor_fx_adj_y description_y exchange_y sector_y\n", "18 DA DA 200000.0 0.01 Class III Milk CME Agricultural 200000.0 1.00 Class III Milk CME Agricultural\n", "56 MP MP 500000.0 1.00 MEP/USD CME Currency 500000.0 0.01 MEP/USD CME Currency" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf[(ldf['minor_fx_adj_x'] != ldf['minor_fx_adj_y']) & ldf['root_symbol'].isin(futures_meta_df['root_symbol'])]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplier_xminor_fx_adj_xdescription_xexchange_xsector_xmultiplier_yminor_fx_adj_ydescription_yexchange_ysector_y
0KC2KC37500.00.01CoffeeCSCEAgricultural37500.00.01Coffee ArabicaNYCEAgricultural
63ER2TF50.01.00Russel 2000 (E-mini)CMEEquities100.01.00Russel 2000 (E-mini)NYFEEquities
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier_x minor_fx_adj_x description_x exchange_x sector_x multiplier_y minor_fx_adj_y description_y exchange_y sector_y\n", "0 KC2 KC 37500.0 0.01 Coffee CSCE Agricultural 37500.0 0.01 Coffee Arabica NYCE Agricultural\n", "63 ER2 TF 50.0 1.00 Russel 2000 (E-mini) CME Equities 100.0 1.00 Russel 2000 (E-mini) NYFE Equities" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf[(ldf['exchange_x'] != ldf['exchange_y']) & ldf['root_symbol'].isin(futures_meta_df['root_symbol'])]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verify the FullPointValue as given by CSI data's factsheet with the value in csi_futures_data_df" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_value
0KC2KC37500.00.01CoffeeCSCEAgricultural1146KC2KCICEUSCoffeeCombined13.75375.0USD37500 lbscents/pound5.018.751972-08-162020-10-28KC starts at 1972-08-16200131867.0375.0
1C2_C5000.00.01CornCBTAgricultural412C2CCBTCornCombined16.2550.0USD5000 bucents/bu2.012.501949-01-032020-10-28C starts at 1946-01-02-1001426691.050.0
2C2CN5000.00.01CornCBTAgricultural412C2CCBTCornCombined16.2550.0USD5000 bucents/bu2.012.501949-01-032020-10-28C starts at 1946-01-02-1001426691.050.0
3CT2CT50000.00.01Cotton #2NYCEAgricultural1144CT2CTICEUSCotton #2Combined15.00500.0USD50000 lbscents/pound1.05.001967-03-222020-10-28CT starts at 1967-03-22200135749.0500.0
4LHLH40000.00.01Lean HogsCMEAgricultural4LHLHCMELean HogsCombined14.00400.0USD40000 lbscents/lb2.510.001966-02-282020-10-28NaN200130958.0400.0
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description exchange sector UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume calc_poin_value\n", "0 KC2 KC 37500.0 0.01 Coffee CSCE Agricultural 1146 KC2 KC ICEUS Coffee Combined 1 3.75 375.0 USD 37500 lbs cents/pound 5.0 18.75 1972-08-16 2020-10-28 KC starts at 1972-08-16 2 0 0 1 31867.0 375.0\n", "1 C2 _C 5000.0 0.01 Corn CBT Agricultural 412 C2 C CBT Corn Combined 1 6.25 50.0 USD 5000 bu cents/bu 2.0 12.50 1949-01-03 2020-10-28 C starts at 1946-01-02 -1 0 0 1 426691.0 50.0\n", "2 C2 CN 5000.0 0.01 Corn CBT Agricultural 412 C2 C CBT Corn Combined 1 6.25 50.0 USD 5000 bu cents/bu 2.0 12.50 1949-01-03 2020-10-28 C starts at 1946-01-02 -1 0 0 1 426691.0 50.0\n", "3 CT2 CT 50000.0 0.01 Cotton #2 NYCE Agricultural 1144 CT2 CT ICEUS Cotton #2 Combined 1 5.00 500.0 USD 50000 lbs cents/pound 1.0 5.00 1967-03-22 2020-10-28 CT starts at 1967-03-22 2 0 0 1 35749.0 500.0\n", "4 LH LH 40000.0 0.01 Lean Hogs CME Agricultural 4 LH LH CME Lean Hogs Combined 1 4.00 400.0 USD 40000 lbs cents/lb 2.5 10.00 1966-02-28 2020-10-28 NaN 2 0 0 1 30958.0 400.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf_ = pd.merge(csi_futures_data_df, csidata_futures_fact_sheet_df, how='left', left_on=['csi_symbol'], right_on=['SymbolUA'])\n", "#ldf_ = ldf_[['csi_symbol', 'root_symbol', 'multiplier', 'minor_fx_adj', 'description', 'exchange', 'sector', 'EXCHANGE', 'EXCHANGE SYMBOL', 'NAME', 'ACTIVE', 'CONTRACT SIZE', 'UNIT OF MEASURE', 'CURRENCY', 'FULL POINT VALUE']]\n", "#ldf_['numeric_full_point_value'] = ldf_['FULL POINT VALUE'].str.extract(r'^(\\d+).*$').astype(np.int)\n", "ldf_['calc_poin_value'] = (ldf_['multiplier'] * ldf_['minor_fx_adj'])#.astype(np.int)\n", "ldf_.head()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_value
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, UACsiNumber, SymbolUA, ExchangeSymbol, Exchange, Name, SessionType, IsActive, TerminalPointValue, FullPointValue, Currency, ContractSize, Units, MinimumTick, TickValue, StartDate, EndDate, LinkSymbol, ConversionFactorCode, HasCurrentDayVolume, HasCurrentDayOpenInterest, HasKnownExpirationDates, LastTotalVolume, calc_poin_value]\n", "Index: []" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This here is the most important as this makes sure that we agree on the point value\n", "# The expected result is that the dataframe has 0 entries\n", "ldf_[ldf_['FullPointValue'] != ldf_['calc_poin_value']]" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_value
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, UACsiNumber, SymbolUA, ExchangeSymbol, Exchange, Name, SessionType, IsActive, TerminalPointValue, FullPointValue, Currency, ContractSize, Units, MinimumTick, TickValue, StartDate, EndDate, LinkSymbol, ConversionFactorCode, HasCurrentDayVolume, HasCurrentDayOpenInterest, HasKnownExpirationDates, LastTotalVolume, calc_poin_value]\n", "Index: []" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# In general I tried to use the symbols that represent the combined floor and electronic session\n", "ldf_[~ldf_['SessionType'].str.contains(r'Combined').astype(np.bool)]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(ldf_[~ldf_['SessionType'].str.contains(r'Combined').astype(np.bool)].loc[:,'csi_symbol'].values)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionsectorexchangeExchange
0KC2KC37500.000.01CoffeeAgriculturalCSCEICEUS
3CT2CT50000.000.01Cotton #2AgriculturalNYCEICEUS
9OJ2OJ15000.000.01Orange JuiceAgriculturalNYCEICEUS
13LSULS50.001.00Sugar #5(White)AgriculturalEURONEXTLCE
20LRCLR10.001.00Robusta Coffee New (LCE)AgriculturalEURONEXTLCE
23CC2CC10.001.00CocoaAgriculturalNYCEICEUS
24SB2SB112000.000.01Sugar #11AgriculturalNYCEICEUS
25XC2CM1000.000.01Corn E-MiniAgriculturalCBOTCBT
26XS2MS1000.000.01Soybeans E-MiniAgriculturalCBOTCBT
28LCOLO1000.001.00Brent CrudeNon-AgriculturalICEICEEUROPE
38LGOLG100.001.00Petroleum Gas OilNon-AgriculturalICEICEEUROPE
39ERAI100.001.00Bloomberg Commodity Index FuturesNon-AgriculturalCMECBT
43IRBXB42000.001.00RBOB Gasoline FuturesNon-AgriculturalNYMEXICEEUROPE
44YGXG32.151.00Gold mini-sizedNon-AgriculturalICEICEUS
45YIYS1000.000.01Silver mini-sizedNon-AgriculturalICEICEUS
55DX2DX1000.001.00USD IndexCurrencyFINEXICEUS
69MEMEI50.001.00MSCI Emerging Markets MiniEquitiesICEICEUS
70MFSMG50.001.00MSCI EAFE Mini (Europe, Australasia and Far East)EquitiesICEICEUS
79FFFF4167.001.0030-Day Federal FundsRatesCBOTCBT
80F1UFI1000.001.005-Year Deliverable Interest Rate Swap FuturesRatesCBOTCBT
81N1UTN1000.001.0010-Year Deliverable Interest Rate Swap FuturesRatesCBOTCBT
82UL2UB1000.001.00Ultra TbondRatesCBOTCBT
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description sector exchange Exchange\n", "0 KC2 KC 37500.00 0.01 Coffee Agricultural CSCE ICEUS\n", "3 CT2 CT 50000.00 0.01 Cotton #2 Agricultural NYCE ICEUS\n", "9 OJ2 OJ 15000.00 0.01 Orange Juice Agricultural NYCE ICEUS\n", "13 LSU LS 50.00 1.00 Sugar #5(White) Agricultural EURONEXT LCE\n", "20 LRC LR 10.00 1.00 Robusta Coffee New (LCE) Agricultural EURONEXT LCE\n", "23 CC2 CC 10.00 1.00 Cocoa Agricultural NYCE ICEUS\n", "24 SB2 SB 112000.00 0.01 Sugar #11 Agricultural NYCE ICEUS\n", "25 XC2 CM 1000.00 0.01 Corn E-Mini Agricultural CBOT CBT\n", "26 XS2 MS 1000.00 0.01 Soybeans E-Mini Agricultural CBOT CBT\n", "28 LCO LO 1000.00 1.00 Brent Crude Non-Agricultural ICE ICEEUROPE\n", "38 LGO LG 100.00 1.00 Petroleum Gas Oil Non-Agricultural ICE ICEEUROPE\n", "39 ER AI 100.00 1.00 Bloomberg Commodity Index Futures Non-Agricultural CME CBT\n", "43 IRB XB 42000.00 1.00 RBOB Gasoline Futures Non-Agricultural NYMEX ICEEUROPE\n", "44 YG XG 32.15 1.00 Gold mini-sized Non-Agricultural ICE ICEUS\n", "45 YI YS 1000.00 0.01 Silver mini-sized Non-Agricultural ICE ICEUS\n", "55 DX2 DX 1000.00 1.00 USD Index Currency FINEX ICEUS\n", "69 MEM EI 50.00 1.00 MSCI Emerging Markets Mini Equities ICE ICEUS\n", "70 MFS MG 50.00 1.00 MSCI EAFE Mini (Europe, Australasia and Far East) Equities ICE ICEUS\n", "79 FF FF 4167.00 1.00 30-Day Federal Funds Rates CBOT CBT\n", "80 F1U FI 1000.00 1.00 5-Year Deliverable Interest Rate Swap Futures Rates CBOT CBT\n", "81 N1U TN 1000.00 1.00 10-Year Deliverable Interest Rate Swap Futures Rates CBOT CBT\n", "82 UL2 UB 1000.00 1.00 Ultra Tbond Rates CBOT CBT" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The name of the exchange is irrelevant, but just for the sake of showing the differences\n", "ldf_[ldf_['exchange'] != ldf_['Exchange']].loc[:,['csi_symbol', 'root_symbol', 'multiplier', 'minor_fx_adj', 'description', 'sector', 'exchange', 'Exchange']]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_value
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, UACsiNumber, SymbolUA, ExchangeSymbol, Exchange, Name, SessionType, IsActive, TerminalPointValue, FullPointValue, Currency, ContractSize, Units, MinimumTick, TickValue, StartDate, EndDate, LinkSymbol, ConversionFactorCode, HasCurrentDayVolume, HasCurrentDayOpenInterest, HasKnownExpirationDates, LastTotalVolume, calc_poin_value]\n", "Index: []" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# All futures trade in USD\n", "ldf_[ldf_['Currency'] != 'USD']" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_valuefactsheet_minor_fx_adj
18DADA200000.00.01Class III MilkCMEAgricultural404DADACMEClass III MilkCombined120.02000.0USD200000 lbs.USD/CWT1.020.01996-01-112020-10-28NaN20012095.02000.01.0
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description exchange sector UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume calc_poin_value factsheet_minor_fx_adj\n", "18 DA DA 200000.0 0.01 Class III Milk CME Agricultural 404 DA DA CME Class III Milk Combined 1 20.0 2000.0 USD 200000 lbs. USD/CWT 1.0 20.0 1996-01-11 2020-10-28 NaN 2 0 0 1 2095.0 2000.0 1.0" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# XXX This here is also very important as this makes sure that we agree on the minor_fx_adj\n", "# Only for \"Class III Milk\" the pattern is a bit different, but this USD/CWT should also mean that minor_fx_adj is 0.01, e.g. this should be correct.\n", "ldf_['factsheet_minor_fx_adj'] = -1.0\n", "selector = ldf_['Units'].str.startswith('cents').astype(np.bool)\n", "ldf_.loc[selector, 'factsheet_minor_fx_adj'] = 0.01\n", "ldf_.loc[~selector, 'factsheet_minor_fx_adj'] = 1.0\n", "ldf_[ldf_['factsheet_minor_fx_adj'] != ldf_['minor_fx_adj']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verify that all contracts are still traded" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_valuefactsheet_minor_fx_adj
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, UACsiNumber, SymbolUA, ExchangeSymbol, Exchange, Name, SessionType, IsActive, TerminalPointValue, FullPointValue, Currency, ContractSize, Units, MinimumTick, TickValue, StartDate, EndDate, LinkSymbol, ConversionFactorCode, HasCurrentDayVolume, HasCurrentDayOpenInterest, HasKnownExpirationDates, LastTotalVolume, calc_poin_value, factsheet_minor_fx_adj]\n", "Index: []" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# make sure that all contracts are still trading\n", "ldf_[ldf_['LastTotalVolume'] < 1.0]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_valuefactsheet_minor_fx_adj
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, UACsiNumber, SymbolUA, ExchangeSymbol, Exchange, Name, SessionType, IsActive, TerminalPointValue, FullPointValue, Currency, ContractSize, Units, MinimumTick, TickValue, StartDate, EndDate, LinkSymbol, ConversionFactorCode, HasCurrentDayVolume, HasCurrentDayOpenInterest, HasKnownExpirationDates, LastTotalVolume, calc_poin_value, factsheet_minor_fx_adj]\n", "Index: []" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# make sure that all contracts are still trading\n", "ldf_[ldf_['EndDate'] != pd.Timestamp('2020-10-28')]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectorUACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolumecalc_poin_valuefactsheet_minor_fx_adj
20LRCLR10.01.00Robusta Coffee New (LCE)EURONEXTAgricultural816LRCRCLCERobusta CoffeeNaN110.00010.0USD10 tonneUSD/tonne1.010.0002008-01-112020-10-28LKD starts at 1991-03-01010114463.010.01.00
25XC2CM1000.00.01Corn E-MiniCBOTAgricultural1192XC2YCCBTmini CornCombined11.25010.0USD1000 bushelscents/bushel1.01.2502007-05-152020-10-28NaN-10012589.010.00.01
26XS2MS1000.00.01Soybeans E-MiniCBOTAgricultural1194XS2YKCBTmini SoybeansCombined11.25010.0USD1000 bushelscents/bushel1.01.2502007-05-152020-10-28NaN-10013510.010.00.01
31RB2RB42000.01.00Gasoline-Reformulated BlendstockNYMEXNon-Agricultural976RB2RBNYMEXGasoline-Reformulated BlendstockCombined14.20042000.0USD42000 gallonsUSD/gallon1.04.2002005-10-032020-10-28HU2 starts at 1984-12-034001126660.042000.01.00
39ERAI100.01.00Bloomberg Commodity Index FuturesCMENon-Agricultural1081ERAWCBTBloomberg Commodity Index (DJ UBS Commodity In...NaN110.000100.0USDUSD 100 x Indexpoints1.010.0002006-10-132020-10-28NaN1001755.0100.01.00
40ACET29000.01.00EthanolCBTNon-Agricultural962ACACFCBTEthanolNaN129.00029000.0USD29000 gallonsUSD/gallon1.029.0002005-03-232020-10-28NaN300114.029000.01.00
41QGQG2500.01.00Natural Gas E-miniNYMEXNon-Agricultural724QGQGNYMEXe-mini Henry Hub Natural GasNaN12.5002500.0USD2500 mmBtu$/mmBtu5.012.5002002-06-172020-10-28NaN30018516.02500.01.00
42QMQM500.01.00Crude Oil E-MiniNYMEXNon-Agricultural725QMQMNYMEXe-mini Crude OilNaN10.500500.0USD500 barrels$/barrels25.012.5002002-06-172020-10-28NaN300114565.0500.01.00
43IRBXB42000.01.00RBOB Gasoline FuturesNYMEXNon-Agricultural772IRBNICEEUROPERBOB GasolineNaN14.20042000.0USD42000 gallonsUSD/gallons1.04.2002006-04-242020-10-28NaN400164543.042000.01.00
59M6EEU12500.01.00E-micro EUR/USD FuturesCMECurrency1415M6EM6ECMEe-micro EUR/USDNaN10.12512500.0USDEUR 12500USD / EUR10.01.2502009-03-232020-10-28NaN500115432.012500.01.00
63ER2TF50.01.00Russel 2000 (E-mini)CMEEquities677ER2RTYCMEe-mini Russell 2000 IndexCombined10.50050.0USD$50 x Indexpoints10.05.0002001-10-232020-10-28NaN2001143923.050.01.00
64ER2ER50.01.00Russel 2000 (E-mini)CMEEquities677ER2RTYCMEe-mini Russell 2000 IndexCombined10.50050.0USD$50 x Indexpoints10.05.0002001-10-232020-10-28NaN2001143923.050.01.00
65VXVX1000.01.00Volatility IndexCFEEquities919VXVXCFECBOE Volatility Index (VIX)Combined11.0001000.0USD$1000 x Indexpoints10.010.0002004-03-262020-10-28NaN3001155378.01000.01.00
66YMYM5.01.00Dow e miniCBTEquities699YMYMCBTe-mini Dow ($5)Combined15.0005.0USD$5 x Indexpoints1.05.0002002-04-052020-10-28DJ starts at 1997-10-060001177242.05.01.00
69MEMEI50.01.00MSCI Emerging Markets MiniICEEquities1552MEMMMEICEUSmini MSCI Emerging Markets IndexNaN10.05050.0USDUSD 50 x Indexpoints100.05.0002010-09-242020-10-28EMI starts at 2008-05-27300170951.050.01.00
70MFSMG50.01.00MSCI EAFE Mini (Europe, Australasia and Far East)ICEEquities1570MFSMFSICEUSmini MSCI EAFE IndexNaN10.05050.0USDUSD 50 x Indexpoints100.05.0002010-09-242020-10-28NaN300125781.050.01.00
71EMDMI100.01.00S&P 400 MidCap E-MiniCMEEquities684EMDEMDCMEe-mini S&P Midcap 400 IndexNaN11.000100.0USD$100 x indexpoints10.010.0002002-01-282020-10-28MD starts at 1992-02-1320019728.0100.01.00
72RS1RM50.01.00Russell 1000 MiniCMEEquities1032RS1RS1CMEe-mini Russell 1000 IndexNaN10.50050.0USD$50 x indexpoints10.05.0002006-06-152020-10-28NaN200176.050.01.00
80F1UFI1000.01.005-Year Deliverable Interest Rate Swap FuturesCBOTRates1839F1UF1UCBT5yr Deliverable Interest Rate SwapCombined13.1251000.0USD$100000points5.015.6252012-12-032020-10-28NaN-8001264.01000.01.00
81N1UTN1000.01.0010-Year Deliverable Interest Rate Swap FuturesCBOTRates1836N1UN1UCBT10yr Deliverable Interest Rate SwapCombined13.1251000.0USD$100000points5.015.6252012-12-032020-10-28NaN-70011046.01000.01.00
82UL2UB1000.01.00Ultra TbondCBOTRates1507UL2ULCBTUltra T-BondsCombined131.2501000.0USDUSD 100000points1.031.2502010-01-112020-10-28NaN-3001125777.01000.01.00
\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description exchange sector UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume calc_poin_value factsheet_minor_fx_adj\n", "20 LRC LR 10.0 1.00 Robusta Coffee New (LCE) EURONEXT Agricultural 816 LRC RC LCE Robusta Coffee NaN 1 10.000 10.0 USD 10 tonne USD/tonne 1.0 10.000 2008-01-11 2020-10-28 LKD starts at 1991-03-01 0 1 0 1 14463.0 10.0 1.00\n", "25 XC2 CM 1000.0 0.01 Corn E-Mini CBOT Agricultural 1192 XC2 YC CBT mini Corn Combined 1 1.250 10.0 USD 1000 bushels cents/bushel 1.0 1.250 2007-05-15 2020-10-28 NaN -1 0 0 1 2589.0 10.0 0.01\n", "26 XS2 MS 1000.0 0.01 Soybeans E-Mini CBOT Agricultural 1194 XS2 YK CBT mini Soybeans Combined 1 1.250 10.0 USD 1000 bushels cents/bushel 1.0 1.250 2007-05-15 2020-10-28 NaN -1 0 0 1 3510.0 10.0 0.01\n", "31 RB2 RB 42000.0 1.00 Gasoline-Reformulated Blendstock NYMEX Non-Agricultural 976 RB2 RB NYMEX Gasoline-Reformulated Blendstock Combined 1 4.200 42000.0 USD 42000 gallons USD/gallon 1.0 4.200 2005-10-03 2020-10-28 HU2 starts at 1984-12-03 4 0 0 1 126660.0 42000.0 1.00\n", "39 ER AI 100.0 1.00 Bloomberg Commodity Index Futures CME Non-Agricultural 1081 ER AW CBT Bloomberg Commodity Index (DJ UBS Commodity In... NaN 1 10.000 100.0 USD USD 100 x Index points 1.0 10.000 2006-10-13 2020-10-28 NaN 1 0 0 1 755.0 100.0 1.00\n", "40 AC ET 29000.0 1.00 Ethanol CBT Non-Agricultural 962 AC ACF CBT Ethanol NaN 1 29.000 29000.0 USD 29000 gallons USD/gallon 1.0 29.000 2005-03-23 2020-10-28 NaN 3 0 0 1 14.0 29000.0 1.00\n", "41 QG QG 2500.0 1.00 Natural Gas E-mini NYMEX Non-Agricultural 724 QG QG NYMEX e-mini Henry Hub Natural Gas NaN 1 2.500 2500.0 USD 2500 mmBtu $/mmBtu 5.0 12.500 2002-06-17 2020-10-28 NaN 3 0 0 1 8516.0 2500.0 1.00\n", "42 QM QM 500.0 1.00 Crude Oil E-Mini NYMEX Non-Agricultural 725 QM QM NYMEX e-mini Crude Oil NaN 1 0.500 500.0 USD 500 barrels $/barrels 25.0 12.500 2002-06-17 2020-10-28 NaN 3 0 0 1 14565.0 500.0 1.00\n", "43 IRB XB 42000.0 1.00 RBOB Gasoline Futures NYMEX Non-Agricultural 772 IRB N ICEEUROPE RBOB Gasoline NaN 1 4.200 42000.0 USD 42000 gallons USD/gallons 1.0 4.200 2006-04-24 2020-10-28 NaN 4 0 0 1 64543.0 42000.0 1.00\n", "59 M6E EU 12500.0 1.00 E-micro EUR/USD Futures CME Currency 1415 M6E M6E CME e-micro EUR/USD NaN 1 0.125 12500.0 USD EUR 12500 USD / EUR 10.0 1.250 2009-03-23 2020-10-28 NaN 5 0 0 1 15432.0 12500.0 1.00\n", "63 ER2 TF 50.0 1.00 Russel 2000 (E-mini) CME Equities 677 ER2 RTY CME e-mini Russell 2000 Index Combined 1 0.500 50.0 USD $50 x Index points 10.0 5.000 2001-10-23 2020-10-28 NaN 2 0 0 1 143923.0 50.0 1.00\n", "64 ER2 ER 50.0 1.00 Russel 2000 (E-mini) CME Equities 677 ER2 RTY CME e-mini Russell 2000 Index Combined 1 0.500 50.0 USD $50 x Index points 10.0 5.000 2001-10-23 2020-10-28 NaN 2 0 0 1 143923.0 50.0 1.00\n", "65 VX VX 1000.0 1.00 Volatility Index CFE Equities 919 VX VX CFE CBOE Volatility Index (VIX) Combined 1 1.000 1000.0 USD $1000 x Index points 10.0 10.000 2004-03-26 2020-10-28 NaN 3 0 0 1 155378.0 1000.0 1.00\n", "66 YM YM 5.0 1.00 Dow e mini CBT Equities 699 YM YM CBT e-mini Dow ($5) Combined 1 5.000 5.0 USD $5 x Index points 1.0 5.000 2002-04-05 2020-10-28 DJ starts at 1997-10-06 0 0 0 1 177242.0 5.0 1.00\n", "69 MEM EI 50.0 1.00 MSCI Emerging Markets Mini ICE Equities 1552 MEM MME ICEUS mini MSCI Emerging Markets Index NaN 1 0.050 50.0 USD USD 50 x Index points 100.0 5.000 2010-09-24 2020-10-28 EMI starts at 2008-05-27 3 0 0 1 70951.0 50.0 1.00\n", "70 MFS MG 50.0 1.00 MSCI EAFE Mini (Europe, Australasia and Far East) ICE Equities 1570 MFS MFS ICEUS mini MSCI EAFE Index NaN 1 0.050 50.0 USD USD 50 x Index points 100.0 5.000 2010-09-24 2020-10-28 NaN 3 0 0 1 25781.0 50.0 1.00\n", "71 EMD MI 100.0 1.00 S&P 400 MidCap E-Mini CME Equities 684 EMD EMD CME e-mini S&P Midcap 400 Index NaN 1 1.000 100.0 USD $100 x index points 10.0 10.000 2002-01-28 2020-10-28 MD starts at 1992-02-13 2 0 0 1 9728.0 100.0 1.00\n", "72 RS1 RM 50.0 1.00 Russell 1000 Mini CME Equities 1032 RS1 RS1 CME e-mini Russell 1000 Index NaN 1 0.500 50.0 USD $50 x index points 10.0 5.000 2006-06-15 2020-10-28 NaN 2 0 0 1 76.0 50.0 1.00\n", "80 F1U FI 1000.0 1.00 5-Year Deliverable Interest Rate Swap Futures CBOT Rates 1839 F1U F1U CBT 5yr Deliverable Interest Rate Swap Combined 1 3.125 1000.0 USD $100000 points 5.0 15.625 2012-12-03 2020-10-28 NaN -8 0 0 1 264.0 1000.0 1.00\n", "81 N1U TN 1000.0 1.00 10-Year Deliverable Interest Rate Swap Futures CBOT Rates 1836 N1U N1U CBT 10yr Deliverable Interest Rate Swap Combined 1 3.125 1000.0 USD $100000 points 5.0 15.625 2012-12-03 2020-10-28 NaN -7 0 0 1 1046.0 1000.0 1.00\n", "82 UL2 UB 1000.0 1.00 Ultra Tbond CBOT Rates 1507 UL2 UL CBT Ultra T-Bonds Combined 1 31.250 1000.0 USD USD 100000 points 1.0 31.250 2010-01-11 2020-10-28 NaN -3 0 0 1 125777.0 1000.0 1.00" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# not all contracts existed at the beginning of the time winow\n", "ldf_[ldf_['StartDate'] > pd.Timestamp('2000-12-31')]" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolume
9750LKRNaNLCECoffee-RobustaNaN00.55.0GBP5 tonnesGBP/tonne1.00.51968-01-021992-03-31NaN1001NaN
217148LKDNaNLCECoffee-RobustaNaN05.05.0USD5 tonnesUSD/tonne1.05.01991-03-012009-01-30LKR starts at 1968-01-020101NaN
901816LRCRCLCERobusta CoffeeNaN110.010.0USD10 tonneUSD/tonne1.010.02008-01-112020-10-28LKD starts at 1991-03-01010114463.0
\n", "
" ], "text/plain": [ " UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume\n", "97 50 LKR NaN LCE Coffee-Robusta NaN 0 0.5 5.0 GBP 5 tonnes GBP/tonne 1.0 0.5 1968-01-02 1992-03-31 NaN 1 0 0 1 NaN\n", "217 148 LKD NaN LCE Coffee-Robusta NaN 0 5.0 5.0 USD 5 tonnes USD/tonne 1.0 5.0 1991-03-01 2009-01-30 LKR starts at 1968-01-02 0 1 0 1 NaN\n", "901 816 LRC RC LCE Robusta Coffee NaN 1 10.0 10.0 USD 10 tonne USD/tonne 1.0 10.0 2008-01-11 2020-10-28 LKD starts at 1991-03-01 0 1 0 1 14463.0" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Some indices are the continuation of others\n", "csidata_futures_fact_sheet_df[csidata_futures_fact_sheet_df['SymbolUA'].isin(['LRC', 'LKD', 'LKR'])]" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolume
282224HURBOBNYMEXGasoline UnleadedRTH04.242000.0USD42000 gallonsUSD/gal1.04.21984-12-032006-12-29NaN4001NaN
926858HU2YQNYMEXUnleaded GasolineCombined04.242000.0USD42000 gallonsUSD/gallon1.04.21984-12-032006-12-29HU starts at 1984-12-034000NaN
1043976RB2RBNYMEXGasoline-Reformulated BlendstockCombined14.242000.0USD42000 gallonsUSD/gallon1.04.22005-10-032020-10-28HU2 starts at 1984-12-034001126660.0
\n", "
" ], "text/plain": [ " UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume\n", "282 224 HU RBOB NYMEX Gasoline Unleaded RTH 0 4.2 42000.0 USD 42000 gallons USD/gal 1.0 4.2 1984-12-03 2006-12-29 NaN 4 0 0 1 NaN\n", "926 858 HU2 YQ NYMEX Unleaded Gasoline Combined 0 4.2 42000.0 USD 42000 gallons USD/gallon 1.0 4.2 1984-12-03 2006-12-29 HU starts at 1984-12-03 4 0 0 0 NaN\n", "1043 976 RB2 RB NYMEX Gasoline-Reformulated Blendstock Combined 1 4.2 42000.0 USD 42000 gallons USD/gallon 1.0 4.2 2005-10-03 2020-10-28 HU2 starts at 1984-12-03 4 0 0 1 126660.0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Some indices are the continuation of others\n", "csidata_futures_fact_sheet_df[csidata_futures_fact_sheet_df['SymbolUA'].isin(['RB2', 'HU2', 'HU'])]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UACsiNumberSymbolUAExchangeSymbolExchangeNameSessionTypeIsActiveTerminalPointValueFullPointValueCurrencyContractSizeUnitsMinimumTickTickValueStartDateEndDateLinkSymbolConversionFactorCodeHasCurrentDayVolumeHasCurrentDayOpenInterestHasKnownExpirationDatesLastTotalVolume
543496DJZDCBTDow Jones Industrial IndexCombined010.010.0USD$10 x Indexpoints1.010.01997-10-062015-06-19NaN0001NaN
748699YMYMCBTe-mini Dow ($5)Combined15.05.0USD$5 x Indexpoints1.05.02002-04-052020-10-28DJ starts at 1997-10-060001177242.0
\n", "
" ], "text/plain": [ " UACsiNumber SymbolUA ExchangeSymbol Exchange Name SessionType IsActive TerminalPointValue FullPointValue Currency ContractSize Units MinimumTick TickValue StartDate EndDate LinkSymbol ConversionFactorCode HasCurrentDayVolume HasCurrentDayOpenInterest HasKnownExpirationDates LastTotalVolume\n", "543 496 DJ ZD CBT Dow Jones Industrial Index Combined 0 10.0 10.0 USD $10 x Index points 1.0 10.0 1997-10-06 2015-06-19 NaN 0 0 0 1 NaN\n", "748 699 YM YM CBT e-mini Dow ($5) Combined 1 5.0 5.0 USD $5 x Index points 1.0 5.0 2002-04-05 2020-10-28 DJ starts at 1997-10-06 0 0 0 1 177242.0" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Some indices are the continuation of others\n", "csidata_futures_fact_sheet_df[csidata_futures_fact_sheet_df['SymbolUA'].isin(['YM', 'DJ'])]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verify that for all mentioned contracts the files are downloaded and available" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# Verify that all the data files are available\n", "ldf['cash_file_available'] = False\n", "ldf['first_future_year'] = ''\n", "ldf['first_future_month'] = ''\n", "ldf['last_future_year'] = ''\n", "ldf['last_future_month'] = ''\n", "\n", "for idx, row in ldf_.iterrows():\n", " csi_symbol = row['csi_symbol']\n", " csi_file_symbol = csi_symbol.ljust(3, '_')\n", " dir_path = csi_futures_data.data_path3 + '/' + csi_symbol\n", " file_name_list = sorted(fnmatch.filter(os.listdir(dir_path), '*.CSV'))\n", " cash_file_name = file_name_list[0]\n", " \n", " r = re.match(r'^{}(\\d\\d\\d\\d)(.).*$'.format(csi_file_symbol), cash_file_name)\n", " if not r:\n", " raise RuntimeError('cash_file_name does not match file pattern')\n", " cash_file_available = r.group(2) == '$'\n", " ldf_.loc[idx, 'cash_file_available'] = cash_file_available\n", " if cash_file_available:\n", " futures_file_name_list_start = 1\n", " else:\n", " futures_file_name_list_start = 0\n", " \n", " futures_file_name_list = file_name_list[futures_file_name_list_start:]\n", " \n", " first_future = futures_file_name_list[0]\n", " r = re.match(r'^{}(\\d\\d\\d\\d)(.).*$'.format(csi_file_symbol), first_future)\n", " if not r:\n", " raise RuntimeError('first_future does not match file pattern')\n", " first_future_year = r.group(1)\n", " first_future_month = r.group(2)\n", " \n", " last_future = futures_file_name_list[-1]\n", " r = re.match(r'^{}(\\d\\d\\d\\d)(.).*$'.format(csi_file_symbol), last_future)\n", " if not r:\n", " raise RuntimeError('last_future does not match file pattern')\n", " last_future_year = r.group(1)\n", " last_future_month = r.group(2)\n", " ldf_.loc[idx, 'first_future_year'] = first_future_year\n", " ldf_.loc[idx, 'first_future_month'] = first_future_month\n", " ldf_.loc[idx, 'last_future_year'] = last_future_year\n", " ldf_.loc[idx, 'last_future_month'] = last_future_month" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
csi_symbolroot_symbolmultiplierminor_fx_adjdescriptionsectorExchangeSymbolExchangeNameSessionTypeFullPointValueCurrencyContractSizeUnitsStartDateEndDateLastTotalVolumecalc_poin_valuefactsheet_minor_fx_adjcash_file_availablefirst_future_yearfirst_future_monthlast_future_yearlast_future_month
0KC2KC37500.00.01CoffeeAgriculturalKCICEUSCoffeeCombined375.0USD37500 lbscents/pound1972-08-162020-10-2831867.0375.00.01True2000Z2023U
1C2_C5000.00.01CornAgriculturalCCBTCornCombined50.0USD5000 bucents/bu1949-01-032020-10-28426691.050.00.01True2000X2023Z
2C2CN5000.00.01CornAgriculturalCCBTCornCombined50.0USD5000 bucents/bu1949-01-032020-10-28426691.050.00.01True2000X2023Z
3CT2CT50000.00.01Cotton #2AgriculturalCTICEUSCotton #2Combined500.0USD50000 lbscents/pound1967-03-222020-10-2835749.0500.00.01True2000V2023N
4LHLH40000.00.01Lean HogsAgriculturalLHCMELean HogsCombined400.0USD40000 lbscents/lb1966-02-282020-10-2830958.0400.00.01True2000V2022J
5LCLC40000.00.01Live CattleAgriculturalLCCMELive CattleCombined400.0USD40000 lbscents/lb1964-11-302020-10-2857781.0400.00.01True2000V2022G
6LBLB110.01.00LumberAgriculturalLBCMELumberCombined110.0USD110000 board ftUSD/1000 board ft1969-10-012020-10-28465.0110.01.00True2000X2021X
7O2_O5000.00.01Oats-CBTAgriculturalOCBTOatsCombined50.0USD5000 bucents/bu1949-01-032020-10-28534.050.00.01True2000Z2023U
8O2OA5000.00.01Oats-CBTAgriculturalOCBTOatsCombined50.0USD5000 bucents/bu1949-01-032020-10-28534.050.00.01True2000Z2023U
9OJ2OJ15000.00.01Orange JuiceAgriculturalOJICEUSFrozen Orange JuiceCombined150.0USD15000 lbscents/pound1966-10-262020-10-28768.0150.00.01False2000X2023U
10RR2RR2000.01.00Rice(Rough)AgriculturalRRFCBTRough RiceCombined2000.0USD2000CWTUSD/CWT1986-08-202020-10-281722.02000.01.00True2000X2021X
11S2_S5000.00.01SoybeanAgriculturalSCBTSoybeansCombined50.0USD5000bucents/bu1949-01-032020-10-28342446.050.00.01True2000X2023X
12S2SY5000.00.01SoybeanAgriculturalSCBTSoybeansCombined50.0USD5000bucents/bu1949-01-032020-10-28342446.050.00.01True2000X2023X
13LSULS50.01.00Sugar #5(White)AgriculturalWLCEWhite Sugar (#5)NaN50.0USD50 tonnesUSD/tonne1987-07-302020-10-2811840.050.01.00True2000Z2022K
14W2_W5000.00.01WheatAgriculturalWCBTWheatCombined50.0USD5000 bucents/bu1996-03-012020-10-28105855.050.00.01True2000Z2023N
15W2WC5000.00.01WheatAgriculturalWCBTWheatCombined50.0USD5000 bucents/bu1996-03-012020-10-28105855.050.00.01True2000Z2023N
16KW2KW5000.00.01Wheat-Kansas CityAgriculturalKEKCBTKansas City HRW WheatCombined50.0USD5000 bushelscents/bushel1966-05-162020-10-2845300.050.00.01True2000Z2023N
17MW2MW5000.00.01Wheat-SpringAgriculturalMWEMGESpring WheatCombined50.0USD5000 bushelscents/bushel1967-01-032020-10-288613.050.00.01True2000Z2022K
18DADA200000.00.01Class III MilkAgriculturalDACMEClass III MilkCombined2000.0USD200000 lbs.USD/CWT1996-01-112020-10-282095.02000.01.00True2000V2022U
19FCFC50000.00.01Cattle-FeederAgriculturalFCCMEFeeder CattleCombined500.0USD50000 lbscents/lb1971-11-302020-10-2810759.0500.00.01True2000V2021U
20LRCLR10.01.00Robusta Coffee New (LCE)AgriculturalRCLCERobusta CoffeeNaN10.0USD10 tonneUSD/tonne2008-01-112020-10-2814463.010.01.00True2000X2022K
21BO2BO60000.00.01Soybean OilAgriculturalBOCBTSoybean OilCombined600.0USD60000lbcents/lb1996-03-012020-10-28109035.0600.00.01True2000V2023Z
22SM2SM100.01.00Soybean MealAgriculturalSMCBTSoybean MealCombined100.0USD100 short tonsUSD/short ton1951-08-292020-10-28108217.0100.01.00True2000V2023Z
23CC2CC10.01.00CocoaAgriculturalCCICEUSCocoaCombined10.0USD10 tonnesUSD/tonne1965-12-302020-10-2831624.010.01.00True2000Z2022U
24SB2SB112000.00.01Sugar #11AgriculturalSBICEUSSugar #11Combined1120.0USD112000 lbscents/pound1965-12-302020-10-28124605.01120.00.01True2001H2023N
25XC2CM1000.00.01Corn E-MiniAgriculturalYCCBTmini CornCombined10.0USD1000 bushelscents/bushel2007-05-152020-10-282589.010.00.01True2007N2023Z
26XS2MS1000.00.01Soybeans E-MiniAgriculturalYKCBTmini SoybeansCombined10.0USD1000 bushelscents/bushel2007-05-152020-10-283510.010.00.01False2007N2023X
27CL2CL1000.01.00Crude Oil-LightNon-AgriculturalCLNYMEXCrude OilCombined1000.0USD1000 barrelsUSD/barrel1983-03-302020-10-28567900.01000.01.00True2000X2031G
28LCOLO1000.01.00Brent CrudeNon-AgriculturalBICEEUROPEBrent CrudeCombined1000.0USD1000 barrelsUSD/barrel1988-06-232020-10-28781133.01000.01.00True2000X2029H
29HO2HO42000.01.00Heating OilNon-AgriculturalHONYMEXNY Harbor ULSDCombined42000.0USD42000 gallonsUSD/gallon1978-11-152020-10-28184195.042000.01.00True2000X2024F
...........................................................................
53NENZ100000.01.00NZD/USDCurrencyNECMENew Zealand DollarCombined100000.0USD100000 NZD$/NZD1997-05-072020-10-2817026.0100000.01.00True2000Z2022H
54SFSF125000.01.00CHF/USDCurrencySFCMESwiss FrancCombined125000.0USDCHF 125000USD/CHF1972-05-162020-10-2816511.0125000.01.00True2000Z2025U
55DX2DX1000.01.00USD IndexCurrencyDXICEUSU.S. Dollar IndexCombined1000.0USD$1000 x Indexpoints1985-11-202020-10-2814066.01000.01.00True2000Z2021U
56MPMP500000.01.00MEP/USDCurrencyMPCMEMexican PesoCombined500000.0USDMXN 500000USD/MXN1995-04-252020-10-2841927.0500000.01.00True2000X2022H
57MPME500000.01.00MEP/USDCurrencyMPCMEMexican PesoCombined500000.0USDMXN 500000USD/MXN1995-04-252020-10-2841927.0500000.01.00True2000X2022H
58EXEE62500.01.00Euro FX E-miniCurrencyE7CMEe-mini EuroNaN62500.0USDEUR 62500USD/EUR1999-10-082020-10-284125.062500.01.00False2000Z2021H
59M6EEU12500.01.00E-micro EUR/USD FuturesCurrencyM6ECMEe-micro EUR/USDNaN12500.0USDEUR 12500USD / EUR2009-03-232020-10-2815432.012500.01.00True2009M2021H
60JTJE62500.01.00Japanese Yen E-miniCurrencyJ7CMEe-mini Japanese YenNaN62500.0USDJPY 6250000USD/JPY 1001999-10-082020-10-28427.062500.01.00False2000Z2021H
61ESES50.01.00S&P 500 (E-mini)EquitiesESCMEe-mini S&P 500 IndexCombined50.0USD$50 x Indexpoints1997-09-092020-10-281567010.050.01.00True2000Z2021Z
62NQNQ20.01.00Nasdaq (E-mini)EquitiesNQCMEe-mini Nasdaq 100 IndexNaN20.0USD$20 x Indexpoints1999-06-212020-10-28552143.020.01.00True2000Z2021Z
63ER2TF50.01.00Russel 2000 (E-mini)EquitiesRTYCMEe-mini Russell 2000 IndexCombined50.0USD$50 x Indexpoints2001-10-232020-10-28143923.050.01.00True2001Z2021Z
64ER2ER50.01.00Russel 2000 (E-mini)EquitiesRTYCMEe-mini Russell 2000 IndexCombined50.0USD$50 x Indexpoints2001-10-232020-10-28143923.050.01.00True2001Z2021Z
65VXVX1000.01.00Volatility IndexEquitiesVXCFECBOE Volatility Index (VIX)Combined1000.0USD$1000 x Indexpoints2004-03-262020-10-28155378.01000.01.00True2004K2021N
66YMYM5.01.00Dow e miniEquitiesYMCBTe-mini Dow ($5)Combined5.0USD$5 x Indexpoints2002-04-052020-10-28177242.05.01.00True2000Z2021U
67NKNK5.01.00Nikkei 225EquitiesNKCMENikkei 225 IndexCombined5.0USD$5.00 x Indexpoints1990-09-252020-10-283969.05.01.00True2000Z2025Z
68STWTW100.01.00MSCI TaiwanEquitiesTWSGXMSCI Taiwan IndexCombined100.0USD$100 x Indexpoints1997-01-092020-10-2864596.0100.01.00True2000V2023U
69MEMEI50.01.00MSCI Emerging Markets MiniEquitiesMMEICEUSmini MSCI Emerging Markets IndexNaN50.0USDUSD 50 x Indexpoints2010-09-242020-10-2870951.050.01.00True2010Z2023U
70MFSMG50.01.00MSCI EAFE Mini (Europe, Australasia and Far East)EquitiesMFSICEUSmini MSCI EAFE IndexNaN50.0USDUSD 50 x Indexpoints2010-09-242020-10-2825781.050.01.00True2010Z2023U
71EMDMI100.01.00S&P 400 MidCap E-MiniEquitiesEMDCMEe-mini S&P Midcap 400 IndexNaN100.0USD$100 x indexpoints2002-01-282020-10-289728.0100.01.00False2000Z2021Z
72RS1RM50.01.00Russell 1000 MiniEquitiesRS1CMEe-mini Russell 1000 IndexNaN50.0USD$50 x indexpoints2006-06-152020-10-2876.050.01.00False2006M2021Z
73SP2SP250.01.00S&P 500 FuturesEquitiesSPCMES&P 500 IndexCombined250.0USD$250 x Indexpoints1982-04-212020-10-281237.0250.01.00False2000Z2024Z
74FVFV1000.01.00US Treasury Note 5yrRatesFVCBT5-Year U.S. T-NoteCombined1000.0USD$100000points1988-05-202020-10-28475624.01000.01.00True2000Z2021M
75EDED2500.01.00Eurodollar 3mRatesEDCMEEurodollarCombined2500.0USD$1000000USD/bas pt1981-12-092020-10-28964628.02500.01.00True2000V2030U
76USUS1000.01.00US Treasury Long Bond 30yrRatesUSCBTU.S. T-BondCombined1000.0USD$100000points1977-08-222020-10-28275204.01000.01.00True2000Z2021M
77TUTU2000.01.00US Treasury Note 2yrRatesTUCBT2-Year U.S. T-NoteCombined2000.0USD$200000points1990-06-222020-10-28152282.02000.01.00True2000Z2021M
78TYTY1000.01.00US Treasury Note 10yRatesTYFCBT10-Year U.S. T-NoteCombined1000.0USD$100000points1982-05-032020-10-28970079.01000.01.00True2000Z2021M
79FFFF4167.01.0030-Day Federal FundsRatesFFCBT30 Day Federal FundsCombined4167.0USD$5000000USD/bas pt1988-10-032020-10-2835066.04167.01.00False2000V2025U
80F1UFI1000.01.005-Year Deliverable Interest Rate Swap FuturesRatesF1UCBT5yr Deliverable Interest Rate SwapCombined1000.0USD$100000points2012-12-032020-10-28264.01000.01.00True2013H2021H
81N1UTN1000.01.0010-Year Deliverable Interest Rate Swap FuturesRatesN1UCBT10yr Deliverable Interest Rate SwapCombined1000.0USD$100000points2012-12-032020-10-281046.01000.01.00True2013H2021H
82UL2UB1000.01.00Ultra TbondRatesULCBTUltra T-BondsCombined1000.0USDUSD 100000points2010-01-112020-10-28125777.01000.01.00False2010H2021M
\n", "

83 rows × 24 columns

\n", "
" ], "text/plain": [ " csi_symbol root_symbol multiplier minor_fx_adj description sector ExchangeSymbol Exchange Name SessionType FullPointValue Currency ContractSize Units StartDate EndDate LastTotalVolume calc_poin_value factsheet_minor_fx_adj cash_file_available first_future_year first_future_month last_future_year last_future_month\n", "0 KC2 KC 37500.0 0.01 Coffee Agricultural KC ICEUS Coffee Combined 375.0 USD 37500 lbs cents/pound 1972-08-16 2020-10-28 31867.0 375.0 0.01 True 2000 Z 2023 U\n", "1 C2 _C 5000.0 0.01 Corn Agricultural C CBT Corn Combined 50.0 USD 5000 bu cents/bu 1949-01-03 2020-10-28 426691.0 50.0 0.01 True 2000 X 2023 Z\n", "2 C2 CN 5000.0 0.01 Corn Agricultural C CBT Corn Combined 50.0 USD 5000 bu cents/bu 1949-01-03 2020-10-28 426691.0 50.0 0.01 True 2000 X 2023 Z\n", "3 CT2 CT 50000.0 0.01 Cotton #2 Agricultural CT ICEUS Cotton #2 Combined 500.0 USD 50000 lbs cents/pound 1967-03-22 2020-10-28 35749.0 500.0 0.01 True 2000 V 2023 N\n", "4 LH LH 40000.0 0.01 Lean Hogs Agricultural LH CME Lean Hogs Combined 400.0 USD 40000 lbs cents/lb 1966-02-28 2020-10-28 30958.0 400.0 0.01 True 2000 V 2022 J\n", "5 LC LC 40000.0 0.01 Live Cattle Agricultural LC CME Live Cattle Combined 400.0 USD 40000 lbs cents/lb 1964-11-30 2020-10-28 57781.0 400.0 0.01 True 2000 V 2022 G\n", "6 LB LB 110.0 1.00 Lumber Agricultural LB CME Lumber Combined 110.0 USD 110000 board ft USD/1000 board ft 1969-10-01 2020-10-28 465.0 110.0 1.00 True 2000 X 2021 X\n", "7 O2 _O 5000.0 0.01 Oats-CBT Agricultural O CBT Oats Combined 50.0 USD 5000 bu cents/bu 1949-01-03 2020-10-28 534.0 50.0 0.01 True 2000 Z 2023 U\n", "8 O2 OA 5000.0 0.01 Oats-CBT Agricultural O CBT Oats Combined 50.0 USD 5000 bu cents/bu 1949-01-03 2020-10-28 534.0 50.0 0.01 True 2000 Z 2023 U\n", "9 OJ2 OJ 15000.0 0.01 Orange Juice Agricultural OJ ICEUS Frozen Orange Juice Combined 150.0 USD 15000 lbs cents/pound 1966-10-26 2020-10-28 768.0 150.0 0.01 False 2000 X 2023 U\n", "10 RR2 RR 2000.0 1.00 Rice(Rough) Agricultural RRF CBT Rough Rice Combined 2000.0 USD 2000CWT USD/CWT 1986-08-20 2020-10-28 1722.0 2000.0 1.00 True 2000 X 2021 X\n", "11 S2 _S 5000.0 0.01 Soybean Agricultural S CBT Soybeans Combined 50.0 USD 5000bu cents/bu 1949-01-03 2020-10-28 342446.0 50.0 0.01 True 2000 X 2023 X\n", "12 S2 SY 5000.0 0.01 Soybean Agricultural S CBT Soybeans Combined 50.0 USD 5000bu cents/bu 1949-01-03 2020-10-28 342446.0 50.0 0.01 True 2000 X 2023 X\n", "13 LSU LS 50.0 1.00 Sugar #5(White) Agricultural W LCE White Sugar (#5) NaN 50.0 USD 50 tonnes USD/tonne 1987-07-30 2020-10-28 11840.0 50.0 1.00 True 2000 Z 2022 K\n", "14 W2 _W 5000.0 0.01 Wheat Agricultural W CBT Wheat Combined 50.0 USD 5000 bu cents/bu 1996-03-01 2020-10-28 105855.0 50.0 0.01 True 2000 Z 2023 N\n", "15 W2 WC 5000.0 0.01 Wheat Agricultural W CBT Wheat Combined 50.0 USD 5000 bu cents/bu 1996-03-01 2020-10-28 105855.0 50.0 0.01 True 2000 Z 2023 N\n", "16 KW2 KW 5000.0 0.01 Wheat-Kansas City Agricultural KE KCBT Kansas City HRW Wheat Combined 50.0 USD 5000 bushels cents/bushel 1966-05-16 2020-10-28 45300.0 50.0 0.01 True 2000 Z 2023 N\n", "17 MW2 MW 5000.0 0.01 Wheat-Spring Agricultural MWE MGE Spring Wheat Combined 50.0 USD 5000 bushels cents/bushel 1967-01-03 2020-10-28 8613.0 50.0 0.01 True 2000 Z 2022 K\n", "18 DA DA 200000.0 0.01 Class III Milk Agricultural DA CME Class III Milk Combined 2000.0 USD 200000 lbs. USD/CWT 1996-01-11 2020-10-28 2095.0 2000.0 1.00 True 2000 V 2022 U\n", "19 FC FC 50000.0 0.01 Cattle-Feeder Agricultural FC CME Feeder Cattle Combined 500.0 USD 50000 lbs cents/lb 1971-11-30 2020-10-28 10759.0 500.0 0.01 True 2000 V 2021 U\n", "20 LRC LR 10.0 1.00 Robusta Coffee New (LCE) Agricultural RC LCE Robusta Coffee NaN 10.0 USD 10 tonne USD/tonne 2008-01-11 2020-10-28 14463.0 10.0 1.00 True 2000 X 2022 K\n", "21 BO2 BO 60000.0 0.01 Soybean Oil Agricultural BO CBT Soybean Oil Combined 600.0 USD 60000lb cents/lb 1996-03-01 2020-10-28 109035.0 600.0 0.01 True 2000 V 2023 Z\n", "22 SM2 SM 100.0 1.00 Soybean Meal Agricultural SM CBT Soybean Meal Combined 100.0 USD 100 short tons USD/short ton 1951-08-29 2020-10-28 108217.0 100.0 1.00 True 2000 V 2023 Z\n", "23 CC2 CC 10.0 1.00 Cocoa Agricultural CC ICEUS Cocoa Combined 10.0 USD 10 tonnes USD/tonne 1965-12-30 2020-10-28 31624.0 10.0 1.00 True 2000 Z 2022 U\n", "24 SB2 SB 112000.0 0.01 Sugar #11 Agricultural SB ICEUS Sugar #11 Combined 1120.0 USD 112000 lbs cents/pound 1965-12-30 2020-10-28 124605.0 1120.0 0.01 True 2001 H 2023 N\n", "25 XC2 CM 1000.0 0.01 Corn E-Mini Agricultural YC CBT mini Corn Combined 10.0 USD 1000 bushels cents/bushel 2007-05-15 2020-10-28 2589.0 10.0 0.01 True 2007 N 2023 Z\n", "26 XS2 MS 1000.0 0.01 Soybeans E-Mini Agricultural YK CBT mini Soybeans Combined 10.0 USD 1000 bushels cents/bushel 2007-05-15 2020-10-28 3510.0 10.0 0.01 False 2007 N 2023 X\n", "27 CL2 CL 1000.0 1.00 Crude Oil-Light Non-Agricultural CL NYMEX Crude Oil Combined 1000.0 USD 1000 barrels USD/barrel 1983-03-30 2020-10-28 567900.0 1000.0 1.00 True 2000 X 2031 G\n", "28 LCO LO 1000.0 1.00 Brent Crude Non-Agricultural B ICEEUROPE Brent Crude Combined 1000.0 USD 1000 barrels USD/barrel 1988-06-23 2020-10-28 781133.0 1000.0 1.00 True 2000 X 2029 H\n", "29 HO2 HO 42000.0 1.00 Heating Oil Non-Agricultural HO NYMEX NY Harbor ULSD Combined 42000.0 USD 42000 gallons USD/gallon 1978-11-15 2020-10-28 184195.0 42000.0 1.00 True 2000 X 2024 F\n", ".. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...\n", "53 NE NZ 100000.0 1.00 NZD/USD Currency NE CME New Zealand Dollar Combined 100000.0 USD 100000 NZD $/NZD 1997-05-07 2020-10-28 17026.0 100000.0 1.00 True 2000 Z 2022 H\n", "54 SF SF 125000.0 1.00 CHF/USD Currency SF CME Swiss Franc Combined 125000.0 USD CHF 125000 USD/CHF 1972-05-16 2020-10-28 16511.0 125000.0 1.00 True 2000 Z 2025 U\n", "55 DX2 DX 1000.0 1.00 USD Index Currency DX ICEUS U.S. Dollar Index Combined 1000.0 USD $1000 x Index points 1985-11-20 2020-10-28 14066.0 1000.0 1.00 True 2000 Z 2021 U\n", "56 MP MP 500000.0 1.00 MEP/USD Currency MP CME Mexican Peso Combined 500000.0 USD MXN 500000 USD/MXN 1995-04-25 2020-10-28 41927.0 500000.0 1.00 True 2000 X 2022 H\n", "57 MP ME 500000.0 1.00 MEP/USD Currency MP CME Mexican Peso Combined 500000.0 USD MXN 500000 USD/MXN 1995-04-25 2020-10-28 41927.0 500000.0 1.00 True 2000 X 2022 H\n", "58 EX EE 62500.0 1.00 Euro FX E-mini Currency E7 CME e-mini Euro NaN 62500.0 USD EUR 62500 USD/EUR 1999-10-08 2020-10-28 4125.0 62500.0 1.00 False 2000 Z 2021 H\n", "59 M6E EU 12500.0 1.00 E-micro EUR/USD Futures Currency M6E CME e-micro EUR/USD NaN 12500.0 USD EUR 12500 USD / EUR 2009-03-23 2020-10-28 15432.0 12500.0 1.00 True 2009 M 2021 H\n", "60 JT JE 62500.0 1.00 Japanese Yen E-mini Currency J7 CME e-mini Japanese Yen NaN 62500.0 USD JPY 6250000 USD/JPY 100 1999-10-08 2020-10-28 427.0 62500.0 1.00 False 2000 Z 2021 H\n", "61 ES ES 50.0 1.00 S&P 500 (E-mini) Equities ES CME e-mini S&P 500 Index Combined 50.0 USD $50 x Index points 1997-09-09 2020-10-28 1567010.0 50.0 1.00 True 2000 Z 2021 Z\n", "62 NQ NQ 20.0 1.00 Nasdaq (E-mini) Equities NQ CME e-mini Nasdaq 100 Index NaN 20.0 USD $20 x Index points 1999-06-21 2020-10-28 552143.0 20.0 1.00 True 2000 Z 2021 Z\n", "63 ER2 TF 50.0 1.00 Russel 2000 (E-mini) Equities RTY CME e-mini Russell 2000 Index Combined 50.0 USD $50 x Index points 2001-10-23 2020-10-28 143923.0 50.0 1.00 True 2001 Z 2021 Z\n", "64 ER2 ER 50.0 1.00 Russel 2000 (E-mini) Equities RTY CME e-mini Russell 2000 Index Combined 50.0 USD $50 x Index points 2001-10-23 2020-10-28 143923.0 50.0 1.00 True 2001 Z 2021 Z\n", "65 VX VX 1000.0 1.00 Volatility Index Equities VX CFE CBOE Volatility Index (VIX) Combined 1000.0 USD $1000 x Index points 2004-03-26 2020-10-28 155378.0 1000.0 1.00 True 2004 K 2021 N\n", "66 YM YM 5.0 1.00 Dow e mini Equities YM CBT e-mini Dow ($5) Combined 5.0 USD $5 x Index points 2002-04-05 2020-10-28 177242.0 5.0 1.00 True 2000 Z 2021 U\n", "67 NK NK 5.0 1.00 Nikkei 225 Equities NK CME Nikkei 225 Index Combined 5.0 USD $5.00 x Index points 1990-09-25 2020-10-28 3969.0 5.0 1.00 True 2000 Z 2025 Z\n", "68 STW TW 100.0 1.00 MSCI Taiwan Equities TW SGX MSCI Taiwan Index Combined 100.0 USD $100 x Index points 1997-01-09 2020-10-28 64596.0 100.0 1.00 True 2000 V 2023 U\n", "69 MEM EI 50.0 1.00 MSCI Emerging Markets Mini Equities MME ICEUS mini MSCI Emerging Markets Index NaN 50.0 USD USD 50 x Index points 2010-09-24 2020-10-28 70951.0 50.0 1.00 True 2010 Z 2023 U\n", "70 MFS MG 50.0 1.00 MSCI EAFE Mini (Europe, Australasia and Far East) Equities MFS ICEUS mini MSCI EAFE Index NaN 50.0 USD USD 50 x Index points 2010-09-24 2020-10-28 25781.0 50.0 1.00 True 2010 Z 2023 U\n", "71 EMD MI 100.0 1.00 S&P 400 MidCap E-Mini Equities EMD CME e-mini S&P Midcap 400 Index NaN 100.0 USD $100 x index points 2002-01-28 2020-10-28 9728.0 100.0 1.00 False 2000 Z 2021 Z\n", "72 RS1 RM 50.0 1.00 Russell 1000 Mini Equities RS1 CME e-mini Russell 1000 Index NaN 50.0 USD $50 x index points 2006-06-15 2020-10-28 76.0 50.0 1.00 False 2006 M 2021 Z\n", "73 SP2 SP 250.0 1.00 S&P 500 Futures Equities SP CME S&P 500 Index Combined 250.0 USD $250 x Index points 1982-04-21 2020-10-28 1237.0 250.0 1.00 False 2000 Z 2024 Z\n", "74 FV FV 1000.0 1.00 US Treasury Note 5yr Rates FV CBT 5-Year U.S. T-Note Combined 1000.0 USD $100000 points 1988-05-20 2020-10-28 475624.0 1000.0 1.00 True 2000 Z 2021 M\n", "75 ED ED 2500.0 1.00 Eurodollar 3m Rates ED CME Eurodollar Combined 2500.0 USD $1000000 USD/bas pt 1981-12-09 2020-10-28 964628.0 2500.0 1.00 True 2000 V 2030 U\n", "76 US US 1000.0 1.00 US Treasury Long Bond 30yr Rates US CBT U.S. T-Bond Combined 1000.0 USD $100000 points 1977-08-22 2020-10-28 275204.0 1000.0 1.00 True 2000 Z 2021 M\n", "77 TU TU 2000.0 1.00 US Treasury Note 2yr Rates TU CBT 2-Year U.S. T-Note Combined 2000.0 USD $200000 points 1990-06-22 2020-10-28 152282.0 2000.0 1.00 True 2000 Z 2021 M\n", "78 TY TY 1000.0 1.00 US Treasury Note 10y Rates TYF CBT 10-Year U.S. T-Note Combined 1000.0 USD $100000 points 1982-05-03 2020-10-28 970079.0 1000.0 1.00 True 2000 Z 2021 M\n", "79 FF FF 4167.0 1.00 30-Day Federal Funds Rates FF CBT 30 Day Federal Funds Combined 4167.0 USD $5000000 USD/bas pt 1988-10-03 2020-10-28 35066.0 4167.0 1.00 False 2000 V 2025 U\n", "80 F1U FI 1000.0 1.00 5-Year Deliverable Interest Rate Swap Futures Rates F1U CBT 5yr Deliverable Interest Rate Swap Combined 1000.0 USD $100000 points 2012-12-03 2020-10-28 264.0 1000.0 1.00 True 2013 H 2021 H\n", "81 N1U TN 1000.0 1.00 10-Year Deliverable Interest Rate Swap Futures Rates N1U CBT 10yr Deliverable Interest Rate Swap Combined 1000.0 USD $100000 points 2012-12-03 2020-10-28 1046.0 1000.0 1.00 True 2013 H 2021 H\n", "82 UL2 UB 1000.0 1.00 Ultra Tbond Rates UL CBT Ultra T-Bonds Combined 1000.0 USD USD 100000 points 2010-01-11 2020-10-28 125777.0 1000.0 1.00 False 2010 H 2021 M\n", "\n", "[83 rows x 24 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf2 = ldf_[['csi_symbol','root_symbol','multiplier','minor_fx_adj','description','sector', 'ExchangeSymbol','Exchange','Name','SessionType','FullPointValue','Currency','ContractSize','Units','StartDate','EndDate','LastTotalVolume','calc_poin_value',\n", " 'factsheet_minor_fx_adj', 'cash_file_available','first_future_year','first_future_month','last_future_year','last_future_month']]\n", "ldf2" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "# See above: not all contracts started at the beginning of the time window at 2000\n", "# ldf2[ldf2['first_future_year'] > '2000']" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "# ldf2[ldf2['last_future_year'] < '2020']" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "# ldf2[ldf2['StartDate'] > pd.Timestamp('2000-12-31')]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "#ldf_.to_excel('futures_portfolio_overview.xlsx')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get an overview of all contracts plus information about their usage in the different trading strategies described by Andreas" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexcsi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectoris_in_bundleROOT_SYMBOL_TO_ETAFUTURE_EXCHANGE_FEES_BY_SYMBOLtrend_following_marketstime_return_marketscounter_trend_marketscurve_trading_marketsany_market
root_symbol
KC0.0KC2KC37500.00.01CoffeeCSCEagriculturalTrueFalseFalseTrueTrueTrueTrueTrue
_C1.0C2_C5000.00.01CornCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
CN2.0C2CN5000.00.01CornCBTagriculturalTrueTrueTrueTrueTrueFalseTrueTrue
CT3.0CT2CT50000.00.01Cotton #2NYCEagriculturalTrueFalseFalseTrueTrueTrueTrueTrue
LH4.0LHLH40000.00.01Lean HogsCMEagriculturalTrueTrueTrueFalseFalseFalseFalseFalse
\n", "
" ], "text/plain": [ " index csi_symbol root_symbol multiplier minor_fx_adj description exchange sector is_in_bundle ROOT_SYMBOL_TO_ETA FUTURE_EXCHANGE_FEES_BY_SYMBOL trend_following_markets time_return_markets counter_trend_markets curve_trading_markets any_market\n", "root_symbol \n", "KC 0.0 KC2 KC 37500.0 0.01 Coffee CSCE agricultural True False False True True True True True\n", "_C 1.0 C2 _C 5000.0 0.01 Corn CBT agricultural True False False False False False False False\n", "CN 2.0 C2 CN 5000.0 0.01 Corn CBT agricultural True True True True True False True True\n", "CT 3.0 CT2 CT 50000.0 0.01 Cotton #2 NYCE agricultural True False False True True True True True\n", "LH 4.0 LH LH 40000.0 0.01 Lean Hogs CME agricultural True True True False False False False False" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ldf = csi_futures_data.futures_markets_lookup.copy()\n", "ldf['any_market'] = ldf['trend_following_markets'] | ldf['time_return_markets'] | ldf['counter_trend_markets'] | ldf['curve_trading_markets']\n", "ldf.head()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# ldf.to_excel('futures_markets_lookup.xlsx')" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexcsi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectoris_in_bundleROOT_SYMBOL_TO_ETAFUTURE_EXCHANGE_FEES_BY_SYMBOLtrend_following_marketstime_return_marketscounter_trend_marketscurve_trading_marketsany_market
root_symbol
BDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
DJNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
ELNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
FSNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
HUNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
MBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
MDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
NDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
PBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
TBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
TSNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
BLNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseTrueTrueTrueFalseTrue
\n", "
" ], "text/plain": [ " index csi_symbol root_symbol multiplier minor_fx_adj description exchange sector is_in_bundle ROOT_SYMBOL_TO_ETA FUTURE_EXCHANGE_FEES_BY_SYMBOL trend_following_markets time_return_markets counter_trend_markets curve_trading_markets any_market\n", "root_symbol \n", "BD NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "DJ NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "EL NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "FS NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "HU NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "MB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "MD NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "ND NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "PB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "TB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "TS NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "BL NaN NaN NaN NaN NaN NaN NaN NaN False False False True True True False True" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# I checked manually: the following are all not traded any more. They were part of the Quantopian futures offering in 2018.\n", "ldf[~ldf['is_in_bundle']]" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexcsi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectoris_in_bundleROOT_SYMBOL_TO_ETAFUTURE_EXCHANGE_FEES_BY_SYMBOLtrend_following_marketstime_return_marketscounter_trend_marketscurve_trading_marketsany_market
root_symbol
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [index, csi_symbol, root_symbol, multiplier, minor_fx_adj, description, exchange, sector, is_in_bundle, ROOT_SYMBOL_TO_ETA, FUTURE_EXCHANGE_FEES_BY_SYMBOL, trend_following_markets, time_return_markets, counter_trend_markets, curve_trading_markets, any_market]\n", "Index: []" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The zipline.finance.constants.ROOT_SYMBOL_TO_ETA and zipline.finance.constants.FUTURE_EXCHANGE_FEES_BY_SYMBOL variables agree with each other\n", "ldf[ldf['ROOT_SYMBOL_TO_ETA'] != ldf['FUTURE_EXCHANGE_FEES_BY_SYMBOL']]" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexcsi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectoris_in_bundleROOT_SYMBOL_TO_ETAFUTURE_EXCHANGE_FEES_BY_SYMBOLtrend_following_marketstime_return_marketscounter_trend_marketscurve_trading_marketsany_market
root_symbol
BDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
DJNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
ELNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
FSNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
HUNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
MBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
MDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
NDNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
PBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
TBNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
TSNaNNaNNaNNaNNaNNaNNaNNaNFalseTrueTrueFalseFalseFalseFalseFalse
BLNaNNaNNaNNaNNaNNaNNaNNaNFalseFalseFalseTrueTrueTrueFalseTrue
\n", "
" ], "text/plain": [ " index csi_symbol root_symbol multiplier minor_fx_adj description exchange sector is_in_bundle ROOT_SYMBOL_TO_ETA FUTURE_EXCHANGE_FEES_BY_SYMBOL trend_following_markets time_return_markets counter_trend_markets curve_trading_markets any_market\n", "root_symbol \n", "BD NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "DJ NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "EL NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "FS NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "HU NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "MB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "MD NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "ND NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "PB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "TB NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "TS NaN NaN NaN NaN NaN NaN NaN NaN False True True False False False False False\n", "BL NaN NaN NaN NaN NaN NaN NaN NaN False False False True True True False True" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# See above: these are the contracts that are not traded any longer\n", "ldf[pd.isnull(ldf['root_symbol'])]" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexcsi_symbolroot_symbolmultiplierminor_fx_adjdescriptionexchangesectoris_in_bundleROOT_SYMBOL_TO_ETAFUTURE_EXCHANGE_FEES_BY_SYMBOLtrend_following_marketstime_return_marketscounter_trend_marketscurve_trading_marketsany_market
root_symbol
KC0.0KC2KC37500.00.01CoffeeCSCEagriculturalTrueFalseFalseTrueTrueTrueTrueTrue
_C1.0C2_C5000.00.01CornCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
CT3.0CT2CT50000.00.01Cotton #2NYCEagriculturalTrueFalseFalseTrueTrueTrueTrueTrue
_O7.0O2_O5000.00.01Oats-CBTCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
OJ9.0OJ2OJ15000.00.01Orange JuiceNYCEagriculturalTrueFalseFalseFalseFalseTrueFalseTrue
_S11.0S2_S5000.00.01SoybeanCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
LS13.0LSULS50.01.00Sugar #5(White)EURONEXTagriculturalTrueFalseFalseTrueTrueTrueFalseTrue
_W14.0W2_W5000.00.01WheatCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
KW16.0KW2KW5000.00.01Wheat-Kansas CityKCBTagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
DA18.0DADA200000.00.01Class III MilkCMEagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
LR20.0LRCLR10.01.00Robusta Coffee New (LCE)EURONEXTagriculturalTrueFalseFalseTrueTrueTrueFalseTrue
CC23.0CC2CC10.01.00CocoaNYCEagriculturalTrueFalseFalseFalseTrueTrueFalseTrue
LO28.0LCOLO1000.01.00Brent CrudeICEnonagriculturalTrueFalseFalseFalseFalseTrueFalseTrue
RB31.0RB2RB42000.01.00Gasoline-Reformulated BlendstockNYMEXnonagriculturalTrueFalseFalseTrueTrueTrueTrueTrue
SI36.0SI2SI5000.00.01SilverCOMEXnonagriculturalTrueFalseFalseFalseFalseFalseFalseFalse
LG38.0LGOLG100.01.00Petroleum Gas OilICEnonagriculturalTrueFalseFalseTrueTrueTrueFalseTrue
CU48.0CUCU125000.01.00EUR/USDCMEcurrenciesTrueFalseFalseFalseFalseFalseFalseFalse
NE52.0NENE100000.01.00NZD/USDCMEcurrenciesTrueFalseFalseFalseFalseFalseFalseFalse
DX55.0DX2DX1000.01.00USD IndexFINEXcurrenciesTrueFalseFalseTrueTrueTrueFalseTrue
MP56.0MPMP500000.01.00MEP/USDCMEcurrenciesTrueFalseFalseFalseFalseFalseFalseFalse
TF63.0ER2TF50.01.00Russel 2000 (E-mini)CMEequitiesTrueFalseFalseFalseFalseFalseFalseFalse
TW68.0STWTW100.01.00MSCI TaiwanSGXequitiesTrueFalseFalseTrueTrueFalseFalseTrue
\n", "
" ], "text/plain": [ " index csi_symbol root_symbol multiplier minor_fx_adj description exchange sector is_in_bundle ROOT_SYMBOL_TO_ETA FUTURE_EXCHANGE_FEES_BY_SYMBOL trend_following_markets time_return_markets counter_trend_markets curve_trading_markets any_market\n", "root_symbol \n", "KC 0.0 KC2 KC 37500.0 0.01 Coffee CSCE agricultural True False False True True True True True\n", "_C 1.0 C2 _C 5000.0 0.01 Corn CBT agricultural True False False False False False False False\n", "CT 3.0 CT2 CT 50000.0 0.01 Cotton #2 NYCE agricultural True False False True True True True True\n", "_O 7.0 O2 _O 5000.0 0.01 Oats-CBT CBT agricultural True False False False False False False False\n", "OJ 9.0 OJ2 OJ 15000.0 0.01 Orange Juice NYCE agricultural True False False False False True False True\n", "_S 11.0 S2 _S 5000.0 0.01 Soybean CBT agricultural True False False False False False False False\n", "LS 13.0 LSU LS 50.0 1.00 Sugar #5(White) EURONEXT agricultural True False False True True True False True\n", "_W 14.0 W2 _W 5000.0 0.01 Wheat CBT agricultural True False False False False False False False\n", "KW 16.0 KW2 KW 5000.0 0.01 Wheat-Kansas City KCBT agricultural True False False False False False False False\n", "DA 18.0 DA DA 200000.0 0.01 Class III Milk CME agricultural True False False False False False False False\n", "LR 20.0 LRC LR 10.0 1.00 Robusta Coffee New (LCE) EURONEXT agricultural True False False True True True False True\n", "CC 23.0 CC2 CC 10.0 1.00 Cocoa NYCE agricultural True False False False True True False True\n", "LO 28.0 LCO LO 1000.0 1.00 Brent Crude ICE nonagricultural True False False False False True False True\n", "RB 31.0 RB2 RB 42000.0 1.00 Gasoline-Reformulated Blendstock NYMEX nonagricultural True False False True True True True True\n", "SI 36.0 SI2 SI 5000.0 0.01 Silver COMEX nonagricultural True False False False False False False False\n", "LG 38.0 LGO LG 100.0 1.00 Petroleum Gas Oil ICE nonagricultural True False False True True True False True\n", "CU 48.0 CU CU 125000.0 1.00 EUR/USD CME currencies True False False False False False False False\n", "NE 52.0 NE NE 100000.0 1.00 NZD/USD CME currencies True False False False False False False False\n", "DX 55.0 DX2 DX 1000.0 1.00 USD Index FINEX currencies True False False True True True False True\n", "MP 56.0 MP MP 500000.0 1.00 MEP/USD CME currencies True False False False False False False False\n", "TF 63.0 ER2 TF 50.0 1.00 Russel 2000 (E-mini) CME equities True False False False False False False False\n", "TW 68.0 STW TW 100.0 1.00 MSCI Taiwan SGX equities True False False True True False False True" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The following are the contracts that are mentioned in Andreas' books, but were not part of the Quantopian futures offering\n", "ldf[~pd.isnull(ldf['root_symbol']) & ~ldf['ROOT_SYMBOL_TO_ETA']]" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['KC',\n", " 'CN',\n", " 'CT',\n", " 'OA',\n", " 'SY',\n", " 'LS',\n", " 'WC',\n", " 'FC',\n", " 'LR',\n", " 'SM',\n", " 'SB',\n", " 'CL',\n", " 'HO',\n", " 'NG',\n", " 'RB',\n", " 'GC',\n", " 'HG',\n", " 'PA',\n", " 'PL',\n", " 'SV',\n", " 'LG',\n", " 'AD',\n", " 'BP',\n", " 'EC',\n", " 'CD',\n", " 'JY',\n", " 'NZ',\n", " 'SF',\n", " 'DX',\n", " 'ES',\n", " 'NQ',\n", " 'VX',\n", " 'YM',\n", " 'NK',\n", " 'TW',\n", " 'FV',\n", " 'ED',\n", " 'US',\n", " 'TU',\n", " 'TY']" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get all the symbols that Andreas used in his trend_following_markets strategy\n", "tfm1 = csi_futures_data.get_bundle_market_symbols('trend_following_markets')\n", "tfm1" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['AD',\n", " 'BP',\n", " 'CD',\n", " 'EC',\n", " 'DX',\n", " 'JY',\n", " 'NZ',\n", " 'SF',\n", " 'CN',\n", " 'CT',\n", " 'FC',\n", " 'KC',\n", " 'LR',\n", " 'LS',\n", " 'OA',\n", " 'SY',\n", " 'SB',\n", " 'SM',\n", " 'WC',\n", " 'BL',\n", " 'CL',\n", " 'GC',\n", " 'HG',\n", " 'HO',\n", " 'LG',\n", " 'NG',\n", " 'PA',\n", " 'PL',\n", " 'RB',\n", " 'SV',\n", " 'ES',\n", " 'NK',\n", " 'NQ',\n", " 'TW',\n", " 'VX',\n", " 'YM',\n", " 'ED',\n", " 'FV',\n", " 'TU',\n", " 'TY',\n", " 'US']" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tfm2 = csi_futures_data.trend_following_markets\n", "tfm2" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "set()" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "set(tfm1) - set(tfm2)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'BL'}" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "set(tfm2) - set(tfm1)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.12" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }