486 lines
14 KiB
C#
486 lines
14 KiB
C#
using YLErp.Helpers;
|
|
using YLErp.Model;
|
|
|
|
namespace YLErp.Modules.ReportModule
|
|
{
|
|
public class FundReportModel
|
|
{
|
|
/// <summary>
|
|
/// 上日资金
|
|
/// </summary>
|
|
public double? LastDayRemainFund { get; set; }
|
|
|
|
public string LastDayRemainFundString
|
|
{
|
|
get
|
|
{
|
|
return ((LastDayRemainFund == null || LastDayRemainFund == -0) ? 0 : LastDayRemainFund.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 初始保证金金额
|
|
/// </summary>
|
|
public double? MySideMargin { get; set; }
|
|
|
|
public string MySideMarginString
|
|
{
|
|
get
|
|
{
|
|
return ((MySideMargin == null || MySideMargin == -0) ? 0 : MySideMargin.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 预付金余额
|
|
/// </summary>
|
|
public double? MarginBalance { get; set; }
|
|
|
|
public string MarginBalanceString
|
|
{
|
|
get
|
|
{
|
|
return ((MarginBalance == null || MarginBalance == -0) ? 0 : MarginBalance.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 维持保证金金额
|
|
/// </summary>
|
|
public double? MaintenanceMargin { get; set; }
|
|
|
|
public string MaintenanceMarginString
|
|
{
|
|
get
|
|
{
|
|
return ((MaintenanceMargin == null || MaintenanceMargin == -0) ? 0 : MaintenanceMargin.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 初保账户
|
|
/// </summary>
|
|
public double? NetFundAll { get; set; }
|
|
|
|
public string NetFundAllString
|
|
{
|
|
get
|
|
{
|
|
return ((NetFundAll == null || NetFundAll == -0) ? 0 : NetFundAll.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 盯市金额
|
|
/// </summary>
|
|
public double? SwapMarketAmount { get; set; }
|
|
|
|
public string SwapMarketAmountString
|
|
{
|
|
get
|
|
{
|
|
return ((SwapMarketAmount == null || SwapMarketAmount == -0) ? 0 : SwapMarketAmount.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 追保账户
|
|
/// </summary>
|
|
public double? VmFundSum { get; set; }
|
|
|
|
public string VmFundSumString
|
|
{
|
|
get
|
|
{
|
|
return ((VmFundSum == null || VmFundSum == -0) ? 0 : VmFundSum.Value).ToString("0.00");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 上日资金(包含抵押金额)
|
|
/// </summary>
|
|
public double? LastDayRemainFundWithProduct { get; set; }
|
|
|
|
public string LastDayRemainFundWithProductString
|
|
{
|
|
get
|
|
{
|
|
return ((LastDayRemainFundWithProduct == null || LastDayRemainFundWithProduct == -0) ? 0 : LastDayRemainFundWithProduct.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 当日资金净出入
|
|
/// </summary>
|
|
public double? CashInCashOutChange { get; set; }
|
|
|
|
public string CashInCashOutChangeString
|
|
{
|
|
get
|
|
{
|
|
return ((CashInCashOutChange == null || CashInCashOutChange == -0) ? 0 : CashInCashOutChange.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 入金
|
|
/// </summary>
|
|
public double? CashInChange { get; set; }
|
|
|
|
/// <summary>
|
|
/// 出金
|
|
/// </summary>
|
|
public double? CashOutChange { get; set; }
|
|
|
|
/// <summary>
|
|
/// 其他收支
|
|
/// </summary>
|
|
public double? CashInCashOutOther { get; set; }
|
|
|
|
public string CashInCashOutOtherString
|
|
{
|
|
get
|
|
{
|
|
return ((CashInCashOutOther == null || CashInCashOutOther == -0) ? 0 : CashInCashOutOther.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 抵押品变化
|
|
/// </summary>
|
|
public double? CashInCashOutProductChange { get; set; }
|
|
|
|
public string CashInCashOutProductChangeString
|
|
{
|
|
get
|
|
{
|
|
return ((CashInCashOutProductChange == null || CashInCashOutProductChange == -0) ? 0 : CashInCashOutProductChange.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 期权费收支
|
|
/// </summary>
|
|
public double? OptionPremium { get; set; }
|
|
|
|
public string OptionPremiumString
|
|
{
|
|
get
|
|
{
|
|
return ((OptionPremium == null || OptionPremium == -0) ? 0 : OptionPremium.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 期权费收支
|
|
/// </summary>
|
|
public double? OptionPremiumSwap { get; set; }
|
|
|
|
public string OptionPremiumSwapString
|
|
{
|
|
get
|
|
{
|
|
return ((OptionPremiumSwap == null || OptionPremiumSwap == -0) ? 0 : OptionPremiumSwap.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 结算收支(平仓行权)
|
|
/// </summary>
|
|
public double? SettlementBalance { get; set; }
|
|
|
|
public string SettlementBalanceString
|
|
{
|
|
get
|
|
{
|
|
return ((SettlementBalance == null || SettlementBalance == -0) ? 0 : SettlementBalance.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
public double? OptionPremiumAndUnwindBalance
|
|
{
|
|
get
|
|
{
|
|
return OptionPremium + OptionPremiumSwap + UnwindBalance;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 平仓收支
|
|
/// </summary>
|
|
public double? UnwindBalance { get; set; }
|
|
|
|
/// <summary>
|
|
/// 行权收支
|
|
/// </summary>
|
|
public double? ExerciseBalance { get; set; }
|
|
|
|
/// <summary>
|
|
/// 互换收支
|
|
/// </summary>
|
|
public double? SwapBalance { get; set; }
|
|
|
|
public string SwapBalanceString
|
|
{
|
|
get
|
|
{
|
|
return ((SwapBalance == null || SwapBalance == -0) ? 0 : SwapBalance.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 票息
|
|
/// </summary>
|
|
public double? Coupon { get; set; }
|
|
|
|
public string CouponString
|
|
{
|
|
get
|
|
{
|
|
return ((Coupon == null || Coupon == -0) ? 0 : Coupon.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 账户资金
|
|
/// </summary>
|
|
public double? TodayRemianFund { get; set; }
|
|
|
|
public string TodayRemianFundString
|
|
{
|
|
get
|
|
{
|
|
return ((TodayRemianFund == null || TodayRemianFund == -0) ? 0 : TodayRemianFund.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
public double EndDesirableFund { get; set; }
|
|
/// <summary>
|
|
/// 账户资金(包含抵押品价值)
|
|
/// </summary>
|
|
public double? TodayRemianFundProduct { get; set; }
|
|
|
|
public string TodayRemianFundProductString
|
|
{
|
|
get
|
|
{
|
|
return ((TodayRemianFundProduct == null || TodayRemianFundProduct == -0) ? 0 : TodayRemianFundProduct.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 抵押品总价值
|
|
/// </summary>
|
|
public double? GuaranteesTotalAmount { get; set; }
|
|
|
|
public string GuaranteesTotalAmountString
|
|
{
|
|
get
|
|
{
|
|
return ((GuaranteesTotalAmount == null || GuaranteesTotalAmount == -0) ? 0 : GuaranteesTotalAmount.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 应付预付金
|
|
/// </summary>
|
|
public double? WorstCastClientPayable { get; set; }
|
|
|
|
public string WorstCastClientPayableString
|
|
{
|
|
get
|
|
{
|
|
return ((WorstCastClientPayable == null || WorstCastClientPayable == -0) ? 0 : WorstCastClientPayable.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 今日可用资金
|
|
/// </summary>
|
|
public double? AvailableFund { get; set; }
|
|
|
|
public string AvailableFundString
|
|
{
|
|
get
|
|
{
|
|
return StringHelper.ToFixedPrecise(AvailableFund ?? 0, 2);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 申万特有
|
|
/// 预付金总额=乙方权益-max(期权市值,0)-期权空头浮动盈亏
|
|
/// </summary>
|
|
public double? TotalMargin { get; set; }
|
|
|
|
/// <summary>
|
|
/// 授信额度
|
|
/// </summary>
|
|
public double? Credit { get; set; }
|
|
|
|
public string CreditString
|
|
{
|
|
get
|
|
{
|
|
return ((Credit == null || Credit == -0) ? 0 : Credit.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 授信占用
|
|
/// </summary>
|
|
public double? CreditOccupy { get; set; }
|
|
|
|
public string CreditOccupyString
|
|
{
|
|
get
|
|
{
|
|
return ((CreditOccupy == null || CreditOccupy == -0) ? 0 : CreditOccupy.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 授信占用
|
|
/// </summary>
|
|
public double? CreditRatio { get; set; }
|
|
|
|
public string CreditRatioString
|
|
{
|
|
get
|
|
{
|
|
return (((CreditRatio == null || CreditRatio == -0) ? 0 : CreditRatio.Value) * 100).ToString("0.00") + "%";
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 追保金额
|
|
/// </summary>
|
|
public double? Margin { get; set; }
|
|
|
|
public string MarginString
|
|
{
|
|
get
|
|
{
|
|
return ((Margin == null || Margin == -0) ? 0 : Margin.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 持仓盈亏
|
|
/// </summary>
|
|
public decimal? TotalPnl { get; set; }
|
|
|
|
public string TotalPnlString
|
|
{
|
|
get
|
|
{
|
|
return ((TotalPnl == null || TotalPnl == -0) ? 0 : TotalPnl.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 客户权益(现金+持仓市值)
|
|
/// </summary>
|
|
public double? Amount { get; set; }
|
|
|
|
public string AmountString
|
|
{
|
|
get
|
|
{
|
|
return ((Amount == null || Amount == -0) ? 0 : Amount.Value).ToString("0.00");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 持仓期权费净额
|
|
/// </summary>
|
|
public double? PositionPremiumNetCash { get; set; }
|
|
|
|
public string PositionPremiumNetCashString => ((PositionPremiumNetCash == null || PositionPremiumNetCash == -0) ? 0 : PositionPremiumNetCash.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 权利金冻结:当日该客户所有持仓的卖出期权权利金
|
|
/// </summary>
|
|
public double? SellTradePrice { get; set; }
|
|
|
|
/// <summary>
|
|
/// 期初持仓交易净额
|
|
/// </summary>
|
|
public double? LastDayPositionPremiumNetCash { get; set; }
|
|
|
|
public string LastDayPositionPremiumNetCashString => ((LastDayPositionPremiumNetCash == null || LastDayPositionPremiumNetCash == -0) ? 0 : LastDayPositionPremiumNetCash.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 实现盈亏
|
|
/// </summary>
|
|
public double? WinLoss { get; set; }
|
|
|
|
public string WinLossString => ((WinLoss == null || WinLoss == -0) ? 0 : WinLoss.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 已了结交易缺口
|
|
/// </summary>
|
|
public double? ClosedTradeFundGap { get; set; }
|
|
|
|
public string ClosedTradeFundGapString => ((ClosedTradeFundGap == null || ClosedTradeFundGap == -0) ? 0 : ClosedTradeFundGap.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 待付已了结交易款
|
|
/// </summary>
|
|
public double? ClosedTradePayableFund { get; set; }
|
|
|
|
public string ClosedTradePayableFundString => ((ClosedTradePayableFund == null || ClosedTradePayableFund == -0) ? 0 : ClosedTradePayableFund.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 待付未了结交易款
|
|
/// </summary>
|
|
public double? PositionTradePayableFund { get; set; }
|
|
|
|
public string PositionTradePayableFundString => ((PositionTradePayableFund == null || PositionTradePayableFund == -0) ? 0 : PositionTradePayableFund.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 可取资金
|
|
/// </summary>
|
|
public double? DesirableFund { get; set; }
|
|
|
|
public string DesirableFundString => StringHelper.ToFixedPrecise(DesirableFund ?? 0, 2);
|
|
/// <summary>
|
|
/// 应付资金总额
|
|
/// </summary>
|
|
public double? PayableFund { get; set; }
|
|
|
|
public string PayableFundString => ((PayableFund == null || PayableFund == -0) ? 0 : PayableFund.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 持仓市值
|
|
/// </summary>
|
|
public double? PositionPv { get; set; }
|
|
|
|
public string PositionPvString => ((PositionPv == null || PositionPv == -0) ? 0 : PositionPv.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 预付金部分
|
|
/// </summary>
|
|
public double? PrepaymentAmount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 浮动盈亏
|
|
/// </summary>
|
|
public double? PositionPnl { get; set; }
|
|
|
|
public string PositionPnlString => ((PositionPnl == null || PositionPnl == -0) ? 0 : PositionPnl.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 总盈亏
|
|
/// </summary>
|
|
public double? TotalNetSettlement { get; set; }
|
|
|
|
public string TotalNetSettlementString => ((TotalNetSettlement == null || TotalNetSettlement == -0) ? 0 : TotalNetSettlement.Value).ToString("0.00");
|
|
|
|
/// <summary>
|
|
/// 空头浮动盈亏
|
|
/// </summary>
|
|
public double? ClientSellPositionPnl { get; set; }
|
|
|
|
/// <summary>
|
|
/// 冻结权利金
|
|
/// </summary>
|
|
public double? FreezePremium { get; set; }
|
|
|
|
public ExcelDeclareModel ExcelDeclareModel { get; set; }
|
|
|
|
}
|
|
} |