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