This MBO PCAP Parser is a high-performance, work-in-progress C++ application designed to parse PCAP files from financial exchanges. While the program is designed to be adaptable to the characteristics of any exchange, the current implementation is tailored to the CBOE Futures Exchange (CFE). This parser reconstructs Market-by-Order (MBO) order books and includes complementary tools, providing a good foundation for identifying arbitrage opportunities and generating trading signals.
Built with modern C++ standards and optimized compiler settings, the application ensures reliable performance on macOS and Unix-like systems. As a benchmark, the program is currently capable of treating an entire week of data (~1.5gb) in approximately 3s on a Macbook M3-chip. The build process is managed using CMake, though it is still a work in progress as I refine my CMake skills. Any feedback would be greatly appreciated as the project evolves!
Please note that the PCAP files used during development cannot be shared, as they contain proprietary data provided by the CBOE exchange. If you want to test the program you will need to provide your own PCAP input file and modify the code accordingly. If you plan to use PCAP files that do not adhere to the provided structure detailed in the pitch PDF (see the GitHub repo), you will need to modify the corresponding structs in the source code. For instance, structs like SequencedUnitHeader, MessageHeader, and Time are defined with specific sizes and fields to match the binary format of the PCAP files used for this program. Ensure any changes maintain the expected structure alignment and size constraints by updating the struct definitions and validating them with static_assert checks to avoid runtime errors.
Built with modern C++ standards and optimized compiler settings, the application ensures reliable performance on macOS and Unix-like systems. As a benchmark, the program is currently capable of treating an entire week of data (~1.5gb) in approximately 3s on a Macbook M3-chip. The build process is managed using CMake, though it is still a work in progress as I refine my CMake skills. Any feedback would be greatly appreciated as the project evolves!
Please note that the PCAP files used during development cannot be shared, as they contain proprietary data provided by the CBOE exchange. If you want to test the program you will need to provide your own PCAP input file and modify the code accordingly. If you plan to use PCAP files that do not adhere to the provided structure detailed in the pitch PDF (see the GitHub repo), you will need to modify the corresponding structs in the source code. For instance, structs like SequencedUnitHeader, MessageHeader, and Time are defined with specific sizes and fields to match the binary format of the PCAP files used for this program. Ensure any changes maintain the expected structure alignment and size constraints by updating the struct definitions and validating them with static_assert checks to avoid runtime errors.