pub struct BacktestEngine { /* private fields */ }Expand description
Core vectorized engine (MVP).
Takes a (sorted) long-format DataFrame containing at minimum: timestamp, close, signal (bool/f64; value >0 interpreted as desired exposure in units for variable sizing support added in ug9t).
Generalized from unit-size flips (1hr) to exposure-driven for feature/PA
sizing parity verification. See run_streaming_simulation for Next
Implementations§
Source§impl BacktestEngine
impl BacktestEngine
pub fn new(config: BacktestConfig) -> Self
pub fn with_default_costs() -> Self
Sourcepub fn run(&self, lf: LazyFrame) -> Result<BacktestResult, BacktestError>
pub fn run(&self, lf: LazyFrame) -> Result<BacktestResult, BacktestError>
Run vectorized simulation on a LazyFrame (collected internally for state machine). Input must be sorted ascending by timestamp (then symbol if multi). Returns rich Polars results.
Auto Trait Implementations§
impl Freeze for BacktestEngine
impl RefUnwindSafe for BacktestEngine
impl Send for BacktestEngine
impl Sync for BacktestEngine
impl Unpin for BacktestEngine
impl UnsafeUnpin for BacktestEngine
impl UnwindSafe for BacktestEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.