pub enum SlippageModel {
Zero,
FixedBps(f64),
}Expand description
Slippage policy for the backtest engine.
Pluggable: future variants can include book-walk slippage (which needs an order-book replay, not just candles) or per-symbol overrides.
§Example
use rustrade_backtest::SlippageModel;
use rustrade_core::Side;
// 5 bps adverse slippage applied symmetrically.
let m = SlippageModel::FixedBps(5.0);
let buy = m.apply(Side::Buy, 100.0);
let sell = m.apply(Side::Sell, 100.0);
assert!((buy - 100.05).abs() < 1e-9);
assert!((sell - 99.95).abs() < 1e-9);Variants§
Zero
No slippage — fills land exactly at the reference price.
FixedBps(f64)
Fixed slippage in basis points applied symmetrically against the
trade side. 5.0 bps = 0.05% adverse slippage.
Implementations§
Trait Implementations§
Source§impl Clone for SlippageModel
impl Clone for SlippageModel
Source§fn clone(&self) -> SlippageModel
fn clone(&self) -> SlippageModel
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SlippageModel
Source§impl Debug for SlippageModel
impl Debug for SlippageModel
Source§impl Default for SlippageModel
impl Default for SlippageModel
Source§fn default() -> SlippageModel
fn default() -> SlippageModel
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SlippageModel
impl<'de> Deserialize<'de> for SlippageModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SlippageModel
impl PartialEq for SlippageModel
Source§fn eq(&self, other: &SlippageModel) -> bool
fn eq(&self, other: &SlippageModel) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for SlippageModel
impl Serialize for SlippageModel
impl StructuralPartialEq for SlippageModel
Auto Trait Implementations§
impl Freeze for SlippageModel
impl RefUnwindSafe for SlippageModel
impl Send for SlippageModel
impl Sync for SlippageModel
impl Unpin for SlippageModel
impl UnsafeUnpin for SlippageModel
impl UnwindSafe for SlippageModel
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