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: f64Flat interest rate (default: 0.0425)
flat_dividend_yield: Option<f64>Flat dividend yield
spot_shock: f64Spot price shock (default: 0.0)
vol_shock: f64Volatility shock (default: 0.0)
time_to_expiry_shock: f64Time to expiry shock (default: 0.0)
use_cached_greeks: boolWhether to use cached greeks (default: false)
cache_greeks: boolWhether to cache greeks (default: false)
publish_greeks: boolWhether to publish greeks (default: false)
percent_greeks: boolWhether 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