namespace YLErp.BLL.Calculation.V2.Parameter { public class BaseOptionParameter : ParameterBase { public string VolSurfaceName { get; set; } //如果Volatility有值,则优先使用Volatility,忽略VolSurfaceName public double? Volatility { get; set; } public double? DividendRate { get; set; } } public class VanillaOptionParameter : BaseOptionParameter { public bool IsForwardTrade { get; set; } } public class BarrierOptionParameter : VanillaOptionParameter { } public class BinaryOptionParameter : VanillaOptionParameter { public string BinaryReplicationStrategy { get; set; } public double? ReplicationShiftSize { get; set; } } public class AsianOptionParameter : BaseOptionParameter { public string Fixings { get; set; } } public class AsianSyntheticNormalSpreadOptionParameter : AsianOptionParameter { } public class RainbowOptionParameter : BaseOptionParameter { public double Strike2 { get; set; } public string VolSurfaceName2 { get; set; } public double? Volatility2 { get; set; } public double? Correlation { get; set; } } public class SpreadOptionParameter : BaseOptionParameter { public double[] Correlations { get; set; } public string[] VolSurfaceNames { get; set; } public double[] Volatilities { get; set; } } public class SyntheticNormalSpreadOptionParameter : VanillaOptionParameter { } public class DoubleSharkFinOptionParameter : BarrierOptionParameter { } public class AutocallParameter : VanillaOptionParameter { } public class SnowballParameter : VanillaOptionParameter { } public class RangeAccrualParameter : AsianOptionParameter { } public class AirbagParameter : VanillaOptionParameter { } public class UnderlyingEnhanceParameter : VanillaOptionParameter { } public class AccumulatorOptionParameter : VanillaOptionParameter { } public class CashFlowTradeParameter : VanillaOptionParameter { } public class UserDefinedOptionParameter : VanillaOptionParameter { public bool UseDraftCode { get; set; } } }