SPB Git

spb/wp40_uqo

Public MIT
1.2 KB · 25 lines cpp
1// Readers: CSV fixtures (always available) and Parquet/Arrow IPC (when RAID_WITH_ARROW).2#pragma once3#include <string>4#include <vector>5#include <map>6#include "raid/data/bar_series.hpp"78namespace raid::data {910/// CSV fixture format (synthetic, committed): header11/// symbol,timestamp_utc,open,high,low,close,volume   (timestamp ISO-8601 UTC, bar open)12std::map<std::string, BarSeries> read_bars_csv(const std::string& path, Interval iv = Interval::m1);13void write_bars_csv(const std::string& path, const BarSeries& bars);1415#ifdef RAID_WITH_ARROW16/// Reads a FinData bars Parquet file (schema v1) into one BarSeries per instrument_id; `symbols` filters (empty = all).17/// Returns also the dataset metadata found in the file footer (findata.schema_version, timestamp_convention).18struct ParquetBars { std::map<std::string, BarSeries> series; std::map<std::string, std::string> metadata; usize rows_read{0}; usize duplicates_dropped{0}; };19ParquetBars read_bars_parquet(const std::string& path, const std::vector<std::string>& symbols = {}, Interval iv = Interval::m1);20/// Reads an Arrow IPC stream file (as returned by GET /market/bars?format=arrow).21ParquetBars read_bars_arrow_ipc(const std::string& path, Interval iv = Interval::m1);22#endif2324}  // namespace raid::data25
Files · main
Menu

Theme