libjmmcg  build_2783
A C++ library containing an eclectic mix of useful, advanced components.
isimud::exchanges::MIT::common Namespace Reference

Classes

struct  BusinessReject
 
struct  BusinessRejectSpecific
 
class  client_to_exchange_transformations
 A client-to-MIT-protocol message handler. More...
 
class  connectivity_policy
 An implementation of the connectivity policy for the MIT protocol. More...
 
class  exchange_to_client_transformations
 A MIT-protocol-to-client message handler. More...
 
struct  ExecutionReport
 
class  Header
 
struct  Heartbeat
 
struct  logoff_args_t
 
struct  logon_args_t
 
struct  LogonReply
 
struct  LogonRequest
 
struct  LogoutRequest
 
struct  MissedMessageReport
 
struct  MissedMessageRequest
 
struct  MissedMessageRequestAck
 
struct  NewOrder
 
struct  NewQuote
 
struct  OrderCancelReject
 
struct  OrderCancelRejectSpecific
 
struct  OrderCancelReplaceRequest
 
struct  OrderCancelRequest
 
struct  OrderCancelRequestSpecific2
 
struct  OrderMassCancelReport
 
struct  OrderMassCancelReportSpecific
 
struct  OrderMassCancelRequest
 
class  ref_data
 Structures for encapsulating the MIT reference-data details. More...
 
struct  Reject
 
class  server_hb_t
 Section 5.2.2 "Heartbeats" of [1]. Generate heartbeats from the containing simulator. More...
 
class  simulator_responses
 A simple, MIT-protocol exchange simulator. More...
 
struct  SystemStatus
 

Typedefs

using CrossType_t = std::uint8_t
 
using MsgType_t = char
 
using Price_t = std::int64_t
 
using SecurityID_t = std::int32_t
 
using TransactTime_t = std::uint64_t
 
using Account_t = std::array< char, 10 >
 
using ClientOrderID_t = std::array< char, 20 >
 
using CommonSymbol_t = std::array< char, 8 >
 
using Counterparty_t = std::array< char, 11 >
 
using CrossID_t = std::array< char, 20 >
 
using ExecutionID_t = std::array< char, 12 >
 
using ExecutionReportRefID_t = std::array< char, 12 >
 
using ExpireDateTime_t = std::uint32_t
 
using OrderID_t = std::array< char, 12 >
 
using Password_t = std::array< char, 25 >
 
using PasswordExpiryDayCount_t = std::array< char, 30 >
 
using PublicOrderID_t = std::array< char, 12 >
 
using Reason_t = std::array< char, 20 >
 
using RejectReason_t = std::array< char, 30 >
 
using Segment_t = std::array< char, 4 >
 
using TraderID_t = std::array< char, 11 >
 
using UserName_t = std::array< char, 25 >
 
using ReservedField2_t = std::array< char, 2 >
 
using ReservedField3_t = std::array< char, 3 >
 
using ReservedField4_t = std::array< char, 4 >
 
using ReservedField6_t = std::array< char, 6 >
 
using ReservedField9_t = std::array< char, 9 >
 
using ReservedField10_t = std::array< char, 10 >
 
using ReservedField12_t = std::array< char, 12 >
 
using ReservedField20_t = std::array< char, 20 >
 
using ref_data_t = ref_data const &
 

Enumerations

enum  AdminMsgType : MsgType_t {
  AdminMsgType::LogonRequest ='A', AdminMsgType::LogonReply ='B', AdminMsgType::LogoutRequest ='5', AdminMsgType::Heartbeat ='0',
  AdminMsgType::MissedMessageRequest ='M', AdminMsgType::MissedMessageRequestAck ='N', AdminMsgType::MissedMessageReport ='P', AdminMsgType::Reject ='3',
  AdminMsgType::SystemStatus ='n', AdminMsgType::MatchAll =std::numeric_limits<MsgType_t>::max()-1, AdminMsgType::Exit =std::numeric_limits<MsgType_t>::max()
}
 
enum  ClientMsgType : MsgType_t {
  ClientMsgType::NewOrder ='D', ClientMsgType::OrderCancelRequest ='F', ClientMsgType::OrderMassCancelRequest ='q', ClientMsgType::OrderCancelReplaceRequest ='G',
  ClientMsgType::NewQuote ='S', ClientMsgType::NewOrderCrossMessage ='C', ClientMsgType::CrossOrderCancelRequest ='H', ClientMsgType::MatchAll =std::numeric_limits<MsgType_t>::max()-1,
  ClientMsgType::Exit =std::numeric_limits<MsgType_t>::max()
}
 
