SPB Git

spb/wp40_uqo

Public MIT
1.7 KB · 29 lines markdown
1# C++ API (Phase 1)23```cpp4#include "raid/data/io.hpp"            // read_bars_csv / read_bars_parquet / read_bars_arrow_ipc5#include "raid/data/calendar.hpp"      // MarketCalendar (XNYS)6#include "raid/data/returns.hpp"       // intraday_returns7#include "raid/estimators/realized.hpp"8#include "raid/estimators/ols.hpp"9#include "raid/models/garch.hpp"10#include "raid/backend/backend.hpp"    // resolve(plan), list_devices()1112auto bars = raid::data::read_bars_csv("datasets/fixtures/synthetic_bars_1m.csv");13raid::MarketCalendar cal;14auto& b = bars["SYN1"]; b.normalize();                      // sort, dedupe, session index15auto q = b.validate(cal);                                   // QualityReport (counts, coverage)16auto reg = b.filter_session(cal, raid::SessionPolicy::regular);17auto ir = raid::data::intraday_returns(reg);                // CSR: r + session_offsets18raid::est::RealizedOptions ro; ro.plan.backend = raid::Backend::automatic;19auto m = raid::est::realized_measures(ir, ro);              // rv, bpv, rsv±, rq, jump, tripv; m.stats.backend/precision20raid::est::OlsOptions oo; oo.cov.type = raid::stats::CovType::hac_bartlett; oo.cov.hac_lags = 4;21auto fit = raid::est::ols(X, y, oo);                        // fit.estimate.to_json()22raid::models::GarchFitOptions go; go.model = raid::models::GarchModel::gjr; go.forecast_horizon = 5;23auto g = raid::models::garch_fit(daily_returns, go);        // g.ok() ⇔ converged24```2526Error handling: all failures throw `raid::RaidError` with an `ErrorCode` (invalid_argument, data_quality, numerical,27not_converged, unsupported, io, api, insufficient_samples, memory, cancelled). Optimisers do not throw on28non-convergence; they return `Estimate` with `convergence.converged = false`.29
Files · main
Menu

Theme