using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using YLErp.Modules.SuperviseReportModule.SAC.Common;
using static YLErp.DBModels.Consts.ConsReport;
namespace YLErp.Modules.SuperviseReportModule.SAC.Model
{
///
/// 场外期权合约估值信息
///
[Table("A1018_ValuationInformation")]
public class ValuationInformationModel : ReportBaseModel
{
///
/// 操作标识
/// 长度:1
/// 必填:是
/// 说明:
///
[XmlIgnore]
[SacDescription("OperationType", "操作标识", "1", true, "")]
public OptFlagsEnum OperationType { get; set; }
///
/// 交易确认书编号(双方约定)
/// 长度:100
/// 必填:是
/// 说明:双方约定
///
[CheckStringMaxLength(MaxLength = 100)]
[DefaultValue("")]
[SacDescription("ConfirmationNo", "交易确认书编号(双方约定)", "100", true, "双方约定;")]
public string ConfirmationNo { get; set; }
///
/// 估值日期
/// 长度:10
/// 必填:是
/// 说明:
///
[CheckStringLength(Length = 10)]
[CheckStringIsDateTimeFormat(FormatString = "yyyy-MM-dd")]
[DefaultValue("")]
[SacDescription("ValuationDate", "估值日期", "10", true, "")]
public string ValuationDate { get; set; }
///
/// 存量名义本金(元)
/// 长度:36,2
/// 必填:是
/// 说明:两位小数;大于等于0的数字
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, MinValue = 0)]
[DefaultValue("")]
[SacDescription("Balance", "存量名义本金(元)", "36,2", true, "大于等于0的数字;")]
public string Balance { get; set; }
///
/// 保证金比例(%)
/// 长度:8,2
/// 必填:否
/// 说明:
///
[CheckStringIntMaxLength(BeforePointMaxLength = 8, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("MarginRatio", "保证金比例(%)", "8,2", false, "")]
public string MarginRatio { get; set; }
///
/// 期权估值
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntLength(BeforePointMaxLength = 36, AfterPointLength = 2)]
[DefaultValue("")]
[SacDescription("OptionValuation", "期权估值", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string OptionValuation { get; set; }
///
/// Delta
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Delta", "Delta", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Delta { get; set; }
///
/// Gamma
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Gamma", "Gamma", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Gamma { get; set; }
///
/// Vega
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Vega", "Vega", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Vega { get; set; }
///
/// Theta
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Theta", "Theta", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Theta { get; set; }
///
/// Rho
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("Rho", "Rho", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string Rho { get; set; }
///
/// RhoQ
/// 长度:36,2
/// 必填:否
/// 说明:
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoQ", "RhoQ", "36,2", false, "")]
public string RhoQ { get; set; }
///
/// DeltaCash
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("DeltaCash", "DeltaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string DeltaCash { get; set; }
///
/// GammaCash
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("GammaCash", "GammaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string GammaCash { get; set; }
///
/// VegaCash
/// 长度:36,2
/// 必填:是
/// 说明:期权生效后,每个交易日更新,直至期权终止
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2)]
[DefaultValue("")]
[SacDescription("VegaCash", "VegaCash", "36,2", true, "期权生效后,每个交易日更新,直至期权终止;")]
public string VegaCash { get; set; }
///
/// ThetaCash
/// 长度:36,2
/// 必填:否
/// 说明:
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("ThetaCash", "ThetaCash", "36,2", false, "")]
public string ThetaCash { get; set; }
///
/// RhoCash
/// 长度:36,2
/// 必填:否
/// 说明:
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoCash", "RhoCash", "36,2", false, "")]
public string RhoCash { get; set; }
///
/// RhoQCash
/// 长度:36,2
/// 必填:否
/// 说明:
///
[CheckStringIntMaxLength(BeforePointMaxLength = 36, AfterPointMaxLength = 2, Required = false)]
[DefaultValue("")]
[SacDescription("RhoQCash", "RhoQCash", "36,2", false, "")]
public string RhoQCash { get; set; }
///
/// 空白1
/// 长度:
/// 必填:否
/// 说明:
///
[XmlIgnore]
[DefaultValue("")]
[SacDescription("Blank1", "空白1", "", false, "")]
public string Blank1 { get; set; }
///
/// 空白2
/// 长度:
/// 必填:否
/// 说明:
///
[XmlIgnore]
[DefaultValue("")]
[SacDescription("Blank2", "空白2", "", false, "")]
public string Blank2 { get; set; }
}
}