{"id":646,"date":"2011-08-10T21:09:39","date_gmt":"2011-08-10T21:09:39","guid":{"rendered":"http:\/\/datafutures.net\/ecsi\/?page_id=646"},"modified":"2011-08-10T21:09:39","modified_gmt":"2011-08-10T21:09:39","slug":"csi-number-specification","status":"publish","type":"page","link":"https:\/\/www.csidata.com\/?page_id=646","title":{"rendered":"CSI Number Specification"},"content":{"rendered":"<h4>CSINumber Ranges<\/h4>\n<p>Below are the CSI Number ranges that distinguish between futures and non-futures.<\/p>\n<p>0 \u2013 unused<br \/>\n1-999 futures<br \/>\n1000-99999 stocks, indices, etc.<\/p>\n<p>100000- unused<br \/>\n100001-100999 futures<br \/>\n101000-199999 stocks, indices, etc. <\/p>\n<p>200000- unused<br \/>\n200001-200999 futures<br \/>\n201000-299999 stocks, indices, etc.<\/p>\n<h4>Conditional Testing<\/h4>\n<p>To test for these cases in code, use the following IF statement:<\/p>\n<p>If (CSINumber MODULO 100000) < 1000 then \n     \u2018 it IS a future\nelse\n     \u2018 it is NOT a future\nend if\n\n\n\n\n<h4>Fixed Format File Specifications:<\/h4>\n<p>The existing field sizes for commodities and stocks are fixed.  Therefore multiple header records are required for larger numbers.  <\/p>\n<p>Currently the download file contains one header record, multiple data lines, and one trailer record.  The new specification calls for the following:<\/p>\n<p>Header Record<br \/>\n.<br \/>\nData records for first group<br \/>\n.<br \/>\nTrailer Record<br \/>\nHeader Record<br \/>\n.<br \/>\nData records for second group<br \/>\n.<br \/>\nTrailer Record<br \/>\nHeader Record<br \/>\n.<br \/>\nData records for third group<br \/>\n.<br \/>\nTrailer Record<\/p>\n<p>and so on.  Programmers need to add 100000 to the instrument numbers in the second group, 200000 to the instrument numbers in the third group, etc. for all headers that are encountered.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CSINumber Ranges Below are the CSI Number ranges that distinguish between futures and non-futures. 0 \u2013 unused 1-999 futures 1000-99999 stocks, indices, etc. 100000- unused 100001-100999 futures 101000-199999 stocks, indices, etc. 200000- unused 200001-200999 futures 201000-299999 stocks, indices, etc. Conditional Testing To test for these cases in code, use the following IF statement: If (CSINumber [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":625,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/pages\/646"}],"collection":[{"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.csidata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=646"}],"version-history":[{"count":1,"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/pages\/646\/revisions"}],"predecessor-version":[{"id":647,"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/pages\/646\/revisions\/647"}],"up":[{"embeddable":true,"href":"https:\/\/www.csidata.com\/index.php?rest_route=\/wp\/v2\/pages\/625"}],"wp:attachment":[{"href":"https:\/\/www.csidata.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}