pub struct AnalyticalOptimizer {
pub range_widths: Vec<Decimal>,
pub constraints: OptimizationConstraints,
}Expand description
Simple analytical optimizer for quick estimates.
Uses simplified formulas instead of full Monte Carlo simulation.
Fields§
§range_widths: Vec<Decimal>Grid of range widths to evaluate.
constraints: OptimizationConstraintsConstraints.
Implementations§
Source§impl AnalyticalOptimizer
impl AnalyticalOptimizer
Sourcepub fn estimate_fees(
&self,
width: Decimal,
config: &OptimizationConfig,
time_in_range: Decimal,
) -> Decimal
pub fn estimate_fees( &self, width: Decimal, config: &OptimizationConfig, time_in_range: Decimal, ) -> Decimal
Estimates fees for a given range width.
Narrower ranges earn more fees when in range but are in range less often.
Sourcepub fn estimate_il(&self, width: Decimal, volatility: f64) -> Decimal
pub fn estimate_il(&self, width: Decimal, volatility: f64) -> Decimal
Estimates IL for a given range width and volatility.
Narrower ranges have higher IL when price moves out of range.
Sourcepub fn estimate_time_in_range(&self, width: Decimal, volatility: f64) -> Decimal
pub fn estimate_time_in_range(&self, width: Decimal, volatility: f64) -> Decimal
Estimates time in range for a given width and volatility.
Trait Implementations§
Source§impl Clone for AnalyticalOptimizer
impl Clone for AnalyticalOptimizer
Source§fn clone(&self) -> AnalyticalOptimizer
fn clone(&self) -> AnalyticalOptimizer
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 moreSource§impl Debug for AnalyticalOptimizer
impl Debug for AnalyticalOptimizer
Source§impl Default for AnalyticalOptimizer
impl Default for AnalyticalOptimizer
Source§fn default() -> AnalyticalOptimizer
fn default() -> AnalyticalOptimizer
Returns the “default value” for a type. Read more
Source§impl Optimizer for AnalyticalOptimizer
impl Optimizer for AnalyticalOptimizer
Source§fn optimize<O: ObjectiveFunction>(
&self,
config: &OptimizationConfig,
objective: &O,
) -> Vec<CandidateResult>
fn optimize<O: ObjectiveFunction>( &self, config: &OptimizationConfig, objective: &O, ) -> Vec<CandidateResult>
Runs the optimization and returns ranked candidates.
Source§fn best<O: ObjectiveFunction>(
&self,
config: &OptimizationConfig,
objective: &O,
) -> Option<CandidateResult>
fn best<O: ObjectiveFunction>( &self, config: &OptimizationConfig, objective: &O, ) -> Option<CandidateResult>
Returns the best candidate.
Auto Trait Implementations§
impl Freeze for AnalyticalOptimizer
impl RefUnwindSafe for AnalyticalOptimizer
impl Send for AnalyticalOptimizer
impl Sync for AnalyticalOptimizer
impl Unpin for AnalyticalOptimizer
impl UnsafeUnpin for AnalyticalOptimizer
impl UnwindSafe for AnalyticalOptimizer
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