Market Data Unfair Advantage Posting Status Robert 2016

CSV Format Specifications

PDF Version

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 date in CCYYMMDD format.
Field# 7 Default open interest date in CCYYMMDD format.

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.
Field# 5 Total open interest.
Field# 6 Total estimated volume.
Field# 7 Volume date, if different from default volume date.
Field# 8 Open interest date, if different from default open interest date.

Type 32. Commodity future contract record.
Field# 1 Symbol.
Field# 2 CSI commodity number.
Field# 3 Delivery year and delivery month, in YYMM format.
Field# 4 Open1 price.
Field# 5 Open2 price.
Field# 6 High price.
Field# 7 Low price.
Field# 8 Settlement price.
Field# 9 Previous day settle price.
Field# 10 Volume, for date in associated Type 01.
Field# 11 Open interest, for date in associated Type 01.

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 Open1 price.
Field# 7 Open2 price.
Field# 8 High price.
Field# 9 Low price.
Field# 10 Settlement price.
Field# 11 Previous day last price.
Field# 12 Volume, for date in associated Type 01.
Field# 13 Open interest, for date in associated Type 01.
Field# 14 Closing bid price.
Field# 15 Closing ask price.

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 Open price.
Field# 7 High price.
Field# 8 Low price.
Field# 9 Last price.
Field# 10 Previous day last price.
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.

Type 13. Delete a past day of data.
Field# 1 Date to be deleted in CCYYMMDD format.
Field# 2 Symbol.
Field# 3 CSI number.
Field# 4 Delivery year and delivery month, in YYMM format.
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.
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.
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.
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 85. Stock option record.
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.
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.
CSI CONVERSION FACTORS EXPLAINED

Long ago, when memory space was at a premium, price fields were represented as whole numbers which then had to be converted to a decimal or fractional representation. The conversion method was specific to the type of market. The native prices for some markets, such as grains, were in fractions. Others, like stock indices, were priced in decimals. CSI assigned a specific “conversion factor” to each market. These conversion factors are applied to the whole number values to produce decimal values.

For positive conversion factors, the conversion process is a straightforward shifting of the decimal place.

0 = no modification
+1 = division by 10 4321 = 432.1
+2 = division by 100 4321 = 43.21
+3 = division by 1,000 4321 = 4.321
+4 = division by 10,000 4321 = 0.4321
+5 = division by 100,000 4321 = 0.04321
+6 = division by 1,000,000 4321 = 0.004321

Negative conversion factors are used to convert to fractional values.

-1 = right-most digit represents 8ths 4321 = 432 1/8
-2 = right-most two digits represent 16ths 4311 = 43 11/16
-3 = right-most two digits represent 32nds 10424 = 104 24/32
-4 = right-most two digits represent 64ths 10352 = 103 52/64
-5 = right-most three digits represent 128ths 104090 = 104 90/128
-6 = right-most three digits represent 256ths 104212 = 104 212/256
-7 = right-most three digits represent 32nds and halves of 32nds 103225 = 103 22.5/32
-8 = right-most three digits represent 32nds and quarters of 32nds 104222 = 104 22.25/32
-9 = right-most three digits represent 64ths and halves or 64ths and quarters 104222 = 104 22.25/64

Further explanation for –7,-8,-9 conversion factors:

These conversion factors were implemented to conform to the CBT method of displaying prices for certain instruments. The conversion factors –7 and –8 are functionally equivalent in that the same logic processes both. For conversion factor –7, the final digit will always be 0 or 5. For conversion factors –8 and -9, the final digit will always be 0, 2, 5 or 7.
Examples for conversion factors –7 and -8:

116060 means 116 and 6.00/32 True decimal value = 116.1875
116062 means 116 and 6.25/32 True decimal value = 116.1953125
116065 means 116 and 6.50/32 True decimal value = 116.203125
116067 means 116 and 6.75/32 True decimal value = 116.2109375

Examples for conversion factor –9:

116060 means 116 and 6.00/64 True decimal value = 116.09375
116062 means 116 and 6.25/64 True decimal value = 116.0976563
116065 means 116 and 6.50/64 True decimal value = 116.1015625
116067 means 116 and 6.75/64 True decimal value = 116.10546875
PERPETUAL CONTRACT/NEAREST FUTURE CONTRACT DELIVERY MONTH CODES

If the delivery code is between 37 and 61, inclusive, use the following table:

CSI Day of contract Include
Code Description roll forward 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

54 Current day cash
61 Previous day cash

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

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

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