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;
}
}
}