Files
zszq-trs/Framework/YLErp.Core/Abstract/DataProviders/IUnderlyingDataProvider.cs
T
2024-05-09 14:06:26 +08:00

73 lines
2.1 KiB
C#

using YLErp.DBModels;
namespace YLErp.Abstract.DataProviders
{
/// <summary>
/// 标的数据基础提供接口
/// </summary>
public interface IUnderlyingProvider
{
/// <summary>
/// 根据标的ID获取标的
/// </summary>
underlying_manager GetUnderlying(int underlyingId);
/// <summary>
/// 根据标的代码获取标的
/// </summary>
underlying_manager GetUnderlying(string underlyingCode);
/// <summary>
/// 根据标的代码获取标的
/// </summary>
underlying_manager GetUnderlying(string underlyingCode, out double contractSize);
}
/// <summary>
/// 标的数据及关联数据提供
/// </summary>
public interface IUnderlyingDataProvider : IUnderlyingProvider
{
/// <summary>
/// 获取品种信息
/// </summary>
Variety GetVariety(int varietyId);
/// <summary>
/// 获取品种数据
/// </summary>
/// <param name="underlyingCode">标的代码</param>
Variety GetVariety(string underlyingCode);
/// <summary>
/// 获取品种信息
/// </summary>
Variety GetVariety(string underlyingCode, out double contractSize);
/// <summary>
/// 根据标的代码获取份额和数量的乘积因子(最小为1)
/// </summary>
int GetCountRatio(string underlyingCode);
/// <summary>
/// 尝试获取标的过期日(股票:2099-01-01),如果标的信息不存在返回false
/// </summary>
bool TryGetMaturityDate(string underlyingCode, out DateTime date);
/// <summary>
/// 根据标的代码获取场内期权标的
/// </summary>
ExchangeListOption GetExchange_List_Option(string ContractCode);
/// <summary>
/// 获取相关性
/// </summary>
CorrelationTable GetCorrelation(int underlyingId1, int underlyingId2);
/// <summary>
/// 获取组合标的
/// </summary>
SyntheticUnderlying GetSyntheticUnderlying(string underlyingCode);
}
}