FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
quote_diag.hpp File Reference

Why a side of an instrument is or is not quoting (ctx.note_quote, the status file's quote table): what the strategy last asked for on the side against the orders working there, the first thing the engine finds in the way, and the strategy's own reason and budget for the side. More...

#include "fastmm/core/enums.hpp"
#include <cstddef>
#include <cstdint>
#include <string_view>

Go to the source code of this file.

Classes

struct  fastmm::QuoteNote
 What the strategy says about a side (ctx.note_quote): a short reason ("inventory_cap", "model_off", "cooldown"; empty: none) and the budget it gave the side, in the settlement currency (raw 1e-8; 0: none given). More...
 
struct  fastmm::LiveQuoteSide
 One side of an instrument as the engine publishes it (EngineLiveStats::quotes). More...
 
struct  fastmm::LiveQuoteInstrument
 
struct  fastmm::LiveMetric
 A number the strategy publishes by name (ctx.metric): a budget split, a model state. More...
 

Namespaces

namespace  fastmm
 

Enumerations

enum class  fastmm::QuoteBlock : std::uint8_t {
  fastmm::Quoting = 0 , fastmm::NotWanted = 1 , fastmm::QuotingOff = 2 , fastmm::Pulled = 3 ,
  fastmm::VenueKilled = 4 , fastmm::FeedLag = 5 , fastmm::Backoff = 6 , fastmm::Starved = 7 ,
  fastmm::Refused = 8 , fastmm::Pending = 9
}
 The first obstacle between what the strategy asked for on a side and orders working there. More...
 

Functions

constexpr std::string_view fastmm::to_string (QuoteBlock b) noexcept
 

Variables

constexpr std::size_t fastmm::kQuoteNoteLen = 24
 QuoteNote::reason, NUL-terminated.
 
constexpr std::size_t fastmm::kMaxStrategyMetrics = 32
 
constexpr std::size_t fastmm::kStrategyMetricNameLen = 24
 
constexpr std::size_t fastmm::kQuoteDiagAccounts = 8
 a pool's accounts (EngineConfig::pools)
 

Detailed Description

Why a side of an instrument is or is not quoting (ctx.note_quote, the status file's quote table): what the strategy last asked for on the side against the orders working there, the first thing the engine finds in the way, and the strategy's own reason and budget for the side.

The engine knows its own obstacles (quoting off, a pull, a kill, the feed-lag gate, a reject backoff, a wait for an order token, a refusal); why a model chose not to quote, or quoted less than its budget, only the strategy can say.