enum  ServerMsgType : MsgType_t {
  ServerMsgType::ExecutionReport ='8', ServerMsgType::OrderCancelReject ='9', ServerMsgType::OrderMassCancelReport ='r', ServerMsgType::BusinessMessageReject ='j',
  ServerMsgType::MatchAll =std::numeric_limits<MsgType_t>::max()-1, ServerMsgType::Exit =std::numeric_limits<MsgType_t>::max()
}
 
enum  ClearingAccount : std::uint8_t { ClearingAccount::Client =1u, ClearingAccount::House =3u }
 
enum  Capacity : std::uint8_t { Capacity::RisklessPrincipal =1u, Capacity::Principal =2u, Capacity::Agency =3u, Capacity::CFDGiveUp =4u }
 
enum  AutoCancel : std::uint8_t { AutoCancel::DoNotCancel =0u, AutoCancel::Cancel =1u }
 
enum  OrderType : std::uint8_t {
  OrderType::Market =1u, OrderType::Limit =2u, OrderType::Stop =3u, OrderType::StopLimit =4u,
  OrderType::Pegged =50u, OrderType::PeggedLimitOrder =51u
}
 
enum  Anonymity : std::uint8_t { Anonymity::Anonymous =0u, Anonymity::Named =1u }
 
enum  TIF : std::uint8_t {
  TIF::Day =0u, TIF::GTC =1u, TIF::IOC =3u, TIF::FOK =4u,
  TIF::OPG =5u, TIF::GTD =6u, TIF::GTT =8u, TIF::GFA1 =9u,
  TIF::ATC =10u, TIF::CPX =12u, TIF::GFA2 =50u, TIF::GFX =51u,
  TIF::GFS =52u
}
 
enum  Side : std::uint8_t { Side::Buy =1u, Side::Sell =2u }
 
enum  PassiveOnlyOrder : std::uint8_t {
  PassiveOnlyOrder::NoConstraint =0u, PassiveOnlyOrder::AcceptOrderIfSettingNewBBOJoiningExistingBBO =1u, PassiveOnlyOrder::AcceptOrderIfAtBBOInOneVisiblePricePoint =2u, PassiveOnlyOrder::AcceptOrderIfAtBBOInTwoVisiblePricePoints =3u,
  PassiveOnlyOrder::NotMatchWithVisibleContraOrder =99u, PassiveOnlyOrder::AcceptOrderIfSettingNewVisibleBBO =100u
}
 
enum  OrderSubType : std::uint8_t {
  OrderSubType::Order =0u, OrderSubType::Quote =3u, OrderSubType::PeggedOrder =5u, OrderSubType::PeggedMid =50u,
  OrderSubType::Random =51u, OrderSubType::PeggedOffer =52u
}
 
enum  AppID : std::uint8_t { AppID::Partition1 =1u, AppID::Partition2 =2u, AppID::Partition3 =3u }
 
enum  MESQualifier : std::int8_t { MESQualifier::NonMES =0, MESQualifier::MES =1 }
 
enum  OrderSource : std::int8_t {
  OrderSource::MarketParticipantDealsOnOwnAccount =1, OrderSource::InstitutionalClientMarketParticipant =3, OrderSource::RetailClientOrdersRouterDifferentMarketParticipant =7, OrderSource::InstitutionalClientOrdersRouterDifferentMarketParticipant =8,
  OrderSource::RetailClientMarketParticipant =9
}
 
enum  RestatementReason : std::uint8_t {
  RestatementReason::GTRenewalRestatement =1u, RestatementReason::OrderRePriced =3u, RestatementReason::MarketOption =8u, RestatementReason::PartialDeclineOrderQty =51u,
  RestatementReason::OrderReplenishment =100u
}
 
enum  ExecType : char {
  ExecType::New ='0', ExecType::Cancelled ='4', ExecType::Replaced ='5', ExecType::Rejected ='8',
  ExecType::Suspended ='9', ExecType::Expired ='C', ExecType::Restated ='D', ExecType::Trade ='F',
  ExecType::TradeCorrect ='G', ExecType::TradeCancel ='H', ExecType::Triggered ='L'
}
 
enum  OrderStatus : std::uint8_t {
  OrderStatus::New =0u, OrderStatus::Partiallyfilled =1u, OrderStatus::Filled =2u, OrderStatus::Cancelled =4u,
  OrderStatus::Expired =6u, OrderStatus::Rejected =8u, OrderStatus::Suspended =9u
}
 
