|
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
|
FeatureTable: book features and forward mid moves, one row per qualifying market-data event, so a predictor can be judged before anyone writes a strategy around it. More...
#include <cstdint>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | fastmm::research::FeatureRows |
| struct | fastmm::research::HorizonCoverage |
| Per horizon, how many rows got a forward mid and why the rest did not. More... | |
| struct | fastmm::research::FeatureTable |
Namespaces | |
| namespace | fastmm |
| namespace | fastmm::research |
Functions | |
| std::string | fastmm::research::horizon_label (std::int64_t ns) |
| "100ms", "1s", "1m": the shortest exact unit, the spelling MarkoutHorizon::label() uses. | |
Variables | |
| constexpr std::int64_t | fastmm::research::kDefaultHorizonsNs [] |
| Horizons measured by default, in nanoseconds of event time: 100 ms, 1 s, 10 s, 1 minute. | |
FeatureTable: book features and forward mid moves, one row per qualifying market-data event, so a predictor can be judged before anyone writes a strategy around it.
Columns are structure-of-arrays, the convention of include/fastmm/backtest/result.hpp: each column is one contiguous vector, so Python borrows it as a numpy array without a copy. Prices, quantities and spreads are raw 1e-8 fixed point; imbalance is a Ratio in the same scale (1e8 == 1.0).
A forward mid is the venue mid at ts + horizon, read AT that time and never interpolated - the same rule the backtest applies to its fill markouts. A row whose horizon falls after the last event of the data, or lands where the book has no two sides, has no forward mid: the column holds 0 and HorizonCoverage counts it. It is never substituted with the last known mid. This is the discipline of include/fastmm/backtest/markout.hpp (excluded_past_end), applied per row instead of per fill.