pub struct PortfolioGreeksParams {Show 18 fields
pub underlyings: Option<Vec<String>>,
pub venue: Option<Venue>,
pub instrument_id: Option<InstrumentId>,
pub strategy_id: Option<StrategyId>,
pub side: Option<PositionSide>,
pub flat_interest_rate: f64,
pub flat_dividend_yield: Option<f64>,
pub spot_shock: f64,
pub vol_shock: f64,
pub time_to_expiry_shock: f64,
pub use_cached_greeks: bool,
pub cache_greeks: bool,
pub publish_greeks: bool,
pub percent_greeks: bool,
pub index_instrument_id: Option<InstrumentId>,
pub beta_weights: Option<HashMap<InstrumentId, f64>>,
pub greeks_filter: Option<GreeksFilterCallback>,
pub vega_time_weight_base: Option<i32>,
}
Expand description
Builder for portfolio greeks calculation parameters.
Fields§
§underlyings: Option<Vec<String>>
List of underlying symbols to filter by
venue: Option<Venue>
Venue to filter positions by
instrument_id: Option<InstrumentId>
Instrument ID to filter positions by
strategy_id: Option<StrategyId>
Strategy ID to filter positions by
side: Option<PositionSide>
Position side to filter by (default: NoPositionSide)
flat_interest_rate: f64
Flat interest rate (default: 0.0425)
flat_dividend_yield: Option<f64>
Flat dividend yield
spot_shock: f64
Spot price shock (default: 0.0)
vol_shock: f64
Volatility shock (default: 0.0)
time_to_expiry_shock: f64
Time to expiry shock (default: 0.0)
use_cached_greeks: bool
Whether to use cached greeks (default: false)
cache_greeks: bool
Whether to cache greeks (default: false)
publish_greeks: bool
Whether to publish greeks (default: false)
percent_greeks: bool
Whether to compute percent greeks (default: false)
index_instrument_id: Option<InstrumentId>
Index instrument ID for beta weighting
beta_weights: Option<HashMap<InstrumentId, f64>>
Beta weights for portfolio calculations
greeks_filter: Option<GreeksFilterCallback>
Filter function for greeks
vega_time_weight_base: Option<i32>
Base value in days for time-weighting vega
Implementations§
Source§impl PortfolioGreeksParams
impl PortfolioGreeksParams
Sourcepub fn calculate(
&self,
calculator: &GreeksCalculator,
) -> Result<PortfolioGreeks>
pub fn calculate( &self, calculator: &GreeksCalculator, ) -> Result<PortfolioGreeks>
Calculate portfolio greeks using the builder parameters.
§Errors
Returns an error if the portfolio greeks calculation fails.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PortfolioGreeksParams
impl !RefUnwindSafe for PortfolioGreeksParams
impl !Send for PortfolioGreeksParams
impl !Sync for PortfolioGreeksParams
impl Unpin for PortfolioGreeksParams
impl !UnwindSafe for PortfolioGreeksParams
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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 more