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