Files
zszq-trs/Framework/YLErp.Core/DBModels/EodSwap.cs
T
张名锐 358993bedb feat(swaptrade): 添加期末头寸风险表新字段支持
- 在EodSwap实体模型中新增标的类型、期间付息/分红、保证金利息收支字段
- 在前端表格列模型中添加标的类型、期间付息/分红列定义
- 在前端表格分组配置中将新字段归入对应分组显示
- 实现后端服务中对新字段的数据查询和计算逻辑
- 添加保证金利息收入支出的分类汇总功能
- 完善标的类型字段的数据源获取和展示逻辑
2026-07-09 15:11:58 +08:00

187 lines
5.4 KiB
C#

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 YLErp.Helpers;
namespace YLErp.DBModels
{
/// <summary>
/// 框架合约估值表
/// </summary>
[Table("eod_swap")]
public class eod_swap: DBModelBaseV2
{
/// <summary>
/// 交易日
/// </summary>
[DisplayName("交易日")]
[DataChange]
public DateTime ValueDate { get; set; }
/// <summary>
/// 簿记账户
/// </summary>
[DisplayName("簿记账户")]
[DataChange]
public int BookId { get; set; }
/// <summary>
/// 对手方编码
/// </summary>
[DisplayName("对手方编码")]
[DataChange]
public int ClientId { get; set; }
/// <summary>
/// 互换交易编码id
/// </summary>
[DisplayName("互换交易编码id")]
[DataChange]
public int SwapTradeId { get; set; }
/// <summary>
/// 互换交易编码
/// </summary>
[DisplayName("互换交易编码")]
[DataChange]
public string SwapTradeNo { get; set; }
/// <summary>
/// 产品类型
/// </summary>
[DisplayName("产品类型")]
[DataChange]
public string StructureType { get; set; }
/// <summary>
/// 合约名义本金
/// </summary>
[DisplayName("合约名义本金")]
[DataChange]
public decimal NotionalValue { get; set; }
/// <summary>
/// 合约多头名义本金
/// </summary>
[DisplayName("合约多头名义本金")]
[DataChange]
public decimal NotionalValueLong { get; set; }
/// <summary>
/// 合约空头名义本金
/// </summary>
[DisplayName("合约空头名义本金")]
[DataChange]
public decimal NotionalValueShort { get; set; }
/// <summary>
/// 合约多头标的市值
/// </summary>
[DisplayName("合约多头标的市值")]
[DataChange]
public decimal MarketValueLong { get; set; }
/// <summary>
/// 合约空头标的市值
/// </summary>
[DisplayName("合约空头标的市值")]
[DataChange]
public decimal MarketValueShort { get; set; }
/// <summary>
/// 合约浮动端待实现收益
/// </summary>
[DisplayName("合约浮动端待实现收益")]
[DataChange]
public decimal FloatingPnL { get; set; }
/// <summary>
/// 合约利率端待实现收益
/// </summary>
[DisplayName("合约利率端待实现收益")]
[DataChange]
public decimal InterestPnL { get; set; }
/// <summary>
/// 合约持仓价值
/// </summary>
[DisplayName("合约持仓价值")]
[DataChange]
public decimal PostionValue { get; set; }
/// <summary>
/// 合约当日实现收益
/// </summary>
[DisplayName("合约当日实现收益")]
[DataChange]
public decimal TdRealizedPnL { get; set; }
/// <summary>
/// 合约已实现收益
/// </summary>
[DisplayName("合约已实现收益")]
[DataChange]
public decimal RealizedPnL { get; set; }
/// <summary>
/// 收取对手方初始预付金
/// </summary>
[DisplayName("收取对手方初始预付金")]
[DataChange]
public decimal InitMarginGain { get; set; }
/// <summary>
/// 收取对手方维持预付金
/// </summary>
[DisplayName("收取对手方维持预付金")]
[DataChange]
public decimal PostionMarginGain { get; set; }
/// <summary>
/// 支付初始预付金
/// </summary>
[DisplayName("支付初始预付金")]
[DataChange]
public decimal InitMarginLoss { get; set; }
/// <summary>
/// 支付维持预付金
/// </summary>
[DisplayName("支付维持预付金")]
[DataChange]
public decimal PostionMarginLoss { get; set; }
/// <summary>
/// 当日平仓数量汇总
/// </summary>
[DisplayName("当日平仓数量汇总")]
[DataChange]
public decimal TdCloseQty { get; set; }
/// <summary>
/// 基点价值DV01
/// </summary>
[DataChange]
public decimal? dv01 { get; set; }
/// <summary>
/// 平仓起始日期
/// </summary>
[NotMapped]
public DateTime CloseStartDate { get; set; }
}
/// <summary>
/// 框架合约返回
/// </summary>
public class EodSwapResponse
{
public eod_swap position { get; set; }
public DateTime TradeDate { get; set; }
public string SwapTradeNo { get; set; }
public string ClientName { get; set; }
public string StructureType { get; set; }
public string AssetBookName { get; set; }
public int ClientId { get; set; }
public string SwapTradeTypeStr { get; set; }
public string UnderlyingType { get; set; }
public decimal PeriodAmount { get; set; }
public decimal MarginInterestGain { get; set; }
public decimal MarginInterestLoss { get; set; }
}
}