89 lines
2.4 KiB
C#
89 lines
2.4 KiB
C#
using Qdp.Pricing.Base.Implementations;
|
|
using YLErp.Abstract.DataProviders;
|
|
|
|
namespace YLErp.Modules.CalculationModule
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class CalculateRisksForTradesReq
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public DateTime valueDate { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public IEnumerable<trade> tradeList { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public IPriceProvider priceProvider { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public PricingRequest pricingRequest { get; set; }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public Dictionary<int, double> addVolRateDic { get; set; }
|
|
|
|
public bool isMarginCalc { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否收盘处理
|
|
/// </summary>
|
|
public bool isEodCalc { get; set; }
|
|
|
|
/// <summary>
|
|
/// 波动率类型,默认:交易
|
|
/// </summary>
|
|
public string volType { get; set; } = "交易";
|
|
|
|
public SettlementTypeEnum settlementType { get; set; } = SettlementTypeEnum.ClosePrice;
|
|
|
|
/// <summary>
|
|
/// 用户自定义的交易波动率
|
|
/// </summary>
|
|
public Dictionary<int, double> overrideVolsForTrade { get; set; }
|
|
|
|
/// <summary>
|
|
/// 使用交易波动率(默认false)
|
|
/// </summary>
|
|
public bool isUseTradeVol { get; set; }
|
|
|
|
/// <summary>
|
|
/// 精确时间模式(默认true)
|
|
/// </summary>
|
|
public bool PreciseTimeMode { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 默认true
|
|
/// </summary>
|
|
public bool isAddVolPercent { get; set; } = true;
|
|
|
|
public Enums.CalcScenarioEnum calcScenario { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否使用手动维护的风险值
|
|
/// </summary>
|
|
public bool canUseManual { get; set; } = false;
|
|
|
|
public CalculateRisksForTradesReq Clone(IEnumerable<trade> tradeList, IPriceProvider priceProvider = null)
|
|
{
|
|
var clone = (CalculateRisksForTradesReq)MemberwiseClone();
|
|
clone.tradeList = tradeList;
|
|
if (priceProvider != null)
|
|
{
|
|
clone.priceProvider = priceProvider;
|
|
}
|
|
return clone;
|
|
}
|
|
}
|
|
}
|