For more details on processing these files, see the daily file FAQ
This is a dynamic document, in that it is still evolving. New record types may be added in the future, and each user will not necessarily see each of the record types described herein. This format description and the actual format structures are copyrighted © property of CSI. The format and the details of the format are restricted to registered users who are granted a temporary license to use the format.
The following is an example of the CSI comma-separated values format:
00,ABC,1,000019,20150714,2,20150713,20150713
09,20150713,33,AAPL,5902,125.03,125.76,124.32,125.66,,414405
01,SP,149,0,6223,107945,3828
32,SP,149,1509,2092.2,,2105.3,2091.5,2102.1,2094.4,6217,104838
32,SP,149,1512,2084.5,,2097.7,2083.5,2094.3,2086.7,6,2466
01,W2,413,0,109679,405178,106840
32,W2,413,1509,575,,582.5,569.25,571,575.75,57597,229106
32,W2,413,1512,581,,587.75,574.75,576.5,582,36043,116654
32,W2,413,1603,585,,592.5,580.25,582.5,587.75,9854,35272
01,W,21,3,10112,182377,0
34,W,21,1509,3,520,,,56.125,56.125,56.125,,0,3430,56.125,56.125
34,W,21,1509,3,540,,,46.875,40.5,40.875,,0,2965,40.875,40.875
33,IBM,5159,169.43,169.54,168.24,168.61,169.38,29749
33,KR,5341,38.41,38.5,38.12,38.2,38.47,40077
08,KR,5341,20150714,2,1
33,AAPL,5902,126.04,126.37,125.04,125.61,125.66,315355
36,FMAGX,6018,95.6,95.6
37,FMAGX,6018,20150714,.18,4.650
00,ABC,1,000019,20150714,2,20150713,20150713
Fields are comma-separated. Each record has a numeric record type in the first field, with 00 to 99 possible. The defined record types are described as follows:
Daily data types
Type 00. The file header and trailer records.
Field# 1 Portfolio identifier (alphanumeric).
Field# 2 File type flag. ‘1’ for daily.
Field# 3 Record count, including header and trailer records.
Field# 4 Today’s date in CCYYMMDD format.
Field# 5 Day number of week. 1=Monday, 2=Tuesday…7=Sunday.
Field# 6 Default volume and previous close date in CCYYMMDD format for all futures and options.
Field# 7 Default open interest date in CCYYMMDD format for all futures and options.
Type 01. Commodity/commodity option/stock option header record.
Field# 1 Symbol.
Field# 2 CSI commodity number.
Field# 3 Option type flag. 0=non-option, 2=put, 3=call.
Field# 4 Total volume for the previous trading day.
Field# 5 Total open interest for the previous trading day.
Field# 6 Total estimated volume for the current day.
Field# 7 Volume and previous close date, if different from the default volume date in Type 00.
Field# 8 Open interest date, if different from the default open interest date in Type 00.
Type 32. Commodity future contract record.
Field# 1 Symbol.
Field# 2 CSI commodity number.
Field# 3 Delivery year and delivery month in YYMM format. If the delivery year is 0, see here for the DMCode meaning.
Field# 4 Open price.
Field# 5 Unused.
Field# 6 High price.*
Field# 7 Low price.*
Field# 8 Close price. It can be settlement or last depending on the CSI number.
Field# 9 Previous day settle price.
Field# 10 Volume for the previous trading day, for the date in associated Type 01 (or Type 00 if the Type 01 date is blank).
Field# 11 Open interest for the previous trading day, for the date in associated Type 01 (or Type 00 if the Type 01 date is blank).
Field# 12 Preliminary volume for the current trading day, when available.**
Field# 13 Preliminary open interest for the current trading day, when available.**
*For CME futures, the high and low price may contain bids and asks.
** These fields are only available in the new file format.
Type 33. Stock price record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Open price.
Field# 4 High price.
Field# 5 Low price.
Field# 6 Last price.
Field# 7 Previous day last price.
Field# 8 Volume in 100’s of shares, for today’s date.
Type 34. Commodity option contract record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Delivery year and delivery month, in YYMM format.
Field# 4 Option type flag. 2 = put, 3 = call.
Field# 5 Strike price.
Field# 6 Open price.
Field# 7 Unused.
Field# 8 High price.
Field# 9 Low price.
Field# 10 Settlement price.
Field# 11 Previous day settlement price.
Field# 12 Volume, for date in associated Type 01.
Field# 13 Open interest, for date in associated Type 01.
Field# 14 Unused.
Field# 15 Unused.
Prior to July 1st, 2021, Fields #6 and #11 were unused and field #14 and #15 contained the bid/ask.
Type 35. Stock option contract record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Delivery year and delivery month, in YYMM format.
Field# 4 Option type flag. 2 = put, 3 = call.
Field# 5 Strike price.
Field# 6 Unused.
Field# 7 High price.
Field# 8 Low price.
Field# 9 Last price.
Field# 10 Unused.
Field# 11 Volume, for date in associated Type 01.
Field# 12 Open interest, for date in associated Type 01.
Field# 13 Closing bid price.
Field# 14 Closing ask price.
Type 36. Mutual fund record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Net asset value.
Field# 4 Asking price (NAV plus commission).
Type 37. Dividend/capital gain record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Ex-dividend date in CCYYMMDD format.
Field# 4 Dividend amount.
Field# 5 Capital gain amount.
Type 08. Stock split record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Ex-dividend date in CCYYMMDD format.
Field# 4 Number of new shares.
Field# 5 Number of old shares.
Type 09. Error correction record.
Field# 1 Date to be corrected in CCYYMMDD format.
Field# 2 Type of record to correct.
The remaining fields defined according to the record type.
NOTE: Commodity records will always show 0 or blank for previous close and can be ignored. Additionally, a correction for the previous day will sometimes show vol/OI as 0. Make sure to apply the 09 records first including the vol/OI and then apply the 02/32 records to overwrite the previous vol/OI.
Type 13. Delete a past day of data for stocks, futures, or options.
Field# 1 Date to be deleted in CCYYMMDD format.
Field# 2 Symbol.
Field# 3 CSI number.
Field# 4 For futures: Delivery year and delivery month in YYMM format corresponding to the Type 32 record. If 0000 is shown then the Type 01 header record should be deleted as well as the 54 cash record if it exists. For stocks, 0000 will always be shown and has no meaning.
Field# 5 Option type flag. 0=non-option, 2=put, 3=call.
Field# 6 Strike price.
Type 11. Fact sheet modifications.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Function A = Add, D = Delete, M = Modify
Field# 4 Instrument Name.
Field# 5 Instrument Type ST=Stock, CM=Commodity, SO=Stock Option,
CO=Commodity Option, SI=Stock Index, MU=Mutual Fund
Field# 6 Exchange Flag (per CSI fact sheet).
Field# 7 CSI Conversion Factor (legacy; not relevant)
Field# 8 Old Symbol.
Type 21. Most active stocks.
Field# 1 Exchange.
Field# 2 Rank by volume.
Field# 3 Symbol.
Field# 4 CSI number.
Field# 5 Volume.
This type would appear for each of the n most active stocks.
Type 22. Stock exchange statistics.
Field# 1 Exchange.
Field# 2 Issues traded.
Field# 3 Advancing issues.
Field# 4 Declining issues.
Field# 5 Unchanged issues.
Field# 6 Total volume.
Field# 7 Advancing volume.
Field# 8 Declining volume.
Field# 9 Unchanged volume.
Field# 10 New 12-month highs.
Field# 11 New 12-month lows.
Historical data types
Type 70. The file header and trailer records.
Field# 1 File type flag. ‘2’ for history.
Field# 2 Customer identifier (alphanumeric).
Field# 3 Creation date in YYMMDD format.
Field# 4 Creation time in HHMMSS format.
Field# 5 Record count, including header and trailer records.
Type 71. History Header Record.
Field# 1 Symbol.
Field# 2 CSI number.
Field# 3 Delivery Month.
Field# 4 Delivery Year.
Field# 5 Normal/Put/Call flag.
Field# 6 Strike Price.
Field# 7 Daily/Weekly/Monthly flag.
Field# 8 First date in file (CCYYMMDD format).
Field# 9 Last date in file (CCYYMMDD format).
Field# 10 Conversion factor (legacy; not relevant)
Field# 11 Number of days in the file.
Type 82. Commodity record in decimal.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Open price.
Field# 3 High price.
Field# 4 Low price.
Field# 5 Closing price.
Field# 6 Contract volume.
Field# 7 Contract open interest.
Field# 8 Total volume.
Field# 9 Total open interest.
Type 83. Stock price record in decimal.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Open price.
Field# 3 High price.
Field# 4 Low price.
Field# 5 Closing price.
Field# 6 Volume.
Type 84. Commodity option record in decimal.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Open price.
Field# 3 High price.
Field# 4 Low price.
Field# 5 Closing price.
Field# 6 Unused.
Field# 7 Unused.
Field# 8 Contract volume.
Field# 9 Contract open interest.
Field# 10 Total volume.
Field# 11 Total open interest.
Type 85. Stock option record in decimal.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Open price.
Field# 3 High price.
Field# 4 Low price.
Field# 5 Closing price.
Field# 6 Closing bid price.
Field# 7 Closing ask price.
Field# 8 Contract volume.
Field# 9 Contract open interest.
Field# 10 Total volume.
Field# 11 Total open interest.
Type 86. Mutual fund record in decimal.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Net asset value.
Field# 3 Asking price (NAV plus commission).
Type 79. Catch-all record type.
Field# 1 Date of data in CCYYMMDD format.
Field# 2 Open price.
Field# 3 High price.
Field# 4 Low price.
Field# 5 Closing price.
Field# 6 Contract volume.
Field# 7 Contract open interest.
Field# 8 Total volume.
Field# 9 Total open interest.
Type 97. Dividend/capital gain record.
Field# 1 Ex-dividend date in CCYYMMDD format.
Field# 2 Dividend amount.
Field# 3 Capital gain amount.
Type 98. Stock split record.
Field# 1 Ex-dividend date in CCYYMMDD format.
Field# 2 Number of new shares.
Field# 3 Number of old shares.
Legacy record types:
Type 02. Same as Type 32, with prices in integer format (conversion factors must be applied).
Type 03. Same as Type 33, with prices in integer format (conversion factors must be applied).
Type 04. Same as Type 34, with prices in integer format (conversion factors must be applied).
Type 05. Same as Type 35, with prices in integer format (conversion factors must be applied).
Type 06. Same as Type 36, with prices in integer format (conversion factors must be applied).
Type 07. Same as Type 37, with values in integer format.
Type 10. Text message record.
Field# 1 Text message from CSI.
Type 15. CSI fact table entry.
Field# 1 Category (S = stock, C = commodity).
Field# 2 Option flag (O = option, N = not an option).
Field# 3 Action (M = Merge, D = Delete)
Field# 4 CSI number.
Field# 5 Symbol.
Field# 6 Exchange.
Field# 7 Name.
Field# 8 Conversion factor.
Field# 9 Unit of measure.
Field# 10 Contract size.
Field# 11 Value of one CSI point.
Field# 12 Trading months – 12 characters: ‘V’ = valid month, ‘I’ = invalid month, ‘S’ = switching month.
Field# 13 Last Trading Date.
Field# 14 Minimum Tick.
Field# 15 Branch Number.
Field# 16 Branch Date.
Field# 17 Second Symbol.
Field# 18 Unused.
Field# 19 Internal Proprietary Field.
Field# 20 Currency.
Field# 21 Start Date for commodity (includes branch history)
Type 16. CSI fact table footnote.
Field# 1 Category (S = stock, C = commodity).
Field# 2 Option flag (O = option, N = not an option).
Field# 3 CSI number.
Field# 4 Single line of text.
Repeat type 16 for multiple line footnote.
Type 38. Stock future header record.
Same fields as type 01
Type 39. Stock future contract record
Same fields as type 02
Type 40. Stock future contract record, decimal format
Same fields as type 32
Type 50. Account information (not fully defined.)
Field# 1 Balances/amount due/etc.
Type 72. Same as type 82, with prices in integer format.
Type 73. Same as type 83, with prices in integer format.
Type 74. Same as type 84, with prices in integer format.
Type 75. Same as type 85, with prices in integer format.
Type 76. Same as type 86, with prices in integer format.
If you have a legacy file, the prices are displayed in points format. For information on converting the prices, see here: CSI Conversion Factors Explained
Delivery Month Codes
Records with a delivery year field of 0 are special series and are specified by the delivery month codes below.
If the PerpetualIsDifferent code is 1 in the commodity factsheet, then the descriptions are listed there for each DMCode. This applies to FOREX, USGOV rates, LME, and miscellaneous CASH.
If the PerpetualIsDifferent code is 0 in the commodity factsheet, then they are Cash/Perpetual/Nearest future prices, listed below.
Cash
DMCode | Description |
---|---|
54 | Current day cash |
61 | Previous day cash |
Perpetual/Nearest future contracts
DMCode | Description | Day of contract to roll forward | Include switching months? |
---|---|---|---|
60 | 1st nearest future | last trading day | yes |
59 | 1st nearest future | 1st day of spot month | yes |
56 | 1st nearest future | last trading day | no |
58 | 2nd nearest future | last trading day | no |
57 | 3rd nearest future | last trading day | no |
55 | 1st nearest future | 1st day of spot month | no |
53 | 2nd nearest future | 1st day of spot month | no |
52 | 3rd nearest future | 1st day of spot month | no |
DMCode | Description | Day of contract to roll forward |
---|---|---|
38 | 2 month perpetual | last trading day |
39 | 3 month perpetual | last trading day |
41 | 4 month perpetual | last trading day |
42 | 5 month perpetual | last trading day |
37 | 6 month perpetual | last trading day |
43 | 7 month perpetual | last trading day |
44 | 8 month perpetual | last trading day |
45 | 9 month perpetual | last trading day |
47 | 11 month perpetual | last trading day |
DMCode | Description | Day of contract to roll forward |
---|---|---|
49 | 3 month perpetual | 10th of month preceding delivery |
48 | 6 month perpetual | 10th of month preceding delivery |
46 | 3 month perpetual | 10th of delivery month |
DMCode | Description |
---|---|
51 | Weighted average all delivery months, by open interest |
40 | 6 month index index based on 6 month perpetual |
50 | 3 month index index based on 3 month perpetual |