using YLErp.Abstract.DataProviders; using YLErp.DBModels.Consts; using YLErp.Modules.CalculationModule; using YLErp.Modules.CalculationModule.Abstract; namespace YLErp.Modules.TradeRiskCalcModule.TaskRunner { /// /// 持仓风险对冲计算上下文 /// class TradeRiskHedgePnlCalcContext : HedgePnlCalcContext { readonly IOtcTradeValueCalcContext _optionCalContext; public TradeRiskHedgePnlCalcContext(IOtcTradeValueCalcContext optionCalcContext, IExchangeTradeCommissionCalc tradeCommissionCalc, IPriceProvider exchangeOptionPriceProvider) : base(optionCalcContext, tradeCommissionCalc, exchangeOptionPriceProvider) { _optionCalContext = optionCalcContext; } /// /// 创建期权计算上下文对象 /// public override IOtcTradeValueCalcContext CreateOptionCalculateContext() { return new OptionValueCalcContext(VolType, IsEodCalc, ValueDate , _optionCalContext.SysRiskFreeRate , _optionCalContext.DataProvider) { AddingVolRate = 0, ErrorHandler = ErrorHandler, CalcDeltaT1 = TradeRiskHelper.IsCalcDeltaT1(), CalcScenario = CalcScenario, UserGroup = ConsUserGroup.DefaultGroup }; } } }