using Qdp.Pricing.Base.Implementations; using YLErp.Abstract; using YLErp.Commons; using YLErp.Enums; using YLErp.QdpModule; namespace YLErp.Modules.CalculationModule.Abstract { /// /// 场外交易估值计算上下文接口 /// public interface IOtcTradeValueCalcContext : IDisposable { /// /// 计算场景枚举 /// CalcScenarioEnum CalcScenario { get; } /// /// 用户组 /// string UserGroup { get; set; } /// /// 估值日期 /// DateTime ValueDate { get; } /// /// 波动率类型 /// string VolType { get; } bool IsEodCalc { get; } /// /// 系统全局无风险利率 /// double SysRiskFreeRate { get; } /// /// 是否精确时间模式 /// bool IsPreciseTimeMode { get; } /// /// 增加波动率比率 /// double AddingVolRate { get; } /// /// QDP市场代理 /// MarketProxy MarketProxy { get; } /// /// 数据提供者(接口实现中不能为null) /// IOptionCalcDataProvider DataProvider { get; } /// /// 错误处理接口 /// IErrorHandler ErrorHandler { get; } /// /// 是否计算T+1日Delta /// bool CalcDeltaT1 { get; } /// /// 追踪 /// TraceWrap Trace { get; } //---------------------------------------- //方法 //---------------------------------------- /// /// 根据交易品种ID获取此交易品种是否存在夜盘 /// bool HasNightMarket(int varietyId); /// /// 获取标的关联性 /// double GetCorrelation(int underlyingId1, int underlyingId2); /// /// 为计算准备波动率 /// bool PrepareVolatility(string qdpTradeId, OtcTradeBase trade, double spotPrice, out string[] volsurfaceNames); /// /// 获取交易的无风险利率 /// double GetRiskFreeRate(OtcTradeBase trade); /// /// 获取交易的分红率 /// double GetDividendRate(OtcTradeBase trade); /// /// 获取期权计算模式 /// PricingRequest GetPricingRequest(OtcTradeBase trade); /// /// 为亚式期权交易获取fixing数据 /// string GetFixingString(OtcTradeBase trade, trade_asian_option asianOption, double spotPrice); } }