3 #include <boost/test/unit_test.hpp> 29 template <
typename based_order_book>
37 typename based_order_book::config cfg;
39 book.handle_add_order(
BUY,
price4_t(10 * 10000), 300);
40 book.handle_add_order(
BUY,
price4_t(11 * 10000), 200);
41 book.handle_add_order(
BUY,
price4_t(12 * 10000), 100);
47 std::ostringstream out;
50 auto now = compute_type::clock_type::now();
51 typename compute_type::clock_type::duration pl(std::chrono::nanoseconds(525));
54 stats, out, create_header(std::chrono::nanoseconds(0)), book,
56 BOOST_CHECK_EQUAL(std::string(
""), out.str());
59 stats, out, create_header(std::chrono::nanoseconds(0)), book,
61 BOOST_CHECK_EQUAL(std::string(
""), out.str());
65 now = compute_type::clock_type::now();
69 stats, out, create_header(std::chrono::nanoseconds(0)), book,
72 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
77 stats, out, create_header(std::chrono::nanoseconds(0)), book,
80 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
84 now = compute_type::clock_type::now();
87 stats, out, create_header(std::chrono::nanoseconds(0)), book,
90 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
94 stats, out, create_header(std::chrono::nanoseconds(0)), book,
97 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
102 now = compute_type::clock_type::now();
105 stats, out, create_header(std::chrono::nanoseconds(0)), book,
110 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
114 stats, out, create_header(std::chrono::nanoseconds(0)), book,
119 std::string(
"0 0 HSART 120000 100 150000 100\n"), out.str());
static constexpr int message_type
Compute the book and call a user-defined callback on each change.
Contains classes and functions to parse NASDAQ ITCH-5.0 messages, more information about ITCH-5...
void test_generate_inside_basic(based_order_book &base)
Test generate_inside.
buy_sell_indicator_t const SELL(u 'S')
Keep statistics about a feed and its offline processor.
Define the types of buy and sell sides data structure.
Represent a ITCH-5.0 timestamp.
A flat struct to represent updates to an order book.
buy_sell_indicator_t const BUY(u 'B')
bool generate_inside(jb::offline_feed_statistics &stats, std::ostream &out, jb::itch5::message_header const &header, jb::itch5::order_book< book_type > const &book, jb::itch5::book_update const &update, duration_t processing_latency)
Determine if this event changes the inside, if so, record the statistics and output the result...
price_field< std::uint32_t, 10000 > price4_t
Convenience definition for Price(4) fields.
Maintain the ITCH-5.0 order book for a single security.
Configure an offline_feed_statistics object.
BOOST_AUTO_TEST_CASE(generate_inside_basic)
The top-level namespace for the JayBeams library.