JayBeams  0.1
Another project to have fun coding.
Functions
itch5inside.cpp File Reference

This program reads a raw ITCH-5.0 file and generates the inside quotes in an ASCII (though potentially compressed) file. More...

#include <jb/itch5/generate_inside.hpp>
#include <jb/itch5/process_iostream.hpp>
#include <jb/fileio.hpp>
#include <jb/log.hpp>
#include <stdexcept>
#include <type_traits>
#include <unordered_map>

Go to the source code of this file.

Functions

template<typename book_type_t , typename cfg_book_t >
void run_inside (config const &cfg, cfg_book_t const &cfg_book)
 Template function to refactor the usage of a book side type. More...
 
int main (int argc, char *argv[])
 

Detailed Description

This program reads a raw ITCH-5.0 file and generates the inside quotes in an ASCII (though potentially compressed) file.

The program also generates statistics about the feed and the book build, using jb::offline_feed_statistics.

It reports the percentiles of "for each change in the inside, how long did it take to process the event, and what was the elapsed time since the last change to the inside".

Definition in file itch5inside.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

if enable_array_based uses array_based_order_book type and the config built by the call's arguments

... uses map_based_order_book type and a default config

Definition at line 139 of file itch5inside.cpp.

References jb::usage::exit_status(), and jb::offline_feed_statistics::config::reporting_interval_seconds.

◆ run_inside()

template<typename book_type_t , typename cfg_book_t >
void run_inside ( config const &  cfg,
cfg_book_t const &  cfg_book 
)

Template function to refactor the usage of a book side type.

Template Parameters
book_type_tbased order book type
cfg_book_tDefines the config type
Parameters
cfgApplication config object
cfg_bookBook side config object

Definition at line 65 of file itch5inside.cpp.

References jb::itch5::generate_inside(), jb::log::init(), JB_LOG, jb::open_input_file(), jb::open_output_file(), jb::offline_feed_statistics::print_csv_header(), jb::itch5::process_iostream(), jb::itch5::book_update::recvts, jb::itch5::book_update::stock, jb::itch5::message_header::timestamp, and jb::itch5::timestamp::ts.