Files
zszq-trs/YLErpDAL/Modules/CalculationModule/Models/CalculateRisksForTradesReq.cs
T
2024-05-09 14:06:26 +08:00

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