38 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|