enum  Container : std::uint8_t {
  Container::None =0u, Container::OrderBook =1u, Container::MarketOrderContainer =3u, Container::ParkedOrderQueue =5u,
  Container::StopOrderQueue =6u, Container::PeggedOrderContainer =7u, Container::PeggedOrder =20u, Container::EODVolumeAuctionUncross =21u
}
 
enum  TradeLiquidityIndicator : char { TradeLiquidityIndicator::AddedLiquidity ='A', TradeLiquidityIndicator::RemovedLiquidity ='R', TradeLiquidityIndicator::Auction ='C' }
 
enum  PriceDifferential : char {
  PriceDifferential::Aggressive ='A', PriceDifferential::NewVisibleBBO ='B', PriceDifferential::JoinVisibleBBO ='1', PriceDifferential::JoiningSetting2ndBestVisiblePrice ='2',
  PriceDifferential::JoiningSetting3rdBestVisiblePrice ='3', PriceDifferential::JoiningSetting4thBestVisiblePrice ='4', PriceDifferential::JoiningSetting5thBestVisiblePrice ='5', PriceDifferential::JoiningSetting6thBestVisiblePrice ='6',
  PriceDifferential::JoiningSetting7thBestVisiblePrice ='7', PriceDifferential::JoiningSetting8thBestVisiblePrice ='8', PriceDifferential::JoiningSetting9thBestVisiblePriceOrWorsePricePoint ='9', PriceDifferential::Passive ='P'
}
 
enum  TypeOfTrade : std::uint8_t { TypeOfTrade::Visible =0u, TypeOfTrade::Hidden =1u, TypeOfTrade::NotSpecified =2u }
 
enum  MassCancelRequestType : std::uint8_t {
  MassCancelRequestType::AllFirmOrdersInstrument =3u, MassCancelRequestType::AllFirmOrdersOfSegment =4u, MassCancelRequestType::AllOrdersSubmittedByTrader =7u, MassCancelRequestType::AllFirmOrders =8u,
  MassCancelRequestType::AllOrdersOfInstrument =9u, MassCancelRequestType::AllOrdersOfSegment =15u
}
 
enum  AppStatus : std::uint8_t { AppStatus::RecoveryServiceResumed =1u, AppStatus::RecoveryServiceNotAvailable =2u, AppStatus::PartitionSuspended =3u }
 
enum  MassCancelResponse : std::uint8_t { MassCancelResponse::Rejected =0u, MassCancelResponse::Accepted =7u }
 
enum  TargetBook : std::int8_t { TargetBook::LitOrderBook =0, TargetBook::DarkMidpointOrderBook =1 }
 
enum  ExecInstruction : std::int8_t { ExecInstruction::Default =0, ExecInstruction::TurquoiseUncross =1, ExecInstruction::ContinuousOnly =2, ExecInstruction::ContinuousAndTurquoiseUncross =5 }
 
enum  PegPriceType : std::int8_t { PegPriceType::MidPoint =0 }
 
enum  OrderBook : std::int8_t { OrderBook::Regular =1 }
 
enum  ExecutionInstruction : std::int8_t { ExecutionInstruction::DoNotExcludeHiddenOrders =0, ExecutionInstruction::ExcludeHiddenOrders =1, ExecutionInstruction::IncludeInEODVolumeAuctionUncross =2 }
 
enum  Status : std::uint8_t { Status::AllMessagesTransmitted =0u, Status::MessageLimitReached =1u, Status::ServiceUnavailable =2u }
 
enum  CrossType : std::uint8_t { CrossType::InternalCross =5 }
 
enum  IsMarketOpsRequest : std::uint8_t { IsMarketOpsRequest::No =0u, IsMarketOpsRequest::Yes =1u }
 

Functions

std::ostream & operator<< (std::ostream &os, AdminMsgType v) noexcept(false)
 
std::ostream & operator<< (std::ostream &os, ClientMsgType v) noexcept(false)
 
std::ostream & operator<< (std::ostream &os, ServerMsgType v) noexcept(false)
 
std::ostream & operator<< (std::ostream &os, ClearingAccount v)
 
std::ostream & operator<< (std::ostream &os, Capacity v)
 
std::ostream & operator<< (std::ostream &os, AutoCancel v)
 
std::ostream & operator<< (std::ostream &os, OrderType v)
 
std::istream & operator>> (std::istream &os, OrderType &v)
 
std::ostream & operator<< (std::ostream &os, Anonymity v)
 
std::ostream & operator<< (std::ostream &os, TIF v)
 
std::istream & operator>> (std::istream &os, TIF &v)
 
std::ostream & operator<< (std::ostream &os, Side v)
 
