PineForge HPO 0.1.0
Native hyperparameter optimization for PineForge strategies
Loading...
Searching...
No Matches
dataset.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <pineforge/pineforge.h>
4
5#include <cstddef>
6#include <filesystem>
7#include <vector>
8
9namespace pineforge {
10namespace hpo {
11
17class Dataset final {
18public:
21 explicit Dataset(std::vector<pf_bar_t> bars);
22
29 static Dataset load_csv(const std::filesystem::path& path);
30
32 const pf_bar_t* data() const noexcept { return bars_.data(); }
34 std::size_t size() const noexcept { return bars_.size(); }
36 bool empty() const noexcept { return bars_.empty(); }
38 const std::vector<pf_bar_t>& bars() const noexcept { return bars_; }
39
40private:
41 std::vector<pf_bar_t> bars_;
42};
43
44} // namespace hpo
45} // namespace pineforge
Immutable in-memory OHLCV input shared by independent trial executions.
Definition dataset.hpp:17
const std::vector< pf_bar_t > & bars() const noexcept
Returns the immutable owning bar container.
Definition dataset.hpp:38
const pf_bar_t * data() const noexcept
Returns a const pointer suitable for PineForge backtest calls.
Definition dataset.hpp:32
std::size_t size() const noexcept
Returns the number of bars.
Definition dataset.hpp:34
bool empty() const noexcept
Returns whether the dataset contains no bars.
Definition dataset.hpp:36
static Dataset load_csv(const std::filesystem::path &path)
Loads timestamp,open,high,low,close,volume columns from a CSV file.
Dataset(std::vector< pf_bar_t > bars)
Takes ownership of validated bars.