├── futures_import ├── __init__.py ├── utils.py ├── contract_chains │ ├── exchanges_to_mics.yml │ └── root_symbols.csv ├── Introduction.ipynb ├── Part3-IBKR-Data-Collection.ipynb ├── Part4-Zipline-Bundle.ipynb ├── Part1-Load-Contract-Chains.ipynb ├── Part2-Load-Historical-Data.ipynb └── historical_data │ └── CME_sample_data.csv ├── .qrignore ├── README.md └── LICENSE.txt /futures_import/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.qrignore: -------------------------------------------------------------------------------- 1 | README.md 2 | LICENSE.txt 3 | -------------------------------------------------------------------------------- /futures_import/utils.py: -------------------------------------------------------------------------------- 1 | MONTH_CODES_TO_MONTH_NUMS = { 2 | "F": 1, 3 | "G": 2, 4 | "H": 3, 5 | "J": 4, 6 | "K": 5, 7 | "M": 6, 8 | "N": 7, 9 | "Q": 8, 10 | "U": 9, 11 | "V": 10, 12 | "X": 11, 13 | "Z": 12 14 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # futures-import 2 | 3 | Tutorial for importing historical futures data from a third-party data provider and combining it with recent data from Interactive Brokers in a Zipline bundle. 4 | 5 | ## Clone in QuantRocket 6 | 7 | CLI: 8 | 9 | ```shell 10 | quantrocket codeload clone 'futures-import' 11 | ``` 12 | 13 | Python: 14 | 15 | ```python 16 | from quantrocket.codeload import clone 17 | clone("futures-import") 18 | ``` 19 | 20 | ## Browse in GitHub 21 | 22 | Start here: [futures_import/Introduction.ipynb](futures_import/Introduction.ipynb) 23 | 24 | *** 25 | 26 | Find more code in QuantRocket's [Code Library](https://www.quantrocket.com/code/) 27 | -------------------------------------------------------------------------------- /futures_import/contract_chains/exchanges_to_mics.yml: -------------------------------------------------------------------------------- 1 | BELFOX: XBRD 2 | CBOT: XCBT 3 | CDE: XMOD 4 | CFE: XCBF 5 | CME: XCME 6 | COMEX: XCEC 7 | DTB: XEUR 8 | ENDEX: NDEX 9 | EUCH: EUCH 10 | EUREX: XEUR 11 | FTA: XEUE 12 | HKFE: XHKF 13 | ICECRYPTO: IFUS 14 | ICEEU: IFLL 15 | ICEEUSOFT: IFLX 16 | ICEUS: IFUS 17 | IDEM: XDMI 18 | IFEN: IFEN 19 | IFLL: IFLL 20 | IFLX: IFLX 21 | IFUS: IFUS 22 | IPE: IFEN 23 | KSE: XKRX 24 | LMEOTC: XLME 25 | MATIF: XMAT 26 | MEFFRV: XMRV 27 | MEXDER: XEMD 28 | MONEP: XMON 29 | NDEX: NDEX 30 | NSE: XNSE 31 | NYBOT: IFUS 32 | NYMEX: XNYM 33 | NYSELIFFE: XNLI 34 | OMS: XSTO 35 | OSE.JPN: XOSE 36 | SGX: XSES 37 | SMFE: SMFE 38 | SNFE: XSFE 39 | SOFFEX: EUCH 40 | XBRD: XBRD 41 | XCBF: XCBF 42 | XCBT: XCBT 43 | XCEC: XCEC 44 | XCME: XCME 45 | XDMI: XDMI 46 | XEMD: XEMD 47 | XEUE: XEUE 48 | XEUR: XEUR 49 | XHKF: XHKF 50 | XKRX: XKRX 51 | XLME: XLME 52 | XMAT: XMAT 53 | XMOD: XMOD 54 | XMON: XMON 55 | XMRV: XMRV 56 | XNLI: XNLI 57 | XNSE: XNSE 58 | XNYM: XNYM 59 | XOSE: XOSE 60 | XSES: XSES 61 | XSFE: XSFE 62 | XSTO: XSTO 63 | -------------------------------------------------------------------------------- /futures_import/Introduction.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\"QuantRocket
\n", 8 | "Disclaimer" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "# How to Import Historical Futures Data\n", 16 | "\n", 17 | "This tutorial demonstrates how to import historical futures data from a third-party data provider and combine it with recent data from Interactive Brokers in a Zipline bundle. \n", 18 | "\n", 19 | "Importing historical data is intended as a one-time manual process, with subsequent up-to-date futures data collected by API from Interactive Brokers. Interactive Brokers provides global futures coverage but only provides historical futures data for contracts that expired less than 2 years ago. Thus, users who want to run longer backtests must import data from another source. \n", 20 | "\n", 21 | "If you do not have an Interactive Brokers account, you can omit the Interactive Brokers steps and use the imported data by itself. You will need to repeat or automate this tutorial periodically if you wish to import updated data from your data provider. \n", 22 | "\n", 23 | "Note that the tutorial is intended for importing individual futures contracts rather than continuous contracts. \n", 24 | "\n", 25 | "**Load Third-Party Historical Data**\n", 26 | "\n", 27 | "* Part 1: [Load Contract Chains](Part1-Load-Contract-Chains.ipynb)\n", 28 | "* Part 2: [Load Historical Data](Part2-Load-Historical-Data.ipynb)\n", 29 | "\n", 30 | "**Combine with Recent Interactive Brokers Data** \n", 31 | "\n", 32 | "* Part 3: [Interactive Brokers Data Collection](Part3-IBKR-Data-Collection.ipynb)\n", 33 | "* Part 4: [Zipline Bundle](Part4-Zipline-Bundle.ipynb)\n" 34 | ] 35 | } 36 | ], 37 | "metadata": { 38 | "kernelspec": { 39 | "display_name": "Python 3.11", 40 | "language": "python", 41 | "name": "python3" 42 | }, 43 | "language_info": { 44 | "codemirror_mode": { 45 | "name": "ipython", 46 | "version": 3 47 | }, 48 | "file_extension": ".py", 49 | "mimetype": "text/x-python", 50 | "name": "python", 51 | "nbconvert_exporter": "python", 52 | "pygments_lexer": "ipython3", 53 | "version": "3.11.5" 54 | } 55 | }, 56 | "nbformat": 4, 57 | "nbformat_minor": 4 58 | } 59 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. 10 | 11 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. 12 | 13 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. 14 | 15 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. 16 | 17 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. 18 | 19 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. 20 | 21 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). 22 | 23 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. 24 | 25 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." 26 | 27 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 28 | 29 | 2. Grant of Copyright License. 30 | 31 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 32 | 33 | 3. Grant of Patent License. 34 | 35 | Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 36 | 37 | 4. Redistribution. 38 | 39 | You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 40 | 41 | You must give any other recipients of the Work or Derivative Works a copy of this License; and 42 | You must cause any modified files to carry prominent notices stating that You changed the files; and 43 | You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 44 | If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. 45 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 46 | 47 | 5. Submission of Contributions. 48 | 49 | Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 50 | 51 | 6. Trademarks. 52 | 53 | This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 54 | 55 | 7. Disclaimer of Warranty. 56 | 57 | Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 58 | 59 | 8. Limitation of Liability. 60 | 61 | In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 62 | 63 | 9. Accepting Warranty or Additional Liability. 64 | 65 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. 66 | 67 | END OF TERMS AND CONDITIONS 68 | -------------------------------------------------------------------------------- /futures_import/Part3-IBKR-Data-Collection.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\"QuantRocket
\n", 8 | "Disclaimer" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "***\n", 16 | "[Import Futures](Introduction.ipynb) › Part 3: Interactive Brokers Data Collection\n", 17 | "***" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "# Interactive Brokers Data Collection\n", 25 | "\n", 26 | "We will complement the imported futures data with recent historical data from Interactive Brokers. The two data sources will be combined in a Zipline bundle in the next notebook. " 27 | ] 28 | }, 29 | { 30 | "cell_type": "markdown", 31 | "metadata": {}, 32 | "source": [ 33 | "First, start IB Gateway:" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 1, 39 | "metadata": {}, 40 | "outputs": [ 41 | { 42 | "data": { 43 | "text/plain": [ 44 | "{'ibg1': {'status': 'running'}}" 45 | ] 46 | }, 47 | "execution_count": 1, 48 | "metadata": {}, 49 | "output_type": "execute_result" 50 | } 51 | ], 52 | "source": [ 53 | "from quantrocket.ibg import start_gateways\n", 54 | "start_gateways(wait=True)" 55 | ] 56 | }, 57 | { 58 | "cell_type": "markdown", 59 | "metadata": {}, 60 | "source": [ 61 | "## Collect futures chains\n", 62 | "\n", 63 | "Next, we need to collect contract details for the IBKR futures we are interested in. For the purpose of this tutorial, we are only collecting ES futures: " 64 | ] 65 | }, 66 | { 67 | "cell_type": "code", 68 | "execution_count": 2, 69 | "metadata": {}, 70 | "outputs": [ 71 | { 72 | "data": { 73 | "text/plain": [ 74 | "{'status': 'the IBKR listing details will be collected asynchronously'}" 75 | ] 76 | }, 77 | "execution_count": 2, 78 | "metadata": {}, 79 | "output_type": "execute_result" 80 | } 81 | ], 82 | "source": [ 83 | "from quantrocket.master import collect_ibkr_listings\n", 84 | "collect_ibkr_listings(\n", 85 | " countries=\"US\",\n", 86 | " sec_types=\"FUT\",\n", 87 | " symbols=\"ES\"\n", 88 | ")" 89 | ] 90 | }, 91 | { 92 | "cell_type": "markdown", 93 | "metadata": {}, 94 | "source": [ 95 | "Monitor flightlog for completion:\n", 96 | "\n", 97 | "```\n", 98 | "quantrocket.master: INFO Collecting US FUT listings from IBKR website (ES only)\n", 99 | "quantrocket.master: INFO Requesting details for 1 US FUT listings found on IBKR website\n", 100 | "quantrocket.master: INFO Generating rollover dates for all IBKR FUT contracts\n", 101 | "quantrocket.master: INFO Saved 29 US FUT listings to securities master database\n", 102 | "quantrocket.master: INFO Building consolidated securities master from active vendors: ibkr, usstock\n", 103 | "quantrocket.master: INFO Completed building consolidated securities master with 16217 records\n", 104 | "```" 105 | ] 106 | }, 107 | { 108 | "cell_type": "markdown", 109 | "metadata": {}, 110 | "source": [ 111 | "## Define universe of futures\n", 112 | "\n", 113 | "Next we define a universe of futures for easy reference. We want to include the IBKR futures we just collected as well as the imported futures contracts. To do so, we query the futures from the securities master database:" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 3, 119 | "metadata": {}, 120 | "outputs": [], 121 | "source": [ 122 | "from quantrocket.master import get_securities\n", 123 | "contracts = get_securities(\n", 124 | " exchanges=\"CME\",\n", 125 | " sec_types=\"FUT\",\n", 126 | " symbols=\"ES\",\n", 127 | ")" 128 | ] 129 | }, 130 | { 131 | "cell_type": "markdown", 132 | "metadata": {}, 133 | "source": [ 134 | "Then upload the sids to create the \"futures\" universe:" 135 | ] 136 | }, 137 | { 138 | "cell_type": "code", 139 | "execution_count": 4, 140 | "metadata": {}, 141 | "outputs": [ 142 | { 143 | "data": { 144 | "text/plain": [ 145 | "{'code': 'futures',\n", 146 | " 'provided': 125,\n", 147 | " 'inserted': 125,\n", 148 | " 'total_after_insert': 125}" 149 | ] 150 | }, 151 | "execution_count": 4, 152 | "metadata": {}, 153 | "output_type": "execute_result" 154 | } 155 | ], 156 | "source": [ 157 | "from quantrocket.master import create_universe\n", 158 | "create_universe(\"futures\", sids=contracts.index.tolist())" 159 | ] 160 | }, 161 | { 162 | "cell_type": "markdown", 163 | "metadata": {}, 164 | "source": [ 165 | "> NOTE: You should periodically collect new contracts from IBKR and append them to your universe, as explained in the [usage guide](https://www.quantrocket.com/docs/#futures-new-contracts). This step can be automated on your countdown crontab." 166 | ] 167 | }, 168 | { 169 | "cell_type": "markdown", 170 | "metadata": {}, 171 | "source": [ 172 | "## Collect historical data\n", 173 | "\n", 174 | "Next we collect historical data for the universe we created. To do so, first create an IBKR history database tied to the 'futures' universe: " 175 | ] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": 5, 180 | "metadata": {}, 181 | "outputs": [ 182 | { 183 | "data": { 184 | "text/plain": [ 185 | "{'status': 'successfully created quantrocket.v2.history.ibkr-futures-1d.sqlite'}" 186 | ] 187 | }, 188 | "execution_count": 5, 189 | "metadata": {}, 190 | "output_type": "execute_result" 191 | } 192 | ], 193 | "source": [ 194 | "from quantrocket.history import create_ibkr_db\n", 195 | "\n", 196 | "create_ibkr_db(\n", 197 | " \"ibkr-futures-1d\",\n", 198 | " universes=\"futures\",\n", 199 | " bar_size=\"1 day\",\n", 200 | ")" 201 | ] 202 | }, 203 | { 204 | "cell_type": "markdown", 205 | "metadata": {}, 206 | "source": [ 207 | "Then collect the data:" 208 | ] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "execution_count": 6, 213 | "metadata": {}, 214 | "outputs": [ 215 | { 216 | "data": { 217 | "text/plain": [ 218 | "{'status': 'the historical data will be collected asynchronously'}" 219 | ] 220 | }, 221 | "execution_count": 6, 222 | "metadata": {}, 223 | "output_type": "execute_result" 224 | } 225 | ], 226 | "source": [ 227 | "from quantrocket.history import collect_history\n", 228 | "collect_history(\"ibkr-futures-1d\")" 229 | ] 230 | }, 231 | { 232 | "cell_type": "markdown", 233 | "metadata": {}, 234 | "source": [ 235 | "Monitor flightlog for completion:\n", 236 | "\n", 237 | "```\n", 238 | "quantrocket.history: INFO [ibkr-futures-1d] Collecting history from IBKR for 48 securities in ibkr-futures-1d\n", 239 | "...\n", 240 | "quantrocket.history: INFO [ibkr-futures-1d] Saved 6031 total records for 16 total securities to quantrocket.v2.history.ibkr-futures-1d.sqlite\n", 241 | "```\n", 242 | "\n", 243 | "You may see a warning such as the following:\n", 244 | "\n", 245 | "```\n", 246 | "quantrocket.history: WARNING Ignoring 77 of 125 securities with no ibkr_ConId field: QF000000654904, QF000000654905, QF000000654906, QF000000654907, QF000000654908 and 72 more. You must collect securities master listings from IBKR before before you can collect historical data from IBKR, see http://qrok.it/h/ibhsid for help.\n", 247 | "```\n", 248 | "\n", 249 | "This is expected and harmless, as it simply reflects that the imported futures contracts do not have the `ibkr_ConId` field populated since they did not originate from Interactive Brokers. (`ConId` stands for \"contract ID\" and is Interactive Brokers' unique security identifier.)\n", 250 | "\n", 251 | "You will also see warnings like this:\n", 252 | "\n", 253 | "```\n", 254 | "WARNING [ibkr-futures-1d] IBKR reports ESU6 FUT (sid IB81037229) cannot be found in their system, this is commonly due to a stock delisting or switching exchanges or a derivative contract expiring, see http://qrok.it/h/err/200 for more help (error code 200: No security definition has been found for the request)\n", 255 | "```\n", 256 | "\n", 257 | "This is expected due to IBKR removing futures that expired more than 2 years ago from their system." 258 | ] 259 | }, 260 | { 261 | "cell_type": "markdown", 262 | "metadata": {}, 263 | "source": [ 264 | "***\n", 265 | "\n", 266 | "## *Next Up*\n", 267 | "\n", 268 | "Part 4: [Zipline Bundle](Part4-Zipline-Bundle.ipynb)" 269 | ] 270 | } 271 | ], 272 | "metadata": { 273 | "kernelspec": { 274 | "display_name": "Python 3.11", 275 | "language": "python", 276 | "name": "python3" 277 | }, 278 | "language_info": { 279 | "codemirror_mode": { 280 | "name": "ipython", 281 | "version": 3 282 | }, 283 | "file_extension": ".py", 284 | "mimetype": "text/x-python", 285 | "name": "python", 286 | "nbconvert_exporter": "python", 287 | "pygments_lexer": "ipython3", 288 | "version": "3.11.5" 289 | } 290 | }, 291 | "nbformat": 4, 292 | "nbformat_minor": 4 293 | } 294 | -------------------------------------------------------------------------------- /futures_import/Part4-Zipline-Bundle.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\"QuantRocket
\n", 8 | "Disclaimer" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "***\n", 16 | "[Import Futures](Introduction.ipynb) › Part 4: Zipline Bundle\n", 17 | "***" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "# Zipline Bundle\n", 25 | "\n", 26 | "In this notebook, we create a Zipline bundle that ingests data from two sources: the custom database containing our imported futures data, and the IBKR database containing recent futures data. Creating a bundle is a convenient way to combine the two data sources, even if you don't intend to use Zipline. We can keep the bundle up-to-date by updating the IBKR history database and re-running the ingestion, while the imported data provides deeper historical coverage.\n" 27 | ] 28 | }, 29 | { 30 | "cell_type": "markdown", 31 | "metadata": {}, 32 | "source": [ 33 | "First, create an empty bundle using the `create_bundle_from_db` function, specifying both source databases in the `from_db` argument. Make sure to list the IBKR database first ('ibkr-futures-1d' in this example): if a SID is found in both databases, only the price history from the database listed first will be ingested. Since the IBKR database will be updated going forward, we want to give it priority.\n", 34 | "\n", 35 | "Choose a start date corresponding to the start date of your imported data. For a list of available calendars, see the [usage guide](https://www.quantrocket.com/docs/#schedule-trading-calendars)." 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 1, 41 | "metadata": {}, 42 | "outputs": [ 43 | { 44 | "data": { 45 | "text/plain": [ 46 | "{'status': 'success', 'msg': 'successfully created futures-1d-bundle bundle'}" 47 | ] 48 | }, 49 | "execution_count": 1, 50 | "metadata": {}, 51 | "output_type": "execute_result" 52 | } 53 | ], 54 | "source": [ 55 | "from quantrocket.zipline import create_bundle_from_db\n", 56 | "\n", 57 | "create_bundle_from_db(\n", 58 | " \"futures-1d-bundle\",\n", 59 | " from_db=[\n", 60 | " \"ibkr-futures-1d\",\n", 61 | " \"imported-futures-1d\",\n", 62 | " ],\n", 63 | " calendar=\"CME\",\n", 64 | " start_date=\"2000-01-02\",\n", 65 | "\n", 66 | ")" 67 | ] 68 | }, 69 | { 70 | "cell_type": "markdown", 71 | "metadata": {}, 72 | "source": [ 73 | "Next, ingest the data:" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": 2, 79 | "metadata": {}, 80 | "outputs": [ 81 | { 82 | "data": { 83 | "text/plain": [ 84 | "{'status': 'the data will be ingested asynchronously'}" 85 | ] 86 | }, 87 | "execution_count": 2, 88 | "metadata": {}, 89 | "output_type": "execute_result" 90 | } 91 | ], 92 | "source": [ 93 | "from quantrocket.zipline import ingest_bundle\n", 94 | "ingest_bundle(\"futures-1d-bundle\")" 95 | ] 96 | }, 97 | { 98 | "cell_type": "markdown", 99 | "metadata": {}, 100 | "source": [ 101 | "Monitor flightlog for completion:\n", 102 | "\n", 103 | "```\n", 104 | "quantrocket.zipline: INFO [futures-1d-bundle] Ingesting futures-1d-bundle bundle\n", 105 | "quantrocket.zipline: INFO [futures-1d-bundle] Ingested 6658 total records for 18 total securities in futures-1d-bundle bundle\n", 106 | "```" 107 | ] 108 | }, 109 | { 110 | "cell_type": "markdown", 111 | "metadata": {}, 112 | "source": [ 113 | "You can spot-check the bundle to make sure that early data from the imported history db is present: " 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 4, 119 | "metadata": {}, 120 | "outputs": [ 121 | { 122 | "data": { 123 | "text/html": [ 124 | "
\n", 125 | "\n", 138 | "\n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | "
SidQF000000654947QF000000654948
FieldDate
Close2008-09-021276.501278.00
2008-09-031275.251276.75
2008-09-041236.501238.00
2008-09-051241.001242.50
2008-09-081267.001268.50
2008-09-091226.501227.75
2008-09-101233.251234.50
2008-09-111251.001252.00
2008-09-121257.251258.50
2008-09-151195.001196.00
\n", 207 | "
" 208 | ], 209 | "text/plain": [ 210 | "Sid QF000000654947 QF000000654948\n", 211 | "Field Date \n", 212 | "Close 2008-09-02 1276.50 1278.00\n", 213 | " 2008-09-03 1275.25 1276.75\n", 214 | " 2008-09-04 1236.50 1238.00\n", 215 | " 2008-09-05 1241.00 1242.50\n", 216 | " 2008-09-08 1267.00 1268.50\n", 217 | " 2008-09-09 1226.50 1227.75\n", 218 | " 2008-09-10 1233.25 1234.50\n", 219 | " 2008-09-11 1251.00 1252.00\n", 220 | " 2008-09-12 1257.25 1258.50\n", 221 | " 2008-09-15 1195.00 1196.00" 222 | ] 223 | }, 224 | "execution_count": 4, 225 | "metadata": {}, 226 | "output_type": "execute_result" 227 | } 228 | ], 229 | "source": [ 230 | "from quantrocket import get_prices\n", 231 | "prices = get_prices(\n", 232 | " \"futures-1d-bundle\",\n", 233 | " start_date=\"2008-09-02\",\n", 234 | " end_date=\"2008-09-15\",\n", 235 | " fields=\"Close\"\n", 236 | ")\n", 237 | "prices" 238 | ] 239 | }, 240 | { 241 | "cell_type": "markdown", 242 | "metadata": {}, 243 | "source": [ 244 | "The bundle is now ready to use. To update the bundle, collect the IBKR history database again, then re-run the ingestion. Since the imported database is non-updating, no further action with it is necessary.\n", 245 | "\n", 246 | "Automatic collection can be scheduled on your crontab. For example:\n", 247 | "\n", 248 | "```bash\n", 249 | "# collect IBKR history, wait for it to finish, then re-ingest the Zipline bundle\n", 250 | "0 20 * * mon-fri quantrocket history collect 'ibkr-futures-1d' && quantrocket history wait 'ibkr-futures-1d' && quantrocket zipline ingest 'futures-1d-bundle'\n", 251 | "```\n", 252 | "\n" 253 | ] 254 | }, 255 | { 256 | "cell_type": "markdown", 257 | "metadata": {}, 258 | "source": [ 259 | "---\n", 260 | "[Back to Introduction](Introduction.ipynb) " 261 | ] 262 | } 263 | ], 264 | "metadata": { 265 | "kernelspec": { 266 | "display_name": "Python 3.11", 267 | "language": "python", 268 | "name": "python3" 269 | }, 270 | "language_info": { 271 | "codemirror_mode": { 272 | "name": "ipython", 273 | "version": 3 274 | }, 275 | "file_extension": ".py", 276 | "mimetype": "text/x-python", 277 | "name": "python", 278 | "nbconvert_exporter": "python", 279 | "pygments_lexer": "ipython3", 280 | "version": "3.11.5" 281 | } 282 | }, 283 | "nbformat": 4, 284 | "nbformat_minor": 4 285 | } 286 | -------------------------------------------------------------------------------- /futures_import/Part1-Load-Contract-Chains.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\"QuantRocket
\n", 8 | "Disclaimer" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "***\n", 16 | "[Import Futures](Introduction.ipynb) › Part 1: Load Contract Chains\n", 17 | "***" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "# Load Contract Chains\n", 25 | "\n", 26 | "QuantRocket maintains historical lists of contract chains to facilitate mapping historical futures data to QuantRocket SIDs (security IDs). This notebook shows how to obtain the list of contracts and load it into your securities master database. In the next notebook, we will query these contracts from the securities master database to map our third-party data to SIDs.\n", 27 | "\n", 28 | "## Request Historical Contract Chains\n", 29 | "\n", 30 | "The list of historical contract specifications is currently not accessible by API and should be obtained by [contacting us](https://www.quantrocket.com/?modal=contactmodal) (subscribers only, please). Upload the `contract_chains.zip` file to the current directory (`/codeload/futures_imports`) and unzip it into a subdirectory called `contract_chains` by running the following command:\n" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 1, 36 | "metadata": { 37 | "scrolled": true 38 | }, 39 | "outputs": [ 40 | { 41 | "name": "stdout", 42 | "output_type": "stream", 43 | "text": [ 44 | "Archive: contract_chains.zip\n", 45 | " inflating: contract_chains/XLME.csv \n", 46 | " inflating: contract_chains/XHKF.csv \n", 47 | " inflating: contract_chains/XEUE.csv \n", 48 | " inflating: contract_chains/XNYM.csv \n", 49 | " inflating: contract_chains/XCME.csv \n", 50 | " inflating: contract_chains/XEMD.csv \n", 51 | " inflating: contract_chains/XBRD.csv \n", 52 | " inflating: contract_chains/XMRV.csv \n", 53 | " inflating: contract_chains/XOSE.csv \n", 54 | " inflating: contract_chains/XSFE.csv \n", 55 | " inflating: contract_chains/XSES.csv \n", 56 | " inflating: contract_chains/XKRX.csv \n", 57 | " inflating: contract_chains/XNLI.csv \n", 58 | " inflating: contract_chains/XCEC.csv \n", 59 | " inflating: contract_chains/XMON.csv \n", 60 | " inflating: contract_chains/IFEN.csv \n", 61 | " inflating: contract_chains/NDEX.csv \n", 62 | " inflating: contract_chains/IFLL.csv \n", 63 | " inflating: contract_chains/IFLX.csv \n", 64 | " inflating: contract_chains/XNSE.csv \n", 65 | " inflating: contract_chains/XDMI.csv \n", 66 | " inflating: contract_chains/XMOD.csv \n", 67 | " inflating: contract_chains/root_symbols.csv \n", 68 | " inflating: contract_chains/XSTO.csv \n", 69 | " inflating: contract_chains/EUCH.csv \n", 70 | " inflating: contract_chains/XCBF.csv \n", 71 | " inflating: contract_chains/XEUR.csv \n", 72 | " inflating: contract_chains/XCBT.csv \n", 73 | " inflating: contract_chains/SMFE.csv \n", 74 | " inflating: contract_chains/XMAT.csv \n", 75 | " inflating: contract_chains/IFUS.csv \n", 76 | " inflating: contract_chains/exchanges_to_mics.yml \n" 77 | ] 78 | } 79 | ], 80 | "source": [ 81 | "! unzip -o contract_chains.zip -d contract_chains" 82 | ] 83 | }, 84 | { 85 | "cell_type": "markdown", 86 | "metadata": {}, 87 | "source": [ 88 | "The [root_symbols.csv](contract_chains/root_symbols.csv) file contains the list of available root symbols and contract specifications (but not the individual contracts with expiration dates). The `start_date` column indicates how far back the historical contract chains go (and thus how far back historical data can be imported).\n", 89 | "\n", 90 | "Lists of individual contracts with expiration dates are organized by MIC (Market Identifier Code). For example, `contract_chains/XCME.csv` contains contract chains for contracts traded on CME.\n", 91 | "\n", 92 | "The [exchanges_to_mics.yml](contract_chains/exchanges_to_mics.yml) file provides a (non-exhaustive) mapping of common exchange codes (e.g. NYMEX) to MICs (e.g. XNYM). This file is used in the next notebook to faciliate mapping the source data to SIDs and can also be used to help identify the MICs for the exchanges you're interested in.\n", 93 | "\n", 94 | "> If a contract you need is not available, or the contract chain history doesn't go back far enough, please [contact us](https://www.quantrocket.com/?modal=contactmodal) for assistance." 95 | ] 96 | }, 97 | { 98 | "cell_type": "markdown", 99 | "metadata": {}, 100 | "source": [ 101 | "## Load into Securities Master\n", 102 | "\n", 103 | "For each exchange you're interested in, load the list of contract chains into the `SecurityIBKR` and `SecuritySid` tables of the securities master database. Below, we load XCME (CME).\n", 104 | "\n", 105 | "Other than editing the code to your desired list of MICs, this code block can be run as-is:" 106 | ] 107 | }, 108 | { 109 | "cell_type": "code", 110 | "execution_count": 2, 111 | "metadata": {}, 112 | "outputs": [ 113 | { 114 | "name": "stdout", 115 | "output_type": "stream", 116 | "text": [ 117 | "loading XCME contracts\n" 118 | ] 119 | } 120 | ], 121 | "source": [ 122 | "import pandas as pd\n", 123 | "from quantrocket.db import connect_sqlite, insert_or_ignore\n", 124 | "\n", 125 | "master_db_conn = connect_sqlite(\"/var/lib/quantrocket/quantrocket.v2.master.main.sqlite\")\n", 126 | "\n", 127 | "# edit to your desired MICs, the rest of this code block can be run as-is\n", 128 | "desired_exchanges = [\n", 129 | " \"XCME\"\n", 130 | "]\n", 131 | "for exchange in desired_exchanges:\n", 132 | "\n", 133 | " print(f\"loading {exchange} contracts\")\n", 134 | " contracts = pd.read_csv(f\"contract_chains/{exchange}.csv\")\n", 135 | " insert_or_ignore(contracts, \"SecurityIBKR\", master_db_conn)\n", 136 | " insert_or_ignore(contracts[[\"Sid\"]], \"SecuritySid\", master_db_conn)\n" 137 | ] 138 | }, 139 | { 140 | "cell_type": "markdown", 141 | "metadata": {}, 142 | "source": [ 143 | "## Restart the Securities Master Service\n", 144 | "\n", 145 | "After loading the contract chains into the `SecurityIBKR` table, restart the securities master container from the host machine:\n", 146 | "\n", 147 | "```\n", 148 | "docker compose restart master\n", 149 | "```\n", 150 | "\n", 151 | "This will rebuild the database and make the newly loaded contracts queryable. You can query the root symbol to make sure the historical contract chains have been successfully loaded:" 152 | ] 153 | }, 154 | { 155 | "cell_type": "code", 156 | "execution_count": 3, 157 | "metadata": {}, 158 | "outputs": [ 159 | { 160 | "data": { 161 | "text/html": [ 162 | "
\n", 163 | "\n", 176 | "\n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | "
SymbolExchangeSecTypeNameLastTradeDate
Sid
QF000000654904ESZ97XCMEFUTE-mini S&P 5001997-12-18
QF000000654905ESH98XCMEFUTE-mini S&P 5001998-03-20
QF000000654906ESM98XCMEFUTE-mini S&P 5001998-06-19
QF000000654907ESU98XCMEFUTE-mini S&P 5001998-09-21
QF000000654908ESZ98XCMEFUTE-mini S&P 5001998-12-18
\n", 238 | "
" 239 | ], 240 | "text/plain": [ 241 | " Symbol Exchange SecType Name LastTradeDate\n", 242 | "Sid \n", 243 | "QF000000654904 ESZ97 XCME FUT E-mini S&P 500 1997-12-18\n", 244 | "QF000000654905 ESH98 XCME FUT E-mini S&P 500 1998-03-20\n", 245 | "QF000000654906 ESM98 XCME FUT E-mini S&P 500 1998-06-19\n", 246 | "QF000000654907 ESU98 XCME FUT E-mini S&P 500 1998-09-21\n", 247 | "QF000000654908 ESZ98 XCME FUT E-mini S&P 500 1998-12-18" 248 | ] 249 | }, 250 | "execution_count": 3, 251 | "metadata": {}, 252 | "output_type": "execute_result" 253 | } 254 | ], 255 | "source": [ 256 | "from quantrocket.master import get_securities\n", 257 | "contracts = get_securities(\n", 258 | " symbols=[\"ES\"],\n", 259 | " exchanges=[\"XCME\"],\n", 260 | " sec_types=\"FUT\",\n", 261 | " fields=[\"Symbol\", \"Exchange\", \"SecType\", \"Name\", \"LastTradeDate\"]\n", 262 | ")\n", 263 | "contracts.sort_values(\"LastTradeDate\").head()" 264 | ] 265 | }, 266 | { 267 | "cell_type": "markdown", 268 | "metadata": {}, 269 | "source": [ 270 | "***\n", 271 | "\n", 272 | "## *Next Up*\n", 273 | "\n", 274 | "Part 2: [Load Historical Data](Part2-Load-Historical-Data.ipynb)" 275 | ] 276 | } 277 | ], 278 | "metadata": { 279 | "kernelspec": { 280 | "display_name": "Python 3.11", 281 | "language": "python", 282 | "name": "python3" 283 | }, 284 | "language_info": { 285 | "codemirror_mode": { 286 | "name": "ipython", 287 | "version": 3 288 | }, 289 | "file_extension": ".py", 290 | "mimetype": "text/x-python", 291 | "name": "python", 292 | "nbconvert_exporter": "python", 293 | "pygments_lexer": "ipython3", 294 | "version": "3.11.5" 295 | } 296 | }, 297 | "nbformat": 4, 298 | "nbformat_minor": 4 299 | } 300 | -------------------------------------------------------------------------------- /futures_import/Part2-Load-Historical-Data.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\"QuantRocket
\n", 8 | "Disclaimer" 9 | ] 10 | }, 11 | { 12 | "cell_type": "markdown", 13 | "metadata": {}, 14 | "source": [ 15 | "***\n", 16 | "[Import Futures](Introduction.ipynb) › Part 2: Load Historical Data\n", 17 | "***" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "# Load Historical Data\n", 25 | "\n", 26 | "Now that the securities master database contains records for the historical contracts, we can import historical futures data using the general guidelines outlined in the [Custom Data](https://www.quantrocket.com/docs/#custom-data) section of the Usage Guide. If you haven't read that section, it is recommended to do so now.\n", 27 | "\n", 28 | "Depending on the volume of data you are importing, you may need to import the data into multiple smaller databases instead of one large one. For best performance, try to limit each database to a few GB of data. If you are importing end-of-day data, creating one database per exchange is likely appropriate. If you are importing intraday data, one database per root symbol (or per small group of root symbols) is more appropriate. \n", 29 | "\n", 30 | "This notebook loads end-of-day simulated sample data for ES as an example but is designed to make it easy to modify the code for more complicated scenarios. The example data is in [CME_sample_data.csv](historical_data/CME_sample_data.csv)." 31 | ] 32 | }, 33 | { 34 | "cell_type": "markdown", 35 | "metadata": {}, 36 | "source": [ 37 | "## Create custom database\n", 38 | "\n", 39 | "First, we create a custom database for the historical data. To facilitate ingestion into a Zipline bundle later, the database column names should be `Open`, `High`, `Low`, `Close`, and `Volume`. The field names in the sample CSV are different from this (they are all lowercase), but we will rename them later. Additional columns (like `OpenInterest` in this example) are optional depending on what's in your source data. " 40 | ] 41 | }, 42 | { 43 | "cell_type": "code", 44 | "execution_count": 1, 45 | "metadata": {}, 46 | "outputs": [ 47 | { 48 | "data": { 49 | "text/plain": [ 50 | "{'status': 'successfully created quantrocket.v2.history.imported-futures-1d.sqlite'}" 51 | ] 52 | }, 53 | "execution_count": 1, 54 | "metadata": {}, 55 | "output_type": "execute_result" 56 | } 57 | ], 58 | "source": [ 59 | "from quantrocket.history import create_custom_db\n", 60 | "\n", 61 | "DB_NAME = \"imported-futures-1d\" # store for later in notebook\n", 62 | "\n", 63 | "create_custom_db(DB_NAME, bar_size=\"1d\", columns={\n", 64 | " \"Open\": \"float\",\n", 65 | " \"High\": \"float\",\n", 66 | " \"Low\": \"float\",\n", 67 | " \"Close\": \"float\",\n", 68 | " \"Volume\": \"int\",\n", 69 | " \"OpenInterest\": \"int\"\n", 70 | "})" 71 | ] 72 | }, 73 | { 74 | "cell_type": "markdown", 75 | "metadata": {}, 76 | "source": [ 77 | "## Upload Historical Futures Data\n", 78 | "\n", 79 | "Next, upload your historical futures data into the `historical_data` subdirectory of this directory. This can be done through the JupyterLab interface for small amounts of data, or you can use `docker cp` from your host machine as shown below:\n", 80 | "\n", 81 | "```\n", 82 | "$ docker cp host/path/to/historical_data/. quantrocket-jupyter-1:/codeload/futures_import/historical_data/\n", 83 | "```\n", 84 | "\n", 85 | "See the [Usage Guide](https://www.quantrocket.com/docs/#custom-data-collect-custom-data) for additional notes about `docker cp`.\n" 86 | ] 87 | }, 88 | { 89 | "cell_type": "markdown", 90 | "metadata": {}, 91 | "source": [ 92 | "## Map Symbols to Sids\n", 93 | "\n", 94 | "Next, we need to map the symbols in your historical data to QuantRocket SIDs. This is typically the most cumbersome step in the import process, and the exact steps will vary depending on the format of your data. \n", 95 | "\n", 96 | "The goal of this step is to generate a Python dictionary mapping symbols in the source data to QuantRocket SIDs. In a subsequent step, we will use this dictionary to append sids to the historical source data as we import it into the custom database created above.\n", 97 | "\n", 98 | "If you have a master list of individual contract specifications from your data provider, you can use it to create the mapping. In this example, we don't have a master list and will extract the futures symbols from the price data files.\n", 99 | "\n", 100 | "First, we initialize the mapping dictionary. The keys will be tuples of (MIC, symbol) and the values will be sids. Once we've populated the dictionary, it will look something like this:\n", 101 | "\n", 102 | "```python\n", 103 | "{\n", 104 | " ('XCME', 'ESU08'): 'QF000000654947', \n", 105 | " ('XCME', 'ESZ08'): 'QF000000654948',\n", 106 | " ...\n", 107 | "}\n", 108 | "```" 109 | ] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "execution_count": 2, 114 | "metadata": {}, 115 | "outputs": [], 116 | "source": [ 117 | "# map of (MIC, symbol): sid\n", 118 | "mic_and_symbol_to_sid = {\n", 119 | "}" 120 | ] 121 | }, 122 | { 123 | "cell_type": "markdown", 124 | "metadata": {}, 125 | "source": [ 126 | "Next, we interactively match the symbols in the source data to contracts in the securities master database.\n", 127 | "\n", 128 | "Two utility files will help with the mapping process. The [`codeload.futures_import.utils`](utils.py) module provides a `MONTH_CODES_TO_MONTH_NUMS` dictionary that maps futures month codes to the corresponding month nums, for example U is mapped to 9 (September). The [exchanges_to_mics.yml](contract_chains/exchanges_to_mics.yml) YAML file contains a dictionary mapping common exchange codes to the corresponding MIC (for example, NYMEX -> XNYM). If any of the exchange codes used by your data provider are not in this YAML file, you should add them. (The `DataMapper` class, below, will raise an exception to remind you if this is the case.)" 129 | ] 130 | }, 131 | { 132 | "cell_type": "code", 133 | "execution_count": 3, 134 | "metadata": {}, 135 | "outputs": [], 136 | "source": [ 137 | "from codeload.futures_import.utils import MONTH_CODES_TO_MONTH_NUMS\n", 138 | "import yaml\n", 139 | "\n", 140 | "with open(\"contract_chains/exchanges_to_mics.yml\") as f:\n", 141 | " EXCHANGES_TO_MICS = yaml.safe_load(f)" 142 | ] 143 | }, 144 | { 145 | "cell_type": "markdown", 146 | "metadata": {}, 147 | "source": [ 148 | "The following `DataMapper` class can be used as a template for performing the interactive mapping. You would need to modify this class based on the format of your data.\n", 149 | "\n", 150 | "A description of the class's methods follows:\n", 151 | "\n", 152 | "**`run()`**\n", 153 | "\n", 154 | "This is the main entry point. It does the following:\n", 155 | "* calls `load_source_files()`, which returns a tuple of the MIC and DataFrame contents of each source file\n", 156 | "* calls `load_contracts_for_mic()`, which loads contracts from the securities master database for the current MIC\n", 157 | "* iterates through the unique symbols in the source data and calls `map_symbol()` for each. The `map_symbol()` method chooses the matching contract from the securities master database and associates its SID with the symbol.\n", 158 | "\n", 159 | "You may not need to modify this method.\n", 160 | "\n", 161 | "**`load_source_files()`**\n", 162 | "\n", 163 | "This method iterates through the source files, and for each one, returns the MIC and the DataFrame content from the source file. In this example, the exchange is extracted from the filename and the corresponding MIC is looked up in `EXCHANGES_TO_MICS`. You will likely need to modify this method to conform to your source data.\n", 164 | "\n", 165 | "**`load_contracts_for_mic()`**\n", 166 | "\n", 167 | "This methods load contracts from the securities master database for the specified MIC. You shouldn't need to modify this method.\n", 168 | "\n", 169 | "**`map_symbol()`**\n", 170 | "\n", 171 | "This method parses the symbol into a root symbol and contract month and selects the corresponding record from the contracts DataFrame that was loaded from the securities master database. You will likely need to modify this method to conform to your source data.\n", 172 | "\n", 173 | "### Potential Gotchas\n", 174 | "\n", 175 | "Note the following potential gotchas when importing futures data:\n", 176 | "\n", 177 | "* For some contracts, such as Crude Oil (CL), the last trade date (`ibkr_LastTradeDate`) occurs in the month preceding the contract month (`ibkr_ContractMonth`). Be aware of this when choosing which field to match on. When the contract symbol includes a month code and year (e.g. `ESU08`), this generally should be matched to `ibkr_ContractMonth`, not the month and year of `ibkr_LastTradeDate`. This is what the `DataMapper` class does.\n", 178 | "* `ibkr_Symbol` is the root symbol as stored in IBKR's system, which sometimes differs from the root symbol used by the exchange. The root symbol as used by the exchange can be found in the `ibkr_TradingClass` field. For this reason, it's generally better to match on `ibkr_TradingClass` rather than `ibkr_Symbol`. This is what the `DataMapper` class does." 179 | ] 180 | }, 181 | { 182 | "cell_type": "code", 183 | "execution_count": 4, 184 | "metadata": {}, 185 | "outputs": [], 186 | "source": [ 187 | "import os\n", 188 | "import glob\n", 189 | "import pandas as pd\n", 190 | "from IPython.display import clear_output\n", 191 | "from quantrocket.master import get_securities\n", 192 | "\n", 193 | "# If a root symbol in the source file doesn't match the ibkr_TradingClass in\n", 194 | "# the securities master database, you can manually add the mapping here\n", 195 | "ROOT_SYMBOL_TO_IBKR_TRADING_CLASS = {\n", 196 | " # data file root symbol: securities master ibkr_TradingClass\n", 197 | " # for example:\n", 198 | " # \"E6\": \"6E\",\n", 199 | "}\n", 200 | "\n", 201 | "SYMBOL_FIELDNAME = \"symbol\" # the name of the field in the CSV files that contains the symbol\n", 202 | "\n", 203 | "class DataMapper:\n", 204 | "\n", 205 | " def run(self):\n", 206 | " \"\"\"\n", 207 | " This is the main method that calls all the other methods.\n", 208 | " \"\"\"\n", 209 | "\n", 210 | " for mic, data in self.load_source_files():\n", 211 | "\n", 212 | " contracts = self.load_contracts_for_mic(mic)\n", 213 | "\n", 214 | " symbols = data[SYMBOL_FIELDNAME].unique()\n", 215 | "\n", 216 | " for symbol in symbols:\n", 217 | "\n", 218 | " # Skip if already mapped\n", 219 | " if (mic, symbol) in mic_and_symbol_to_sid:\n", 220 | " continue\n", 221 | "\n", 222 | " self.map_symbol(mic, symbol, contracts)\n", 223 | "\n", 224 | " def load_source_files(self):\n", 225 | " \"\"\"\n", 226 | " Load source files and return a generator of tuples of\n", 227 | " the form (mic, data).\n", 228 | "\n", 229 | " Returns\n", 230 | " -------\n", 231 | " tuple of str and DataFrame\n", 232 | " The MIC and DataFrame content of each source file.\n", 233 | " \"\"\"\n", 234 | " # Get a list of all CSV files in the historical_data directory\n", 235 | " filepaths = glob.glob(\"historical_data/*.csv\")\n", 236 | "\n", 237 | " for filepath in filepaths:\n", 238 | "\n", 239 | " filename = os.path.basename(filepath)\n", 240 | "\n", 241 | " # In the example files, the exchange is the first part of\n", 242 | " # the filename; extract it\n", 243 | " exchange = filename.split(\"_\")[0]\n", 244 | "\n", 245 | " if exchange not in EXCHANGES_TO_MICS:\n", 246 | " raise ValueError(\n", 247 | " f\"Exchange {exchange} not found in EXCHANGES_TO_MICS, please add it\")\n", 248 | "\n", 249 | " mic = EXCHANGES_TO_MICS[exchange]\n", 250 | "\n", 251 | " # Load the CSV file into a DataFrame\n", 252 | " data = pd.read_csv(filepath)\n", 253 | "\n", 254 | " yield mic, data\n", 255 | "\n", 256 | " def load_contracts_for_mic(self, mic):\n", 257 | " \"\"\"\n", 258 | " Return a DataFrame of contracts from the securities master database\n", 259 | " for the specified MIC.\n", 260 | "\n", 261 | " Parameters\n", 262 | " ----------\n", 263 | " mic : str\n", 264 | " The MIC to load contracts for.\n", 265 | "\n", 266 | " Returns\n", 267 | " -------\n", 268 | " DataFrame\n", 269 | " The contracts.\n", 270 | " \"\"\"\n", 271 | " contracts = get_securities(\n", 272 | " exchanges=mic,\n", 273 | " sec_types=\"FUT\",\n", 274 | " fields=[\n", 275 | " \"ibkr_LocalSymbol\", # e.g. ESU8 or ESU08 (year may be 1 digit or 2 digits)\n", 276 | " \"ibkr_TradingClass\", # e.g. ES\n", 277 | " \"ibkr_ContractMonth\", # e.g. 200809\n", 278 | " \"ibkr_LastTradeDate\", # e.g. 2008-09-16\n", 279 | " \"ibkr_LongName\", # e.g. E-mini S&P 500\n", 280 | " ]\n", 281 | " ).sort_values(\"ibkr_LastTradeDate\")\n", 282 | " return contracts\n", 283 | "\n", 284 | " def map_symbol(self, mic, symbol, contracts):\n", 285 | " \"\"\"\n", 286 | " Map the symbol from the source files to the QuantRocket SID and\n", 287 | " store the mapping in the mic_and_symbol_to_sid dictionary. Obtain\n", 288 | " user confirmation of the mapping.\n", 289 | "\n", 290 | " Parameters\n", 291 | " ----------\n", 292 | " mic : str\n", 293 | " The MIC of the symbol.\n", 294 | "\n", 295 | " symbol : str\n", 296 | " The symbol from the source file. E.g. ESU08.\n", 297 | "\n", 298 | " contracts : DataFrame\n", 299 | " The contracts from the securities master database for this MIC.\n", 300 | "\n", 301 | " Returns\n", 302 | " -------\n", 303 | " None\n", 304 | " \"\"\"\n", 305 | " # Extract the root symbol from contract symbol (= everything but\n", 306 | " # last 3 characters)\n", 307 | " root_symbol = symbol[:-3]\n", 308 | "\n", 309 | " # respect manual mappings\n", 310 | " if root_symbol in ROOT_SYMBOL_TO_IBKR_TRADING_CLASS:\n", 311 | " root_symbol = ROOT_SYMBOL_TO_IBKR_TRADING_CLASS[root_symbol]\n", 312 | "\n", 313 | " # Extract the month code from the contract symbol (= 3rd to last\n", 314 | " # character)\n", 315 | " month_code = symbol[-3]\n", 316 | " # look up month num from month code\n", 317 | " month_num = MONTH_CODES_TO_MONTH_NUMS[month_code]\n", 318 | " # pad month_num: 1 -> 01\n", 319 | " month = str(month_num).zfill(2)\n", 320 | "\n", 321 | " # Extract the 2-digit year from the contract symbol (= last 2\n", 322 | " # characters)\n", 323 | " two_digit_year = symbol[-2:]\n", 324 | " # prefix two_digit_year with century 19 or 20\n", 325 | " if int(two_digit_year) < 50:\n", 326 | " year = \"20\" + two_digit_year\n", 327 | " else:\n", 328 | " year = \"19\" + two_digit_year\n", 329 | "\n", 330 | " contract_month = int(year + month)\n", 331 | "\n", 332 | " # Match on root symbol and contract month\n", 333 | " matching_contracts = contracts[\n", 334 | " (contracts.ibkr_TradingClass == root_symbol)\n", 335 | " &\n", 336 | " (contracts.ibkr_ContractMonth == contract_month)\n", 337 | " ]\n", 338 | "\n", 339 | " if matching_contracts.empty:\n", 340 | " raise ValueError(\n", 341 | " f\"No matching contracts found for {mic} symbol {symbol}, you can run \"\n", 342 | " f\"DataMapper().load_contracts_for_mic('{mic}') to see the available contracts \"\n", 343 | " \"for this mic\")\n", 344 | "\n", 345 | " # if there is exactly one match, show it and ask for confirmation\n", 346 | " if len(matching_contracts) == 1:\n", 347 | " match = matching_contracts.reset_index().iloc[0]\n", 348 | " print(f\"found 1 matching sid for {mic} symbol {symbol}\\n\")\n", 349 | " print(match.to_string())\n", 350 | " answer = input(f\"assign this sid to this symbol? y/n\")\n", 351 | " if answer != \"y\":\n", 352 | " raise KeyboardInterrupt(\"You entered something other than y\")\n", 353 | " sid = match.Sid\n", 354 | "\n", 355 | " # if there are multiple matches, show them and ask user to select\n", 356 | " else:\n", 357 | " print(f\"found {len(matching_contracts)} matching sids for {mic} symbol {symbol}\\n\")\n", 358 | " print(matching_contracts.to_string())\n", 359 | " sid = input(f\"enter the sid to assign to this symbol\")\n", 360 | " if sid not in matching_contracts.index:\n", 361 | " raise KeyboardInterrupt(f\"{sid} is not one of the matching sids\")\n", 362 | "\n", 363 | " mic_and_symbol_to_sid[(mic, symbol)] = sid\n", 364 | "\n", 365 | " clear_output()" 366 | ] 367 | }, 368 | { 369 | "cell_type": "markdown", 370 | "metadata": {}, 371 | "source": [ 372 | "The `DataMapper` class can now be run. Since the class doesn't modify any files or databases but simply populates the `mic_and_symbol_to_sid` dictionary, it is safe to run the class over and over while working through issues. The `run()` method will skip any symbols that you have already mapped. To completely start over, re-run the cell that instantiates the `mic_and_symbol_to_sid` dictionary to clear its contents. " 373 | ] 374 | }, 375 | { 376 | "cell_type": "code", 377 | "execution_count": 5, 378 | "metadata": {}, 379 | "outputs": [], 380 | "source": [ 381 | "DataMapper().run()" 382 | ] 383 | }, 384 | { 385 | "cell_type": "markdown", 386 | "metadata": {}, 387 | "source": [ 388 | "The `mic_and_symbol_to_sid` dictionary should now be populated:" 389 | ] 390 | }, 391 | { 392 | "cell_type": "code", 393 | "execution_count": 6, 394 | "metadata": {}, 395 | "outputs": [ 396 | { 397 | "data": { 398 | "text/plain": [ 399 | "{('XCME', 'ESU08'): 'QF000000654947', ('XCME', 'ESZ08'): 'QF000000654948'}" 400 | ] 401 | }, 402 | "execution_count": 6, 403 | "metadata": {}, 404 | "output_type": "execute_result" 405 | } 406 | ], 407 | "source": [ 408 | "mic_and_symbol_to_sid" 409 | ] 410 | }, 411 | { 412 | "cell_type": "markdown", 413 | "metadata": {}, 414 | "source": [ 415 | "## Load Data into Custom Database\n", 416 | "\n", 417 | "Now that we have created the mapping of symbols to SIDs, we are ready to load the data into the database.\n", 418 | "\n", 419 | "The following `DataLoader` class provides a template for performing the loading.\n", 420 | "\n", 421 | "A description of the class's methods follows:\n", 422 | "\n", 423 | "**`run()`**\n", 424 | "\n", 425 | "This is the main entry point. It does the following:\n", 426 | "* calls `load_source_files()`, which returns the MIC and the DataFrame contents from each source file. (`DataLoader` inherits from `DataMapper` to be able to re-use this method from the parent class.)\n", 427 | "* adds a `Sid` column to the DataFrame and assigns the correct SID for each symbol, as defined in the `mic_and_symbol_to_sid` dictionary from earlier.\n", 428 | "* further prepares the DataFrame by renaming columns, parsing the date column, and dropping unneeded columns\n", 429 | "* inserts the DataFrame into the database\n", 430 | "\n", 431 | "You may not need to modify this method.\n", 432 | " \n", 433 | "**`prepare_data()`**\n", 434 | "\n", 435 | "This method renames source columns to match the expected column names in the custom database, parses the date column, and drops unneeded columns. You will likely need to modify this method to conform to your source data." 436 | ] 437 | }, 438 | { 439 | "cell_type": "code", 440 | "execution_count": 7, 441 | "metadata": {}, 442 | "outputs": [], 443 | "source": [ 444 | "from quantrocket.db import connect_sqlite, insert_or_replace, list_databases\n", 445 | "\n", 446 | "# look up the custom database path and open a SQLite connection to it\n", 447 | "db_path = list_databases(\n", 448 | " services=\"history\",\n", 449 | " codes=DB_NAME,\n", 450 | " detail=True)[\"sqlite\"][0][\"path\"]\n", 451 | "\n", 452 | "db_conn = connect_sqlite(db_path)\n", 453 | "\n", 454 | "class DataLoader(DataMapper):\n", 455 | "\n", 456 | " def run(self):\n", 457 | " \"\"\"\n", 458 | " Load each source file, append the sids from mic_and_symbol_to_sid,\n", 459 | " and insert the data into the custom database.\n", 460 | " \"\"\"\n", 461 | " for mic, data in self.load_source_files():\n", 462 | "\n", 463 | " symbols = data[SYMBOL_FIELDNAME].unique()\n", 464 | " data[\"Sid\"] = None\n", 465 | "\n", 466 | " for symbol in symbols:\n", 467 | " # lookup sid for symbol and set it in DataFrame\n", 468 | " sid = mic_and_symbol_to_sid[(mic, symbol)]\n", 469 | " data.loc[data[SYMBOL_FIELDNAME] == symbol, \"Sid\"] = sid\n", 470 | "\n", 471 | " # further data prep\n", 472 | " data = self.prepare_data(data)\n", 473 | "\n", 474 | " # get user confirmation that everything looks okay\n", 475 | " print(data.head().to_string())\n", 476 | " answer = input(f\"look okay to insert {len(data)} records? y/n\")\n", 477 | " if answer != \"y\":\n", 478 | " raise KeyboardInterrupt(\"You entered something other than y\")\n", 479 | "\n", 480 | " insert_or_replace(data, \"Price\", db_conn)\n", 481 | "\n", 482 | " clear_output()\n", 483 | "\n", 484 | " def prepare_data(self, data):\n", 485 | " \"\"\"\n", 486 | " Perform data prep as discussed in the 'Prepare custom data' section of the\n", 487 | " usage guide: https://www.quantrocket.com/docs/#custom-data-prepare-custom-data\n", 488 | "\n", 489 | " Specifically:\n", 490 | "\n", 491 | " - rename columns\n", 492 | " - parse date column\n", 493 | " - drop extraneous columns\n", 494 | "\n", 495 | " Parameters\n", 496 | " ----------\n", 497 | " data : DataFrame\n", 498 | " The data to prepare.\n", 499 | "\n", 500 | " Returns\n", 501 | " -------\n", 502 | " DataFrame\n", 503 | " The prepared data.\n", 504 | " \"\"\"\n", 505 | "\n", 506 | " # rename columns\n", 507 | " data = data.rename(columns={\n", 508 | " # source file column name: custom database column name\n", 509 | " \"date\": \"Date\",\n", 510 | " \"open\": \"Open\",\n", 511 | " \"high\": \"High\",\n", 512 | " \"low\": \"Low\",\n", 513 | " \"close\": \"Close\",\n", 514 | " \"volume\": \"Volume\",\n", 515 | " \"open_interest\": \"OpenInterest\",\n", 516 | " })\n", 517 | "\n", 518 | " # parse date column (if intraday, include a timezone as shown in the\n", 519 | " # usage guide)\n", 520 | " data[\"Date\"] = pd.to_datetime(data[\"Date\"])\n", 521 | "\n", 522 | " # the symbol column is no longer needed\n", 523 | " data = data.drop(SYMBOL_FIELDNAME, axis=1)\n", 524 | "\n", 525 | " return data" 526 | ] 527 | }, 528 | { 529 | "cell_type": "markdown", 530 | "metadata": {}, 531 | "source": [ 532 | "We can now run the `DataLoader` and insert the data into the database:" 533 | ] 534 | }, 535 | { 536 | "cell_type": "code", 537 | "execution_count": 8, 538 | "metadata": {}, 539 | "outputs": [ 540 | { 541 | "name": "stdout", 542 | "output_type": "stream", 543 | "text": [ 544 | " Date Open High Low Close Volume OpenInterest Sid\n", 545 | "0 2008-09-18 1163.75 1213.25 1133.00 1198.25 6013113 2380251 QF000000654947\n", 546 | "1 2008-09-17 1215.50 1227.75 1154.50 1160.75 5915836 3490395 QF000000654947\n", 547 | "2 2008-09-16 1196.75 1219.00 1161.75 1214.25 6078506 3205598 QF000000654947\n", 548 | "3 2008-09-15 1230.25 1237.75 1194.50 1195.00 5191192 3050694 QF000000654947\n", 549 | "4 2008-09-12 1251.00 1257.75 1233.50 1257.25 3648404 2809352 QF000000654947\n" 550 | ] 551 | }, 552 | { 553 | "name": "stdout", 554 | "output_type": "stream", 555 | "text": [ 556 | "look okay to insert 627 records? y/n y\n" 557 | ] 558 | } 559 | ], 560 | "source": [ 561 | "DataLoader().run()" 562 | ] 563 | }, 564 | { 565 | "cell_type": "markdown", 566 | "metadata": {}, 567 | "source": [ 568 | "***\n", 569 | "\n", 570 | "## *Next Up*\n", 571 | "\n", 572 | "Part 3: [Interactive Brokers Data Collection](Part3-IBKR-Data-Collection.ipynb)" 573 | ] 574 | } 575 | ], 576 | "metadata": { 577 | "kernelspec": { 578 | "display_name": "Python 3.11", 579 | "language": "python", 580 | "name": "python3" 581 | }, 582 | "language_info": { 583 | "codemirror_mode": { 584 | "name": "ipython", 585 | "version": 3 586 | }, 587 | "file_extension": ".py", 588 | "mimetype": "text/x-python", 589 | "name": "python", 590 | "nbconvert_exporter": "python", 591 | "pygments_lexer": "ipython3", 592 | "version": "3.11.5" 593 | } 594 | }, 595 | "nbformat": 4, 596 | "nbformat_minor": 4 597 | } 598 | -------------------------------------------------------------------------------- /futures_import/historical_data/CME_sample_data.csv: -------------------------------------------------------------------------------- 1 | symbol,date,open,high,low,close,volume,open_interest 2 | ESU08,09/18/2008,1273.75,1323.25,1243.0,1308.25,6013223,2380361 3 | ESU08,09/17/2008,1325.5,1337.75,1264.5,1270.75,5915946,3490505 4 | ESU08,09/16/2008,1306.75,1329.0,1271.75,1324.25,6078616,3205708 5 | ESU08,09/15/2008,1340.25,1347.75,1304.5,1305.0,5191302,3050804 6 | ESU08,09/12/2008,1361.0,1367.75,1343.5,1367.25,3648514,2809462 7 | ESU08,09/11/2008,1342.25,1362.75,1321.25,1361.0,4145205,2739328 8 | ESU08,09/10/2008,1338.0,1354.75,1330.25,1343.25,3267955,2573257 9 | ESU08,09/09/2008,1377.0,1385.0,1333.5,1336.5,3511803,2584490 10 | ESU08,09/08/2008,1373.5,1392.0,1356.75,1377.0,3333353,2533550 11 | ESU08,09/05/2008,1346.5,1355.25,1326.5,1351.0,3016691,2461589 12 | ESU08,09/04/2008,1385.5,1387.0,1345.0,1346.5,2879958,2461572 13 | ESU08,09/03/2008,1386.25,1391.0,1375.25,1385.25,2191428,2451668 14 | ESU08,09/02/2008,1392.0,1413.5,1381.5,1386.5,2307061,2459927 15 | ESU08,08/29/2008,1407.0,1408.0,1391.5,1392.5,1363496,2431595 16 | ESU08,08/28/2008,1391.75,1410.0,1385.5,1408.0,1529544,2457631 17 | ESU08,08/27/2008,1381.5,1395.25,1375.5,1392.0,1467894,2431112 18 | ESU08,08/26/2008,1376.75,1385.75,1372.5,1381.75,1494188,2445030 19 | ESU08,08/25/2008,1401.0,1402.25,1374.25,1376.5,1643724,2458453 20 | ESU08,08/22/2008,1385.25,1404.0,1381.5,1402.25,1386150,2444890 21 | ESU08,08/21/2008,1383.75,1391.75,1373.25,1385.5,1605250,2471572 22 | ESU08,08/20/2008,1378.0,1386.75,1370.5,1383.75,1776403,2450449 23 | ESU08,08/19/2008,1392.0,1393.0,1372.75,1378.5,1719522,2480227 24 | ESU08,08/18/2008,1409.5,1416.0,1384.0,1392.0,1704377,2436259 25 | ESU08,08/15/2008,1403.5,1412.5,1400.5,1409.75,1477150,2417382 26 | ESU08,08/14/2008,1394.75,1410.75,1385.25,1403.75,1887551,2452654 27 | ESU08,08/13/2008,1401.25,1404.5,1384.5,1394.5,2187873,2462142 28 | ESU08,08/12/2008,1413.75,1417.75,1395.25,1401.5,1747395,2464302 29 | ESU08,08/11/2008,1401.5,1423.5,1398.0,1415.0,2101714,2497873 30 | ESU08,08/08/2008,1378.0,1408.0,1372.0,1402.25,2181712,2548147 31 | ESU08,08/07/2008,1398.25,1399.0,1373.5,1378.0,1999790,2517197 32 | ESU08,08/06/2008,1392.75,1401.75,1385.25,1397.75,1734213,2485848 33 | ESU08,08/05/2008,1359.25,1394.5,1357.25,1393.0,2004869,2493001 34 | ESU08,08/04/2008,1371.25,1373.25,1356.25,1358.75,1523855,2500896 35 | ESU08,08/01/2008,1376.5,1385.0,1363.0,1370.25,1865967,2466548 36 | ESU08,07/31/2008,1394.5,1400.0,1375.0,1377.0,2334436,2488909 37 | ESU08,07/30/2008,1371.5,1395.0,1369.75,1394.75,2351700,2475353 38 | ESU08,07/29/2008,1344.75,1373.25,1341.5,1371.75,2098918,2488168 39 | ESU08,07/28/2008,1365.25,1370.0,1343.0,1345.0,1622137,2469176 40 | ESU08,07/25/2008,1363.25,1372.75,1359.25,1363.75,1616780,2401416 41 | ESU08,07/24/2008,1391.25,1395.0,1361.0,1363.75,1992799,2429047 42 | ESU08,07/23/2008,1385.0,1401.25,1382.75,1392.5,2131947,2400744 43 | ESU08,07/22/2008,1368.0,1388.0,1357.25,1384.25,2108089,2435374 44 | ESU08,07/21/2008,1369.25,1379.0,1365.0,1371.5,1537090,2429736 45 | ESU08,07/18/2008,1360.25,1373.0,1351.0,1370.5,1926102,2449494 46 | ESU08,07/17/2008,1350.0,1373.0,1348.0,1363.5,2897897,2530778 47 | ESU08,07/16/2008,1322.75,1356.25,1312.5,1351.0,2896617,2512078 48 | ESU08,07/15/2008,1339.0,1345.75,1310.75,1321.5,3670359,2551249 49 | ESU08,07/14/2008,1350.0,1370.5,1334.75,1338.25,2666736,2484352 50 | ESU08,07/11/2008,1364.75,1371.75,1335.5,1349.75,3254369,2455027 51 | ESU08,07/10/2008,1359.0,1369.25,1347.0,1364.5,3040155,2392694 52 | ESU08,07/09/2008,1384.5,1388.75,1354.75,1358.0,2407210,2350923 53 | ESU08,07/08/2008,1362.0,1385.75,1346.5,1383.75,2753156,2305736 54 | ESU08,07/07/2008,1368.5,1385.0,1350.75,1361.75,2582813,2295501 55 | ESU08,07/03/2008,1373.5,1383.75,1361.75,1375.0,1848651,2256649 56 | ESU08,07/02/2008,1396.25,1404.75,1371.0,1372.75,2434191,2181596 57 | ESU08,07/01/2008,1393.0,1396.75,1371.0,1396.25,3205711,2128233 58 | ESU08,06/30/2008,1391.75,1402.0,1385.25,1391.0,2170134,2063096 59 | ESU08,06/27/2008,1395.0,1401.75,1382.75,1390.0,2340463,2034347 60 | ESU08,06/26/2008,1432.25,1432.25,1393.0,1394.5,2651560,1999401 61 | ESU08,06/25/2008,1425.0,1447.75,1424.5,1432.5,2072798,1912010 62 | ESU08,06/24/2008,1427.75,1438.0,1415.25,1425.5,2122744,1945750 63 | ESU08,06/23/2008,1430.75,1437.75,1426.25,1428.25,1453910,1900083 64 | ESU08,06/20/2008,1452.5,1453.5,1425.25,1429.0,2323464,1878725 65 | ESU08,06/19/2008,1448.75,1459.75,1442.25,1451.5,2356396,1868410 66 | ESU08,06/18/2008,1462.75,1465.5,1444.5,1448.75,2732084,2812193 67 | ESU08,06/17/2008,1470.25,1482.0,1461.25,1463.0,2542668,2863046 68 | ESU08,06/16/2008,1469.0,1477.5,1461.5,1470.0,2260083,2619908 69 | ESU08,06/13/2008,1453.0,1473.5,1449.0,1469.75,2780594,2655239 70 | ESU08,06/12/2008,1447.0,1465.5,1443.25,1453.25,3090255,2681065 71 | ESU08,06/11/2008,1467.75,1475.25,1447.25,1448.0,2942579,2570800 72 | ESU08,06/10/2008,1474.0,1479.5,1459.5,1468.5,2361515,2459095 73 | ESU08,06/09/2008,1471.0,1483.25,1462.5,1475.5,2217468,2450450 74 | ESU08,06/06/2008,1517.75,1524.0,1470.25,1471.25,2844636,2464350 75 | ESU08,06/05/2008,1488.5,1517.75,1487.75,1517.25,2018540,2365904 76 | ESU08,06/04/2008,1489.5,1500.25,1483.0,1489.25,2110071,2361462 77 | ESU08,06/03/2008,1496.5,1505.0,1481.25,1490.25,2207987,2348971 78 | ESU08,06/02/2008,1512.25,1512.25,1489.25,1497.0,1736592,2290519 79 | ESU08,05/30/2008,1511.25,1516.5,1506.75,1512.25,1188784,2254910 80 | ESU08,05/29/2008,1502.0,1518.5,1499.0,1509.5,1735946,2295267 81 | ESU08,05/28/2008,1496.5,1504.75,1489.75,1503.25,1714136,2295098 82 | ESU08,05/27/2008,1486.75,1499.25,1482.5,1496.5,1582900,2290378 83 | ESU08,05/23/2008,1504.75,1506.25,1484.25,1485.0,1529219,2283559 84 | ESU08,05/22/2008,1504.5,1510.75,1502.25,1504.75,1735426,2258129 85 | ESU08,05/21/2008,1527.75,1532.5,1499.75,1504.5,2387075,2270953 86 | ESU08,05/20/2008,1540.5,1540.5,1520.75,1529.0,1879644,2225332 87 | ESU08,05/19/2008,1535.5,1552.25,1533.5,1541.5,1799879,2206872 88 | ESU08,05/16/2008,1537.0,1540.75,1526.5,1537.5,1794362,2176270 89 | ESU08,05/15/2008,1519.0,1537.0,1518.75,1536.5,1749145,2159629 90 | ESU08,05/14/2008,1517.25,1533.0,1511.25,1519.75,1750454,2130662 91 | ESU08,05/13/2008,1516.0,1521.75,1508.5,1516.5,1530794,2129314 92 | ESU08,05/12/2008,1501.75,1516.25,1498.0,1516.25,1573953,2122129 93 | ESU08,05/09/2008,1502.25,1504.25,1493.75,1500.5,1628514,2103063 94 | ESU08,05/08/2008,1506.25,1514.0,1501.0,1503.5,1706898,2084738 95 | ESU08,05/07/2008,1533.5,1535.25,1502.0,1507.0,1948192,2127574 96 | ESU08,05/06/2008,1520.5,1533.5,1509.0,1532.5,1893445,2117708 97 | ESU08,05/05/2008,1524.0,1527.25,1512.5,1520.0,1258088,2088459 98 | ESU08,05/02/2008,1523.75,1538.25,1518.25,1527.5,1925749,2089664 99 | ESU08,05/01/2008,1494.0,1524.0,1494.0,1523.5,1906910,2089310 100 | ESU08,04/30/2008,1500.5,1518.25,1495.5,1497.75,1919005,2090317 101 | ESU08,04/29/2008,1509.5,1510.5,1499.25,1503.25,1454112,2070628 102 | ESU08,04/28/2008,1511.0,1516.5,1506.5,1509.75,1157027,2075574 103 | ESU08,04/25/2008,1496.25,1512.5,1493.0,1509.25,1570309,2085293 104 | ESU08,04/24/2008,1495.25,1511.0,1481.0,1498.0,2149422,2076142 105 | ESU08,04/23/2008,1493.0,1501.25,1485.25,1490.5,1839075,2060563 106 | ESU08,04/22/2008,1498.0,1501.75,1482.75,1492.75,1756254,2042218 107 | ESU08,04/21/2008,1500.5,1505.75,1493.25,1500.5,1258840,2055732 108 | ESU08,04/18/2008,1486.0,1510.5,1482.5,1500.0,1996626,2061100 109 | ESU08,04/17/2008,1482.25,1486.5,1470.75,1484.25,1808842,2038094 110 | ESU08,04/16/2008,1452.25,1482.75,1448.5,1482.25,2093667,2055498 111 | ESU08,04/15/2008,1442.25,1449.5,1436.0,1446.75,1755835,2040220 112 | ESU08,04/14/2008,1443.25,1447.75,1436.5,1442.0,1459564,2042897 113 | ESU08,04/11/2008,1475.0,1479.0,1442.75,1446.0,2027623,2018813 114 | ESU08,04/10/2008,1471.0,1479.75,1462.25,1473.5,1788606,2051338 115 | ESU08,04/09/2008,1481.5,1494.0,1462.25,1471.0,1834761,2093872 116 | ESU08,04/08/2008,1480.0,1482.5,1473.25,1481.75,1419106,2098631 117 | ESU08,04/07/2008,1483.75,1499.5,1481.0,1483.0,1477506,2149309 118 | ESU08,04/04/2008,1483.5,1500.25,1475.25,1482.5,1922449,2113604 119 | ESU08,04/03/2008,1479.25,1488.25,1470.75,1484.25,1597888,2131081 120 | ESU08,04/02/2008,1480.0,1490.75,1474.0,1482.0,1853621,2123047 121 | ESU08,04/01/2008,1433.0,1483.0,1426.5,1481.25,2333986,2112298 122 | ESU08,03/31/2008,1431.75,1440.25,1419.75,1434.25,1623922,2024518 123 | ESU08,03/28/2008,1440.0,1450.25,1424.25,1429.0,1528420,2050418 124 | ESU08,03/27/2008,1443.75,1458.0,1437.0,1440.0,2025472,2054046 125 | ESU08,03/26/2008,1460.25,1461.5,1444.75,1445.75,1603720,2042038 126 | ESU08,03/25/2008,1466.25,1469.5,1452.5,1462.0,1737415,2083791 127 | ESU08,03/24/2008,1438.75,1471.75,1436.75,1462.25,1431866,2053640 128 | ESU08,03/20/2008,1413.0,1442.0,1406.0,1435.0,2163348,2082990 129 | ESU08,03/19/2008,1439.0,1448.0,1407.0,1409.0,3785351,3212808 130 | ESU08,03/18/2008,1405.0,1444.0,1393.75,1444.0,3883215,3089772 131 | ESU08,03/17/2008,1396.25,1417.0,1368.75,1388.5,4667997,3038059 132 | ESU08,03/14/2008,1416.75,1433.25,1384.5,1403.0,5225696,2864236 133 | ESU08,03/13/2008,1405.0,1430.5,1396.25,1426.0,4595392,2694180 134 | ESU08,03/12/2008,1430.5,1447.5,1422.0,1422.0,2848485,2494073 135 | ESU08,03/11/2008,1378.75,1437.0,1378.75,1437.0,3362621,2494185 136 | ESU08,03/10/2008,1387.5,1387.5,1387.5,1387.5,2495322,2505200 137 | ESU08,03/07/2008,1421.0,1421.0,1405.0,1405.25,3179188,2501529 138 | ESU08,03/06/2008,1445.0,1445.0,1420.75,1420.75,2600577,2426760 139 | ESU08,03/05/2008,1450.0,1450.0,1449.0,1449.0,2523207,2397778 140 | ESU08,03/04/2008,1440.0,1440.0,1440.0,1440.0,2809197,2402419 141 | ESU08,03/03/2008,1445.0,1445.0,1445.0,1445.0,1970657,2342000 142 | ESU08,02/29/2008,1444.25,1444.25,1444.25,1444.25,2328041,2350919 143 | ESU08,02/28/2008,1480.5,1480.5,1480.5,1480.5,1813434,2332597 144 | ESU08,02/27/2008,1495.25,1495.25,1495.25,1495.25,1844789,2351230 145 | ESU08,02/26/2008,1497.75,1497.75,1497.75,1497.75,2116632,2358306 146 | ESU08,02/25/2008,1487.0,1487.0,1487.0,1487.0,2046471,2386593 147 | ESU08,02/22/2008,1470.5,1470.5,1470.5,1470.5,2035026,2375793 148 | ESU08,02/21/2008,1462.0,1462.0,1462.0,1462.0,2043429,2392517 149 | ESU08,02/20/2008,1474.0,1474.0,1474.0,1474.0,2225646,2401924 150 | ESU08,02/19/2008,1470.0,1470.0,1470.0,1470.0,1721942,2372053 151 | ESU08,02/15/2008,1465.5,1465.5,1465.5,1465.5,1472594,2360032 152 | ESU08,02/14/2008,1465.5,1465.5,1465.5,1465.5,1908576,2386255 153 | ESU08,02/13/2008,1478.0,1478.0,1478.0,1478.0,1841856,2467055 154 | ESU08,02/12/2008,1463.75,1463.75,1463.75,1463.75,2257074,2474074 155 | ESU08,02/11/2008,1452.25,1452.25,1452.25,1452.25,1845867,2499196 156 | ESU08,02/08/2008,1444.25,1444.25,1444.25,1444.25,1710593,2505057 157 | ESU08,02/07/2008,1455.0,1455.0,1455.0,1455.0,2935833,2530353 158 | ESU08,02/06/2008,1444.5,1444.5,1444.5,1444.5,2165914,2508827 159 | ESU08,02/05/2008,1458.0,1458.0,1458.0,1458.0,2528050,2490834 160 | ESU08,02/04/2008,1494.5,1494.5,1494.5,1494.5,1219801,2397345 161 | ESU08,02/01/2008,1513.0,1513.0,1513.0,1513.0,2309047,2438053 162 | ESU08,01/31/2008,1494.5,1494.5,1494.5,1494.5,3199574,2508054 163 | ESU08,01/30/2008,1466.25,1466.25,1466.25,1466.25,2619514,2503578 164 | ESU08,01/29/2008,1479.0,1479.0,1479.0,1479.0,1584161,2389599 165 | ESU08,01/28/2008,1471.25,1471.25,1441.0,1471.25,2024030,2486780 166 | ESU08,01/25/2008,1450.5,1450.5,1450.5,1450.5,2546898,2488355 167 | ESU08,01/24/2008,1469.25,1469.25,1469.25,1469.25,2444829,2497979 168 | ESU08,01/23/2008,1458.0,1458.0,1458.0,1458.0,4131486,2527702 169 | ESU08,01/22/2008,1425.0,1425.0,1425.0,1425.0,4752915,2509793 170 | ESU08,01/18/2008,1443.75,1443.75,1443.75,1443.75,3233359,2316647 171 | ESU08,01/17/2008,1458.5,1458.5,1458.5,1458.5,3406837,2333762 172 | ESU08,01/16/2008,1496.0,1496.0,1496.0,1496.0,3224483,2222058 173 | ESU08,01/15/2008,1508.25,1508.25,1508.25,1508.25,2439706,2139689 174 | ESU08,01/14/2008,1540.75,1540.75,1540.75,1540.75,1457262,2059649 175 | ESU08,01/11/2008,1528.5,1528.5,1528.5,1528.5,2192693,2039950 176 | ESU08,01/10/2008,1543.0,1543.0,1543.0,1543.0,2742660,2020473 177 | ESU08,01/09/2008,1534.0,1534.0,1534.0,1534.0,2815570,2005216 178 | ESU08,01/08/2008,1519.5,1519.5,1519.5,1519.5,2903799,1993318 179 | ESU08,01/07/2008,1544.5,1544.5,1544.5,1544.5,2441751,1897952 180 | ESU08,01/04/2008,1545.75,1573.0,1545.75,1545.75,2202272,1892926 181 | ESU08,01/03/2008,1582.75,1590.0,1582.75,1582.75,1267849,1768115 182 | ESU08,01/02/2008,1583.25,1583.25,1583.25,1583.25,1626737,1772271 183 | ESU08,12/31/2007,1603.5,1603.5,1603.5,1603.5,672421,1725693 184 | ESU08,12/28/2007,1612.0,1612.0,1612.0,1612.0,795008,1756840 185 | ESU08,12/27/2007,1616.5,1616.5,1616.5,1616.5,902859,1758619 186 | ESU08,12/26/2007,1636.5,1636.5,1636.5,1636.5,365809,1746379 187 | ESU08,12/24/2007,1633.5,1633.5,1633.5,1633.5,253987,1747149 188 | ESU08,12/21/2007,1624.75,1624.75,1610.5,1624.75,1195581,1756258 189 | ESU08,12/20/2007,1601.5,1601.5,1601.5,1601.5,1606679,1757437 190 | ESU08,12/19/2007,1592.0,1592.0,1592.0,1592.0,2407451,2835417 191 | ESU08,12/18/2007,1594.0,1594.0,1594.0,1594.0,2693695,2757509 192 | ESU08,12/17/2007,1584.25,1584.25,1584.25,1584.25,2389318,2647947 193 | ESU08,12/14/2007,1606.25,1606.25,1606.25,1606.25,2156106,2491091 194 | ESU08,12/13/2007,1620.0,1632.0,1620.0,1625.0,2820348,2512021 195 | ESU08,12/12/2007,1627.0,1627.0,1627.0,1627.0,3292255,2340040 196 | ESU08,12/11/2007,1615.5,1615.5,1615.5,1615.5,2557249,2343093 197 | ESU08,12/10/2007,1657.0,1657.0,1657.0,1657.0,1252051,2283862 198 | ESU08,12/07/2007,1645.0,1645.0,1645.0,1645.0,1359579,2234668 199 | ESU08,12/06/2007,1644.5,1644.5,1644.5,1644.5,1757222,2217554 200 | ESU08,12/05/2007,1622.75,1622.75,1622.75,1622.75,1762221,2182253 201 | ESU08,12/04/2007,1599.75,1599.75,1599.75,1599.75,1413767,2164121 202 | ESU08,12/03/2007,1611.5,1611.5,1611.5,1611.5,1479702,2193889 203 | ESU08,11/30/2007,1620.75,1620.75,1620.75,1620.75,2032677,2235933 204 | ESU08,11/29/2007,1608.0,1608.0,1608.0,1608.0,1841485,2186612 205 | ESU08,11/28/2007,1608.0,1608.0,1565.0,1608.0,2431980,2195374 206 | ESU08,11/27/2007,1562.5,1562.5,1562.5,1562.5,2578117,2150645 207 | ESU08,11/26/2007,1544.25,1544.25,1544.25,1544.25,2338876,2138658 208 | ESU08,11/23/2007,1578.5,1578.5,1578.5,1578.5,695843,2123272 209 | ESU08,11/21/2007,1553.0,1553.0,1553.0,1553.0,2000840,2163830 210 | ESU08,11/20/2007,1583.25,1583.25,1583.25,1583.25,2983394,2149484 211 | ESU08,11/19/2007,1573.75,1573.75,1573.75,1573.75,2109419,2079379 212 | ESU08,11/16/2007,1597.5,1597.5,1597.5,1597.5,2140683,2032843 213 | ESU08,11/15/2007,1595.25,1595.25,1595.25,1595.25,2266960,2045024 214 | ESU08,11/14/2007,1616.25,1616.25,1616.25,1616.25,1896429,2047669 215 | ESU08,11/13/2007,1621.25,1621.25,1621.25,1621.25,2070377,2055493 216 | ESU08,11/12/2007,1577.25,1577.25,1577.25,1577.25,1947270,2081276 217 | ESU08,11/09/2007,1592.5,1592.5,1592.5,1592.5,2537594,2074444 218 | ESU08,11/08/2007,1613.5,1613.5,1613.5,1613.5,3103852,2047055 219 | ESU08,11/07/2007,1620.75,1620.75,1620.75,1620.75,2629264,2067515 220 | ESU08,11/06/2007,1664.25,1664.25,1664.25,1664.25,1725127,2036729 221 | ESU08,11/05/2007,1643.75,1643.75,1643.75,1643.75,2092651,2030751 222 | ESU08,11/02/2007,1656.5,1656.5,1656.5,1656.5,2781535,2027368 223 | ESU08,11/01/2007,1654.75,1654.75,1654.75,1654.75,2524955,2037069 224 | ESU08,10/31/2007,1695.25,1695.25,1695.25,1695.25,1962134,2066115 225 | ESU08,10/30/2007,1675.25,1675.25,1675.25,1675.25,1025858,2026704 226 | ESU08,10/29/2007,1686.5,1686.5,1686.5,1686.5,1019754,2022649 227 | ESU08,10/26/2007,1681.25,1681.25,1681.25,1681.25,1552353,2040260 228 | ESU08,10/25/2007,1663.75,1663.75,1663.75,1663.75,1955662,2032087 229 | ESU08,10/24/2007,1661.25,1661.25,1661.25,1661.25,2693969,2013997 230 | ESU08,10/23/2007,1665.0,1665.0,1665.0,1665.0,1747320,1977889 231 | ESU08,10/22/2007,1653.5,1653.5,1653.5,1653.5,2402154,1992653 232 | ESU08,10/19/2007,1645.25,1645.25,1645.25,1645.25,2691104,2009884 233 | ESU08,10/18/2007,1688.75,1688.75,1688.75,1688.75,1557939,2012176 234 | ESU08,10/17/2007,1695.0,1695.0,1695.0,1695.0,2241811,2014874 235 | ESU08,10/16/2007,1690.5,1690.5,1690.5,1690.5,1845905,2000282 236 | ESU08,10/15/2007,1703.5,1703.5,1703.5,1703.5,1956393,2019805 237 | ESU08,10/12/2007,1718.25,1718.25,1718.25,1718.25,1413225,1987037 238 | ESU08,10/11/2007,1709.0,1709.0,1709.0,1709.0,2281335,1971943 239 | ESU08,10/10/2007,1717.25,1717.25,1717.25,1717.25,1309726,1951890 240 | ESU08,10/09/2007,1720.0,1720.0,1720.0,1720.0,1285323,1951052 241 | ESU08,10/08/2007,1706.0,1706.0,1706.0,1706.0,718560,1908674 242 | ESU08,10/05/2007,1714.0,1714.0,1714.0,1714.0,1701140,1917966 243 | ESU08,10/04/2007,1694.0,1694.0,1694.0,1694.0,926203,1876648 244 | ESU08,10/03/2007,1692.5,1692.5,1692.5,1692.5,1386273,1867074 245 | ESU08,10/02/2007,1695.75,1695.75,1695.75,1695.75,1275266,1866091 246 | ESU08,10/01/2007,1698.0,1698.0,1698.0,1698.0,1702041,1838869 247 | ESU08,09/28/2007,1678.75,1678.75,1678.75,1678.75,1456796,1781512 248 | ESU08,09/27/2007,1685.25,1685.25,1685.25,1685.25,1312255,1776944 249 | ESU08,09/26/2007,1677.0,1677.0,1677.0,1677.0,1690284,1817252 250 | ESU08,09/25/2007,1669.75,1669.75,1669.75,1669.75,1582876,1747573 251 | ESU08,09/24/2007,1672.5,1672.5,1672.5,1672.5,1497021,1731709 252 | ESU08,09/21/2007,1675.25,1675.25,1675.25,1675.25,1346844,1685734 253 | ESU08,09/20/2007,1672.5,1672.5,1672.5,1672.5,2201594,1662786 254 | ESU08,09/19/2007,1682.0,1683.0,1682.0,1682.0,3232115,2664456 255 | ESU08,09/18/2007,1674.0,1674.0,1674.0,1674.0,3274385,2852003 256 | ESU08,09/17/2007,1631.5,1631.5,1631.5,1631.5,1751784,2624966 257 | ESU08,09/14/2007,1639.75,1639.75,1639.75,1639.75,1958626,2558690 258 | ESU08,09/13/2007,1639.5,1639.5,1639.5,1639.5,2013016,2457932 259 | ESU08,09/12/2007,1631.0,1631.0,1631.0,1631.0,2001000,2355554 260 | ESU08,09/11/2007,1627.75,1627.75,1627.75,1627.75,1949248,2264974 261 | ESU08,09/10/2007,1609.25,1609.25,1609.25,1609.25,2194052,2289812 262 | ESU08,09/07/2007,1613.75,1613.75,1613.75,1613.75,2530315,2255100 263 | ESU08,09/06/2007,1634.75,1634.75,1634.75,1634.75,1560140,2152345 264 | ESU08,09/05/2007,1632.0,1632.0,1632.0,1632.0,1974802,2115211 265 | ESU08,09/04/2007,1645.5,1645.5,1645.5,1645.5,1643863,2086545 266 | ESU08,08/31/2007,1631.75,1631.75,1631.75,1631.75,1736371,2107252 267 | ESU08,08/30/2007,1615.5,1615.5,1615.5,1615.5,1906549,2164671 268 | ESU08,08/29/2007,1618.5,1618.5,1618.5,1618.5,2034435,2154157 269 | ESU08,08/28/2007,1590.75,1590.75,1590.75,1590.75,1986621,2115550 270 | ESU08,08/27/2007,1623.75,1623.75,1623.75,1623.75,922834,2087345 271 | ESU08,08/24/2007,1638.0,1638.0,1638.0,1638.0,1215681,2071197 272 | ESU08,08/23/2007,1619.75,1619.75,1619.75,1619.75,1662948,2056868 273 | ESU08,08/22/2007,1621.25,1621.25,1621.25,1621.25,1589368,2073805 274 | ESU08,08/21/2007,1601.5,1601.5,1601.5,1601.5,1802239,2085691 275 | ESU08,08/20/2007,1600.25,1600.25,1600.25,1600.25,1757851,2141390 276 | ESU08,08/17/2007,1601.25,1601.25,1601.25,1601.25,3329110,2117952 277 | ESU08,08/16/2007,1575.75,1575.75,1575.75,1575.75,4833384,2231480 278 | ESU08,08/15/2007,1568.5,1568.5,1568.5,1568.5,2980028,2137431 279 | ESU08,08/14/2007,1589.25,1589.25,1589.25,1589.25,2624633,2122079 280 | ESU08,08/13/2007,1611.0,1611.0,1611.0,1611.0,1808266,2080198 281 | ESU08,08/10/2007,1607.0,1607.0,1607.0,1607.0,3639844,2113839 282 | ESU08,08/09/2007,1614.0,1614.0,1614.0,1614.0,3215245,2097576 283 | ESU08,08/08/2007,1623.0,1660.75,1623.0,1660.75,2718473,2113699 284 | ESU08,08/07/2007,1639.75,1639.75,1623.0,1639.75,2614488,2112090 285 | ESU08,08/06/2007,1623.5,1623.5,1623.5,1623.5,2868445,2079001 286 | ESU08,08/03/2007,1597.75,1597.75,1597.75,1597.75,2675039,2066738 287 | ESU08,08/02/2007,1638.0,1638.0,1638.0,1638.0,2211130,2051275 288 | ESU08,08/01/2007,1626.0,1626.0,1626.0,1626.0,3416340,2046567 289 | ESU08,07/31/2007,1618.0,1618.0,1618.0,1618.0,2592449,1981283 290 | ESU08,07/30/2007,1637.5,1637.5,1637.5,1637.5,2216738,1907409 291 | ESU08,07/27/2007,1614.0,1614.0,1614.0,1614.0,3046901,1929045 292 | ESU08,07/26/2007,1646.5,1646.5,1646.5,1646.5,3653900,1860482 293 | ESU08,07/25/2007,1686.0,1686.0,1686.0,1686.0,2389214,1783819 294 | ESU08,07/24/2007,1684.0,1684.0,1684.0,1684.0,2106628,1787385 295 | ESU08,07/23/2007,1711.25,1711.25,1711.25,1711.25,1148765,1747283 296 | ESU08,07/20/2007,1707.5,1707.5,1707.5,1707.5,2193394,1744880 297 | ESU08,07/19/2007,1722.5,1722.5,1722.5,1722.5,1338711,1712856 298 | ESU08,07/18/2007,1717.5,1717.5,1717.5,1717.5,2114815,1727101 299 | ESU08,07/17/2007,1721.5,1721.5,1721.5,1721.5,1268079,1702161 300 | ESU08,07/16/2007,1722.5,1722.5,1722.5,1722.5,1084141,1701865 301 | ESU08,07/13/2007,1722.75,1722.75,1722.75,1722.75,1138188,1691141 302 | ESU08,07/12/2007,1718.25,1718.25,1718.25,1718.25,1654659,1685612 303 | ESU08,07/11/2007,1692.0,1692.0,1692.0,1692.0,1607314,1668094 304 | ESU08,07/10/2007,1681.0,1681.0,1681.0,1681.0,1737383,1682790 305 | ESU08,07/09/2007,1704.0,1704.0,1704.0,1704.0,799181,1637274 306 | ESU08,07/06/2007,1703.25,1703.25,1703.25,1703.25,884045,1614407 307 | ESU08,07/05/2007,1695.25,1695.25,1695.25,1695.25,862015,1629967 308 | ESU08,07/03/2007,1697.0,1697.0,1697.0,1697.0,546806,1620034 309 | ESU08,07/02/2007,1691.5,1691.5,1691.5,1691.5,913745,1635840 310 | ESU08,06/29/2007,1675.75,1675.75,1675.75,1675.75,1774484,1646509 311 | ESU08,06/28/2007,1678.75,1678.75,1678.75,1678.75,1379331,1618821 312 | ESU08,06/27/2007,1680.5,1680.5,1680.5,1680.5,1789152,1609291 313 | ESU08,06/26/2007,1659.25,1659.25,1659.25,1659.25,1923307,1643054 314 | ESU08,06/25/2007,1675.0,1675.0,1675.0,1675.0,1906249,1634151 315 | ESZ08,12/18/2008,1018.0,1022.75,986.25,1005.5,2088236,2298787 316 | ESZ08,12/17/2008,1023.75,1029.25,997.5,1014.25,2931134,3922695 317 | ESZ08,12/16/2008,983.5,1026.0,979.5,1023.5,3394355,3813985 318 | ESZ08,12/15/2008,993.5,1004.0,967.25,983.25,3092294,3648649 319 | ESZ08,12/12/2008,983.0,997.25,939.0,996.0,4097708,3518214 320 | ESZ08,12/11/2008,1008.25,1015.0,978.25,985.0,3754528,3481708 321 | ESZ08,12/10/2008,1000.5,1018.75,994.5,1005.75,2955801,3218193 322 | ESZ08,12/09/2008,1016.25,1026.25,994.5,999.5,2799463,3144744 323 | ESZ08,12/08/2008,982.25,1029.25,977.5,1014.75,2739676,3146724 324 | ESZ08,12/05/2008,957.5,989.5,927.0,982.5,3278125,3189435 325 | ESZ08,12/04/2008,979.0,985.5,942.0,957.5,2883729,3199840 326 | ESZ08,12/03/2008,958.5,983.75,936.0,978.5,3370833,3241657 327 | ESZ08,12/02/2008,926.0,960.75,923.0,959.0,3278584,3219905 328 | ESZ08,12/01/2008,1007.5,1007.5,923.0,925.75,2647150,3251452 329 | ESZ08,11/28/2008,987.25,1007.0,985.0,1005.25,890571,3244212 330 | ESZ08,11/26/2008,963.0,997.75,939.5,996.25,2183922,3224297 331 | ESZ08,11/25/2008,957.25,984.0,943.5,963.25,3128875,3253844 332 | ESZ08,11/24/2008,911.0,976.25,893.25,958.0,3437690,3262323 333 | ESZ08,11/21/2008,859.75,912.25,849.0,902.0,4289539,3303397 334 | ESZ08,11/20/2008,920.5,930.75,855.0,858.25,4487833,3298401 335 | ESZ08,11/19/2008,975.25,976.0,914.25,922.5,3436843,3218206 336 | ESZ08,11/18/2008,960.75,979.0,934.75,976.5,3285137,3178242 337 | ESZ08,11/17/2008,972.0,991.75,957.0,961.0,2807633,3124068 338 | ESZ08,11/14/2008,1017.5,1028.0,970.25,971.5,3380763,3189714 339 | ESZ08,11/13/2008,964.0,1023.75,926.75,1017.75,4458594,3132936 340 | ESZ08,11/12/2008,1003.5,1021.0,958.5,963.5,3005718,3092054 341 | ESZ08,11/11/2008,1029.5,1037.25,992.75,1003.0,2684203,3031125 342 | ESZ08,11/10/2008,1051.0,1072.5,1015.5,1031.5,2133642,2977871 343 | ESZ08,11/07/2008,1013.5,1047.5,1011.0,1046.25,2703538,2961860 344 | ESZ08,11/06/2008,1067.5,1068.0,1007.0,1014.5,3516546,2983194 345 | ESZ08,11/05/2008,1112.5,1118.5,1057.0,1068.0,2740245,2907890 346 | ESZ08,11/04/2008,1079.5,1116.75,1074.0,1113.25,2330244,2889959 347 | ESZ08,11/03/2008,1075.75,1089.75,1067.0,1079.5,1526918,2896766 348 | ESZ08,10/31/2008,1069.75,1094.0,1050.0,1077.25,2760018,2927326 349 | ESZ08,10/30/2008,1037.75,1078.5,1036.75,1071.5,2932752,2940487 350 | ESZ08,10/29/2008,1048.75,1081.25,1024.25,1037.0,3241929,2950694 351 | ESZ08,10/28/2008,946.5,1052.75,937.25,1048.75,3772789,3034561 352 | ESZ08,10/27/2008,974.25,1004.0,935.0,944.75,2928467,3089792 353 | ESZ08,10/24/2008,1024.5,1027.25,950.25,976.0,3317679,3077361 354 | ESZ08,10/23/2008,1014.5,1033.25,966.0,1025.25,4065682,3041597 355 | ESZ08,10/22/2008,1068.5,1079.25,982.5,1012.75,3294987,3041776 356 | ESZ08,10/21/2008,1102.75,1102.75,1061.0,1069.25,2641317,3023803 357 | ESZ08,10/20/2008,1047.5,1102.75,1035.5,1100.5,2438616,3025455 358 | ESZ08,10/17/2008,1051.0,1097.75,1018.0,1043.5,3822772,2980661 359 | ESZ08,10/16/2008,1013.5,1060.0,975.25,1051.0,5082816,3130108 360 | ESZ08,10/15/2008,1114.0,1118.5,1007.25,1013.25,3840158,3204275 361 | ESZ08,10/14/2008,1122.0,1177.0,1084.25,1112.25,4100451,3185319 362 | ESZ08,10/13/2008,1019.5,1127.5,1019.25,1126.75,3362719,3136185 363 | ESZ08,10/10/2008,1023.5,1053.0,947.0,1001.0,5906213,3286156 364 | ESZ08,10/09/2008,1091.25,1120.0,1015.5,1022.5,4178884,3146292 365 | ESZ08,10/08/2008,1114.0,1155.0,1073.0,1091.0,5319039,3082193 366 | ESZ08,10/07/2008,1164.0,1188.0,1109.5,1115.75,4304997,2892076 367 | ESZ08,10/06/2008,1213.75,1214.0,1119.0,1163.25,4484541,2771707 368 | ESZ08,10/03/2008,1234.75,1271.0,1212.5,1218.25,3198201,2670153 369 | ESZ08,10/02/2008,1278.25,1284.0,1225.25,1234.5,2758246,2574177 370 | ESZ08,10/01/2008,1277.5,1283.0,1253.75,1278.5,2507955,2504827 371 | ESZ08,09/30/2008,1228.25,1285.75,1222.0,1279.0,2936999,2562842 372 | ESZ08,09/29/2008,1330.0,1331.25,1223.5,1228.75,3950446,2426904 373 | ESZ08,09/26/2008,1322.25,1331.25,1294.75,1324.5,2237975,2282102 374 | ESZ08,09/25/2008,1302.25,1334.75,1296.0,1323.5,2748750,2294675 375 | ESZ08,09/24/2008,1298.0,1320.25,1290.25,1303.0,2404039,2258078 376 | ESZ08,09/23/2008,1323.0,1332.75,1295.5,1297.0,3100379,2251047 377 | ESZ08,09/22/2008,1354.0,1360.25,1315.25,1323.75,2760042,2274273 378 | ESZ08,09/19/2008,1313.25,1401.25,1312.5,1356.0,4010576,2338739 379 | ESZ08,09/18/2008,1277.0,1328.75,1246.25,1313.25,6013223,2380361 380 | ESZ08,09/17/2008,1327.75,1339.5,1267.0,1273.0,5915946,3490505 381 | ESZ08,09/16/2008,1305.5,1331.0,1273.0,1326.25,6078616,3205708 382 | ESZ08,09/15/2008,1345.0,1349.25,1305.5,1306.0,5191302,3050804 383 | ESZ08,09/12/2008,1362.0,1369.25,1344.5,1368.5,3648514,2809462 384 | ESZ08,09/11/2008,1344.0,1364.0,1322.25,1362.0,4145205,2739328 385 | ESZ08,09/10/2008,1338.5,1355.5,1331.5,1344.5,3267955,2573257 386 | ESZ08,09/09/2008,1378.0,1386.25,1334.5,1337.75,3511803,2584490 387 | ESZ08,09/08/2008,1368.5,1393.75,1358.5,1378.5,3333353,2533550 388 | ESZ08,09/05/2008,1348.25,1356.75,1327.75,1352.5,3016691,2461589 389 | ESZ08,09/04/2008,1387.0,1388.75,1346.5,1348.0,2879958,2461572 390 | ESZ08,09/03/2008,1388.0,1392.5,1377.25,1386.75,2191428,2451668 391 | ESZ08,09/02/2008,1392.5,1415.25,1383.5,1388.0,2307061,2459927 392 | ESZ08,08/29/2008,1408.25,1409.25,1393.5,1394.25,1363496,2431595 393 | ESZ08,08/28/2008,1392.75,1411.75,1387.5,1409.75,1529544,2457631 394 | ESZ08,08/27/2008,1382.25,1396.5,1377.5,1393.5,1467894,2431112 395 | ESZ08,08/26/2008,1379.25,1387.0,1374.0,1383.25,1494188,2445030 396 | ESZ08,08/25/2008,1404.0,1404.0,1376.0,1377.75,1643724,2458453 397 | ESZ08,08/22/2008,1387.0,1405.0,1382.75,1403.75,1386150,2444890 398 | ESZ08,08/21/2008,1385.5,1392.75,1375.0,1387.0,1605250,2471572 399 | ESZ08,08/20/2008,1378.75,1388.0,1372.25,1385.25,1776403,2450449 400 | ESZ08,08/19/2008,1393.75,1394.0,1374.25,1379.75,1719522,2480227 401 | ESZ08,08/18/2008,1410.5,1417.25,1385.75,1393.5,1704377,2436259 402 | ESZ08,08/15/2008,1405.5,1413.75,1402.5,1411.5,1477150,2417382 403 | ESZ08,08/14/2008,1397.0,1412.0,1387.25,1405.5,1887551,2452654 404 | ESZ08,08/13/2008,1404.0,1405.75,1386.5,1396.25,2187873,2462142 405 | ESZ08,08/12/2008,1414.25,1419.0,1397.25,1403.0,1747395,2464302 406 | ESZ08,08/11/2008,1403.25,1425.25,1400.25,1417.0,2101714,2497873 407 | ESZ08,08/08/2008,1380.0,1409.25,1373.5,1404.0,2181712,2548147 408 | ESZ08,08/07/2008,1399.0,1400.25,1375.25,1379.5,1999790,2517197 409 | ESZ08,08/06/2008,1394.5,1403.25,1387.5,1399.5,1734213,2485848 410 | ESZ08,08/05/2008,1362.0,1396.0,1359.5,1394.5,2004869,2493001 411 | ESZ08,08/04/2008,1370.5,1374.0,1358.0,1360.25,1523855,2500896 412 | ESZ08,08/01/2008,1378.25,1385.25,1365.0,1372.0,1865967,2466548 413 | ESZ08,07/31/2008,1393.5,1401.0,1376.75,1378.5,2334436,2488909 414 | ESZ08,07/30/2008,1374.5,1396.5,1372.0,1396.5,2351700,2475353 415 | ESZ08,07/29/2008,1345.5,1374.5,1344.0,1373.5,2098918,2488168 416 | ESZ08,07/28/2008,1365.0,1371.25,1345.0,1346.75,1622137,2469176 417 | ESZ08,07/25/2008,1364.75,1374.0,1361.5,1365.75,1616780,2401416 418 | ESZ08,07/24/2008,1392.75,1396.5,1362.75,1365.5,1992799,2429047 419 | ESZ08,07/23/2008,1387.25,1403.0,1386.0,1394.5,2131947,2400744 420 | ESZ08,07/22/2008,1367.0,1389.75,1359.5,1386.25,2108089,2435374 421 | ESZ08,07/21/2008,1372.25,1380.25,1367.25,1373.5,1537090,2429736 422 | ESZ08,07/18/2008,1360.25,1374.5,1352.5,1372.25,1926102,2449494 423 | ESZ08,07/17/2008,1352.75,1374.25,1349.0,1365.0,2897897,2530778 424 | ESZ08,07/16/2008,1325.0,1357.75,1314.25,1352.5,2896617,2512078 425 | ESZ08,07/15/2008,1339.0,1346.75,1312.0,1322.75,3670359,2551249 426 | ESZ08,07/14/2008,1364.5,1371.25,1336.75,1339.75,2666736,2484352 427 | ESZ08,07/11/2008,1368.0,1373.0,1337.5,1351.5,3254369,2455027 428 | ESZ08,07/10/2008,1359.5,1370.25,1349.0,1366.25,3040155,2392694 429 | ESZ08,07/09/2008,1386.0,1390.25,1356.75,1359.5,2407210,2350923 430 | ESZ08,07/08/2008,1363.75,1387.25,1349.0,1385.5,2753156,2305736 431 | ESZ08,07/07/2008,1371.0,1386.5,1352.0,1363.5,2582813,2295501 432 | ESZ08,07/03/2008,1373.25,1388.25,1364.0,1376.75,1848651,2256649 433 | ESZ08,07/02/2008,1398.5,1406.0,1373.25,1374.75,2434191,2181596 434 | ESZ08,07/01/2008,1395.0,1398.25,1373.25,1398.25,3205711,2128233 435 | ESZ08,06/30/2008,1392.75,1403.75,1388.0,1393.25,2170134,2063096 436 | ESZ08,06/27/2008,1398.5,1403.5,1385.25,1392.0,2340463,2034347 437 | ESZ08,06/26/2008,1431.0,1432.75,1395.5,1396.75,2651560,1999401 438 | ESZ08,06/25/2008,1428.75,1450.25,1428.25,1435.25,2072798,1912010 439 | ESZ08,06/24/2008,1430.25,1440.5,1418.5,1428.5,2122744,1945750 440 | ESZ08,06/23/2008,1432.0,1439.75,1429.5,1431.25,1453910,1900083 441 | ESZ08,06/20/2008,1445.0,1448.5,1428.0,1432.0,2323464,1878725 442 | ESZ08,06/19/2008,1451.0,1461.75,1443.5,1454.5,2356396,1868410 443 | ESZ08,06/18/2008,1458.5,1461.0,1448.75,1451.5,2732084,2812193 444 | ESZ08,06/17/2008,1480.75,1481.75,1465.5,1466.25,2542668,2863046 445 | ESZ08,06/16/2008,1469.0,1480.0,1468.5,1473.75,2260083,2619908 446 | ESZ08,06/13/2008,1461.25,1475.75,1451.0,1473.25,2780594,2655239 447 | ESZ08,06/12/2008,1465.0,1467.75,1447.0,1456.75,3090255,2681065 448 | ESZ08,06/11/2008,1469.75,1473.5,1450.75,1451.0,2942579,2570800 449 | ESZ08,06/10/2008,1466.75,1481.0,1465.25,1471.5,2361515,2459095 450 | ESZ08,06/09/2008,1476.0,1484.0,1467.0,1478.5,2217468,2450450 451 | ESZ08,06/06/2008,1507.25,1520.25,1472.0,1473.5,2844636,2464350 452 | ESZ08,06/05/2008,1505.75,1519.5,1493.0,1519.5,2018540,2365904 453 | ESZ08,06/04/2008,1500.0,1501.25,1486.75,1491.25,2110071,2361462 454 | ESZ08,06/03/2008,1503.0,1506.0,1485.0,1492.25,2207987,2348971 455 | ESZ08,06/02/2008,1491.25,1514.25,1491.25,1499.0,1736592,2290519 456 | ESZ08,05/30/2008,1515.0,1518.0,1513.25,1514.75,1188784,2254910 457 | ESZ08,05/29/2008,1512.0,1520.25,1512.0,1512.0,1735946,2295267 458 | ESZ08,05/28/2008,1505.5,1505.5,1493.0,1505.5,1714136,2295098 459 | ESZ08,05/27/2008,1486.0,1500.75,1486.0,1498.5,1582900,2290378 460 | ESZ08,05/23/2008,1502.25,1504.25,1486.75,1486.75,1529219,2283559 461 | ESZ08,05/22/2008,1506.75,1511.75,1505.5,1506.75,1735426,2258129 462 | ESZ08,05/21/2008,1502.75,1534.75,1502.75,1506.0,2387075,2270953 463 | ESZ08,05/20/2008,1541.5,1543.0,1524.5,1530.75,1879644,2225332 464 | ESZ08,05/19/2008,1540.25,1553.5,1537.0,1543.5,1799879,2206872 465 | ESZ08,05/16/2008,1539.5,1540.0,1533.75,1539.5,1794362,2176270 466 | ESZ08,05/15/2008,1538.5,1538.5,1522.75,1538.5,1749145,2159629 467 | ESZ08,05/14/2008,1522.0,1534.25,1516.75,1522.0,1750454,2130662 468 | ESZ08,05/13/2008,1509.75,1521.25,1509.75,1518.75,1530794,2129314 469 | ESZ08,05/12/2008,1518.0,1518.0,1501.25,1518.0,1573953,2122129 470 | ESZ08,05/09/2008,1498.75,1504.75,1497.5,1502.0,1628514,2103063 471 | ESZ08,05/08/2008,1511.5,1513.75,1505.0,1505.0,1706898,2084738 472 | ESZ08,05/07/2008,1508.75,1533.75,1507.5,1508.75,1948192,2127574 473 | ESZ08,05/06/2008,1534.5,1534.5,1513.0,1534.5,1893445,2117708 474 | ESZ08,05/05/2008,1524.75,1527.25,1519.75,1522.0,1258088,2088459 475 | ESZ08,05/02/2008,1529.5,1536.25,1522.0,1529.5,1925749,2089664 476 | ESZ08,05/01/2008,1525.5,1525.5,1504.75,1525.5,1906910,2089310 477 | ESZ08,04/30/2008,1499.5,1513.25,1499.5,1499.5,1919005,2090317 478 | ESZ08,04/29/2008,1505.75,1511.5,1503.5,1505.75,1454112,2070628 479 | ESZ08,04/28/2008,1512.5,1517.25,1512.0,1512.5,1157027,2075574 480 | ESZ08,04/25/2008,1512.25,1512.25,1507.25,1512.25,1570309,2085293 481 | ESZ08,04/24/2008,1500.75,1512.5,1488.75,1500.75,2149422,2076142 482 | ESZ08,04/23/2008,1493.0,1500.75,1488.75,1493.0,1839075,2060563 483 | ESZ08,04/22/2008,1495.0,1501.25,1488.5,1495.25,1756254,2042218 484 | ESZ08,04/21/2008,1499.25,1504.75,1498.0,1503.0,1258840,2055732 485 | ESZ08,04/18/2008,1502.5,1510.5,1499.25,1502.5,1996626,2061100 486 | ESZ08,04/17/2008,1486.5,1486.5,1474.25,1486.5,1808842,2038094 487 | ESZ08,04/16/2008,1466.75,1483.75,1449.75,1483.75,2093667,2055498 488 | ESZ08,04/15/2008,1447.5,1448.75,1437.75,1447.75,1755835,2040220 489 | ESZ08,04/14/2008,1442.25,1447.0,1439.75,1442.25,1459564,2042897 490 | ESZ08,04/11/2008,1446.25,1446.25,1446.25,1446.25,2027623,2018813 491 | ESZ08,04/10/2008,1477.75,1477.75,1466.5,1474.25,1788606,2051338 492 | ESZ08,04/09/2008,1469.5,1481.75,1465.75,1471.5,1834761,2093872 493 | ESZ08,04/08/2008,1475.75,1482.5,1475.75,1482.5,1419106,2098631 494 | ESZ08,04/07/2008,1483.5,1493.25,1483.25,1483.5,1477506,2149309 495 | ESZ08,04/04/2008,1483.0,1483.0,1482.0,1483.0,1922449,2113604 496 | ESZ08,04/03/2008,1484.0,1485.0,1484.0,1485.0,1597888,2131081 497 | ESZ08,04/02/2008,1482.75,1482.75,1482.75,1482.75,1853621,2123047 498 | ESZ08,04/01/2008,1481.75,1481.75,1435.25,1481.75,2333986,2112298 499 | ESZ08,03/31/2008,1424.5,1434.25,1424.5,1434.25,1623922,2024518 500 | ESZ08,03/28/2008,1429.0,1441.25,1429.0,1429.0,1528420,2050418 501 | ESZ08,03/27/2008,1439.75,1455.5,1439.75,1439.75,2025472,2054046 502 | ESZ08,03/26/2008,1448.75,1460.25,1445.75,1445.75,1603720,2042038 503 | ESZ08,03/25/2008,1458.0,1463.0,1457.75,1462.0,1737415,2083791 504 | ESZ08,03/24/2008,1462.0,1467.25,1440.75,1462.5,1431866,2053640 505 | ESZ08,03/20/2008,1430.0,1435.0,1430.0,1435.0,2163348,2082990 506 | ESZ08,03/19/2008,1408.0,1443.0,1408.0,1408.0,3785351,3212808 507 | ESZ08,03/18/2008,1443.5,1443.5,1443.5,1443.5,3883215,3089772 508 | ESZ08,03/17/2008,1387.0,1387.0,1387.0,1387.0,4667997,3038059 509 | ESZ08,03/14/2008,1402.5,1402.5,1402.5,1402.5,5225696,2864236 510 | ESZ08,03/13/2008,1426.0,1426.0,1426.0,1426.0,4595392,2694180 511 | ESZ08,03/12/2008,1435.0,1435.0,1422.0,1422.0,2848485,2494073 512 | ESZ08,03/11/2008,1437.5,1437.5,1437.5,1437.5,3362621,2494185 513 | ESZ08,03/10/2008,1387.25,1387.25,1387.25,1387.25,2495322,2505200 514 | ESZ08,03/07/2008,1405.25,1405.25,1405.25,1405.25,3179188,2501529 515 | ESZ08,03/06/2008,1420.75,1420.75,1420.75,1420.75,2600577,2426760 516 | ESZ08,03/05/2008,1449.5,1449.5,1449.5,1449.5,2523207,2397778 517 | ESZ08,03/04/2008,1440.25,1440.25,1440.25,1440.25,2809197,2402419 518 | ESZ08,03/03/2008,1445.25,1445.25,1445.25,1445.25,1970657,2342000 519 | ESZ08,02/29/2008,1444.5,1444.5,1444.5,1444.5,2328041,2350919 520 | ESZ08,02/28/2008,1481.5,1481.5,1481.5,1481.5,1813434,2332597 521 | ESZ08,02/27/2008,1496.25,1496.25,1496.25,1496.25,1844789,2351230 522 | ESZ08,02/26/2008,1498.75,1498.75,1498.75,1498.75,2116632,2358306 523 | ESZ08,02/25/2008,1488.25,1488.25,1488.25,1488.25,2046471,2386593 524 | ESZ08,02/22/2008,1471.5,1471.5,1471.5,1471.5,2035026,2375793 525 | ESZ08,02/21/2008,1463.0,1463.0,1463.0,1463.0,2043429,2392517 526 | ESZ08,02/20/2008,1475.25,1475.25,1475.25,1475.25,2225646,2401924 527 | ESZ08,02/19/2008,1471.0,1471.0,1465.0,1471.0,1721942,2372053 528 | ESZ08,02/15/2008,1466.5,1466.5,1466.5,1466.5,1472594,2360032 529 | ESZ08,02/14/2008,1466.5,1466.5,1466.5,1466.5,1908576,2386255 530 | ESZ08,02/13/2008,1478.75,1478.75,1478.75,1478.75,1841856,2467055 531 | ESZ08,02/12/2008,1464.5,1464.5,1464.5,1464.5,2257074,2474074 532 | ESZ08,02/11/2008,1453.25,1453.25,1453.25,1453.25,1845867,2499196 533 | ESZ08,02/08/2008,1445.25,1445.25,1445.25,1445.25,1710593,2505057 534 | ESZ08,02/07/2008,1456.0,1456.0,1456.0,1456.0,2935833,2530353 535 | ESZ08,02/06/2008,1445.5,1445.5,1445.5,1445.5,2165914,2508827 536 | ESZ08,02/05/2008,1459.25,1466.5,1459.25,1459.25,2528050,2490834 537 | ESZ08,02/04/2008,1496.25,1496.25,1496.25,1496.25,1219801,2397345 538 | ESZ08,02/01/2008,1514.5,1514.5,1503.5,1514.5,2309047,2438053 539 | ESZ08,01/31/2008,1496.0,1496.0,1496.0,1496.0,3199574,2508054 540 | ESZ08,01/30/2008,1467.75,1467.75,1467.75,1467.75,2619514,2503578 541 | ESZ08,01/29/2008,1481.0,1481.0,1472.5,1481.0,1584161,2389599 542 | ESZ08,01/28/2008,1473.0,1473.0,1473.0,1473.0,2024030,2486780 543 | ESZ08,01/25/2008,1452.0,1452.0,1452.0,1452.0,2546898,2488355 544 | ESZ08,01/24/2008,1465.0,1471.25,1463.0,1471.25,2444829,2497979 545 | ESZ08,01/23/2008,1400.0,1459.75,1395.0,1459.75,4131486,2527702 546 | ESZ08,01/22/2008,1426.5,1426.5,1387.0,1426.5,4752915,2509793 547 | ESZ08,01/18/2008,1446.25,1462.0,1441.5,1446.25,3233359,2316647 548 | ESZ08,01/17/2008,1461.0,1495.0,1461.0,1461.0,3406837,2333762 549 | ESZ08,01/16/2008,1502.0,1505.0,1499.25,1499.25,3224483,2222058 550 | ESZ08,01/15/2008,1549.0,1553.0,1511.5,1511.5,2439706,2139689 551 | ESZ08,01/14/2008,1544.0,1544.0,1544.0,1544.0,1457262,2059649 552 | ESZ08,01/11/2008,1532.0,1532.0,1532.0,1532.0,2192693,2039950 553 | ESZ08,01/10/2008,1547.5,1547.5,1547.5,1547.5,2742660,2020473 554 | ESZ08,01/09/2008,1539.0,1539.0,1539.0,1539.0,2815570,2005216 555 | ESZ08,01/08/2008,1523.5,1523.5,1523.5,1523.5,2903799,1993318 556 | ESZ08,01/07/2008,1549.0,1549.0,1549.0,1549.0,2441751,1897952 557 | ESZ08,01/04/2008,1550.25,1550.25,1550.25,1550.25,2202272,1892926 558 | ESZ08,01/03/2008,1587.75,1587.75,1587.75,1587.75,1267849,1768115 559 | ESZ08,01/02/2008,1588.5,1588.5,1588.5,1588.5,1626737,1772271 560 | ESZ08,12/31/2007,1609.25,1609.25,1609.25,1609.25,672421,1725693 561 | ESZ08,12/28/2007,1618.0,1618.0,1618.0,1618.0,795008,1756840 562 | ESZ08,12/27/2007,1623.0,1623.0,1623.0,1623.0,902859,1758619 563 | ESZ08,12/26/2007,1643.5,1643.5,1643.5,1643.5,365809,1746379 564 | ESZ08,12/24/2007,1640.5,1640.5,1640.5,1640.5,253987,1747149 565 | ESZ08,12/21/2007,1631.75,1631.75,1614.0,1631.75,1195581,1756258 566 | ESZ08,12/20/2007,1607.5,1607.5,1585.75,1607.5,1606679,1757437 567 | ESZ08,12/19/2007,1597.75,1597.75,1597.75,1597.75,2407451,2835417 568 | ESZ08,12/18/2007,1600.0,1600.0,1600.0,1600.0,2693695,2757509 569 | ESZ08,12/17/2007,1590.5,1590.75,1590.5,1590.5,2389318,2647947 570 | ESZ08,12/14/2007,1613.25,1613.25,1613.25,1613.25,2156106,2491091 571 | ESZ08,12/13/2007,1631.5,1631.5,1631.5,1631.5,2820348,2512021 572 | ESZ08,12/12/2007,1630.0,1633.5,1618.0,1633.5,3292255,2340040 573 | ESZ08,12/11/2007,1663.0,1663.0,1622.0,1622.0,2557249,2343093 574 | ESZ08,12/10/2007,1664.0,1664.0,1664.0,1664.0,1252051,2283862 575 | ESZ08,12/07/2007,1652.0,1652.0,1652.0,1652.0,1359579,2234668 576 | ESZ08,12/06/2007,1651.0,1651.0,1651.0,1651.0,1757222,2217554 577 | ESZ08,12/05/2007,1628.75,1628.75,1628.75,1628.75,1762221,2182253 578 | ESZ08,12/04/2007,1604.75,1604.75,1604.75,1604.75,1413767,2164121 579 | ESZ08,12/03/2007,1617.5,1624.5,1617.5,1617.5,1479702,2193889 580 | ESZ08,11/30/2007,1626.5,1626.5,1623.5,1626.5,2032677,2235933 581 | ESZ08,11/29/2007,1614.0,1614.0,1614.0,1614.0,1841485,2186612 582 | ESZ08,11/28/2007,1568.0,1614.0,1562.0,1614.0,2431980,2195374 583 | ESZ08,11/27/2007,1567.5,1567.5,1567.5,1567.5,2578117,2150645 584 | ESZ08,11/26/2007,1549.25,1549.25,1549.25,1549.25,2338876,2138658 585 | ESZ08,11/23/2007,1584.5,1584.5,1584.5,1584.5,695843,2123272 586 | ESZ08,11/21/2007,1558.25,1558.25,1558.25,1558.25,2000840,2163830 587 | ESZ08,11/20/2007,1589.5,1589.5,1589.5,1589.5,2983394,2149484 588 | ESZ08,11/19/2007,1580.0,1580.0,1580.0,1580.0,2109419,2079379 589 | ESZ08,11/16/2007,1604.5,1604.5,1604.5,1604.5,2140683,2032843 590 | ESZ08,11/15/2007,1602.25,1602.25,1602.25,1602.25,2266960,2045024 591 | ESZ08,11/14/2007,1623.5,1623.5,1623.5,1623.5,1896429,2047669 592 | ESZ08,11/13/2007,1628.75,1628.75,1628.75,1628.75,2070377,2055493 593 | ESZ08,11/12/2007,1584.75,1584.75,1584.75,1584.75,1947270,2081276 594 | ESZ08,11/09/2007,1600.0,1600.0,1600.0,1600.0,2537594,2074444 595 | ESZ08,11/08/2007,1620.5,1620.5,1620.5,1620.5,3103852,2047055 596 | ESZ08,11/07/2007,1628.25,1628.25,1628.25,1628.25,2629264,2067515 597 | ESZ08,11/06/2007,1673.25,1673.25,1673.25,1673.25,1725127,2036729 598 | ESZ08,11/05/2007,1652.75,1652.75,1652.75,1652.75,2092651,2030751 599 | ESZ08,11/02/2007,1665.0,1665.0,1665.0,1665.0,2781535,2027368 600 | ESZ08,11/01/2007,1663.25,1663.25,1663.25,1663.25,2524955,2037069 601 | ESZ08,10/31/2007,1704.0,1704.0,1704.0,1704.0,1962134,2066115 602 | ESZ08,10/30/2007,1683.5,1683.5,1683.5,1683.5,1025858,2026704 603 | ESZ08,10/29/2007,1694.75,1694.75,1694.75,1694.75,1019754,2022649 604 | ESZ08,10/26/2007,1689.5,1689.5,1689.5,1689.5,1552353,2040260 605 | ESZ08,10/25/2007,1671.5,1671.5,1671.5,1671.5,1955662,2032087 606 | ESZ08,10/24/2007,1670.25,1670.25,1670.25,1670.25,2693969,2013997 607 | ESZ08,10/23/2007,1673.5,1673.5,1673.5,1673.5,1747320,1977889 608 | ESZ08,10/22/2007,1663.0,1663.0,1663.0,1663.0,2402154,1992653 609 | ESZ08,10/19/2007,1653.75,1653.75,1653.75,1653.75,2691104,2009884 610 | ESZ08,10/18/2007,1698.25,1698.25,1698.25,1698.25,1557939,2012176 611 | ESZ08,10/17/2007,1704.5,1704.5,1704.5,1704.5,2241811,2014874 612 | ESZ08,10/16/2007,1700.0,1700.0,1700.0,1700.0,1845905,2000282 613 | ESZ08,10/15/2007,1713.5,1713.5,1713.5,1713.5,1956393,2019805 614 | ESZ08,10/12/2007,1728.25,1728.25,1728.25,1728.25,1413225,1987037 615 | ESZ08,10/11/2007,1719.0,1719.0,1719.0,1719.0,2281335,1971943 616 | ESZ08,10/10/2007,1727.25,1727.25,1727.25,1727.25,1309726,1951890 617 | ESZ08,10/09/2007,1730.0,1730.0,1730.0,1730.0,1285323,1951052 618 | ESZ08,10/08/2007,1716.0,1716.0,1716.0,1716.0,718560,1908674 619 | ESZ08,10/05/2007,1724.0,1724.0,1724.0,1724.0,1701140,1917966 620 | ESZ08,10/04/2007,1703.5,1703.5,1703.5,1703.5,926203,1876648 621 | ESZ08,10/03/2007,1702.0,1702.0,1702.0,1702.0,1386273,1867074 622 | ESZ08,10/02/2007,1704.5,1704.5,1704.5,1704.5,1275266,1866091 623 | ESZ08,10/01/2007,1707.0,1707.0,1707.0,1707.0,1702041,1838869 624 | ESZ08,09/28/2007,1687.75,1687.75,1687.75,1687.75,1456796,1781512 625 | ESZ08,09/27/2007,1694.25,1694.25,1694.25,1694.25,1312255,1776944 626 | ESZ08,09/26/2007,1686.0,1686.0,1686.0,1686.0,1690284,1817252 627 | ESZ08,09/25/2007,1678.75,1678.75,1678.75,1678.75,1582876,1747573 628 | ESZ08,09/24/2007,1681.5,1681.5,1681.5,1681.5,1497021,1731709 629 | -------------------------------------------------------------------------------- /futures_import/contract_chains/root_symbols.csv: -------------------------------------------------------------------------------- 1 | Mic,PrimaryExchange,Symbol,TradingClass,LongName,Currency,Multiplier,UnderSymbol,UnderSecType,StartDate 2 | EUCH,SOFFEX,CONF,CONF,"Swiss Federal Long-Term Bonds",CHF,1000,CONF,IND,2017-12-07 3 | EUCH,SOFFEX,SLI,FSLI,"Swiss Leader Index (PREIS_INDEX)",CHF,10,SLI,IND,2017-12-14 4 | EUCH,SOFFEX,SMI,FSMI,"Swiss Market Index",CHF,10,SMI,IND,2017-12-15 5 | EUCH,SOFFEX,SMIDP,FSMD,"SMI Dividend Points Index",CHF,100,SMIDP,IND,2017-12-15 6 | EUCH,SOFFEX,SMIM,FSMM,"Swiss Mid-cap Index",CHF,10,SMIM,IND,2017-12-14 7 | IFEN,IPE,ATW,ATW,"ICE Rotterdam Coal",USD,1000,ATW,IND,2017-10-27 8 | IFEN,IPE,COIL,COIL,"ICE Brent Crude",USD,1000,COIL,IND,2017-10-31 9 | IFEN,IPE,GOIL,GOIL,"ICE Gasoil",USD,100,GOIL,IND,2017-10-12 10 | IFEN,IPE,HOIL,HOIL,"ICE Heating Oil",USD,42000,HOIL,IND,2017-10-30 11 | IFEN,IPE,NCF,NCF,"Newcastle Coal Futures",USD,1000,NCF,IND,2017-10-27 12 | IFEN,IPE,NGF,NGF,"ICE UK Natural Gas",GBP,28000,NGF,IND,2018-01-30 13 | IFEN,IPE,NGF,NGF,"ICE UK Natural Gas",GBP,29000,NGF,IND,2020-01-30 14 | IFEN,IPE,NGF,NGF,"ICE UK Natural Gas",GBP,30000,NGF,IND,2017-10-30 15 | IFEN,IPE,NGF,NGF,"ICE UK Natural Gas",GBP,31000,NGF,IND,2017-11-29 16 | IFEN,IPE,RBOB,RBOB,"ICE NYH RBOB Gasoline",USD,42000,RBOB,IND,2017-10-30 17 | IFEN,IPE,UCX,UCX,"CSX Coal Futures",USD,1000,UCX,IND,2017-10-25 18 | IFEN,IPE,WTI,WTI,"West Texas Intermediate Light Sweet Crude Oil",USD,1000,WTI,IND,2017-10-19 19 | IFLL,ICEEU,F1DV,XZ,"FTSE 100 Dividend Index",GBP,10,F1DV,IND,2017-12-14 20 | IFLL,ICEEU,H,H,"Medium Gilt",GBP,1000,H,IND,2010-03-29 21 | IFLL,ICEEU,I,I,"3 Month EURIBOR Interest Rate",EUR,2500,I,IND,2017-10-16 22 | IFLL,ICEEU,L,L,"3 Month Sterling Interest Rate FUT",GBP,1250,L,IND,2017-10-18 23 | IFLL,ICEEU,NDUEBRAF,MCG,"The MSCI Brazil Net Total Return",USD,100,NDUEBRAF,IND,2021-12-17 24 | IFLL,ICEEU,O,O,"5 Year Euro Swapnote",EUR,1000,O,IND,2017-12-18 25 | IFLL,ICEEU,P,P,"10 Year Euro Swapnote",EUR,1000,P,IND,2017-12-18 26 | IFLL,ICEEU,R,R,"Long Gilt",GBP,1000,R,IND,1983-03-29 27 | IFLL,ICEEU,S,S,"Three Month Euro Swiss Franc Interest Rate",CHF,2500,S,IND,2017-12-18 28 | IFLL,ICEEU,SG,G,"Short Gilt",GBP,1000,SG,IND,2010-03-29 29 | IFLL,ICEEU,SONIA.N,SO3,"Three Month SONIA",GBP,2500,SONIA.N,IND,2021-12-14 30 | IFLL,ICEEU,SONIO.N,SOA,"One Month SONIA",GBP,2500,SONIO.N,IND,2021-10-29 31 | IFLL,ICEEU,SRFXON3,SA3,"Three Month SaronA",CHF,2500,SRFXON3,IND,2021-12-14 32 | IFLL,ICEEU,TWS,TWS,"2 Year Euro Swapnote",EUR,1000,TWS,IND,2017-12-18 33 | IFLL,ICEEU,USO,USO,"Five Year $ Swapnote",USD,1000,USO,IND,2017-12-18 34 | IFLL,ICEEU,USP,USP,"Ten Year $ Swapnote",USD,1000,USP,IND,2017-12-18 35 | IFLL,ICEEU,USW,USW,"Two Year Dollar Swapnote",USD,2000,USW,IND,2017-12-18 36 | IFLL,ICEEU,Y,Y2,"FTSE 250 Index",GBP,2,Y,IND,1994-03-18 37 | IFLL,ICEEU,Z,Z,"FTSE 100 Index",GBP,1000,Z,IND,1984-06-29 38 | IFLX,ICEEUSOFT,C,C,Cocoa,GBP,10,C,IND,2017-12-12 39 | IFLX,ICEEUSOFT,D,RC,"Robusta Coffee",USD,10,D,IND,2017-11-30 40 | IFLX,ICEEUSOFT,T,T,Wheat,GBP,100,T,IND,2017-11-23 41 | IFLX,ICEEUSOFT,W,W,"White Sugar",USD,50,W,IND,2017-11-15 42 | IFUS,ICEUS,AUD,KAU,"Australian dollar",USD,100000,AUD.USD,CASH,2017-12-18 43 | IFUS,ICECRYPTO,BAKKT,BTM,"Bakkt Bitcoin",USD,1,BAKKT,IND,2019-10-16 44 | IFUS,NYBOT,CC,CC,"Cocoa NYBOT",USD,10,CC,IND,1980-03-20 45 | IFUS,NYBOT,CT,CT,"Cotton No. 2",USD,50000,CT,IND,1980-03-07 46 | IFUS,NYBOT,DX,DX,"NYBOT US Dollar FX",USD,1000,DX,IND,1986-03-19 47 | IFUS,ICEUS,EAD,KRA,"European Monetary Union Euro",AUD,125000,EUR.AUD,CASH,2017-12-18 48 | IFUS,ICEUS,ECD,KEP,"European Monetary Union Euro",CAD,125000,EUR.CAD,CASH,2017-12-18 49 | IFUS,ICEUS,EJ,KEJ,"NYBOT Euro in Japanese Yen",JPY,125000,EJ,IND,1999-03-15 50 | IFUS,ICEUS,EO,KEO,"European Monetary Union Euro",USD,125000,EUR.USD,CASH,2017-12-18 51 | IFUS,ICEUS,GB,KGB,"Euro in British Pound",GBP,125000,GB,CASH,2019-12-16 52 | IFUS,ICEUS,GB,KGB,"Euro in British Pound",GBP,125000,GB,IND,1999-03-15 53 | IFUS,ICEUS,GB,KGB,"European Monetary Union Euro",GBP,125000,EUR.GBP,CASH,2021-12-13 54 | IFUS,NYBOT,KC,KC,"Coffee ""C""",USD,37500,KC,IND,1980-03-24 55 | IFUS,NYBOT,LRC30APR,30C,"ICE U.S. Conforming 30-yr Fixed Mortgage Rate Lock Weighted APR",USD,5000,LRC30APR,IND,2022-07-15 56 | IFUS,ICEUS,MP,MP,"British pound",USD,62500,GBP.USD,CASH,2017-12-18 57 | IFUS,NYBOT,NYFANG,FNG,"NYSE FANG+ Index",USD,5,NYFANG,IND,2020-12-18 58 | IFUS,NYBOT,NYFANG,FNG,"NYSE FANG+ Index",USD,50,NYFANG,IND,2017-12-15 59 | IFUS,NYBOT,OJ,OJ,"FC Orange Juice ""A""",USD,15000,OJ,IND,1980-01-18 60 | IFUS,NYBOT,RS,RS,Canola,CAD,20,RS,IND,2005-11-14 61 | IFUS,ICEUS,RZ,KRZ,"NYBOT Euro in Swiss Franc",CHF,125000,RZ,IND,1999-03-26 62 | IFUS,NYBOT,SB,SB,"Sugar No. 11",USD,112000,SB,IND,1982-04-30 63 | IFUS,NYBOT,SF,SF,"Sugar #16 112000 lbs",USD,112000,SF,IND,2008-12-08 64 | IFUS,ICEUS,SS,SS,"British Pound in Swiss Franc",CHF,125000,SS,IND,1997-06-16 65 | IFUS,ICEUS,SY,SY,"British Pound in Japanese Yen",JPY,125000,SY,IND,1997-06-16 66 | IFUS,ICEUS,ZY,KZY,"Swiss Franc in Japanese Yen",JPY,250000,ZY,IND,1999-03-15 67 | NDEX,ENDEX,ECF,ECF,"ICE ECX EUA Futures",EUR,1000,ECF,IND,2021-06-28 68 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,1,TFM,IND,2022-11-29 69 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,696,TFM,IND,2024-01-30 70 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,720,TFM,IND,2023-08-30 71 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,743,TFM,IND,2024-02-28 72 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,744,TFM,IND,2023-06-29 73 | NDEX,ENDEX,TFM,TFM,"Dutch TTF Natural Gas Futures",EUR,745,TFM,IND,2023-09-28 74 | SMFE,SMFE,10YSME,S10Y,"Small 10YR US Treasury Yield",USD,100,10YSME,IND,2020-10-16 75 | SMFE,SMFE,2YSME,S2Y,"Small 2YR US Treasury Yield",USD,100,2YSME,IND,2021-03-19 76 | SMFE,SMFE,30YSME,S30Y,"Small 30YR US Treasury Yield",USD,100,30YSME,IND,2021-03-19 77 | SMFE,SMFE,75SME,SM75,"Small Stocks 75",USD,100,75SME,IND,2020-06-19 78 | SMFE,SMFE,FXSME,SFX,"Small US Dollar",USD,100,FXSME,IND,2020-06-19 79 | SMFE,SMFE,PRESME,SPRE,"Small Precious Metals",USD,100,PRESME,IND,2020-06-19 80 | SMFE,SMFE,S420,S420,"Small Cannabis",USD,100,S420,IND,2021-07-16 81 | SMFE,SMFE,SCCX,SCCX,"Small Cryptocurrency",USD,100,CCXSME,IND,2021-10-15 82 | SMFE,SMFE,SMO,SMO,"Small US Crude Oil",USD,100,SMO,IND,2021-05-13 83 | SMFE,SMFE,STXSME,STIX,"Small Technology 60",USD,100,STXSME,IND,2020-09-18 84 | XBRD,BELFOX,BFX,BXF,"BEL 20 Index",EUR,10,BEL20,IND,2017-10-20 85 | XCBF,CFE,AMB07,AMW1,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMERIBOR,IND,2019-09-04 86 | XCBF,CFE,AMB07,AMW2,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMERIBOR,IND,2019-09-11 87 | XCBF,CFE,AMB07,AMW3,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMERIBOR,IND,2019-09-18 88 | XCBF,CFE,AMB07,AMW3,"CBOE 7-Day AMERIBOR Average Rate Index",USD,180000,AMERIBOR,IND,2019-08-21 89 | XCBF,CFE,AMB07,AMW4,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMERIBOR,IND,2019-08-28 90 | XCBF,CFE,AMB07,AMW5,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMB07,IND,2019-10-30 91 | XCBF,CFE,AMB07,AMW5,"CBOE 7-Day AMERIBOR Average Rate Index",USD,3500,AMERIBOR,IND,2020-07-29 92 | XCBF,CFE,AMB90,AMB3,"CBOE Three-Month AMERIBOR Compound Average Rate Index",USD,2500,AMB90,IND,2019-12-17 93 | XCBF,CFE,AMB90,AMB3,"CBOE Three-Month AMERIBOR Compound Average Rate Index",USD,2500,AMBTX,IND,2019-09-17 94 | XCBF,CFE,IBXXIBHY,IBHY,"iBoxx iShares $ High Yield Corporate Bond Index TR",USD,1000,IBXXIBHY,IND,2018-10-01 95 | XCBF,CFE,IBXXIBIG,IBIG,"iBoxx iShares $ Investment Grade Corporate Bond Index TR",USD,1000,IBXXIBIG,IND,2018-11-01 96 | XCBF,CFE,VIX,VX,"CBOE Volatility Index",USD,1000,VIX,IND,2017-10-18 97 | XCBF,CFE,VIX,VX01,"CBOE Volatility Index",USD,1000,VIX,IND,2018-01-03 98 | XCBF,CFE,VIX,VX02,"CBOE Volatility Index",USD,1000,VIX,IND,2018-01-10 99 | XCBF,CFE,VIX,VX04,"CBOE Volatility Index",USD,1000,VIX,IND,2018-01-24 100 | XCBF,CFE,VIX,VX05,"CBOE Volatility Index",USD,1000,VIX,IND,2018-01-31 101 | XCBF,CFE,VIX,VX06,"CBOE Volatility Index",USD,1000,VIX,IND,2018-02-07 102 | XCBF,CFE,VIX,VX08,"CBOE Volatility Index",USD,1000,VIX,IND,2018-02-21 103 | XCBF,CFE,VIX,VX09,"CBOE Volatility Index",USD,1000,VIX,IND,2018-02-27 104 | XCBF,CFE,VIX,VX10,"CBOE Volatility Index",USD,1000,VIX,IND,2018-03-07 105 | XCBF,CFE,VIX,VX11,"CBOE Volatility Index",USD,1000,VIX,IND,2018-03-14 106 | XCBF,CFE,VIX,VX12,"CBOE Volatility Index",USD,1000,VIX,IND,2020-03-25 107 | XCBF,CFE,VIX,VX13,"CBOE Volatility Index",USD,1000,VIX,IND,2018-03-28 108 | XCBF,CFE,VIX,VX14,"CBOE Volatility Index",USD,1000,VIX,IND,2018-04-04 109 | XCBF,CFE,VIX,VX15,"CBOE Volatility Index",USD,1000,VIX,IND,2018-04-11 110 | XCBF,CFE,VIX,VX16,"CBOE Volatility Index",USD,1000,VIX,IND,2020-04-22 111 | XCBF,CFE,VIX,VX17,"CBOE Volatility Index",USD,1000,VIX,IND,2018-04-25 112 | XCBF,CFE,VIX,VX18,"CBOE Volatility Index",USD,1000,VIX,IND,2018-05-02 113 | XCBF,CFE,VIX,VX19,"CBOE Volatility Index",USD,1000,VIX,IND,2018-05-09 114 | XCBF,CFE,VIX,VX20,"CBOE Volatility Index",USD,1000,VIX,IND,2019-05-15 115 | XCBF,CFE,VIX,VX21,"CBOE Volatility Index",USD,1000,VIX,IND,2018-05-23 116 | XCBF,CFE,VIX,VX22,"CBOE Volatility Index",USD,1000,VIX,IND,2018-05-30 117 | XCBF,CFE,VIX,VX23,"CBOE Volatility Index",USD,1000,VIX,IND,2018-06-06 118 | XCBF,CFE,VIX,VX24,"CBOE Volatility Index",USD,1000,VIX,IND,2018-06-13 119 | XCBF,CFE,VIX,VX25,"CBOE Volatility Index",USD,1000,VIX,IND,2020-06-24 120 | XCBF,CFE,VIX,VX26,"CBOE Volatility Index",USD,1000,VIX,IND,2018-06-27 121 | XCBF,CFE,VIX,VX27,"CBOE Volatility Index",USD,1000,VIX,IND,2018-07-03 122 | XCBF,CFE,VIX,VX28,"CBOE Volatility Index",USD,1000,VIX,IND,2018-07-11 123 | XCBF,CFE,VIX,VX30,"CBOE Volatility Index",USD,1000,VIX,IND,2018-07-25 124 | XCBF,CFE,VIX,VX31,"CBOE Volatility Index",USD,1000,VIX,IND,2018-08-01 125 | XCBF,CFE,VIX,VX32,"CBOE Volatility Index",USD,1000,VIX,IND,2018-08-08 126 | XCBF,CFE,VIX,VX33,"CBOE Volatility Index",USD,1000,VIX,IND,2018-08-15 127 | XCBF,CFE,VIX,VX34,"CBOE Volatility Index",USD,1000,VIX,IND,2020-08-26 128 | XCBF,CFE,VIX,VX35,"CBOE Volatility Index",USD,1000,VIX,IND,2018-08-29 129 | XCBF,CFE,VIX,VX36,"CBOE Volatility Index",USD,1000,VIX,IND,2018-09-05 130 | XCBF,CFE,VIX,VX37,"CBOE Volatility Index",USD,1000,VIX,IND,2018-09-12 131 | XCBF,CFE,VIX,VX38,"CBOE Volatility Index",USD,1000,VIX,IND,2020-09-23 132 | XCBF,CFE,VIX,VX39,"CBOE Volatility Index",USD,1000,VIX,IND,2018-09-26 133 | XCBF,CFE,VIX,VX40,"CBOE Volatility Index",USD,1000,VIX,IND,2018-10-03 134 | XCBF,CFE,VIX,VX41,"CBOE Volatility Index",USD,1000,VIX,IND,2005-10-19 135 | XCBF,CFE,VIX,VX43,"CBOE Volatility Index",USD,1000,VIX,IND,2017-10-25 136 | XCBF,CFE,VIX,VX44,"CBOE Volatility Index",USD,1000,VIX,IND,2017-11-01 137 | XCBF,CFE,VIX,VX45,"CBOE Volatility Index",USD,1000,VIX,IND,2017-11-08 138 | XCBF,CFE,VIX,VX46,"CBOE Volatility Index",USD,1000,VIX,IND,2018-11-14 139 | XCBF,CFE,VIX,VX47,"CBOE Volatility Index",USD,1000,VIX,IND,2017-11-22 140 | XCBF,CFE,VIX,VX48,"CBOE Volatility Index",USD,1000,VIX,IND,2017-11-29 141 | XCBF,CFE,VIX,VX49,"CBOE Volatility Index",USD,1000,VIX,IND,2017-12-06 142 | XCBF,CFE,VIX,VX50,"CBOE Volatility Index",USD,1000,VIX,IND,2017-12-13 143 | XCBF,CFE,VIX,VX51,"CBOE Volatility Index",USD,1000,VIX,IND,2020-12-23 144 | XCBF,CFE,VIX,VX52,"CBOE Volatility Index",USD,1000,VIX,IND,2017-12-27 145 | XCBF,CFE,VIX,VX53,"CBOE Volatility Index",USD,1000,VIX,IND,2019-12-31 146 | XCBF,CFE,VXM,VXM,"Mini Cboe Volatility Index Futures",USD,100,VXM,IND,2020-09-16 147 | XCBT,CBOT,10Y,10Y,"10 Year Micro Treasury Yield",USD,1000,10Y,IND,2021-08-31 148 | XCBT,CBOT,2YY,2YY,"2 Year Micro Treasury Yield",USD,1000,2YY,IND,2021-08-31 149 | XCBT,CBOT,30Y,30Y,"30 Year Micro Treasury Yield",USD,1000,30Y,IND,2021-08-31 150 | XCBT,CBOT,5YY,5YY,"5 Year Micro Treasury Yield",USD,1000,5YY,IND,2021-08-31 151 | XCBT,CBOT,AC,EH,"Ethanol -CME",USD,29000,AC,IND,2017-11-03 152 | XCBT,CBOT,AIGCI,AW,"Bloomberg Commodity Index",USD,100,AIGCI,IND,2017-12-20 153 | XCBT,CBOT,B1U,B1U,"30-Year Deliverable Interest Rate Swap Futures",USD,1000,B1U,IND,2017-12-18 154 | XCBT,CBOT,DJUSRE,RX,"Dow Jones US Real Estate Index",USD,100,DJUSRE,IND,2017-12-15 155 | XCBT,CBOT,F1U,F1U,"5-Year Deliverable Interest Rate Swap Futures",USD,1000,F1U,IND,2017-12-18 156 | XCBT,CBOT,KE,KE,"Hard Red Winter Wheat -KCBOT-",USD,5000,KE,IND,1995-07-20 157 | XCBT,CBOT,LIT,LIT,"2-Year Eris Swap Futures",USD,1000,LIT,IND,2018-12-20 158 | XCBT,CBOT,LIW,LIW,"5-Year Eris Swap Futures",USD,1000,LIW,IND,2018-12-17 159 | XCBT,CBOT,MYM,MYM,"Micro E-Mini Dow Jones Industrial Average Index",USD,0.5,MYM,IND,2019-06-21 160 | XCBT,CBOT,N1U,N1U,"10-Year Deliverable Interest Rate Swap Futures",USD,1000,N1U,IND,2017-12-18 161 | XCBT,CBOT,T1U,T1U,"2-Year Deliverable Interest Rate Swap Futures",USD,1000,T1U,IND,2017-12-18 162 | XCBT,CBOT,TN,TN,"Ultra 10-Year US Treasury Note",USD,1000,TN,IND,2017-12-19 163 | XCBT,CBOT,TWE,TWE,"20-Year U.S. Treasury Bond",USD,1000,TWE,IND,2022-06-21 164 | XCBT,CBOT,UB,UB,"Ultra Treasury Bond",USD,1000,UB,IND,2010-03-22 165 | XCBT,CBOT,YC,XC,"Mini Sized Corn Futures",USD,1000,YC,IND,2017-12-14 166 | XCBT,CBOT,YIW,YIW,"5-Year Eris SOFR Swap Futures",USD,1000,YIW,IND,2023-06-20 167 | XCBT,CBOT,YK,XK,"Mini Sized Soybean Futures",USD,1000,YK,IND,2003-05-14 168 | XCBT,CBOT,YM,YM,"E-mini Dow Jones Industrial Average",USD,5,YM,IND,2020-12-18 169 | XCBT,CBOT,YM,YM,"Mini Sized Dow Jones Industrial Average $5",USD,5,YM,IND,2002-06-21 170 | XCBT,CBOT,YW,XW,"Mini Sized Wheat Futures",USD,1000,YW,IND,2003-05-14 171 | XCBT,CBOT,Z3N,Z3N,"3 YEAR US TREASURY NOTE",USD,2000,Z3N,IND,2017-12-29 172 | XCBT,CBOT,ZB,ZB,"30 Year US Treasury Bond",USD,1000,ZB,IND,1980-03-20 173 | XCBT,CBOT,ZC,ZC,"Corn Futures",USD,5000,ZC,IND,1980-03-20 174 | XCBT,CBOT,ZF,ZF,"5 Year US Treasury Note",USD,1000,ZF,IND,1988-06-21 175 | XCBT,CBOT,ZL,ZL,"Soybean Oil Futures",USD,60000,ZL,IND,1980-01-22 176 | XCBT,CBOT,ZM,ZM,"Soybean Meal Futures",USD,100,ZM,IND,1980-01-22 177 | XCBT,CBOT,ZN,ZN,"10 Year US Treasury Note",USD,1000,ZN,IND,1982-06-21 178 | XCBT,CBOT,ZO,ZO,"Oat Futures",USD,5000,ZO,IND,1980-03-20 179 | XCBT,CBOT,ZQ,ZQ,"30 Day Fed Funds",USD,4167,FF,IND,1988-10-31 180 | XCBT,CBOT,ZR,ZR,"Rough Rice Futures",USD,2000,ZR,IND,1988-09-21 181 | XCBT,CBOT,ZS,ZS,"Soybean Futures",USD,5000,ZS,IND,1980-01-22 182 | XCBT,CBOT,ZT,ZT,"2 Year US Treasury Note",USD,2000,ZT,IND,1990-09-19 183 | XCBT,CBOT,ZW,ZW,"Wheat Futures",USD,5000,ZW,IND,1980-03-20 184 | XCEC,COMEX,ALI,ALI,"Aluminum Index",USD,25,ALI,IND,2014-07-29 185 | XCEC,COMEX,GC,GC,Gold,USD,100,GC,IND,1980-01-28 186 | XCEC,COMEX,HG,HG,"Copper Index",USD,25000,HG,IND,1980-01-28 187 | XCEC,COMEX,HRC,HRC,"Hot-Rolled Coil Steel Index",USD,20,HRC,IND,2019-07-30 188 | XCEC,COMEX,MGC,MGC,"E-Micro Gold ",USD,10,MGC,IND,2020-12-29 189 | XCEC,COMEX,MHG,MHG,"Micro Copper",USD,2500,MHG,IND,2022-05-26 190 | XCEC,COMEX,QC,QC,"COMEX MINY Copper",USD,12500,QC,IND,2006-12-27 191 | XCEC,COMEX,QI,QI,"COMEX MINY Silver",USD,2500,QI,IND,2006-12-27 192 | XCEC,COMEX,QO,QO,"COMEX MINY Gold",USD,50,QO,IND,2007-01-29 193 | XCEC,COMEX,SGC,SGC,"Shanghai Gold Exchange Gold Benchmark PM Price Index - CNH Futures",CNH,1000,SGC,IND,2020-12-29 194 | XCEC,COMEX,SGUF,SGU,"Shanghai Gold Exchange Gold Benchmark PM Price Index - USD Futures",USD,32.15,SGUF,IND,2020-12-29 195 | XCEC,COMEX,SI,SI,"Silver Index",USD,5000,SI,IND,1980-01-28 196 | XCEC,COMEX,SI,SIL,"Silver Index",USD,1000,SI,IND,1980-01-28 197 | XCEC,COMEX,UX,UX,"Uranium Index",USD,250,UX,IND,2007-06-25 198 | XCME,CME,ACD,ACD,"Australian dollar",CAD,200000,AUD.CAD,CASH,2017-12-18 199 | XCME,CME,AJY,AJY,"Australian dollar",JPY,200000,AUD.JPY,CASH,2017-12-18 200 | XCME,CME,AUD,6A,"Australian dollar",USD,100000,AUD.USD,CASH,1987-03-16 201 | XCME,CME,BOS,BOS,"Boston Housing Index",USD,250,BOS,IND,2017-11-27 202 | XCME,CME,BQX,BIO,"CME E-Mini NASDAQ Biotechnology",USD,25,BQX,IND,2021-09-17 203 | XCME,CME,BQX,BIO,"CME E-Mini NASDAQ Biotechnology",USD,50,BQX,IND,2017-12-15 204 | XCME,CME,BRE,6L,"Brazilian Real in US Dollars",USD,100000,BRE,IND,2011-07-29 205 | XCME,CME,BRR,BTC,"CME CF Bitcoin Reference Rate",USD,5,BRR,IND,2018-01-26 206 | XCME,CME,BSBY,BSB,"Three-Month Bloomberg Short-Term Bank Yield",USD,2500,BSBY,IND,2022-03-14 207 | XCME,CME,BTCEURRR,BTE,"CME CF Bitcoin-Euro Reference Rate",EUR,5,BTCEUR_RR,IND,2022-09-30 208 | XCME,CME,CAD,6C,"CAD.USD Forex",USD,100000,CAD.USD,CASH,1980-03-18 209 | XCME,CME,CAD,6C,"Canadian dollar",USD,100000,CAD.USD,CASH,2019-03-19 210 | XCME,CME,CB,CB,"CME Cash-Settled Butter Futures",USD,20000,CB,IND,2017-11-28 211 | XCME,CME,CHF,6S,"Swiss franc",USD,125000,CHF.USD,CASH,1980-03-17 212 | XCME,CME,CHI,CHI,"Chicago Housing Index",USD,250,CHI,IND,2017-11-27 213 | XCME,CME,CJY,CJY,"Canadian dollar",JPY,200000,CAD.JPY,CASH,2017-12-18 214 | XCME,CME,CLP,CHP,"CLP.USD Forex",USD,50000000,CLP.USD,CASH,2017-10-31 215 | XCME,CME,CNH,CNH,"United States dollar",CNH,100000,USD.CNH,CASH,2018-08-12 216 | XCME,CME,CSC,CSC,Cheese,USD,20000,CSC,IND,2017-11-28 217 | XCME,CME,CUS,CUS,"Housing Index Composite",USD,250,CUS,IND,2017-11-27 218 | XCME,CME,CZK,CZK,"CZK.USD Forex",USD,4000000,CZK.USD,CASH,2017-12-18 219 | XCME,CME,DA,DC,"MILK CLASS III INDEX",USD,2000,DA,IND,2017-11-28 220 | XCME,CME,DEN,DEN,"Denver Housing Index",USD,250,DEN,IND,2017-11-27 221 | XCME,CME,DY,DY,"CME DRY WHEY INDEX",USD,44000,DY,IND,2017-11-28 222 | XCME,CME,E7,E7,"European Monetary Union Euro",USD,62500,EUR.USD,CASH,2000-03-13 223 | XCME,CME,EAD,EAD,"European Monetary Union Euro",AUD,125000,EUR.AUD,CASH,2017-12-18 224 | XCME,CME,ECD,ECD,"European Monetary Union Euro",CAD,125000,EUR.CAD,CASH,2017-12-18 225 | XCME,CME,ECK,ECK,"ECK.EUR Forex",EUR,4000000,CZK.EUR,CASH,2017-12-18 226 | XCME,CME,EHF,EHF,"EHF.EUR Forex",EUR,30000000,HUF.EUR,CASH,2017-12-18 227 | XCME,CME,EM,GLB,"1 Month LIBOR (Int. Rate)",USD,2500,EM,IND,2017-10-16 228 | XCME,CME,EMD,EMD,"E-mini S&P Midcap 400 Futures",USD,100,EMD,IND,2002-03-15 229 | XCME,CME,EPZ,EPZ,"EPZ.EUR Forex",EUR,500000,PLN.EUR,CASH,2017-12-18 230 | XCME,CME,ES,ES,"E-mini S&P 500",USD,50,ES,IND,1997-12-18 231 | XCME,CME,ESTR,ESR,"Euro Short-Term Rate",EUR,2500,ESTR,IND,2023-09-19 232 | XCME,CME,ETHEURRR,ETE,"CME CF Ether-Euro Reference Rate",EUR,50,ETHEUR_RR,IND,2022-09-30 233 | XCME,CME,ETHUSDRR,ETH,"CME CF Ether-Dollar Reference Rate",USD,50,ETHUSD_RTI,IND,2021-03-26 234 | XCME,CME,EUR,6E,"European Monetary Union Euro",USD,125000,EUR.USD,CASH,1999-03-15 235 | XCME,CME,GBP,6B,"British pound",USD,62500,GBP.USD,CASH,1980-03-17 236 | XCME,CME,GDK,GDK,"Class IV Milk - 200k lbs",USD,2000,GDK,IND,2017-11-28 237 | XCME,CME,GE,GE,Euro-Dollar,USD,2500,GE,IND,2020-10-19 238 | XCME,CME,GE,GE,"GLOBEX Euro-Dollar",USD,2500,GE,IND,2017-10-16 239 | XCME,CME,GF,GF,"Feeder Cattle",USD,50000,GF,IND,1980-01-18 240 | XCME,CME,GSCI,GD,"S&P-GSCI Index",USD,250,GSCI,IND,1996-06-06 241 | XCME,CME,HE,HE,"Lean Hogs",USD,40000,HE,IND,1980-02-20 242 | XCME,CME,HUF,HUF,"HUF.USD Forex",USD,30000000,HUF.USD,CASH,2017-12-18 243 | XCME,CME,IBAA,IBV,"Bovespa Index - USD",USD,1,IBAA,IND,2017-10-18 244 | XCME,CME,ILS,ILS,"Israeli Shekel in US Dollar",USD,1000000,ILS,IND,2017-12-18 245 | XCME,CME,IXB,XAB,"Materials Select Sector Index",USD,100,IXB,IND,2017-12-15 246 | XCME,CME,IXE,XAE,"Energy Select Sector Index",USD,100,IXE,IND,2017-12-15 247 | XCME,CME,IXI,XAI,"Industrial Select Sector Index",USD,100,IXI,IND,2017-12-15 248 | XCME,CME,IXM,XAF,"Financial Select Sector Index",USD,250,IXM,IND,2017-12-15 249 | XCME,CME,IXR,XAP,"Consumer Staples Select Sector Index",USD,100,IXR,IND,2017-12-15 250 | XCME,CME,IXRE,XAR,"Real Estate Select Sector Index",USD,250,IXRE,IND,2017-12-15 251 | XCME,CME,IXT,XAK,"Technology Select Sector Index -",USD,100,IXT,IND,2017-12-15 252 | XCME,CME,IXU,XAU,"Utilities Select Sector Index",USD,100,IXU,IND,2017-12-15 253 | XCME,CME,IXV,XAV,"Health Care Select Sector Index",USD,100,IXV,IND,2017-12-15 254 | XCME,CME,IXY,XAY,"Consumer Discretionary Select Sector Index",USD,100,IXY,IND,2017-12-15 255 | XCME,CME,J7,J7,"J7.USD Forex",USD,6250000,JPY.USD,CASH,1999-12-13 256 | XCME,CME,JPY,6J,"JPY.USD Forex",USD,12500000,JPY.USD,CASH,1980-03-17 257 | XCME,CME,JPY,6J,"Japanese yen",USD,12500000,JPY.USD,CASH,2019-04-15 258 | XCME,CME,KRW,KRW,"Korean Won",USD,125000000,KRW,IND,2017-10-16 259 | XCME,CME,LAV,LAV,"Las Vegas Housing Index",USD,250,LAV,IND,2017-11-27 260 | XCME,CME,LAX,LAX,"Los Angeles Housing Index",USD,250,LAX,IND,2017-11-27 261 | XCME,CME,LB,LBS,"Random Length Lumber",USD,110,LB,IND,2017-11-15 262 | XCME,CME,LBR,LBR,"Lumber Futures",USD,27.5,LBR,IND,2022-09-15 263 | XCME,CME,LE,LE,"Live Cattle",USD,40000,LE,IND,1980-02-20 264 | XCME,CME,M2K,M2K,"Micro E-Mini Russell 2000 Index",USD,5,M2K,IND,2019-06-21 265 | XCME,CME,M6A,M6A,"Australian dollar",USD,10000,AUD.USD,CASH,2017-12-18 266 | XCME,CME,M6B,M6B,"British pound",USD,6250,GBP.USD,CASH,2017-12-18 267 | XCME,CME,M6C,M6C,"United States dollar",CAD,10000,USD.CAD,CASH,2021-09-14 268 | XCME,CME,M6E,M6E,"European Monetary Union Euro",USD,12500,EUR.USD,CASH,2017-12-18 269 | XCME,CME,M6J,M6J,"United States dollar",JPY,10000,USD.JPY,CASH,2021-09-13 270 | XCME,CME,M6S,M6S,"United States dollar",CHF,10000,USD.CHF,CASH,2021-09-13 271 | XCME,CME,MBT,MBT,"Micro Bitcoin",USD,0.1,MBT,IND,2021-06-25 272 | XCME,CME,MCD,MCD,"MCD.USD Forex",USD,10000,CAD.USD,CASH,2017-12-19 273 | XCME,CME,MES,MES,"Micro E-Mini S&P 500 Stock Price Index",USD,5,MES,IND,2019-06-21 274 | XCME,CME,MET,MET,"Micro Ether",USD,0.1,MET,IND,2021-12-31 275 | XCME,CME,MIA,MIA,"Miami Housing Index",USD,250,MIA,IND,2017-11-27 276 | XCME,CME,MIR,MIR,"MIR.USD Forex",USD,1000000,INR.USD,CASH,2017-10-27 277 | XCME,CME,MJY,MJY,"MJY.USD Forex",USD,1250000,JPY.USD,CASH,2017-12-18 278 | XCME,CME,MNH,MNH,"United States dollar",CNH,10000,USD.CNH,CASH,2018-08-12 279 | XCME,CME,MNQ,MNQ,"Micro E-Mini Nasdaq-100 Index",USD,2,MNQ,IND,2019-06-21 280 | XCME,CME,MSF,MSF,"Swiss franc",USD,12500,CHF.USD,CASH,2017-12-18 281 | XCME,CME,MXP,6M,"MXP.USD Forex",USD,500000,MXN.USD,CASH,2000-11-13 282 | XCME,CME,MXP,6M,"Mexican Peso",USD,500000,MXN.USD,CASH,2019-03-18 283 | XCME,CME,NF,GNF,"NON FAT DRY MILK INDEX",USD,44000,NF,IND,2017-11-28 284 | XCME,CME,NIY,ENY,"Yen Denominated Nikkei 225 Index",JPY,100,NIY,IND,2017-12-07 285 | XCME,CME,NIY,NIY,"Yen Denominated Nikkei 225 Index",JPY,500,NIY,IND,2017-10-12 286 | XCME,CME,NKD,NKD,"Dollar Denominated Nikkei 225 Index",USD,5,NKD,IND,2017-12-07 287 | XCME,CME,NOK,NOK,"NOK.USD Forex",USD,2000000,NOK.USD,CASH,2017-12-18 288 | XCME,CME,NQ,NQ,"E-mini NASDAQ 100 ",USD,20,NQ,IND,2020-12-18 289 | XCME,CME,NQ,NQ,"E-mini NASDAQ 100 Futures",USD,20,NQ,IND,1999-09-17 290 | XCME,CME,NYM,NYM,"New York Housing Index",USD,250,NYM,IND,2017-11-27 291 | XCME,CME,NZD,6N,"New Zealand dollar",USD,100000,NZD.USD,CASH,1997-06-16 292 | XCME,CME,PJY,PJY,"British pound",JPY,125000,GBP.JPY,CASH,2017-12-18 293 | XCME,CME,PLN,PLN,"PLN.USD Forex",USD,500000,PLN.USD,CASH,2017-12-18 294 | XCME,CME,PSF,PSF,"British pound",CHF,125000,GBP.CHF,CASH,2017-12-18 295 | XCME,CME,RF,RF,"European Monetary Union Euro",CHF,125000,EUR.CHF,CASH,1999-03-15 296 | XCME,CME,RMB,RMB,"CME Chinese Renminbi in US Dollar Cross Rate",USD,1000000,RMB,IND,2017-10-15 297 | XCME,CME,RME,RME,"CME Chinese Renminbi in Euro Cross Rate",EUR,1000000,RME,IND,2017-10-15 298 | XCME,CME,RP,RP,"European Monetary Union Euro",GBP,125000,EUR.GBP,CASH,1999-03-15 299 | XCME,CME,RS1,RS1,"E-mini Russell 1000 Index Futures",USD,50,RS1,IND,2018-09-21 300 | XCME,CME,RSG,RSG,"E-mini Russell 1000 Growth Index Futures",USD,50,RSG,IND,2018-09-21 301 | XCME,CME,RSV,RSV,"E-Mini Russell 1000 Value Index Futures",USD,50,RSV,IND,2018-09-21 302 | XCME,CME,RTY,RTY,"E-Mini Russell 2000 Index",USD,50,RTY,IND,2001-09-21 303 | XCME,CME,RTY,RTY,"E-mini Russell 2000 Index",USD,50,RTY,IND,2020-12-18 304 | XCME,CME,RUR,6R,"Russian Ruble in US Dollars",USD,2500000,RUR,IND,2017-10-16 305 | XCME,CME,RY,RY,"European Monetary Union Euro",JPY,125000,EUR.JPY,CASH,1999-03-24 306 | XCME,CME,SDG,SDG,"San Diego Housing Index",USD,250,SDG,IND,2017-11-27 307 | XCME,CME,SEK,SEK,"SEK.USD Forex",USD,2000000,SEK.USD,CASH,2017-12-18 308 | XCME,CME,SFR,SFR,"San Francisco Housing Index",USD,250,SFR,IND,2017-11-27 309 | XCME,CME,SGX,SG,"S&P 500 / Citigroup Growth Index",USD,250,SGX,IND,1995-12-14 310 | XCME,CME,SIR,SIR,"SIR.USD Forex",USD,5000000,INR.USD,CASH,2017-10-27 311 | XCME,CME,SJY,SJY,"Swiss franc",JPY,250000,CHF.JPY,CASH,2017-12-18 312 | XCME,CME,SMC,SMC,"E-Mini S&P SmallCap 600 Futures",USD,100,SMC,IND,2017-12-15 313 | XCME,CME,SOFR1,SR1,"Secured Overnight Financing Rate 1-month average of rates",USD,4167,SOFR1,IND,2018-10-31 314 | XCME,CME,SOFR3,SR3,"Secured Overnight Financing Rate 3-month average of rates",USD,2500,SOFR3,IND,2018-12-18 315 | XCME,CME,SONIA,SON,"Sterling Overnight Index Average",GBP,2500,SONIA,IND,2019-03-20 316 | XCME,CME,SPX,SP,"S&P 500 Stock Index",USD,250,SPX,IND,2017-12-14 317 | XCME,CME,SPXDIVAN,SDA,"S&P 500 Dividend Points (Annual) Index",USD,250,SPXDIVAN,IND,2020-12-18 318 | XCME,CME,SPXESUP,ESG,"E-mini S&P 500 ESG",USD,500,SPXESUP,IND,2020-12-18 319 | XCME,CME,SVX,SU,"S&P 500 / Citigroup Value Index",USD,250,SVX,IND,1995-12-14 320 | XCME,CME,TBF3,TBF3,"13-Week US Treasury Bill",USD,2500,TBF3,IND,2023-10-16 321 | XCME,CME,VOLQ,VLQ,"NASDAQ-100 Volatility Index",USD,100,VOLQ,IND,2022-02-16 322 | XCME,CME,WDC,WDC,"Washington DC Housing Index",USD,250,WDC,IND,2017-11-27 323 | XCME,CME,ZAR,6Z,"South African Rand",USD,500000,ZAR.USD,CASH,2020-11-16 324 | XCME,CME,ZAR,6Z,"ZAR.USD Forex",USD,500000,ZAR.USD,CASH,1997-08-18 325 | XDMI,IDEM,FTMIB,FTMIB,"FTSE MIB Index",EUR,5,FTMIB,IND,2017-12-15 326 | XDMI,IDEM,FTMIB,MICRO,"FTSE MIB Index",EUR,0.2,FTMIB,IND,2020-12-18 327 | XDMI,IDEM,FTMIB,MINI,"FTSE MIB Index",EUR,1,FTMIB,IND,2017-12-15 328 | XDMI,IDEM,MIBDIV,FDIV,"FTSE MIB Dividend Index",EUR,5,MIBDIV,IND,2017-12-15 329 | XEMD,MEXDER,BONO10,M10,"10 Year Bond",MXN,1000,BONO10,IND,2017-12-26 330 | XEMD,MEXDER,BONO3,M3,"3 Year Bond",MXN,1000,BONO3,IND,2017-12-26 331 | XEMD,MEXDER,DEUA,DA,"United States dollar",MXN,10000,USD.MXN,CASH,2017-10-16 332 | XEMD,MEXDER,EURO,EU,"European Monetary Union Euro",MXN,10000,EUR.MXN,CASH,2017-10-16 333 | XEMD,MEXDER,IPC,IPC,"Mexico Bolsa (IPC) Index",MXN,10,IPC,IND,2017-12-15 334 | XEMD,MEXDER,IPC,MIP,"Mexico Bolsa (IPC) Index",MXN,2,IPC,IND,2017-12-15 335 | XEUE,FTA,AMX,FMX,"AMX INDEX",EUR,50,AMX,IND,2017-10-20 336 | XEUE,FTA,EOE,FTI,"AMS EOE Index",EUR,200,AEX,IND,2017-10-20 337 | XEUE,FTA,EOE,MFA,"AMS EOE Index",EUR,20,AEX,IND,2017-10-20 338 | XEUE,FTA,FED,FED,"Euro in US Dollars Index",USD,20000,FED,IND,2017-10-20 339 | XEUR,DTB,BTP,FBTP,"Euro-BTP Italian Government Bond",EUR,1000,BTP,IND,2009-12-08 340 | XEUR,EUREX,BTP,FBTP,"Euro-BTP Italian Government Bond",EUR,1000,BTP,IND,2020-12-08 341 | XEUR,DTB,BTS,FBTS,"Short-Term Euro-BTP Italian Government Bond",EUR,1000,BTS,IND,2017-12-07 342 | XEUR,EUREX,BTS,FBTS,"Short-Term Euro-BTP Italian Government Bond",EUR,1000,BTS,IND,2020-12-08 343 | XEUR,EUREX,CONF,CONF,"Swiss Federal Long-Term Bonds",CHF,1000,CONF,IND,2020-12-08 344 | XEUR,DTB,DAX,FDAX,"DAX 30 Index (Deutsche Aktien Xchange 30)",EUR,25,DAX,IND,2017-12-15 345 | XEUR,DTB,DAX,FDAX,"DAX 40 Index (Deutsche Aktien Xchange 40)",EUR,25,DAX,IND,2019-12-20 346 | XEUR,DTB,DAX,FDXM,"DAX 30 Index (Deutsche Aktien Xchange 30)",EUR,5,DAX,IND,2017-12-15 347 | XEUR,DTB,DAX,FDXM,"DAX 40 Index (Deutsche Aktien Xchange 40)",EUR,5,DAX,IND,2019-12-20 348 | XEUR,EUREX,DAX,FDAX,"DAX 40 Index (Deutsche Aktien Xchange 40)",EUR,25,DAX,IND,2020-12-18 349 | XEUR,EUREX,DAX,FDXM,"DAX 40 Index (Deutsche Aktien Xchange 40)",EUR,5,DAX,IND,2020-12-18 350 | XEUR,EUREX,DAX,FDXS,"DAX 40 Index (Deutsche Aktien Xchange 40)",EUR,1,DAX,IND,2021-06-18 351 | XEUR,EUREX,DBEA,FEBD,"EURO STOXX Banks Index Dividend Futures",EUR,500,DBEA,IND,2020-12-18 352 | XEUR,DTB,DDAX,FDIV,"DivDAX Price Index",EUR,200,GSUK,IND,2017-12-15 353 | XEUR,EUREX,DDAX,FDIV,"DivDAX Price Index",EUR,200,GSUK,IND,2020-12-18 354 | XEUR,DTB,DDXDIVPT,FDVD,"DivDAX Dividend Points Index",EUR,1000,G73K,IND,2017-12-15 355 | XEUR,EUREX,DDXDIVPT,FDVD,"DivDAX Dividend Points Index",EUR,1000,G73K,IND,2020-12-18 356 | XEUR,DTB,DESX5,FEXD,"Dow Jones EURO STOXX 50 Index-Dividenden",EUR,100,SX5ED,IND,2017-12-15 357 | XEUR,EUREX,DESX5,FEXD,"Dow Jones EURO STOXX 50 Index-Dividenden",EUR,100,SX5ED,IND,2020-12-18 358 | XEUR,EUREX,DESX5,FEXD,"EURO STOXX 50 Index-Dividenden",EUR,100,SX5ED,IND,2021-12-17 359 | XEUR,DTB,DJ200,FMCP,"Dow Jones STOXX MID 200 Index",EUR,50,DJ200,IND,2017-12-15 360 | XEUR,EUREX,DJ200,FMCP,"Dow Jones STOXX MID 200 Index",EUR,50,DJ200,IND,2020-12-18 361 | XEUR,EUREX,DJ200,FMCP,"STOXX MID 200 Index",EUR,50,DJ200,IND,2021-12-17 362 | XEUR,DTB,DJ200L,FLCP,"Dow Jones STOXX Large 200 Index",EUR,50,LCXP,IND,2017-12-15 363 | XEUR,EUREX,DJ200L,FLCP,"Dow Jones STOXX Large 200 Index",EUR,50,LCXP,IND,2020-12-18 364 | XEUR,EUREX,DJ200L,FLCP,"STOXX Large 200 Index",EUR,50,LCXP,IND,2021-12-17 365 | XEUR,DTB,DJ200S,FSCP,"Dow Jones STOXX Small 200 Index",EUR,50,SCXP,IND,2017-12-15 366 | XEUR,EUREX,DJ200S,FSCP,"Dow Jones STOXX Small 200 Index",EUR,50,SCXP,IND,2020-12-18 367 | XEUR,EUREX,DJ200S,FSCP,"STOXX Small 200 Index",EUR,50,SCXP,IND,2021-12-17 368 | XEUR,DTB,DJ600,FXXP,"Dow Jones STOXX 600 Index",EUR,50,DJ600,IND,2017-12-15 369 | XEUR,EUREX,DJ600,FXXP,"Dow Jones STOXX 600 Index",EUR,50,DJ600,IND,2020-12-18 370 | XEUR,EUREX,DJ600,FXXP,"STOXX 600 Index",EUR,50,DJ600,IND,2021-12-17 371 | XEUR,DTB,DJES,FXXE,"Dow Jones Euro STOXX Price Index",EUR,50,SXXE,IND,2017-12-15 372 | XEUR,EUREX,DJES,FXXE,"Dow Jones Euro STOXX Price Index",EUR,50,SXXE,IND,2020-12-18 373 | XEUR,EUREX,DJES,FXXE,"Euro STOXX Price Index",EUR,50,SXXE,IND,2021-12-17 374 | XEUR,DTB,DJESL,FLCE,"Euro Stoxx Large",EUR,50,LCXE,IND,2017-12-15 375 | XEUR,EUREX,DJESL,FLCE,"Euro Stoxx Large",EUR,50,LCXE,IND,2020-12-18 376 | XEUR,DTB,DJESM,FMCE,"Euro Stoxx Mid",EUR,50,MCXE,IND,2017-12-15 377 | XEUR,EUREX,DJESM,FMCE,"Euro Stoxx Mid",EUR,50,MCXE,IND,2020-12-18 378 | XEUR,DTB,DJESS,FSCE,"Euro Stoxx Small",EUR,50,SCXE,IND,2017-12-15 379 | XEUR,EUREX,DJESS,FSCE,"Euro Stoxx Small",EUR,50,SCXE,IND,2020-12-18 380 | XEUR,DTB,DJSD,FEDV,"Dow Jones Euro STOXX Select Dividend 30 Index",EUR,10,SD3E,IND,2017-12-15 381 | XEUR,EUREX,DJSD,FEDV,"Dow Jones Euro STOXX Select Dividend 30 Index",EUR,10,SD3E,IND,2020-12-18 382 | XEUR,EUREX,DJSD,FEDV,"Euro STOXX Select Dividend 30 Index",EUR,10,SD3E,IND,2021-12-17 383 | XEUR,DTB,DJUBS,FCCO,"Dow Jones-UBS Commodity Index",USD,250,DJUBS,IND,2017-10-20 384 | XEUR,EUREX,DJUBS,FCCO,"Dow Jones-UBS Commodity Index",USD,250,DJUBS,IND,2020-09-18 385 | XEUR,DTB,ESA,FESA,"Dow Jones Euro STOXX 600 Automobile & Parts",EUR,50,SXAE,IND,2017-12-15 386 | XEUR,EUREX,ESA,FESA,"Dow Jones Euro STOXX 600 Automobile & Parts",EUR,50,SXAE,IND,2020-12-18 387 | XEUR,EUREX,ESA,FESA,"Euro STOXX 600 Automobile & Parts",EUR,50,SXAE,IND,2021-12-17 388 | XEUR,DTB,ESE,FESE,"Dow Jones Euro STOXX Oil & Gas",EUR,50,SXEE,IND,2017-12-15 389 | XEUR,EUREX,ESE,FESE,"Dow Jones Euro STOXX Oil & Gas",EUR,50,SXEE,IND,2020-12-18 390 | XEUR,EUREX,ESE,FESE,"Euro STOXX Oil & Gas",EUR,50,SXEE,IND,2021-12-17 391 | XEUR,DTB,ESF,FESF,"Dow Jones Euro STOXX Financial Services Index",EUR,50,SXFE,IND,2017-12-15 392 | XEUR,EUREX,ESF,FESF,"Dow Jones Euro STOXX Financial Services Index",EUR,50,SXFE,IND,2020-12-18 393 | XEUR,EUREX,ESF,FESF,"Euro STOXX Financial Services Index",EUR,50,SXFE,IND,2021-12-17 394 | XEUR,DTB,ESI,FESI,"Dow Jones Euro STOXX Insurance",EUR,50,SXIE,IND,2017-12-15 395 | XEUR,EUREX,ESI,FESI,"Dow Jones Euro STOXX Insurance",EUR,50,SXIE,IND,2020-12-18 396 | XEUR,EUREX,ESI,FESI,"Euro STOXX Insurance",EUR,50,SXIE,IND,2021-12-17 397 | XEUR,DTB,ESM,FESM,"Dow Jones Euro STOXX Media Index",EUR,50,SXME,IND,2017-12-15 398 | XEUR,EUREX,ESM,FESM,"Dow Jones Euro STOXX Media Index",EUR,50,SXME,IND,2020-12-18 399 | XEUR,EUREX,ESM,FESM,"Euro STOXX Media Index",EUR,50,SXME,IND,2021-12-17 400 | XEUR,DTB,ESTX50,FESX,"Dow Jones Euro STOXX50",EUR,10,ESTX50,IND,2001-12-21 401 | XEUR,EUREX,ESTX50,FESX,"Dow Jones Euro STOXX50",EUR,10,ESTX50,IND,2020-12-18 402 | XEUR,EUREX,ESTX50,FESX,"Euro STOXX50",EUR,10,ESTX50,IND,2021-09-17 403 | XEUR,EUREX,ESTX50,FSXE,"Dow Jones Euro STOXX50",EUR,1,ESTX50,IND,2001-12-21 404 | XEUR,EUREX,ESTX50,FSXE,"Euro STOXX50",EUR,1,ESTX50,IND,2021-09-17 405 | XEUR,DTB,ESU,FESU,"Dow Jones Euro STOXX Utilities Index",EUR,50,SX6E,IND,2017-12-15 406 | XEUR,EUREX,ESU,FESU,"Dow Jones Euro STOXX Utilities Index",EUR,50,SX6E,IND,2020-12-18 407 | XEUR,EUREX,ESU,FESU,"Euro STOXX Utilities Index",EUR,50,SX6E,IND,2021-12-17 408 | XEUR,DTB,EU3,FEU3,"Three Month EURIBOR",EUR,2500,EU3,IND,2017-10-16 409 | XEUR,EUREX,EU3,FEU3,"Three Month EURIBOR",EUR,2500,EU3,IND,2020-10-19 410 | XEUR,EUREX,FBON,FBON,"Euro BONO Futures on Long-term Spanish Government Bonds",EUR,1000,FBON,IND,2020-12-08 411 | XEUR,DTB,FT25,FT25,"Tel Aviv 35 Index",USD,25,FT25,IND,2017-10-25 412 | XEUR,DTB,GBL,FGBL,"Euro Bund (10 Year Bond)",EUR,1000,GBL,IND,1991-03-28 413 | XEUR,EUREX,GBL,FGBL,"Euro Bund (10 Year Bond)",EUR,1000,GBL,IND,2020-12-08 414 | XEUR,DTB,GBM,FGBM,"Euro Bobl (5 Year Bond)",EUR,1000,GBM,IND,1992-06-05 415 | XEUR,EUREX,GBM,FGBM,"Euro Bobl (5 Year Bond)",EUR,1000,GBM,IND,2020-12-08 416 | XEUR,DTB,GBS,FGBS,"Euro Schatz (2 Year Bond)",EUR,1000,GBS,IND,1997-06-06 417 | XEUR,EUREX,GBS,FGBS,"Euro Schatz (2 Year Bond)",EUR,1000,GBS,IND,2020-12-08 418 | XEUR,DTB,GBX,FGBX,"Euro Buxl (15 - 30 Year Bond)",EUR,1000,GBX,IND,2017-12-07 419 | XEUR,EUREX,GBX,FGBX,"Euro Buxl (15 - 30 Year Bond)",EUR,1000,GBX,IND,2020-12-08 420 | XEUR,EUREX,M1CN,FMCH,"MSCI China NTR USD",USD,50,M1CN,IND,2023-08-31 421 | XEUR,DTB,M1CNX,FMCN,"MSCI China Free Net Total Return (USD) Index",USD,50,M1CNX,IND,2022-12-16 422 | XEUR,EUREX,M1CNX,FMCN,"MSCI China Free Net Total Return (USD) Index",USD,50,M1CNX,IND,2020-12-18 423 | XEUR,DTB,M1EF,FMEM,"MSCI Emerging Markets Net Total Return Index",USD,100,M1EF,IND,2019-03-15 424 | XEUR,EUREX,M1EF,FMEM,"MSCI Emerging Markets Net Total Return Index",USD,100,M1EF,IND,2020-12-18 425 | XEUR,EUREX,M1IN,FMIN,"MSCI India NTR USD",USD,100,M1IN,IND,2023-08-31 426 | XEUR,EUREX,M1MS,FMEA,"MSCI Emerging Markets Asia",USD,100,M1MS,IND,2021-03-19 427 | XEUR,EUREX,M1TW,FMTW,"MSCI Taiwan NTR USD",USD,100,M1TW,IND,2023-08-31 428 | XEUR,DTB,M1WO,FMWO,"MSCI World NETR USD Index",USD,10,M1WO,IND,2017-12-15 429 | XEUR,EUREX,M1WO,FMWO,"MSCI World NETR USD Index",USD,10,M1WO,IND,2020-12-18 430 | XEUR,DTB,M7EU,FMEU,"MSCI Europe Net Return EUR Index",EUR,100,M7EU,IND,2017-12-15 431 | XEUR,EUREX,M7EU,FMEU,"MSCI Europe Net Return EUR Index",EUR,100,M7EU,IND,2020-12-18 432 | XEUR,DTB,MBWO,FMWN,"MSCI World Net EUR Index 1",EUR,100,MBWO,IND,2017-12-15 433 | XEUR,EUREX,MBWO,FMWN,"MSCI World Net EUR Index 1",EUR,100,MBWO,IND,2020-12-18 434 | XEUR,DTB,MDAX,F2MX,"Midcap DAX",EUR,5,MDAX,IND,2017-12-15 435 | XEUR,EUREX,MDAX,F2MX,"Midcap DAX",EUR,5,MDAX,IND,2020-12-18 436 | XEUR,EUREX,MDAX,FSMX,"Midcap DAX",EUR,1,MDAX,IND,2022-09-16 437 | XEUR,EUREX,MXEU,FMEP,"MSCI Europe",EUR,100,MXEU,IND,2020-12-18 438 | XEUR,DTB,MXJPUS,FMJP,"MSCI JAPAN INDEX - USD",USD,10,MXJPUS,IND,2017-12-15 439 | XEUR,EUREX,MXJPUS,FMJP,"MSCI JAPAN INDEX - USD",USD,10,MXJPUS,IND,2020-12-18 440 | XEUR,DTB,MXRU,FMRU,"MSCI Russia Index",USD,10,MXRU,IND,2017-12-15 441 | XEUR,EUREX,MXWO,FMWP,"MSCI World Index",USD,10,MXWO,IND,2020-12-18 442 | XEUR,DTB,OAT,FOAT,"Euro-OAT French Government Bond",EUR,1000,OAT,IND,2017-12-07 443 | XEUR,EUREX,OAT,FOAT,"Euro-OAT French Government Bond",EUR,1000,OAT,IND,2020-12-08 444 | XEUR,DTB,OMXH25,FFOX,"OMX Helsinki 25 Index",EUR,10,OMXH25,IND,2018-03-16 445 | XEUR,EUREX,OMXH25,FFOX,"OMX Helsinki 25 Index",EUR,10,OMXH25,IND,2020-12-18 446 | XEUR,DTB,RDXUSD,FRDX,"Russian Depositary (USD)",USD,10,RDXUSD,IND,2017-12-15 447 | XEUR,DTB,SD3ED,FD3D,"Euro Stoxx Select Dividend 30 DVP",EUR,100,SD3ED,IND,2019-12-20 448 | XEUR,EUREX,SD3ED,FD3D,"Euro Stoxx Select Dividend 30 DVP",EUR,100,SD3ED,IND,2020-12-18 449 | XEUR,DTB,SEESGSEP,FSLS,"STOXX Europe ESG Leaders Select 30",EUR,100,SEESGSEP,IND,2020-12-18 450 | XEUR,EUREX,SLI,FSLI,"Swiss Leader Index (PREIS_INDEX)",CHF,10,SLI,IND,2020-12-18 451 | XEUR,EUREX,SMI,FSMI,"Swiss Market Index",CHF,10,SMI,IND,2020-12-18 452 | XEUR,EUREX,SMI,FSMS,"Swiss Market Index",CHF,1,SMI,IND,2021-06-18 453 | XEUR,EUREX,SMIDP,FSMD,"SMI Dividend Points Index",CHF,100,SMIDP,IND,2020-12-18 454 | XEUR,EUREX,SMIM,FSMM,"Swiss Mid-cap Index",CHF,10,SMIM,IND,2020-12-18 455 | XEUR,DTB,STX,FSTX,"Dow Jones STOXX50",EUR,10,STX,IND,2017-12-15 456 | XEUR,EUREX,STX,FSTX,"Dow Jones STOXX50",EUR,10,STX,IND,2020-12-18 457 | XEUR,EUREX,STX,FSTX,STOXX50,EUR,10,STX,IND,2021-12-17 458 | XEUR,DTB,SX3E,FESO,"Dow Jones Euro STOXX Food&Beverages",EUR,50,SX3E,IND,2017-12-15 459 | XEUR,EUREX,SX3E,FESO,"Dow Jones Euro STOXX Food&Beverages",EUR,50,SX3E,IND,2020-12-18 460 | XEUR,EUREX,SX3E,FESO,"Euro STOXX Food&Beverages",EUR,50,SX3E,IND,2021-12-17 461 | XEUR,DTB,SX3P,FSTO,"Dow Jones STOXX 600 Food & Beverage Index",EUR,50,SX3P,IND,2017-12-15 462 | XEUR,EUREX,SX3P,FSTO,"Dow Jones STOXX 600 Food & Beverage Index",EUR,50,SX3P,IND,2020-12-18 463 | XEUR,EUREX,SX3P,FSTO,"STOXX 600 Food & Beverage Index",EUR,50,SX3P,IND,2021-12-17 464 | XEUR,DTB,SX4E,FESC,"Dow Jones Euro STOXX Chemicals",EUR,50,SX4E,IND,2017-12-15 465 | XEUR,EUREX,SX4E,FESC,"Dow Jones Euro STOXX Chemicals",EUR,50,SX4E,IND,2020-12-18 466 | XEUR,EUREX,SX4E,FESC,"Euro STOXX Chemicals",EUR,50,SX4E,IND,2021-12-17 467 | XEUR,DTB,SX4P,FSTC,"Dow Jones STOXX 600 Chemicals",EUR,50,SX4P,IND,2017-12-15 468 | XEUR,EUREX,SX4P,FSTC,"Dow Jones STOXX 600 Chemicals",EUR,50,SX4P,IND,2020-12-18 469 | XEUR,EUREX,SX4P,FSTC,"STOXX 600 Chemicals",EUR,50,SX4P,IND,2021-12-17 470 | XEUR,DTB,SX6P,FSTU,"Dow Jones STOXX 600 Utilities",EUR,50,SX6P,IND,2017-12-15 471 | XEUR,EUREX,SX6P,FSTU,"Dow Jones STOXX 600 Utilities",EUR,50,SX6P,IND,2020-12-18 472 | XEUR,EUREX,SX6P,FSTU,"STOXX 600 Utilities",EUR,50,SX6P,IND,2021-12-17 473 | XEUR,DTB,SX7E,FESB,"Dow Jones Euro STOXX Banks Index",EUR,50,SX7E,IND,2017-12-15 474 | XEUR,EUREX,SX7E,FESB,"Dow Jones Euro STOXX Banks Index",EUR,50,SX7E,IND,2020-12-18 475 | XEUR,EUREX,SX7E,FESB,"Euro STOXX Banks Index",EUR,50,SX7E,IND,2021-12-17 476 | XEUR,DTB,SX7P,FSTB,"Dow Jones STOXX 600 Banks",EUR,50,SX7P,IND,2017-12-15 477 | XEUR,EUREX,SX7P,FSTB,"Dow Jones STOXX 600 Banks",EUR,50,SX7P,IND,2020-12-18 478 | XEUR,EUREX,SX7P,FSTB,"STOXX 600 Banks",EUR,50,SX7P,IND,2021-12-17 479 | XEUR,DTB,SX86P,FSTL,"Dow Jones STOXX 600 Real Estate",EUR,50,SX86P,IND,2017-12-15 480 | XEUR,EUREX,SX86P,FSTL,"Dow Jones STOXX 600 Real Estate",EUR,50,SX86P,IND,2020-12-18 481 | XEUR,EUREX,SX86P,FSTL,"STOXX 600 Real Estate",EUR,50,SX86P,IND,2021-12-17 482 | XEUR,DTB,SX8E,FESY,"Dow Jones Euro STOXX Technology",EUR,50,SX8E,IND,2017-12-15 483 | XEUR,EUREX,SX8E,FESY,"Dow Jones Euro STOXX Technology",EUR,50,SX8E,IND,2020-12-18 484 | XEUR,EUREX,SX8E,FESY,"Euro STOXX Technology",EUR,50,SX8E,IND,2021-12-17 485 | XEUR,DTB,SX8P,FSTY,"Dow Jones STOXX 600 Technology",EUR,50,SX8P,IND,2017-12-15 486 | XEUR,EUREX,SX8P,FSTY,"Dow Jones STOXX 600 Technology",EUR,50,SX8P,IND,2020-12-18 487 | XEUR,EUREX,SX8P,FSTY,"STOXX 600 Technology",EUR,50,SX8P,IND,2021-12-17 488 | XEUR,DTB,SXAP,FSTA,"Dow Jones STOXX 600 Automobiles & Parts",EUR,50,SXAP,IND,2017-12-15 489 | XEUR,EUREX,SXAP,FSTA,"Dow Jones STOXX 600 Automobiles & Parts",EUR,50,SXAP,IND,2020-12-18 490 | XEUR,EUREX,SXAP,FSTA,"STOXX 600 Automobiles & Parts",EUR,50,SXAP,IND,2021-12-17 491 | XEUR,DTB,SXDE,FESH,"Dow Jones Euro STOXX Healthcare",EUR,50,SXDE,IND,2017-12-15 492 | XEUR,EUREX,SXDE,FESH,"Dow Jones Euro STOXX Healthcare",EUR,50,SXDE,IND,2020-12-18 493 | XEUR,EUREX,SXDE,FESH,"Euro STOXX Healthcare",EUR,50,SXDE,IND,2021-12-17 494 | XEUR,DTB,SXDP,FSTH,"Dow Jones STOXX 600 Healthcare",EUR,50,SXDP,IND,2017-12-15 495 | XEUR,EUREX,SXDP,FSTH,"Dow Jones STOXX 600 Healthcare",EUR,50,SXDP,IND,2020-12-18 496 | XEUR,EUREX,SXDP,FSTH,"STOXX 600 Healthcare",EUR,50,SXDP,IND,2021-12-17 497 | XEUR,DTB,SXEP,FSTE,"Dow Jones STOXX 600 Oil & Gas",EUR,50,SXEP,IND,2017-12-15 498 | XEUR,EUREX,SXEP,FSTE,"Dow Jones STOXX 600 Oil & Gas",EUR,50,SXEP,IND,2020-12-18 499 | XEUR,EUREX,SXEP,FSTE,"STOXX 600 Oil & Gas",EUR,50,SXEP,IND,2021-12-17 500 | XEUR,DTB,SXFP,FSTF,"Dow Jones STOXX 600 Financial Services Index",EUR,50,SXFP,IND,2017-12-15 501 | XEUR,EUREX,SXFP,FSTF,"Dow Jones STOXX 600 Financial Services Index",EUR,50,SXFP,IND,2020-12-18 502 | XEUR,EUREX,SXFP,FSTF,"STOXX 600 Financial Services Index",EUR,50,SXFP,IND,2021-12-17 503 | XEUR,DTB,SXIP,FSTI,"Dow Jones STOXX 600 Insurance",EUR,50,SXIP,IND,2017-12-15 504 | XEUR,EUREX,SXIP,FSTI,"Dow Jones STOXX 600 Insurance",EUR,50,SXIP,IND,2020-12-18 505 | XEUR,EUREX,SXIP,FSTI,"STOXX 600 Insurance",EUR,50,SXIP,IND,2021-12-17 506 | XEUR,DTB,SXKE,FEST,"Dow Jones Euro STOXX Telecommunications",EUR,50,SXKE,IND,2017-12-15 507 | XEUR,EUREX,SXKE,FEST,"Dow Jones Euro STOXX Telecommunications",EUR,50,SXKE,IND,2020-12-18 508 | XEUR,EUREX,SXKE,FEST,"Euro STOXX Telecommunications",EUR,50,SXKE,IND,2021-12-17 509 | XEUR,DTB,SXKP,FSTT,"Dow Jones STOXX 600 Telecommunications",EUR,50,SXKP,IND,2017-12-15 510 | XEUR,EUREX,SXKP,FSTT,"Dow Jones STOXX 600 Telecommunications",EUR,50,SXKP,IND,2020-12-18 511 | XEUR,EUREX,SXKP,FSTT,"STOXX 600 Telecommunications",EUR,50,SXKP,IND,2021-12-17 512 | XEUR,DTB,SXMP,FSTM,"Dow Jones STOXX 600 Media",EUR,50,SXMP,IND,2017-12-15 513 | XEUR,EUREX,SXMP,FSTM,"Dow Jones STOXX 600 Media",EUR,50,SXMP,IND,2020-12-18 514 | XEUR,EUREX,SXMP,FSTM,"STOXX 600 Media",EUR,50,SXMP,IND,2021-12-17 515 | XEUR,DTB,SXNE,FESG,"Dow Jones Euro STOXX Industrial Goods&Services",EUR,50,SXNE,IND,2017-12-15 516 | XEUR,EUREX,SXNE,FESG,"Dow Jones Euro STOXX Industrial Goods&Services",EUR,50,SXNE,IND,2020-12-18 517 | XEUR,EUREX,SXNE,FESG,"Euro STOXX Industrial Goods&Services",EUR,50,SXNE,IND,2021-12-17 518 | XEUR,DTB,SXNP,FSTG,"Dow Jones STOXX 600 Industrial Goods & Services Index",EUR,50,SXNP,IND,2017-12-15 519 | XEUR,EUREX,SXNP,FSTG,"Dow Jones STOXX 600 Industrial Goods & Services Index",EUR,50,SXNP,IND,2020-12-18 520 | XEUR,EUREX,SXNP,FSTG,"STOXX 600 Industrial Goods & Services Index",EUR,50,SXNP,IND,2021-12-17 521 | XEUR,DTB,SXOE,FESN,"Dow Jones Euro STOXX Construction",EUR,50,SXOE,IND,2017-12-15 522 | XEUR,EUREX,SXOE,FESN,"Dow Jones Euro STOXX Construction",EUR,50,SXOE,IND,2020-12-18 523 | XEUR,EUREX,SXOE,FESN,"Euro STOXX Construction",EUR,50,SXOE,IND,2021-12-17 524 | XEUR,DTB,SXOP,FSTN,"Dow Jones STOXX 600 Construction & Materials",EUR,50,SXOP,IND,2017-12-15 525 | XEUR,EUREX,SXOP,FSTN,"Dow Jones STOXX 600 Construction & Materials",EUR,50,SXOP,IND,2020-12-18 526 | XEUR,EUREX,SXOP,FSTN,"STOXX 600 Construction & Materials",EUR,50,SXOP,IND,2021-12-17 527 | XEUR,DTB,SXPE,FESS,"Dow Jones Euro STOXX Basic Resources",EUR,50,SXPE,IND,2017-12-15 528 | XEUR,EUREX,SXPE,FESS,"Dow Jones Euro STOXX Basic Resources",EUR,50,SXPE,IND,2020-12-18 529 | XEUR,EUREX,SXPE,FESS,"Euro STOXX Basic Resources",EUR,50,SXPE,IND,2021-12-17 530 | XEUR,DTB,SXPP,FSTS,"Dow Jones STOXX 600 Basic Resources Index",EUR,50,SXPP,IND,2017-12-15 531 | XEUR,EUREX,SXPP,FSTS,"Dow Jones STOXX 600 Basic Resources Index",EUR,50,SXPP,IND,2020-12-18 532 | XEUR,EUREX,SXPP,FSTS,"STOXX 600 Basic Resources Index",EUR,50,SXPP,IND,2021-12-17 533 | XEUR,DTB,SXQE,FESZ,"Dow Jones Euro STOXX Personal & Household Goods",EUR,50,SXQE,IND,2017-12-15 534 | XEUR,EUREX,SXQE,FESZ,"Dow Jones Euro STOXX Personal & Household Goods",EUR,50,SXQE,IND,2020-12-18 535 | XEUR,EUREX,SXQE,FESZ,"Euro STOXX Personal & Household Goods",EUR,50,SXQE,IND,2021-12-17 536 | XEUR,DTB,SXQP,FSTZ,"Dow Jones STOXX 600 Personal & Household Goods",EUR,50,SXQP,IND,2017-12-15 537 | XEUR,EUREX,SXQP,FSTZ,"Dow Jones STOXX 600 Personal & Household Goods",EUR,50,SXQP,IND,2020-12-18 538 | XEUR,EUREX,SXQP,FSTZ,"STOXX 600 Personal & Household Goods",EUR,50,SXQP,IND,2021-12-17 539 | XEUR,DTB,SXRE,FESR,"Dow Jones Euro STOXX Retail",EUR,50,SXRE,IND,2017-12-15 540 | XEUR,EUREX,SXRE,FESR,"Dow Jones Euro STOXX Retail",EUR,50,SXRE,IND,2020-12-18 541 | XEUR,EUREX,SXRE,FESR,"Euro STOXX Retail",EUR,50,SXRE,IND,2021-12-17 542 | XEUR,DTB,SXRP,FSTR,"Dow Jones STOXX 600 Retail",EUR,50,SXRP,IND,2017-12-15 543 | XEUR,EUREX,SXRP,FSTR,"Dow Jones STOXX 600 Retail",EUR,50,SXRP,IND,2020-12-18 544 | XEUR,EUREX,SXRP,FSTR,"STOXX 600 Retail",EUR,50,SXRP,IND,2021-12-17 545 | XEUR,DTB,SXTE,FESV,"Dow Jones Euro STOXX Travel & Leisure",EUR,50,SXTE,IND,2017-12-15 546 | XEUR,EUREX,SXTE,FESV,"Dow Jones Euro STOXX Travel & Leisure",EUR,50,SXTE,IND,2020-12-18 547 | XEUR,EUREX,SXTE,FESV,"Euro STOXX Travel & Leisure",EUR,50,SXTE,IND,2021-12-17 548 | XEUR,DTB,SXTP,FSTV,"Dow Jones STOXX 600 Travel & Leisure",EUR,50,SXTP,IND,2017-12-15 549 | XEUR,EUREX,SXTP,FSTV,"Dow Jones STOXX 600 Travel & Leisure",EUR,50,SXTP,IND,2020-12-18 550 | XEUR,EUREX,SXTP,FSTV,"STOXX 600 Travel & Leisure",EUR,50,SXTP,IND,2021-12-17 551 | XEUR,EUREX,SXXPESGX,FSEG,"STOXX Europe 600 ESG-X",EUR,100,SXXPESGX,IND,2020-12-18 552 | XEUR,DTB,TDX,FTDX,TECDAX,EUR,10,TDX,IND,2017-12-15 553 | XEUR,EUREX,TDX,FTDX,TECDAX,EUR,10,TDX,IND,2020-12-18 554 | XEUR,DTB,V2TX,FVS,"VSTOXX Volatility Index",EUR,100,V2TX,IND,2017-10-18 555 | XEUR,EUREX,V2TX,FVS,"VSTOXX Volatility Index",EUR,100,V2TX,IND,2020-10-21 556 | XHKF,HKFE,CES120,CHH,"CES China 120 Index",HKD,50,CES120,IND,2017-10-30 557 | XHKF,HKFE,CNH,CUS,"United States dollar",CNH,100000,USD.CNH,CASH,2017-10-16 558 | XHKF,HKFE,GDR,GDR,"CNH Gold Futures",CNH,1000,GDR,IND,2017-10-16 559 | XHKF,HKFE,GDU,GDU,"USD Gold Futures",USD,1000,GDU,IND,2017-10-16 560 | XHKF,HKFE,HHI.HK,HHI,"Hang Seng China Enterprise Index",HKD,50,HHI,IND,2017-10-30 561 | XHKF,HKFE,HHIDPI,DHH,"HSCEI Dividend Point Index",HKD,50,HSCEIDPI,IND,2017-12-27 562 | XHKF,HKFE,HSI,HSI,"Hang Seng Stock Index",HKD,50,HSI,IND,1986-05-29 563 | XHKF,HKFE,HSIDPI,DHS,"HSI Dividend Point Index",HKD,50,HSIDPI,IND,2017-12-27 564 | XHKF,HKFE,HSTECH,HTI,"Hang Seng TECH Index",HKD,50,HSTECH,IND,2020-11-27 565 | XHKF,HKFE,IBOV,BOV,"Brazil Bovespa Stock Index",HKD,5,IBOV,IND,2017-10-18 566 | XHKF,HKFE,MCA,MCA,"MSCI China A 50 Connect Index",USD,25,MCA,IND,2021-11-19 567 | XHKF,HKFE,MCH.HK,MCH,"Mini-Hang Seng China Enterprises Index",HKD,10,MCH,IND,2017-10-30 568 | XHKF,HKFE,MCN.HK,MCN,"MSCI China Free Net Total Return (USD) Index (HKFE)",USD,50,MCN.HK,IND,2020-08-21 569 | XHKF,HKFE,MCS,MCS,"United States dollar",CNH,20000,USD.CNH,CASH,2021-05-17 570 | XHKF,HKFE,MHI,MHI,"Mini Hang Seng Index",HKD,10,MHI,IND,2001-09-27 571 | XHKF,HKFE,MID.HK,MIA,"MSCI Indonesia Index (USD) - HKFE",USD,2,MID.HK,IND,2021-07-29 572 | XHKF,HKFE,MID.HK,MID,"MSCI Indonesia Index (USD) - HKFE",USD,2,MID.HK,IND,2020-08-28 573 | XHKF,HKFE,MND,MND,"MSCI India Index (USD) - HKFE",USD,20,MND,IND,2023-03-29 574 | XHKF,HKFE,MTW,MTW,"MSCI Taiwan (USD) Index - HKFE",USD,100,MTW,IND,2020-07-30 575 | XHKF,HKFE,TOP40,SAF,"FTSE/JSE Africa Top40 Index",HKD,10,TOP40,IND,2017-12-21 576 | XHKF,HKFE,VHSI,VHS,"Hang Seng Volatility Index",HKD,5000,VHSI,IND,2017-10-30 577 | XKRX,KSE,3KTB,165,"3-Year Korea Treasury Bond",KRW,1000000,3KTB,IND,2017-12-19 578 | XKRX,KSE,FLKTB,167,"10-Year Korea Treasury Bond",KRW,1000000,FLKTB,IND,2017-12-19 579 | XKRX,KSE,K200,01,"KOSPI200 Index",KRW,250000,KS200,IND,2017-12-14 580 | XKRX,KSE,K200M,05,"Mini KOSPI200 Index",KRW,50000,K200M,IND,2017-10-12 581 | XKRX,KSE,KOSDQ150,06,"KOSDAQ 150 Index",KRW,10000,KOSDQ150,IND,2017-12-14 582 | XKRX,KSE,KWY,175,"United States dollar",KRW,10000,USD.KRW,CASH,2017-10-16 583 | XLME,LMEOTC,AH,AH,"High-Grade Primary Aluminium",USD,25,AH,IND,2018-03-21 584 | XLME,LMEOTC,CA,CA,"Grade A Copper - LME",USD,25,CA,IND,2018-01-17 585 | XLME,LMEOTC,NI,NI,"Nickel - LME",USD,6,NI,IND,2018-01-17 586 | XLME,LMEOTC,PB,PB,"Lead - LME",USD,25,PB,IND,2018-01-17 587 | XLME,LMEOTC,SNLME,SN,"Tin future",USD,5,SNLME,IND,2018-03-21 588 | XLME,LMEOTC,ZSLME,ZS,"Special High Grade Zinc",USD,25,ZSLME,IND,2018-03-21 589 | XMAT,MATIF,EBM,EBM,"Milling Wheat Futures",EUR,50,EBM,IND,2017-12-11 590 | XMAT,MATIF,ECO,ECO,"European Rapeseed Future",EUR,50,ECO,IND,2017-10-31 591 | XMAT,MATIF,EMA,EMA,Corn,EUR,50,EMA,IND,2017-11-06 592 | XMOD,CDE,BAX,BAX,"3 Month Canadian Bankers' Acceptance Futures",CAD,2500,BAX,IND,2017-10-16 593 | XMOD,CDE,CGB,CGB,"10 Year Government of Canada Bonds",CAD,1000,CGB,IND,2017-12-18 594 | XMOD,CDE,CGF,CGF,"5 Year Government of Canada Bonds",CAD,1000,CGF,IND,2017-12-18 595 | XMOD,CDE,CGZ,CGZ,"2 Year Government of Canada Bonds",CAD,1000,CGZ,IND,2022-06-21 596 | XMOD,CDE,CGZ,CGZ,"2 Year Government of Canada Bonds",CAD,2000,CGZ,IND,2020-06-19 597 | XMOD,CDE,CRA,CRA,"3 Month CORRA",CAD,2500,CRA,IND,2022-09-20 598 | XMOD,CDE,TSE60,SXF,"S&P Canada 60 Index Futures (Old TSE60)",CAD,200,TSE60,IND,2017-12-14 599 | XMOD,CDE,TSE60,SXM,"S&P Canada 60 Index Futures (Old TSE60)",CAD,50,TSE60,IND,2017-12-14 600 | XMOD,CDE,TSX,SCF,"S&P TSX COMPOSITE INDEX",CAD,5,TSX,IND,2017-12-14 601 | XMON,MONEP,CAC40,FCE,"CAC 40",EUR,10,PX1,IND,1988-09-30 602 | XMON,MONEP,CAC40,MFC,"CAC 40",EUR,1,PX1,IND,1988-09-30 603 | XMON,MONEP,EPEU,EPE,"FTSE EPRA/NAREIT Euro Zone",EUR,10,EPE,IND,2017-12-15 604 | XMON,MONEP,EPRA,EPR,"FTSE EPRA/NAREIT Europe",EUR,10,EPR,IND,2017-12-15 605 | XMON,MONEP,FEF,FEF,"FTSEurofirst 80 NEW",EUR,10,FEF,IND,2017-12-15 606 | XMON,MONEP,FEO,FEO,"FTSEurofirst 100 NEW",EUR,10,FEO,IND,2017-12-15 607 | XMRV,MEFFRV,IBEX,MIX,"IBEX 35 Index Mini",EUR,1,IBEX,IND,2017-10-20 608 | XMRV,MEFFRV,IBEX35,IBX,"IBEX 35 Index",EUR,10,IBEX35,IND,2017-10-20 609 | XNLI,NYSELIFFE,M1EU,EU9,"MSCI Europe NTR",USD,10,M1EU,IND,2021-12-17 610 | XNLI,NYSELIFFE,M1JP,JPP,"The MSCI Japan NTR",USD,10,M1JP,IND,2021-12-17 611 | XNLI,NYSELIFFE,M1MSA,ASN,"MSCI Emerging Markets Asia Net Total Return (NTR)",USD,100,M1MSA,IND,2021-12-17 612 | XNLI,NYSELIFFE,MXEA,MFS,"MSCI EAFE Index",USD,50,MXEA,IND,2017-12-15 613 | XNLI,NYSELIFFE,MXEF,MME,"MSCI EMERGING MARKETS INDEX",USD,50,MXEF,IND,2017-12-15 614 | XNLI,NYSELIFFE,MXUS,MUN,"MSCI USA Index",USD,50,MXUS,IND,2017-12-15 615 | XNLI,NYSELIFFE,YG,YG,"Mini Sized NY Gold Futures",USD,32.15,YG,IND,2017-10-27 616 | XNLI,NYSELIFFE,YI,YI,"Mini Sized NY Silver Futures",USD,1000,YI,IND,2017-10-27 617 | XNLI,NYSELIFFE,ZG,ZG,"Gold 100 Troy Oz",USD,100,ZG,IND,2017-10-27 618 | XNLI,NYSELIFFE,ZI,ZI,"CBOT 5000 Oz Silver Futures",USD,5000,ZI,IND,2017-10-27 619 | XNSE,NSE,BANKNIFTY,BANKNIFTY,"Nifty Bank",INR,1,BANKNIFTY,IND,2017-10-26 620 | XNSE,NSE,EURINR,EURINR,"Euro in Indian Rupee",INR,1000,EURINR,IND,2017-10-27 621 | XNSE,NSE,GBPINR,GBPINR,"British Pounds in Indian Rupee",INR,1000,GBPINR,IND,2017-10-27 622 | XNSE,NSE,JPYINR,JPYINR,"Japanese Yen in Indian Rupee",INR,100000,JPYINR,IND,2017-10-27 623 | XNSE,NSE,NIFTY50,NIFTY,"Nifty 50",INR,1,NIFTY50,IND,2017-10-26 624 | XNSE,NSE,NSEFIN,FINNIFTY,"NSE Nifty Financial Services Index Futures",INR,1,NSEFIN,IND,2021-04-29 625 | XNSE,NSE,USDINR,USDINR,"US Dollars in Indian Rupee",INR,1000,USDINR,IND,2017-10-27 626 | XNYM,NYMEX,BB,BB,"NYMEX Brent Financial Futures Index",USD,1000,BB,IND,2017-10-30 627 | XNYM,NYMEX,BZ,BZ,"Brent Crude Oil - Last Day",USD,1000,BZ,IND,2017-10-31 628 | XNYM,NYMEX,CL,CL,"Light Sweet Crude Oil",USD,1000,CL,IND,1983-05-18 629 | XNYM,NYMEX,GC,GC,Gold,USD,100,GC,IND,2017-10-27 630 | XNYM,NYMEX,HG,HG,"Copper Index",USD,25000,HG,IND,2020-10-28 631 | XNYM,NYMEX,HG,HG,"NYMEX Copper Index",USD,25000,HG,IND,2017-10-27 632 | XNYM,NYMEX,HH,HH,"Natural Gas Last Day Financial Futures Index",USD,10000,HH,IND,2006-06-28 633 | XNYM,NYMEX,HO,HO,"Heating Oil",USD,42000,HO,IND,2001-12-31 634 | XNYM,NYMEX,HP,HP,"Natural Gas Penultimate Financial Futures Index",USD,10000,HP,IND,2006-06-27 635 | XNYM,NYMEX,HRC,HRC,"Hot-Rolled Coil Steel Index",USD,20,HRC,IND,2017-10-24 636 | XNYM,NYMEX,LT,LT,"Gulf Coast ULSD (Platts) Up-Down Futures",USD,42000,LT,IND,2020-07-31 637 | XNYM,NYMEX,MCL,MCL,"Micro WTI Crude Oil",USD,100,MCL,IND,2021-07-19 638 | XNYM,NYMEX,MGC,MGC,"E-Micro Gold ",USD,10,MGC,IND,2017-10-27 639 | XNYM,NYMEX,MHO,MHO,"Micro NY Harbor ULSD",USD,4200,MHO,IND,2022-06-29 640 | XNYM,NYMEX,MRB,MRB,"Micro RBOB Gasoline",USD,4200,MRB,IND,2022-06-29 641 | XNYM,NYMEX,NG,NG,"Henry Hub Natural Gas",USD,10000,NG,IND,1990-05-21 642 | XNYM,NYMEX,PA,PA,"NYMEX Palladium Index",USD,100,PA,IND,1981-06-25 643 | XNYM,NYMEX,PA,PA,"Palladium Index",USD,100,PA,IND,2020-12-29 644 | XNYM,NYMEX,PL,PL,"NYMEX Platinum Index",USD,50,PL,IND,1980-01-28 645 | XNYM,NYMEX,PL,PL,"Platinum Index",USD,50,PL,IND,2020-10-28 646 | XNYM,NYMEX,PLM,PLM,"Micro Platinum",USD,10,PLM,IND,2023-03-29 647 | XNYM,NYMEX,QC,QC,"COMEX MINY Copper",USD,12500,QC,IND,2017-10-27 648 | XNYM,NYMEX,QG,QG,"NYMEX MINY Natural Gas Index",USD,2500,QG,IND,2002-07-30 649 | XNYM,NYMEX,QH,QH,"NYMEX MINY Heating Oil Index",USD,21000,QH,IND,2006-01-30 650 | XNYM,NYMEX,QI,QI,"COMEX MINY Silver",USD,2500,QI,IND,2017-11-28 651 | XNYM,NYMEX,QM,QM,"NYMEX MINY Light Sweet Crude Oil",USD,500,QM,IND,2002-07-23 652 | XNYM,NYMEX,QO,QO,"COMEX MINY Gold",USD,50,QO,IND,2017-11-28 653 | XNYM,NYMEX,QU,QU,"NYMEX MINY Gasoline RBOB Index",USD,21000,QU,IND,2006-01-30 654 | XNYM,NYMEX,RB,RB,"NYMEX RBOB Gasoline Index",USD,42000,RB,IND,2001-12-31 655 | XNYM,NYMEX,SGC,SGC,"Shanghai Gold Exchange Gold Benchmark PM Price Index - CNH Futures",CNH,1000,SGC,IND,2019-12-27 656 | XNYM,NYMEX,SGUF,SGU,"Shanghai Gold Exchange Gold Benchmark PM Price Index - USD Futures",USD,32.15,SGUF,IND,2019-12-27 657 | XNYM,NYMEX,SI,ECSI,"NYMEX Silver Index",USD,20,SI,IND,2022-05-26 658 | XNYM,NYMEX,SI,SI,"NYMEX Silver Index",USD,5000,SI,IND,2017-10-27 659 | XNYM,NYMEX,SI,SI,"Silver Index",USD,5000,SI,IND,2020-10-28 660 | XNYM,NYMEX,SI,SIL,"NYMEX Silver Index",USD,1000,SI,IND,2017-10-27 661 | XNYM,NYMEX,SI,SIL,"Silver Index",USD,1000,SI,IND,2020-10-28 662 | XNYM,NYMEX,TT,TT,"NYMEX Cotton index",USD,50000,TT,IND,2017-11-22 663 | XNYM,NYMEX,UX,UX,"NYMEX Uranium Index",USD,250,UX,IND,2017-10-30 664 | XNYM,NYMEX,UX,UX,"Uranium Index",USD,250,UX,IND,2020-10-26 665 | XOSE,OSE.JPN,DJIA,DJIA,"OSE Dow Jones Industrial Average",JPY,100,DJIA,IND,2017-12-15 666 | XOSE,OSE.JPN,JGB,JBL,"Standardized 6% 10-Year Japanese Government Bond",JPY,1000000,JGB,IND,2021-09-13 667 | XOSE,OSE.JPN,JGB,JGBL,"Japanese Government Bonds",JPY,1000000,JGB,IND,2017-12-13 668 | XOSE,OSE.JPN,JGB,JGBL,"Standardized 6% 10-Year Japanese Government Bond",JPY,1000000,JGB,IND,2018-03-13 669 | XOSE,OSE.JPN,JPNK400,400,"JPX-Nikkei Index 400",JPY,100,JPNK400,IND,2021-12-09 670 | XOSE,OSE.JPN,JPNK400,JN400,"JPX-Nikkei Index 400",JPY,100,JPNK400,IND,2017-12-07 671 | XOSE,OSE.JPN,M-GD,GLDM,"Gold (Mini) - Japan",JPY,100,M-GD,IND,2021-10-25 672 | XOSE,OSE.JPN,M-GD,OM-GD,"Gold (Mini) - Japan",JPY,100,M-GD,IND,2020-06-24 673 | XOSE,OSE.JPN,M-PT,OM-PT,"Platinum (Mini) - Japan",JPY,100,M-PT,IND,2020-06-24 674 | XOSE,OSE.JPN,M-PT,PLTM,"Platinum (Mini) - Japan",JPY,100,M-PT,IND,2021-10-25 675 | XOSE,OSE.JPN,MJ,JBLM,"Mini 10 Year JGB",JPY,100000,MJ,IND,2021-12-10 676 | XOSE,OSE.JPN,MJ,JGBLM,"Mini 10 Year JGB",JPY,100000,MJ,IND,2017-12-12 677 | XOSE,OSE.JPN,MNTPX,TOPIXM,"Japan Mini Topix",JPY,1000,MNTPX,IND,2017-12-07 678 | XOSE,OSE.JPN,MNTPX,TPXM,"Japan Mini Topix",JPY,1000,MNTPX,IND,2021-12-09 679 | XOSE,OSE.JPN,N225,225,"Nikkei 225",JPY,1000,N225,IND,2021-12-09 680 | XOSE,OSE.JPN,N225,NK225,"Nikkei 225",JPY,1000,N225,IND,2017-03-09 681 | XOSE,OSE.JPN,N225M,225M,"Nikkei 225 Mini",JPY,100,N225M,IND,2021-10-07 682 | XOSE,OSE.JPN,N225M,NK225M,"Nikkei 225 Mini",JPY,100,N225M,IND,2017-10-12 683 | XOSE,OSE.JPN,N225MC,225MC,"Nikkei 225 Micro",JPY,10,N225MC,IND,2023-06-08 684 | XOSE,OSE.JPN,NKVI,NKVI,"Nikkei 225 Volatility Index",JPY,10000,NKVI,IND,2017-10-10 685 | XOSE,OSE.JPN,NKVI,NVI,"Nikkei 225 Volatility Index",JPY,10000,NKVI,IND,2021-10-12 686 | XOSE,OSE.JPN,TOPX,TOPIX,"TOPIX Index",JPY,10000,TOPX,IND,2017-12-07 687 | XOSE,OSE.JPN,TOPX,TPX,"TOPIX Index",JPY,10000,TOPX,IND,2021-12-09 688 | XOSE,OSE.JPN,TPXC30,C30,"Topix Core30",JPY,1000,TPXC30,IND,2021-12-09 689 | XOSE,OSE.JPN,TPXC30,TPX30,"Topix Core30",JPY,1000,TPXC30,IND,2017-12-07 690 | XOSE,OSE.JPN,TSEMOTHR,MOTH,"TSE Mothers Index",JPY,1000,TSEMOTHR,IND,2021-12-09 691 | XOSE,OSE.JPN,TSEMOTHR,MOTHE,"TSE Mothers Index",JPY,1000,TSEMOTHR,IND,2017-12-07 692 | XOSE,OSE.JPN,TSEREIT,REIT,"TSE REIT Index",JPY,1000,TSEREIT,IND,2017-12-07 693 | XSES,SGX,AJ,AJ,"SGX Australian Dollar in Japanese Yen Futures",JPY,25000,AJ,IND,2017-10-16 694 | XSES,SGX,AU,AU,"SGX Australian Dollar in US Dollar Futures",USD,25000,AU,IND,2017-10-16 695 | XSES,SGX,CY,CY,"SGX onshore Chinese Renminbi (CNY) in US Dollar Futures",USD,500000,CY,IND,2017-10-16 696 | XSES,SGX,FIVNM30,FVN,"FTSE Vietnam 30 Price Return Index",USD,5,FIVNM30,IND,2021-06-29 697 | XSES,SGX,FTCRTWRP,TWN,"FTSE Taiwan RIC Capped Price Return TWD Index",USD,40,FTCRTWRP,IND,2020-07-30 698 | XSES,SGX,INR,INR,"INR.USD Forex",USD,1000,USD.INR,CASH,2023-06-19 699 | XSES,SGX,INR,INR,"SGX USD/INR (USD) Futures",USD,1000,INR,CASH,2021-07-19 700 | XSES,SGX,INR,INR,"SGX USD/INR (USD) Futures",USD,1000,INR,IND,2021-02-15 701 | XSES,SGX,INX,INX,"SGX USD/INR (USD) Month-end",USD,1000,INX,IND,2022-07-27 702 | XSES,SGX,IU,IU,"SGX Indian Rupee in US Dollar Futures",USD,2000000,IU,IND,2017-10-27 703 | XSES,SGX,KJ,KJ,"SGX Korean Won in Japanese Yen Futures",JPY,25000000,KJ,IND,2017-10-16 704 | XSES,SGX,KRW,KRW,"Korean Won",USD,125000000,KRW,IND,2020-08-14 705 | XSES,SGX,KU,KU,"SGX Korean Won in US Dollar Futures",USD,25000000,KU,IND,2017-10-16 706 | XSES,SGX,KU,KU,"SGX Korean Won in US Dollar Futures (Mini)",USD,25000000,KU,IND,2018-08-13 707 | XSES,SGX,M1CNX,NCH,"MSCI China Free Net Total Return (USD) Index",USD,50,M1CNX,IND,2017-10-20 708 | XSES,SGX,M3CNX,CH,"MSCI China Free Price USD Index",USD,5,M3CNX,IND,2017-10-30 709 | XSES,SGX,MUC,MUC,"SGX USD/CNH Futures (Mini)",CNH,25000,MUC,IND,2021-09-13 710 | XSES,SGX,MXID,ID,"MSCI Indonesia Index",USD,2,MXID,IND,2017-10-30 711 | XSES,SGX,MXMY,MY,"MSCI Malaysia Index",USD,20,MXMY,IND,2017-10-31 712 | XSES,SGX,MXTH,TH,"MSCI Thailand index",USD,20,MXTH,IND,2017-10-30 713 | XSES,SGX,N225U,NU,"SGX: USD Nikkei 225 Index",USD,5,N225U,IND,2007-09-12 714 | XSES,SGX,NIFTY,IN,"CNX Nifty Index",USD,2,NIFTY,IND,2017-10-26 715 | XSES,SGX,NKYDIV,ND,"Nikkei Stock Average Dividend Point Index",JPY,10000,NKYDIV,IND,2018-03-30 716 | XSES,SGX,SCI,FEF,"SGX TSI Iron Ore Futures",USD,100,SCI,IND,2017-10-31 717 | XSES,SGX,SEY,EY,"Euroyen (TIBOR) Index",JPY,250000,SEY,IND,2017-12-18 718 | XSES,SGX,SGB,JB,"SGX Mini JGB Index",JPY,100000,SGB,IND,2017-12-12 719 | XSES,SGX,SGXNK,NK,"SGX: Nikkei 225",JPY,500,SGXNK,IND,2017-10-12 720 | XSES,SGX,SGXNKM,NS,"SGX: NIKKEI 225 Mini",JPY,100,SGXNKM,IND,2017-10-12 721 | XSES,SGX,SGXTU,TU,"SGX Thai baht in US Dollar Futures",USD,1000000,SGXTU,IND,2022-12-29 722 | XSES,SGX,SND,SND,"SGX US Dollar in Singapore Dollar Futures (Full-Sized)",SGD,100000,SND,IND,2020-10-19 723 | XSES,SGX,SSG,SGP,"MSCI Singapore Free Index",SGD,100,SSG,IND,2017-10-30 724 | XSES,SGX,STI,ST,"SGX Straits Times Index",SGD,10,STI,IND,2017-10-30 725 | XSES,SGX,STW,TW,"MSCI Taiwan Index",USD,100,STW,IND,2017-10-30 726 | XSES,SGX,TD,TD,"SGX Taiwan Dollar in US Dollar Futures (Mini)",USD,1000000,TD,IND,2021-02-08 727 | XSES,SGX,TSR20,TF,"SICOM Rubber",USD,50,TSR20,IND,2017-09-29 728 | XSES,SGX,TWD,TWD,"SGX Taiwan Dollar in US Dollar Futures (Full-Sized)",USD,3000000,TWD,IND,2021-02-08 729 | XSES,SGX,TWN,TWN,"FTSE Taiwan RIC Capped Price Return TWD Index",USD,40,TWN,IND,2020-08-28 730 | XSES,SGX,UC,UC,"SGX US Dollar in offshore Chinese Renminbi (CNH)",CNH,100000,UC,IND,2017-10-16 731 | XSES,SGX,UJ,UJ,"SGX US Dollar in Japanese Yen Futures (Titan)",JPY,500000,UJ,IND,2017-10-16 732 | XSES,SGX,US,US,"SGX US Dollar in Singapore Dollar (Mini) Futures",SGD,25000,US,IND,2018-09-17 733 | XSES,SGX,US,US,"SGX US Dollar in Singapore Dollar Futures",SGD,25000,US,IND,2017-10-16 734 | XSES,SGX,UY,UY,"SGX US Dollar in Japanese Yen Futures (Standard)",JPY,100000,UY,IND,2017-10-16 735 | XSES,SGX,WIIDN,FID,"FTSE Indonesia Index",USD,5,WIIDN,IND,2020-09-29 736 | XSES,SGX,XIN0I,FCH,"FTSE China H50",USD,2,XIN0I,IND,2020-12-30 737 | XSES,SGX,XINA50,CN,"FTSE/Xinhua China A50",USD,1,XINA50,IND,2017-10-30 738 | XSFE,SNFE,IB,IB,"30 Day Interbank Cash Rate",AUD,2466,IB,IND,2017-10-31 739 | XSFE,SNFE,IR,IR,"90 Day Bills",AUD,10000,IR,IND,1983-03-09 740 | XSFE,SNFE,MSPI,AM,"ASX Mini SPI 200 Index",AUD,5,MSPI,IND,2017-10-19 741 | XSFE,SNFE,SPI,AP,"S&P/ASX 200 Index (Australia)",AUD,25,SPI,IND,2010-06-17 742 | XSFE,SNFE,XT,XT,"10 Year Treasury Bond 6%",AUD,10000,XT,IND,1985-03-15 743 | XSFE,SNFE,YT,YT,"3 Year Treasury Bond 6%",AUD,1000,YT,IND,2001-09-17 744 | XSTO,OMS,OMXESG,OMXESG,"OMXS30 ESG Responsible Index",SEK,100,OMXESG,IND,2020-11-20 745 | XSTO,OMS,OMXS30,OMXS30,"OMX Index (Sweden)",SEK,100,OMXS30,IND,2017-10-20 746 | --------------------------------------------------------------------------------