|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
Instrument: the single definition of a tradable contract (5.3 / 5.15). More...
#include "fastmm/core/config_macros.hpp"#include "fastmm/core/containers/flat_map.hpp"#include "fastmm/core/containers/static_vector.hpp"#include "fastmm/core/enums.hpp"#include "fastmm/core/fixed_point.hpp"#include "fastmm/core/fixed_string.hpp"#include "fastmm/core/result.hpp"#include "fastmm/core/strong_id.hpp"#include <cstddef>#include <cstdint>#include <string_view>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | fastmm::Instrument |
| struct | fastmm::SettlementMix |
| Instruments do not all settle in the same currency: an inverse contract settles in its base coin, a linear one in its quote currency. More... | |
| class | fastmm::InstrumentTable |
| Dense-by-id table built at startup; symbol lookup is a sorted FlatMap keyed by (venue, symbol). More... | |
| struct | fastmm::InstrumentTable::Key |
Namespaces | |
| namespace | fastmm |
Typedefs | |
| using | fastmm::Symbol = FixedString< 20 > |
Enumerations | |
| enum class | fastmm::InstrumentError : std::uint8_t { fastmm::TableFull , fastmm::DuplicateSymbol , fastmm::InvalidTick , fastmm::InvalidLot , fastmm::EmptySymbol } |
Variables | |
| constexpr std::size_t | fastmm::kMaxInstruments = 256 |
Instrument: the single definition of a tradable contract (5.3 / 5.15).
128 bytes: the first cache line holds everything the hot path reads (tick, lot, limits, multiplier), the second holds cold reference data (symbol, expiry, strike).
All asset-class differences live here (contract_multiplier, option fields) so strategies never branch on asset class; they call inst.notional()/pnl_per_tick().