std::istream & operator>> (std::istream &os, Side &v)
 
std::ostream & operator<< (std::ostream &os, PassiveOnlyOrder v)
 
std::ostream & operator<< (std::ostream &os, OrderSubType v)
 
std::ostream & operator<< (std::ostream &os, AppID v)
 
std::ostream & operator<< (std::ostream &os, MESQualifier v)
 
std::ostream & operator<< (std::ostream &os, OrderSource v)
 
std::ostream & operator<< (std::ostream &os, RestatementReason v)
 
std::ostream & operator<< (std::ostream &os, ExecType v)
 
std::ostream & operator<< (std::ostream &os, OrderStatus v)
 
template<class Ret >
Ret convert (FIX::common::field_str_range_t const &) __attribute__((pure))=delete
 
template<>
constexpr OrderType convert< OrderType > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr TIF convert< TIF > (FIX::common::field_str_range_t const &a)
 
template<>
constexpr Side convert< Side > (FIX::common::field_str_range_t const &a)
 
template<class MsgT , class RefData >
constexpr SecurityID_t convert_SecurityID_t (MsgT const &msg, RefData const &ref_data)
 
template<>
Price_t convert< Price_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::int32_t convert< std::int32_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::uint32_t convert< std::uint32_t > (FIX::common::field_str_range_t const &a)
 
template<>
std::uint64_t convert< std::uint64_t > (FIX::common::field_str_range_t const &a)
 
class isimud::exchanges::MIT::common::Header __attribute__ ((packed))
 
template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, client_to_exchange_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &ec) noexcept(false)
 
template<class SrcMsgDetails , class SktT >
std::ostream & operator<< (std::ostream &os, simulator_responses< SrcMsgDetails, SktT > const &ec) noexcept(false)
 
std::ostream & operator<< (std::ostream &is, ref_data::security_id_key const &sik) noexcept(false)
 
std::ostream & operator<< (std::ostream &is, ref_data_t rd) noexcept(false)
 

Variables

constexpr const Price_t implied_decimal_places =100000000
 The number of implied decimal-places for MIT use. More...
 
struct isimud::exchanges::MIT::common::OrderCancelRejectSpecific __attribute__
 

Detailed Description

Typedef Documentation

◆ Account_t

using isimud::exchanges::MIT::common::Account_t = typedef std::array<char, 10>

Definition at line 105 of file types.hpp.

◆ ClientOrderID_t

using isimud::exchanges::MIT::common::ClientOrderID_t = typedef std::array<char, 20>

Definition at line 106 of file types.hpp.

◆ CommonSymbol_t

using isimud::exchanges::MIT::common::CommonSymbol_t = typedef std::array<char, 8>

Definition at line 107 of file types.hpp.

◆ Counterparty_t

using isimud::exchanges::MIT::common::Counterparty_t = typedef std::array<char, 11>

Definition at line 108 of file types.hpp.

◆ CrossID_t

using isimud::exchanges::MIT::common::CrossID_t = typedef std::array<char, 20>

Definition at line 109 of file types.hpp.

◆ CrossType_t

using isimud::exchanges::MIT::common::CrossType_t = typedef std::uint8_t

Definition at line 99 of file types.hpp.

◆ ExecutionID_t

using isimud::exchanges::MIT::common::ExecutionID_t = typedef std::array<char, 12>

Definition at line 110 of file types.hpp.

◆ ExecutionReportRefID_t

using isimud::exchanges::MIT::common::ExecutionReportRefID_t = typedef std::array<char, 12>

Definition at line 111 of file types.hpp.

◆ ExpireDateTime_t

using isimud::exchanges::MIT::common::ExpireDateTime_t = typedef std::uint32_t

Definition at line 112 of file types.hpp.

◆ MsgType_t

Definition at line 100 of file types.hpp.

◆ OrderID_t

using isimud::exchanges::MIT::common::OrderID_t = typedef std::array<char, 12>

Definition at line 113 of file types.hpp.

◆ Password_t

using isimud::exchanges::MIT::common::Password_t = typedef std::array<char, 25>

Definition at line 114 of file types.hpp.

◆ PasswordExpiryDayCount_t

using isimud::exchanges::MIT::common::PasswordExpiryDayCount_t = typedef std::array<char, 30>

Definition at line 115 of file types.hpp.

◆ Price_t

using isimud::exchanges::MIT::common::Price_t = typedef std::int64_t

Definition at line 101 of file types.hpp.

◆ PublicOrderID_t

using isimud::exchanges::MIT::common::PublicOrderID_t = typedef std::array<char, 12>

