using YLErp.Abstract; using YLErp.Abstract.DataProviders; using YLErp.Modules.CalculationModule.Abstract; namespace YLErp.Modules.TradeRiskCalcModule.Abstract { public interface ITradeRiskCalcContext : IErrorHandler { /// /// 估值日期 /// DateTime ValueDate { get; } /// /// 上个交易日(场外交易计算用这个) /// DateTime PreValueDate { get; } /// /// 上个结算日(场外交易计算用不到这个) /// DateTime PreSettleDate { get; } /// /// 波动率类型 /// string VolType { get; } /// /// 期权价值计算数据接口 /// IOptionCalcDataProvider OptionCalcDataProvider { get; } /// /// 上个交易日结算价接口 /// IEodPriceProvider YdEodPriceProvider { get; } /// /// 上日交易历史数据接口 /// ITradeHisDataProvider YdTradeHisDataProvider { get; } /// /// 上日持仓数据接口 /// ITradeRiskEodPositionDataProvider YdEodPositionDataProvider { get; } /// /// 获取交易的现金交割 /// IEnumerable GetTrade_Cashes(IEnumerable tradeIds); /// /// 生成当前风险期权计算上下文 /// IOtcTradeValueCalcContext CreateOptionValueCalcContext(double sysRiskFreeRate); /// /// 根据期权价值计算上下文生成对冲损益计算上下文 /// IHedgePnlCalcContext CreateHedgePnlCalcContext(IOtcTradeValueCalcContext optionValueCaclContext); } }