FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::FeeTable Class Reference

#include <fastmm/core/fees.hpp>

Public Member Functions

constexpr FeeTable () noexcept=default
 
void set_default (FeeRates s) noexcept
 Rates of every instrument without an override.
 
void set_instrument (InstrumentId id, FeeRates s) noexcept
 
constexpr bool has_override (InstrumentId id) const noexcept
 
constexpr const FeeRates & default_schedule () const noexcept
 
constexpr const FeeRates & schedule (InstrumentId id) const noexcept
 
constexpr bool is_uniform () const noexcept
 True when every override equals the default, so one line describes the whole run.
 
constexpr std::int64_t maker_cbps () const noexcept
 
constexpr std::int64_t taker_cbps () const noexcept
 
constexpr Notional fee (InstrumentId id, Price px, Qty qty, Liquidity l) const noexcept
 
constexpr Notional fee (Price px, Qty qty, Liquidity l) const noexcept
 The default rates; for callers without an instrument (the sim exchange server).
 
constexpr Notional fee (Notional n, Liquidity l) const noexcept
 

Static Public Member Functions

static FeeTable from_bps (double maker_bps, double taker_bps) noexcept
 Every instrument pays the same rates.
 
static FeeTable uniform (FeeRates s) noexcept
 

Constructor & Destructor Documentation

◆ FeeTable()

constexpr fastmm::FeeTable::FeeTable ( )
constexprdefaultnoexcept

Member Function Documentation

◆ from_bps()

static FeeTable fastmm::FeeTable::from_bps ( double  maker_bps,
double  taker_bps 
)
inlinestaticnoexcept

Every instrument pays the same rates.

◆ uniform()

static FeeTable fastmm::FeeTable::uniform ( FeeRates  s)
inlinestaticnoexcept

◆ set_default()

void fastmm::FeeTable::set_default ( FeeRates  s)
inlinenoexcept

Rates of every instrument without an override.

◆ set_instrument()

void fastmm::FeeTable::set_instrument ( InstrumentId  id,
FeeRates  s 
)
inlinenoexcept

◆ has_override()

constexpr bool fastmm::FeeTable::has_override ( InstrumentId  id) const
inlineconstexprnoexcept

◆ default_schedule()

constexpr const FeeRates & fastmm::FeeTable::default_schedule ( ) const
inlineconstexprnoexcept

◆ schedule()

constexpr const FeeRates & fastmm::FeeTable::schedule ( InstrumentId  id) const
inlineconstexprnoexcept

◆ is_uniform()

constexpr bool fastmm::FeeTable::is_uniform ( ) const
inlineconstexprnoexcept

True when every override equals the default, so one line describes the whole run.

◆ maker_cbps()

constexpr std::int64_t fastmm::FeeTable::maker_cbps ( ) const
inlineconstexprnoexcept

◆ taker_cbps()

constexpr std::int64_t fastmm::FeeTable::taker_cbps ( ) const
inlineconstexprnoexcept

◆ fee() [1/3]

constexpr Notional fastmm::FeeTable::fee ( InstrumentId  id,
Price  px,
Qty  qty,
Liquidity  l 
) const
inlineconstexprnoexcept

◆ fee() [2/3]

constexpr Notional fastmm::FeeTable::fee ( Price  px,
Qty  qty,
Liquidity  l 
) const
inlineconstexprnoexcept

The default rates; for callers without an instrument (the sim exchange server).

◆ fee() [3/3]

constexpr Notional fastmm::FeeTable::fee ( Notional  n,
Liquidity  l 
) const
inlineconstexprnoexcept