Definition at line 116 of file types.hpp.

◆ Reason_t

using isimud::exchanges::MIT::common::Reason_t = typedef std::array<char, 20>

Definition at line 117 of file types.hpp.

◆ ref_data_t

Definition at line 191 of file ref_data.hpp.

◆ RejectReason_t

using isimud::exchanges::MIT::common::RejectReason_t = typedef std::array<char, 30>

Definition at line 118 of file types.hpp.

◆ ReservedField10_t

using isimud::exchanges::MIT::common::ReservedField10_t = typedef std::array<char, 10>

Definition at line 128 of file types.hpp.

◆ ReservedField12_t

using isimud::exchanges::MIT::common::ReservedField12_t = typedef std::array<char, 12>

Definition at line 129 of file types.hpp.

◆ ReservedField20_t

using isimud::exchanges::MIT::common::ReservedField20_t = typedef std::array<char, 20>

Definition at line 130 of file types.hpp.

◆ ReservedField2_t

using isimud::exchanges::MIT::common::ReservedField2_t = typedef std::array<char, 2>

Definition at line 123 of file types.hpp.

◆ ReservedField3_t

using isimud::exchanges::MIT::common::ReservedField3_t = typedef std::array<char, 3>

Definition at line 124 of file types.hpp.

◆ ReservedField4_t

using isimud::exchanges::MIT::common::ReservedField4_t = typedef std::array<char, 4>

Definition at line 125 of file types.hpp.

◆ ReservedField6_t

using isimud::exchanges::MIT::common::ReservedField6_t = typedef std::array<char, 6>

Definition at line 126 of file types.hpp.

◆ ReservedField9_t

using isimud::exchanges::MIT::common::ReservedField9_t = typedef std::array<char, 9>

Definition at line 127 of file types.hpp.

◆ SecurityID_t

using isimud::exchanges::MIT::common::SecurityID_t = typedef std::int32_t

Definition at line 102 of file types.hpp.

◆ Segment_t

using isimud::exchanges::MIT::common::Segment_t = typedef std::array<char, 4>

Definition at line 119 of file types.hpp.

◆ TraderID_t

using isimud::exchanges::MIT::common::TraderID_t = typedef std::array<char, 11>

Definition at line 120 of file types.hpp.

◆ TransactTime_t

using isimud::exchanges::MIT::common::TransactTime_t = typedef std::uint64_t

Definition at line 103 of file types.hpp.

◆ UserName_t

using isimud::exchanges::MIT::common::UserName_t = typedef std::array<char, 25>

Definition at line 121 of file types.hpp.

Enumeration Type Documentation

◆ AdminMsgType

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.1 Administrative messages"

Enumerator
LogonRequest 
LogonReply 
LogoutRequest 
Heartbeat 
MissedMessageRequest 
MissedMessageRequestAck 
MissedMessageReport 

Or TransmissionComplete for JSE.

Reject 
SystemStatus 
MatchAll 

For the meta-state machine to allow a catch-all rule to reject anything unhandled.

Exit 

For the meta-state machine: the exit state to exit the msm.

Definition at line 143 of file types.hpp.

◆ Anonymity

enum isimud::exchanges::MIT::common::Anonymity : std::uint8_t
strong
Enumerator
Anonymous 
Named 

Definition at line 264 of file types.hpp.

◆ AppID

enum isimud::exchanges::MIT::common::AppID : std::uint8_t
strong
Enumerator
Partition1 
Partition2 
Partition3 

Definition at line 354 of file types.hpp.

◆ AppStatus

enum isimud::exchanges::MIT::common::AppStatus : std::uint8_t
strong
Enumerator
RecoveryServiceResumed 
RecoveryServiceNotAvailable 
PartitionSuspended 

Definition at line 488 of file types.hpp.

◆ AutoCancel

enum isimud::exchanges::MIT::common::AutoCancel : std::uint8_t
strong
Enumerator
DoNotCancel 
Cancel 

Definition at line 230 of file types.hpp.

◆ Capacity

enum isimud::exchanges::MIT::common::Capacity : std::uint8_t
strong
Enumerator
RisklessPrincipal 
Principal 
Agency 
CFDGiveUp 

Definition at line 217 of file types.hpp.

◆ ClearingAccount

Enumerator
Client 
House 

Definition at line 206 of file types.hpp.

◆ ClientMsgType

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.2.1 Client-initiated"

Enumerator
NewOrder 
OrderCancelRequest 
OrderMassCancelRequest 
OrderCancelReplaceRequest 
NewQuote 
NewOrderCrossMessage 
CrossOrderCancelRequest 
MatchAll 

