292 lines
8.6 KiB
C#
292 lines
8.6 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
using YLErp.DBModels.Attributes;
|
|
using YLErp.Helpers;
|
|
|
|
namespace YLErp.DBModels
|
|
{
|
|
[DataChange]
|
|
[Table("trade_snowball")]
|
|
public class trade_snowball : TradeExtendBase, IClonable<trade_snowball>, IDataTraceV2, IDataTraceV3
|
|
{
|
|
/// <summary>
|
|
/// 是否初始敲入
|
|
/// </summary>
|
|
[DisplayName("初始敲入")]
|
|
[DataChange]
|
|
public bool IsInitialKnockedIn { get; set; }
|
|
|
|
[DisplayName("敲入敲出状态")]
|
|
public string KnockInOutStatus { get; set; }
|
|
|
|
[NotMapped]
|
|
[DisplayName("敲入敲出状态")]
|
|
public string KnockInOutStatusCn => Helpers.TradeHelper.GetKnockInOutStatusCn(KnockInOutStatus);
|
|
|
|
[DisplayName("敲入敲出日期")]
|
|
public DateTime? KnockInOutDate { get; set; }
|
|
|
|
[DisplayName("敲出障碍价格"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double KOBarrier { set; get; }
|
|
|
|
[DisplayName("敲入障碍价格"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double KIBarrier { set; get; }
|
|
|
|
/// <summary>
|
|
/// 红利票息
|
|
/// </summary>
|
|
[DisplayName("红利票息"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double Coupon { get; set; }
|
|
|
|
[DisplayName("敲出观察日")]
|
|
public string KOObservationDates { get; set; }
|
|
|
|
[DisplayName("票息支付日期")]
|
|
public string KOObservationSettleDates { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最近敲出观察日
|
|
/// </summary>
|
|
[NotMapped]
|
|
public DateTime? LatestKOObservationDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最近敲出障碍价格
|
|
/// </summary>
|
|
[NotMapped]
|
|
public double? LatestKOBarrier { get; set; }
|
|
|
|
[DisplayName("敲入观察日")]
|
|
public string ObservationDates { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最近敲入观察日
|
|
/// </summary>
|
|
[NotMapped]
|
|
public DateTime? LatestObservationDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲出票息率
|
|
/// </summary>
|
|
[DisplayName("票息"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double KORebate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲出支付方式
|
|
/// </summary>
|
|
[DisplayName("敲出支付方式"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public RebateTypeEnum KORebateType { get; set; }
|
|
|
|
//[DisplayName("未敲出转期权"), TradeAuditChangeMsg]
|
|
//public bool UseOptionPayoffAtMaturity { get; set; }
|
|
|
|
/// <summary>
|
|
/// 票息年化时为false,非票息年化时为true
|
|
/// </summary>
|
|
[DisplayName("票息年化"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public bool IsFixedCoupon { get; set; }
|
|
|
|
//[DisplayName("敲出转期权"), TradeAuditChangeMsg]
|
|
//public bool UseOptionPayoffAtKO { get; set; }
|
|
|
|
[DisplayName("敲出期权行权价2"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? SpreadStrikeAtKO { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲出期权行权价1
|
|
/// </summary>
|
|
[DisplayName("敲出期权行权价1"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? SpreadStrikeAtKO1 { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲入期权行权价1
|
|
/// </summary>
|
|
[DisplayName("敲入期权行权价1"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? SpreadStrikeAtMaturity1 { get; set; }
|
|
|
|
/// <summary>
|
|
/// 封顶/封底行权价
|
|
/// </summary>
|
|
[DisplayName("封顶/封底行权价"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? SpreadStrikeAtMaturity { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲出赔付类别
|
|
/// </summary>
|
|
[TradeAuditChangeMsg]
|
|
[DisplayName("敲出赔付类别")]
|
|
[DataChange]
|
|
public KOPayoffTypeEnum KOPayoffType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲入到期支付类别
|
|
/// </summary>
|
|
[TradeAuditChangeMsg]
|
|
[DisplayName("敲入赔付类别")]
|
|
[DataChange]
|
|
public KIPayoffTypeEnum KIPayoffType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 年化期权费率
|
|
/// </summary>
|
|
[DisplayName("年化期权费率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? AnnualizedPremiumRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否为期权年化,默认false
|
|
/// </summary>
|
|
[DisplayName("期权年化")]
|
|
public bool IsAnnualized2 { get; set; }
|
|
|
|
[DisplayName("年化系数")]
|
|
public double? AnnualizeFactor2 { get; set; }
|
|
|
|
/// <summary>
|
|
/// 初始预付金率
|
|
/// </summary>
|
|
public double? InitialAdvance { get; set; }
|
|
/// <summary>
|
|
/// 期间预付金率
|
|
/// </summary>
|
|
public double? PeriodAdvance { get; set; }
|
|
/// <summary>
|
|
/// 前端收益费率
|
|
/// </summary>
|
|
public double? FontEarning { get; set; }
|
|
/// <summary>
|
|
/// 追保线
|
|
/// </summary>
|
|
public double? ConfirmedLine { get; set; }
|
|
/// <summary>
|
|
/// 追保比例下限
|
|
/// </summary>
|
|
public double? ConfirmedFloor { get; set; }
|
|
|
|
/// <summary>
|
|
/// 票息日历规则
|
|
/// Qdp.Pricing.Base.Enums.DayCount
|
|
/// </summary>
|
|
public string CouponDayCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 预付金是否参与定价
|
|
/// </summary>
|
|
public bool PrepaymentUsed { get; set; }
|
|
/// <summary>
|
|
/// 预付金比例
|
|
/// </summary>
|
|
[DisplayName("预付金比例"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? PrepaymentRatio { get; set; }
|
|
/// <summary>
|
|
/// 预付金返息率
|
|
/// </summary>
|
|
[DisplayName("预付金返息率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? PrepaymentInterestRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 预付金折现率
|
|
/// </summary>
|
|
[DisplayName("预付金折现率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? PrepaymentConvertCashRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 终日是否计息
|
|
/// </summary>
|
|
[DisplayName("终日是否计息"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public bool? CouponIncludeEndDate { get; set; }
|
|
/// <summary>
|
|
/// 增强参与率
|
|
/// </summary>
|
|
[DisplayName("增强参与率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? EnhancedParticipationRate { get; set; }
|
|
/// <summary>
|
|
/// 敲入参与率
|
|
/// </summary>
|
|
[DisplayName("敲入参与率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? KIParticipationRate { get; set; }
|
|
/// <summary>
|
|
/// 保本比率
|
|
/// </summary>
|
|
[DisplayName("保本比率"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public double? PrincipalProtectionRate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 敲入观察设置,0:手动,1:每日观察,2:仅到期日观察
|
|
/// </summary>
|
|
[DisplayName("敲入观察设置"), TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public KIObservationType KIObservationType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 不再使用
|
|
/// </summary>
|
|
[NotMapped]
|
|
public double KOBarrierAdjustStep => 0;
|
|
|
|
/// <summary>
|
|
/// 是否首日计息
|
|
/// </summary>
|
|
[TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public bool? CouponIncludeStartDate { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否使用支付日期计息
|
|
/// </summary>
|
|
[TradeAuditChangeMsg]
|
|
[DataChange]
|
|
public bool? CouponUsePaymentDate { get; set; }
|
|
|
|
public trade_snowball Clone()
|
|
{
|
|
return (trade_snowball)MemberwiseClone();
|
|
}
|
|
|
|
public string GetDataTraceKeyId()
|
|
{
|
|
return TradeId.ToString();
|
|
}
|
|
|
|
public string GetDataTraceKeyInfo()
|
|
{
|
|
return "雪球期权";
|
|
}
|
|
|
|
public string GetDataTraceTableName()
|
|
{
|
|
return ConsTrade.TableName;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 敲出赔付类别
|
|
/// </summary>
|
|
public string KOPayoffTypeDesc(string callput)
|
|
{
|
|
return KOPayoffTypeEnumHelper.GetDesc(KOPayoffType, callput);
|
|
}
|
|
}
|
|
|
|
[NotMapped]
|
|
public class trade_snowballDto : trade_snowball
|
|
{
|
|
|
|
}
|
|
}
|