Interactive Q&A

Expert-answered questions covering architecture, indicators, strategy design, and the project roadmap.

Frequently Asked Questions

Why build StratForge in C++23 instead of using Python?
Python backtesting frameworks are convenient but slow and non-deterministic. For research over millions of bars and parameter sweeps, C++23 delivers orders-of-magnitude faster iteration with bit-exact reproducibility.
Who is StratForge for?
Quantitative researchers, systematic traders, and engineers who need fast, reproducible backtests at scale. Particularly useful for parameter sweeps, walk-forward analysis, and large indicator libraries.
How does StratForge stay zero-allocation on the hot path?
Indicator state, bar buffers, and trade journals are pre-allocated. Strategy step functions take std::span views rather than copies. std::pmr::monotonic_buffer_resource provides arena allocation for any per-pass scratch.
What C++23 features does StratForge use?
std::expected for error paths, std::span for zero-copy views, concepts for strategy/indicator interfaces, consteval for compile-time parameter specialization, and [[likely]] / [[unlikely]] hints in hot loops.
How many indicators are included?
138+ indicators across trend, momentum, volatility, volume, and statistical categories. All header-only and composable.
Is StratForge production-ready?
StratForge is in active development. The architecture is stable; v1.0 will be released with full benchmarks, documentation, and a regression suite.
Can I plug in my own indicators?
Yes. Indicators are concept-constrained types — any class satisfying the Indicator concept slots into the engine without modification.
How does StratForge compare to backtrader / vectorbt?
backtrader and vectorbt are great Python tools. StratForge targets the same problem space but in compiled C++23 with deterministic numerics and pre-allocated state for HFT-grade performance.