For the meta-state machine to allow a catch-all rule to reject anything unhandled.

Exit 

For the meta-state machine: the exit state to exit the msm.

Definition at line 168 of file types.hpp.

◆ Container

enum isimud::exchanges::MIT::common::Container : std::uint8_t
strong
Enumerator
None 
OrderBook 

Or Main on JSE.

MarketOrderContainer 
ParkedOrderQueue 
StopOrderQueue 
PeggedOrderContainer 
PeggedOrder 

On JSE.

EODVolumeAuctionUncross 

On JSE.

Definition at line 441 of file types.hpp.

◆ CrossType

enum isimud::exchanges::MIT::common::CrossType : std::uint8_t
strong
Enumerator
InternalCross 

Definition at line 531 of file types.hpp.

◆ ExecInstruction

Enumerator
Default 
TurquoiseUncross 
ContinuousOnly 
ContinuousAndTurquoiseUncross 

Definition at line 504 of file types.hpp.

◆ ExecType

Enumerator
New 
Cancelled 
Replaced 
Rejected 
Suspended 
Expired 
Restated 
Trade 
TradeCorrect 
TradeCancel 
Triggered 

Definition at line 405 of file types.hpp.

◆ ExecutionInstruction

Enumerator
DoNotExcludeHiddenOrders 
ExcludeHiddenOrders 
IncludeInEODVolumeAuctionUncross 

Definition at line 519 of file types.hpp.

◆ IsMarketOpsRequest

Enumerator
No 
Yes 

Definition at line 535 of file types.hpp.

◆ MassCancelRequestType

Enumerator
AllFirmOrdersInstrument 
AllFirmOrdersOfSegment 
AllOrdersSubmittedByTrader 
AllFirmOrders 
AllOrdersOfInstrument 
AllOrdersOfSegment 

Definition at line 479 of file types.hpp.

◆ MassCancelResponse

Enumerator
Rejected 
Accepted 

Definition at line 494 of file types.hpp.

◆ MESQualifier

Enumerator
NonMES 
MES 

Definition at line 366 of file types.hpp.

◆ OrderBook

enum isimud::exchanges::MIT::common::OrderBook : std::int8_t
strong
Enumerator
Regular 

Definition at line 515 of file types.hpp.

◆ OrderSource

Enumerator
MarketParticipantDealsOnOwnAccount 
InstitutionalClientMarketParticipant 
RetailClientOrdersRouterDifferentMarketParticipant 
InstitutionalClientOrdersRouterDifferentMarketParticipant 
RetailClientMarketParticipant 

Definition at line 377 of file types.hpp.

◆ OrderStatus

enum isimud::exchanges::MIT::common::OrderStatus : std::uint8_t
strong
Enumerator
New 
Partiallyfilled 
Filled 
Cancelled 
Expired 
Rejected 
Suspended 

Definition at line 425 of file types.hpp.

◆ OrderSubType

Enumerator
Order 
Quote 
PeggedOrder 
PeggedMid 
Random 

Or Pegged To Bid for JSE.

PeggedOffer 

Definition at line 339 of file types.hpp.

◆ OrderType

enum isimud::exchanges::MIT::common::OrderType : std::uint8_t
strong
Enumerator
Market 
Limit 
Stop 
StopLimit 
Pegged 
PeggedLimitOrder 

Definition at line 241 of file types.hpp.

◆ PassiveOnlyOrder

Enumerator
NoConstraint 
AcceptOrderIfSettingNewBBOJoiningExistingBBO 
AcceptOrderIfAtBBOInOneVisiblePricePoint 
AcceptOrderIfAtBBOInTwoVisiblePricePoints 
NotMatchWithVisibleContraOrder 
AcceptOrderIfSettingNewVisibleBBO 

Definition at line 324 of file types.hpp.

◆ PegPriceType

Enumerator
MidPoint 

Definition at line 511 of file types.hpp.

◆ PriceDifferential

Enumerator
Aggressive 
NewVisibleBBO 
JoinVisibleBBO 
JoiningSetting2ndBestVisiblePrice 
JoiningSetting3rdBestVisiblePrice 
JoiningSetting4thBestVisiblePrice 
JoiningSetting5thBestVisiblePrice 
JoiningSetting6thBestVisiblePrice 
JoiningSetting7thBestVisiblePrice 
JoiningSetting8thBestVisiblePrice 
JoiningSetting9thBestVisiblePriceOrWorsePricePoint 
Passive 

Definition at line 458 of file types.hpp.

