| 
    libjmmcg
    release_579_6_g8cffd
    
   A C++ library containing an eclectic mix of useful, advanced components. 
   | 
 
An idea for implementing a very simple smart order router. More...
#include <smart_order_router.hpp>
Classes | |
| struct | available_to_trade | 
Public Types | |
| using | link_t = int | 
| Base class of all the links.  More... | |
| using | link_ptr_t = link_t * | 
| using | container_type = std::map< exchanges::ISIN_t, std::map< available_to_trade, link_ptr_t > > | 
Public Member Functions | |
| void | market_data_update (ISIN_t const &, available_to_trade::price_t const &, available_to_trade::volume_t const &) | 
| The market-data thread receives updates for the subscribed ISINs and calls this function to update the internal container.  More... | |
| void | place_an_order (...) noexcept(false) | 
| Call to place an order via the SOR.  More... | |
An idea for implementing a very simple smart order router.
Definition at line 29 of file smart_order_router.hpp.
| using isimud::ISIMUD_VER_NAMESPACE::smart_order_router::container_type = std::map< exchanges::ISIN_t, std::map< available_to_trade, link_ptr_t > > | 
A collection that contains the ISINs that are tradeable on multiple exchanges ordered by ISIN->{price, volume}->link. So that as market data comes in the prices & available volumes are updated.
May want to use a sorted vector instead....
Definition at line 44 of file smart_order_router.hpp.
Definition at line 38 of file smart_order_router.hpp.
Base class of all the links.
Definition at line 37 of file smart_order_router.hpp.
| void isimud::ISIMUD_VER_NAMESPACE::smart_order_router::market_data_update | ( | ISIN_t const & | , | 
| available_to_trade::price_t const & | , | ||
| available_to_trade::volume_t const & | |||
| ) | 
The market-data thread receives updates for the subscribed ISINs and calls this function to update the internal container.
Re-insert the ISIN into the map with the updated details.
      
  | 
  noexcept | 
Call to place an order via the SOR.
Places the trade on the venue that has the best price & most volume. Could split the trade between venues.