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