◆ RestatementReason

Enumerator
GTRenewalRestatement 
OrderRePriced 
MarketOption 
PartialDeclineOrderQty 
OrderReplenishment 

Definition at line 391 of file types.hpp.

◆ ServerMsgType

From "MIT203 - MILLENNIUM EXCHANGE Native Trading Gateway", Issue 11.6, 17 August 2015 Section: "8.1.2.2 Server-initiated"

Enumerator
ExecutionReport 
OrderCancelReject 
OrderMassCancelReport 
BusinessMessageReject 
MatchAll 

For the meta-state machine to allow a catch-all rule to reject anything unhandled.

Exit 

For the meta-state machine: the exit state to exit the msm.

Definition at line 191 of file types.hpp.

◆ Side

enum isimud::exchanges::MIT::common::Side : std::uint8_t
strong
Enumerator
Buy 
Sell 

Definition at line 305 of file types.hpp.

◆ Status

enum isimud::exchanges::MIT::common::Status : std::uint8_t
strong
Enumerator
AllMessagesTransmitted 
MessageLimitReached 
ServiceUnavailable 

Definition at line 525 of file types.hpp.

◆ TargetBook

enum isimud::exchanges::MIT::common::TargetBook : std::int8_t
strong
Enumerator
LitOrderBook 
DarkMidpointOrderBook 

Or Regular on JSE.

Definition at line 499 of file types.hpp.

◆ TIF

enum isimud::exchanges::MIT::common::TIF : std::uint8_t
strong
Enumerator
Day 
GTC 

Good Till Cancel (GTC); JSE.

IOC 

Immediate or Cancel (IOC).

FOK 

Fill or Kill (FOK).

OPG 

At the Opening (OPG).

GTD 

Good Till Date (GTD).

GTT 

Good Till Time (GTT).

GFA1 

Good For Auction (GFA); BIT & JSE.

ATC 

At the Close (ATC).

CPX 

Close Price Cross; JSE.

GFA2 

Good for Auction (GFA); LSE or Good for EOD Volume Auction Uncross (GDX) JSE.

GFX 

Good for Intraday Auction (GFX).

GFS 

Good for Scheduled Auction (GFS).

Definition at line 275 of file types.hpp.

◆ TradeLiquidityIndicator

Enumerator
AddedLiquidity 
RemovedLiquidity 
Auction 

Definition at line 452 of file types.hpp.

◆ TypeOfTrade

enum isimud::exchanges::MIT::common::TypeOfTrade : std::uint8_t
strong
Enumerator
Visible 
Hidden 
NotSpecified 

Definition at line 473 of file types.hpp.

Function Documentation

◆ __attribute__()

class isimud::exchanges::MIT::common::Header isimud::exchanges::MIT::common::__attribute__ ( (packed)  )

◆ convert()

template<class Ret >
Ret isimud::exchanges::MIT::common::convert ( FIX::common::field_str_range_t const &  )
delete

◆ convert< OrderType >()

template<>
constexpr OrderType isimud::exchanges::MIT::common::convert< OrderType > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with OrderType's that cannot be mapped?.

Definition at line 111 of file fix_to_mit_conversions.hpp.

◆ convert< Price_t >()

◆ convert< Side >()

template<>
constexpr Side isimud::exchanges::MIT::common::convert< Side > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with Side's that cannot be mapped?.

Definition at line 155 of file fix_to_mit_conversions.hpp.

◆ convert< std::int32_t >()

template<>
std::int32_t isimud::exchanges::MIT::common::convert< std::int32_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 188 of file fix_to_mit_conversions.hpp.

References convert_SecurityID_t().

◆ convert< std::uint32_t >()

template<>
std::uint32_t isimud::exchanges::MIT::common::convert< std::uint32_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 194 of file fix_to_mit_conversions.hpp.

◆ convert< std::uint64_t >()

template<>
std::uint64_t isimud::exchanges::MIT::common::convert< std::uint64_t > ( FIX::common::field_str_range_t const &  a)
inline

Definition at line 200 of file fix_to_mit_conversions.hpp.

◆ convert< TIF >()

template<>
constexpr TIF isimud::exchanges::MIT::common::convert< TIF > ( FIX::common::field_str_range_t const &  a)
inlineconstexpr
Todo:
What should be done with TIF's that cannot be mapped?.

Definition at line 131 of file fix_to_mit_conversions.hpp.

◆ convert_SecurityID_t()

template<class MsgT , class RefData >
constexpr SecurityID_t isimud::exchanges::MIT::common::convert_SecurityID_t ( MsgT const &  msg,
RefData const &  ref_data 
)
inlineconstexpr

