Files
zszq-trs/YLErpDAL/QdpModule/QdpPricingRequest.cs
T
2024-05-09 14:06:26 +08:00

38 lines
1.4 KiB
C#

using Qdp.Pricing.Base.Implementations;
namespace YLErp.QdpModule
{
/// <summary>
///
/// </summary>
public static class QdpPricingRequest
{
public const PricingRequest PV_ONLY = PricingRequest.Pv;
public const PricingRequest BASIC_PRICING = PricingRequest.Pv | PricingRequest.Delta;
public const PricingRequest PRICE_GREEKS = PricingRequest.Pv | PricingRequest.Delta | PricingRequest.Gamma;
public const PricingRequest BASIC_GREEKS = PricingRequest.Pv | PricingRequest.Delta | PricingRequest.Gamma | PricingRequest.Vega | PricingRequest.Theta | PricingRequest.Rho;
/// <summary>
/// 使用提供的pricingRequest和BASIC_GREEKS生成并集
/// </summary>
public static PricingRequest UnionBaiscGreeks(PricingRequest pricingRequest)
{
if (pricingRequest == BASIC_GREEKS)
{
return pricingRequest;
}
var pricingRequest2 = PricingRequest.None;
var arr = new[] { PricingRequest.Pv, PricingRequest.Delta, PricingRequest.Gamma, PricingRequest.Vega, PricingRequest.Theta, PricingRequest.Rho };
foreach (var a in arr)
{
if (a == (a & pricingRequest))
{
pricingRequest2 |= a;
}
}
return pricingRequest2;
}
}
}