using YLErp.Abstract; using YLErp.Abstract.DataProviders; namespace YLErp.Modules.CalculationModule.Abstract { /// /// 持仓风险对冲计算上下文接口 /// public interface IHedgePnlCalcContext { /// /// 估值日 /// DateTime ValueDate { get; } /// /// 计算场景 /// Enums.CalcScenarioEnum CalcScenario { get; } /// /// 波动率类型 /// string VolType { get; } bool IsEodCalc { get; } /// /// 标的数据提供者 /// IUnderlyingDataProvider UnderlyingDataProvider { get; } /// /// 标的价格提供者 /// IPriceProvider UnderlyingPriceProvider { get; } /// /// 标的结算价格提供者 /// IPriceProvider UnderlyingSettlePriceProvider { get; } /// /// 场内期权价格提供者 /// IPriceProvider ExchangeOptionPriceProvider { get; } /// /// 错误处理接口 /// IErrorHandler ErrorHandler { get; } /// /// 对冲交易佣金计算接口 /// IExchangeTradeCommissionCalc CommissionCalc { get; } /// /// 场内期权价格使用选项 /// 注意:在计算类中光子将忽略此项并固定为CalcPv /// ExchangeOptionPriceUseFlag ExchangeOptionPriceUseFlag { get; } /// /// 创建期权计算上下文对象 /// IOtcTradeValueCalcContext CreateOptionCalculateContext(); } /// /// 场内期权价格使用选项 /// public enum ExchangeOptionPriceUseFlag { /// /// 不使用 /// None = 0, /// /// 只设置HedgePnl的ExOptionPrice属性值 /// SetExOptionPrice = 1, /// /// 用来计算PV(此选项涵盖了SetExOptionPrice选项) /// CalcPv = SetExOptionPrice + 1, /// /// 价格试算模式 /// TrialCalclMode = 11 } }