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

ArraySource: zero-copy structure-of-arrays input, the numpy path of the Python bindings (8.5). More...

#include "fastmm/backtest/data_source.hpp"
#include <cstddef>
#include <cstdint>
#include <span>
#include <string>

Go to the source code of this file.

Classes

struct  fastmm::bt::ArrayColumns
 
class  fastmm::bt::ArraySource
 

Namespaces

namespace  fastmm
 
namespace  fastmm::bt
 

Detailed Description

ArraySource: zero-copy structure-of-arrays input, the numpy path of the Python bindings (8.5).

The caller keeps the columns alive for the lifetime of the source. Column dtypes:

ts int64 event time, ns, non-decreasing type uint8 RowType: 0 snapshot level, 1 delta level, 2 trade, 3 book ticker inst uint32 dense instrument id side int8 0 bid / buy aggressor, 1 ask / sell aggressor price int64 (raw 1e-8 fixed point) or float64 exactly one of the two qty int64 (raw 1e-8 fixed point) or float64 exactly one of the two seq uint64 optional venue update id (empty span == 0 for every row)

The columns are validated once at construction (sizes, enum ranges, ordering, finite doubles); next() allocates nothing.