Note that only ISIN symbology is supported.

Definition at line 171 of file fix_to_mit_conversions.hpp.

References convert_SecurityID_t().

Referenced by convert< Price_t >(), convert< std::int32_t >(), and convert_SecurityID_t().

◆ operator<<() [1/23]

std::ostream & isimud::exchanges::MIT::common::operator<< ( std::ostream &  is,
ref_data::security_id_key const &  sik 
)
inlinenoexcept

Definition at line 157 of file ref_data_impl.hpp.

◆ operator<<() [2/23]

std::ostream & isimud::exchanges::MIT::common::operator<< ( std::ostream &  is,
ref_data_t  rd 
)
inlinenoexcept

Definition at line 163 of file ref_data_impl.hpp.

◆ operator<<() [3/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
AdminMsgType  v 
)
inlinenoexcept

Definition at line 158 of file types.hpp.

◆ operator<<() [4/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
Anonymity  v 
)
inline

Definition at line 270 of file types.hpp.

◆ operator<<() [5/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
AppID  v 
)
inline

Definition at line 361 of file types.hpp.

◆ operator<<() [6/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
AutoCancel  v 
)
inline

Definition at line 236 of file types.hpp.

◆ operator<<() [7/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
Capacity  v 
)
inline

Definition at line 225 of file types.hpp.

◆ operator<<() [8/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
ClearingAccount  v 
)
inline

Definition at line 212 of file types.hpp.

◆ operator<<() [9/23]

template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
client_to_exchange_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 138 of file processing_rules_impl.hpp.

◆ operator<<() [10/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
ClientMsgType  v 
)
inlinenoexcept

Definition at line 181 of file types.hpp.

◆ operator<<() [11/23]

template<class SrcMsgDetails , class DestMsgDetails , class SktT >
std::ostream & isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
exchange_to_client_transformations< SrcMsgDetails, DestMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 302 of file processing_rules_impl.hpp.

◆ operator<<() [12/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
ExecType  v 
)
inline

Definition at line 420 of file types.hpp.

◆ operator<<() [13/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
MESQualifier  v 
)
inline

Definition at line 372 of file types.hpp.

◆ operator<<() [14/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderSource  v 
)
inline

Definition at line 386 of file types.hpp.

◆ operator<<() [15/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderStatus  v 
)
inline

Definition at line 436 of file types.hpp.

◆ operator<<() [16/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderSubType  v 
)
inline

Definition at line 349 of file types.hpp.

◆ operator<<() [17/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
OrderType  v 
)
inline

Definition at line 251 of file types.hpp.

◆ operator<<() [18/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
PassiveOnlyOrder  v 
)
inline

Definition at line 334 of file types.hpp.

◆ operator<<() [19/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
RestatementReason  v 
)
inline

Definition at line 400 of file types.hpp.

◆ operator<<() [20/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
ServerMsgType  v 
)
inlinenoexcept

Definition at line 201 of file types.hpp.

◆ operator<<() [21/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
Side  v 
)
inline

Definition at line 311 of file types.hpp.

◆ operator<<() [22/23]

template<class SrcMsgDetails , class SktT >
std::ostream & isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
simulator_responses< SrcMsgDetails, SktT > const &  ec 
)
inlinenoexcept

Definition at line 593 of file processing_rules_impl.hpp.

◆ operator<<() [23/23]

std::ostream& isimud::exchanges::MIT::common::operator<< ( std::ostream &  os,
TIF  v 
)
inline

Definition at line 292 of file types.hpp.

◆ operator>>() [1/3]

std::istream& isimud::exchanges::MIT::common::operator>> ( std::istream &  os,
OrderType v 
)
inline

Definition at line 257 of file types.hpp.

◆ operator>>() [2/3]

std::istream& isimud::exchanges::MIT::common::operator>> ( std::istream &  os,
Side v 
)
inline

Definition at line 317 of file types.hpp.

◆ operator>>() [3/3]

std::istream& isimud::exchanges::MIT::common::operator>> ( std::istream &  os,
TIF v 
)
inline

Definition at line 298 of file types.hpp.

Variable Documentation

◆ __attribute__

isimud::exchanges::MIT::common::BusinessReject Header isimud::exchanges::MIT::common::__attribute__

◆ implied_decimal_places

constexpr const Price_t isimud::exchanges::MIT::common::implied_decimal_places =100000000
constexpr

The number of implied decimal-places for MIT use.

From Section 7 "Data Types".

Definition at line 136 of file types.hpp.