Login Page - Create Account

Support Board


Date/Time: Sat, 30 May 2026 13:16:31 +0000



Post From: CFE feed: PITCH data preservation in SCID/SCDD

[2026-05-11 19:14:57]
AndyB - Posts: 111
Thanks for getting back, I appreciate the engagement.

To clarify what I'm asking: I've already done detailed binary-level analysis of the SCID and SCDD files, so I know exactly what's in them. What I'm asking is what's present at the boundary between Cboe and your ingest, and what your licensing allows you to pass through, so I know whether to keep asking you about these things or look elsewhere.

Q1: At the boundary between Cboe and your ingest, do you receive PITCH Order Executed (0x23) and Trade (0x2A/0x2B) messages with the Trade Condition byte (S=Spread, B=Block, E=ECRP, D=Derived, O=Opening)?

Q2: At that same boundary, do you receive PITCH Transaction Begin (0xBC) and Transaction End (0xBD) boundary messages?

Q3: Definitely get back to me on the millisecond/microsecond usage findings. Like I was saying earlier, the SCID records have a microsecond portion of the timestamp on par with what you'd expect to see per the documentation outlining the fact that it is merely a counter:

2025-09-08 18:47:02.254000, 0.0, 21.899999618530273, 21.799999237060547, 21.850000381469727, 1, 1, 0, 1
2025-09-08 18:47:02.254001, 0.0, 21.850000381469727, 21.799999237060547, 21.850000381469727, 1, 1, 0, 1
2025-09-09 13:55:24.431000, 0.0, 21.950000762939453, 21.850000381469727, 21.899999618530273, 1, 1, 1, 0
2025-09-09 13:55:24.431001, 0.0, 21.899999618530273, 21.850000381469727, 21.899999618530273, 1, 1, 0, 1
2025-09-09 13:55:24.431002, 0.0, 21.950000762939453, 21.899999618530273, 21.899999618530273, 1, 1, 1, 0

The depth records, however, do not seem to follow the "counter" logic, and seem to have their own actual microseconds:

2026-04-27 00:00:00.186575 5 1 21 20.799999237060547 233
2026-04-27 00:00:00.186620 4 1 3 20.700000762939453 15
2026-04-27 00:00:00.186630 4 1 4 20.700000762939453 41
2026-04-27 00:00:00.186667 4 1 5 20.700000762939453 59
2026-04-27 00:00:00.186692 4 1 6 20.700000762939453 60
2026-04-27 00:00:00.186696 5 1 24 20.75 202
2026-04-27 00:00:00.264284 4 1 5 20.700000762939453 59
2026-04-27 00:00:00.274228 5 1 14 24.299999237060547 347
2026-04-27 00:00:00.321752 4 1 24 20.649999618530273 293
2026-04-27 00:00:00.353627 5 1 5 25.200000762939453 53
2026-04-27 00:00:00.409679 4 1 6 20.700000762939453 78
2026-04-27 00:00:00.409732 4 1 7 20.700000762939453 79
2026-04-27 00:00:00.442353 5 1 23 20.75 197
2026-04-27 00:00:00.475546 5 1 3 26.299999237060547 11
2026-04-27 00:00:00.484968 4 1 6 20.700000762939453 60
2026-04-27 00:00:00.610145 5 1 15 24.25 378

As you can see, the microseconds are very much included, as opposed to CME's depth records that are granular only to the millisecond (except for in specific snapshot cases). So the question for Q3 is whether those microseconds are coming through from the Cboe feed at your ingest boundary, or whether something in your pipeline is the source of them.

For full context, I'm trying to reconcile trades against depth updates. With CME, that's tractable because SCID files carry the first/last sub-trade sentinels, depth records are millisecond-granular, and trades are too (with microseconds as a counter). That gives me enough to match programmatically. CFE doesn't carry the same signals, which is why I'm trying to pin down what is and isn't available at your end.

Thank you.