hypercall/rsm/portfolio_margin/
config.rs1pub use hypercall_margin::portfolio::config::{
2 PortfolioMarginConfig, PortfolioMarginContingencyConfig, PortfolioMarginGridConfig,
3 PortfolioMarginScenario, PortfolioMarginSymbolOverride,
4};
5
6use crate::types::Config;
7
8pub fn config_from_legacy(config: &Config) -> PortfolioMarginConfig {
9 PortfolioMarginConfig::from_legacy_config(
10 config.risk_free_rate,
11 config.base_volatility,
12 config.base_skew,
13 config.base_excess_kurtosis,
14 config.delta_threshold,
15 config.strike_match_tolerance,
16 config.expiry_match_tolerance_years,
17 )
18}
19
20pub fn grid_from_legacy(config: &Config) -> PortfolioMarginGridConfig {
21 PortfolioMarginGridConfig {
22 scenarios: PortfolioMarginScenario::finalized_default_grid(),
23 base_volatility: config.base_volatility,
24 base_skew: config.base_skew,
25 base_excess_kurtosis: config.base_excess_kurtosis,
26 delta_threshold: config.delta_threshold,
27 strike_match_tolerance: config.strike_match_tolerance,
28 expiry_match_tolerance_years: config.expiry_match_tolerance_years,
29 }
30}