pub struct PortfolioGreeksParams {Show 21 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 update_vol: 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>,
pub vol_index_instrument_id: Option<InstrumentId>,
pub vol_beta_weights: Option<HashMap<InstrumentId, f64>>,
}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)
update_vol: boolWhether to update vol from 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
vol_index_instrument_id: Option<InstrumentId>Volatility index instrument ID for vega beta weighting, for example VIX.
vol_beta_weights: Option<HashMap<InstrumentId, f64>>Volatility beta weights for portfolio vega calculations
Implementations§
Source§impl PortfolioGreeksParams
impl PortfolioGreeksParams
Sourcepub fn builder() -> PortfolioGreeksParamsBuilder
pub fn builder() -> PortfolioGreeksParamsBuilder
Create an instance of PortfolioGreeksParams using the builder syntax
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.