Files
zszq-trs/YLErpWeb/Views/risk/RiskDailyReport.cshtml
T
2024-05-09 14:06:26 +08:00

749 lines
37 KiB
Plaintext

@using Microsoft.AspNetCore.Html
@using Newtonsoft.Json
@{
var dailySummary = ViewBag.RiskLimitDailySummary;
}
@functions{
public HtmlString FixNumber(double number, int fixNumber = 2)
{
if (double.IsNaN(number)) { number = 0; }
return new HtmlString(number.ToString($"N{fixNumber}"));
}
public HtmlString Fix0Number(double number)
{
return FixNumber(number, 0);
}
public HtmlString GetWarningStyle(double limitValue, double checkValue)
{
if ((limitValue * -1) > checkValue) { return new HtmlString("class='overstep'"); }
if ((limitValue * -0.9) > checkValue) { return new HtmlString("class='danger'"); }
if ((limitValue * -0.8) > checkValue) { return new HtmlString("class='warn'"); }
return new HtmlString("");
}
public HtmlString GetInput(double number, string typeStr, string inputEvent = "")
{
var numberStr = Fix0Number(number);
string str = "<input class='input' type='" + typeStr + "' value='" + numberStr + "' " + inputEvent + "/>";
return new HtmlString(str + "<div style='font-size: 0px;'>" + numberStr + "</div>");
}
}
<link type="text/css" href="~/statics/ace/bootstrap.min.css" />
<script type="text/javascript">
var errorMessage = @Json.Serialize(ViewBag.ErrorMessage);
var optionDeltaCash_Base = @Json.Serialize(ViewBag.optionDeltaCash_Base);
var exchangeDeltaCash_Base = @Json.Serialize(ViewBag.exchangeDeltaCash_Base);
var optionDeltaCash_Auxiliary = @Json.Serialize(ViewBag.optionDeltaCash_Auxiliary);
var exchangeDeltaCash_Auxiliary = @Json.Serialize(ViewBag.exchangeDeltaCash_Auxiliary);
var futureDeltaCash = @Json.Serialize(ViewBag.FutureDeltaCash);
function OptDeltaCash(ecObj) {
debugger;
if ($.isPlainObject(ecObj)) {
$.each(ecObj, function (key, value) {
$("#cashWindow ul").append('<li><span>' + key + '</span><input type="text" value=' + formatNumber(value) + ' /></li>');
});
}
else {
ecObj = {};
var arr = $("#cashWindow ul li");
$.each(arr, function (index,item) {
var key = $(item).find("span").text();
var value = $(item).find("input").val();
ecObj[key] = ToNumber(value);
})
}
return ecObj;
}
function CalcBase() {
CalcDeltaCash(optionDeltaCash_Base,
exchangeDeltaCash_Base,
'#dalteCashSummary_BaseValue',
futureDeltaCash,
'#deltaCashSummary_OptionSummary');
}
function CalcAuxliary() {
CalcDeltaCash(optionDeltaCash_Auxiliary,
exchangeDeltaCash_Auxiliary,
'#daltaCashSummary_Auxiliary',
futureDeltaCash,
'#deltaCashSummary_ExchangeSummary');
}
function CalcDeltaCash(opt,exchange,optSummary,future,totleSummary) {
debugger;
var summary = 0;
var obj = {};
$.each(opt, function (key, value) {
if (!obj[key]) {
obj[key] = 0;
}
obj[key] += value;
});
$.each(exchange, function (key, value) {
if (!obj[key]) {
obj[key] = 0;
}
obj[key] += value;
});
$.each(obj, function (key, value) {
if (value < 0) {
value = 0 - value;
}
summary += value;
});
$(optSummary).text(formatNumber(summary));
$.each(future, function (key, value) {
if (!obj[key]) {
obj[key] = 0;
}
obj[key] += value;
});
summary = 0;
$.each(obj, function (key, value) {
if (value < 0) {
value = 0 - value;
}
summary += value;
});
$(totleSummary).text(formatNumber(summary));
}
function SetLimit() {
main.open("设置", "/risk/SetRiskDailyReportLimit", { area: ['400px', '380px'] });
}
function Output() {
$('#createexcel').attr('download', new moment().format("YYYYMMDD") + "市场风险日报表.xls");
document.getElementById('createexcel').click();
}
$(function () {
setDatePicker("@ViewBag.ValueDate.ToString("yyyy-MM-dd")")
debugger;
if (errorMessage) {
alert(errorMessage);
}
});
function setDatePicker(date) {
main.setTradeDatePicker("", "#DateSettlementDate", "@ViewBag.MaxDate.ToString("yyyy-MM-dd")", function (date) {
refreshData(date);
});
$("#DateSettlementDate").val(date);
}
function refreshData(date) {
$("#ui-datepicker-div").remove();
$.ajaxSettings.async = false;
LoadData("/risk/RiskDailyReport?valueDate=" + date);
$.ajaxSettings.async = true;
setDatePicker(date)
}
function SearchClick(isSearchclick) {
refreshData($("#DateSettlementDate").val());
}
$(function () {
$("table td").each(function (i, n) {
var text = $.trim($(n).text());
var fVal = parseFloat(text);
if (fVal < 0) {
$(n).css("color", "red");
}
});
});
function formatValue(obj) {
var value = $(obj).val();
if (value !== "-") {
value = ToNumber(value);
value = formatNumber(value);
$(obj).val(value);
}
else { value = "-0"; }
$(obj).next().text(value);
}
$(function () {
OptDeltaCash(exchangeDeltaCash_Auxiliary);
$("table td input,cashWindow ul input[type='text']").bind("input", function () {
formatValue(this);
});
$("#cashWindow input[value='确定']").click(function () {
exchangeDeltaCash_Auxiliary = OptDeltaCash();
$('#maskLayer').hide();
var num = 0;
$.each(exchangeDeltaCash_Auxiliary, function (key, value) {
num += value;
});
var obj = $("#deltaCashExchange_Auxiliary input");
obj.val(num);
formatValue(obj);
obj.change();
});
CalcBase();
CalcAuxliary();
});
function Sum(var1, var2) {
var1 = ToNumber(var1);
var2 = ToNumber(var2);
if (!isNumber(var1)) {
var1 = 0;
}
if (!isNumber(var2)) {
var2 = 0;
}
var summary = var1 + var2;
return formatNumber(summary);
}
function Calc(var1, var2, type, num) {
debugger;
var1 = ToNumber(var1);
var2 = ToNumber(var2);
if (!isNumber(var1)) {
var1 = 0;
}
if (!isNumber(var2)) {
var2 = 0;
}
var summary = 0;
switch (type) {
case "+":
summary = var1 + var2;
break;
case "-":
summary = var1 - var2;
break;
case "/":
summary = var1 / var2;
}
return formatNumber(summary,num);
}
function formatNumber(var1,num) {
if (!num) { num = 0;}
var n = parseFloat(var1).toFixed(num);
var re = /(\d)(?=(\d{3})+$)/g;
return n.toString().replace(re, "$1,");
}
function ToNumber(var1) {
var arr = var1.split(",");
var value = arr.join("");
if (value === "-") { value = -0;}
if (value.length === 0) { value = 0; }
return parseFloat(value);
}
function CalcDivide(var1, var2, summary) {
$(summary).text(Calc($(var1).text(), $(var2).text(),"/",2));
}
function CalcSum(var1, var2, summary) {
$(summary).text(Calc($(var1).text(), $(var2).text(),"+"));
}
function CalcSub(var1, var2, summary) {
$(summary).text(Calc($(var1).text(), $(var2).text(),"-"));
}
</script>
<script src="~/Statics/libs/export/excellentexport.js?v=@(HtmlUtil.JsVersion)"></script>
<div>
@Html.SearchDate("SettlementDate", "结算日期:")
@MyControls.SearchBtn()
<a onfocus="this.blur();" style="display:none;" download="code.xls" id="createexcel" onclick="return ExcellentExport.excel(this, 'riskTable', '风险日报表');" class="ipt-todo hide"></a>
@MyControls.Btn("限额设置", "SetLimit()")
@MyControls.Btn("导出", "Output()")
<div class="tipParent">
<div class='tip warn'>超出限额80%</div>
<div class='tip danger'>超出限额90%</div>
<div class='tip overstep'>超出限额100%</div>
</div>
</div>
<div id="riskTable">
@*css放到这里是为了使导出Excel时生效*@
<style type="text/css">
.input {
width: 100% !important;
height: 100% !important;
}
table {
color: black;
border: black solid 2px
}
table td, table td input {
height: 24px;
text-align: center;
}
table td input {
width: 100%;
border-radius: 1px !important;
border: 2px solid rgb(169, 169, 169) !important;
}
table th {
background-color: #e0ebff;
font-weight: bold;
}
.summary {
background-color: #ffe3d9;
}
.difference {
background-color: #fcffce;
}
.separate td {
height: 3px !important;
}
.overstep {
border-bottom: solid 2px red;
border-top: solid 2px red;
}
.danger {
border-bottom: solid 2px orange;
border-top: solid 2px orange;
}
.warn {
border-bottom: solid 2px cornflowerblue;
border-top: solid 2px cornflowerblue;
}
.tipParent {
float: right;
display: inline-flex;
}
.tip {
display: block;
width: 120px;
text-align: center;
border-left: solid 1px black;
border-right: solid 1px black;
margin: 2px;
}
.frist th {
font-size: 0px;
height: 1px;
}
.settingWindow {
width: 236px;
border: 1px solid;
overflow-y: auto;
max-height: 300px;
margin: 20% 30%;
background: white;
position: fixed;
}
.settingWindow li span {
display: inline-block;
width: 20%;
}
.settingWindow li input {
width: 70%;
margin: 5px 0;
text-align: right;
}
.maskLayer {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.4);
z-index: 1;
}
</style>
<table style="width: 100%;border: none;">
<tr class="hidden">
<td colspan="14">
<h2 style="text-align: center;color: black;font-weight: bold;">@(YLErp.PS.Config.Company)投资管理有限公司 市场风险日报表</h2>
</td>
</tr>
<tr>
<td colspan="14">
<div style="text-align:right;font-weight: bold;">结算日期:@ViewBag.ValueDate.ToString("yyyy-MM-dd")</div>
</td>
</tr>
</table>
<table border="1" width="100%">
<colgroup>
<col style="width:60px" />
</colgroup>
<tbody>
@*<tr class="frist">
<th style="width: 60pt">1</th>
<th style="width: 80pt">2</th>
<th style="width: 45pt">3</th>
<th style="width: 70pt">4</th>
<th style="width: 95pt">5</th>
<th style="width: 80pt">6</th>
<th style="width: 75pt">7</th>
<th style="width: 50pt">8</th>
<th style="width: 60pt">9</th>
<th style="width: 95pt">10</th>
<th style="width: 60pt">11</th>
<th style="width: 60pt">12</th>
<th style="width: 60pt">13</th>
<th style="width: 80pt">14</th>
</tr>*@
<tr>
<th rowspan="35" style="padding:20px;">场<br style='mso-data-placement:same-cell;' />外<br style='mso-data-placement:same-cell;' />期<br style='mso-data-placement:same-cell;' />权<br style='mso-data-placement:same-cell;' />业<br style='mso-data-placement:same-cell;' />务</th>
<th rowspan="6">资金概况</th>
<th rowspan="2" colspan="2">期货预付金占用</th>
<th rowspan="2">期货客户权益</th>
<th rowspan="2">期货风险度</th>
<th rowspan="2">商品别</th>
<th rowspan="2" colspan="2">期权持仓名义本金</th>
<th colspan="4">期权持仓市值</th>
<td rowspan="6" style="text-align:left;">
*单元:元<br style='mso-data-placement:same-cell;' />
*币别:人民币
</td>
</tr>
<tr>
@*<th>商品别</th>*@
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
</tr>
<tr>
@*期货预付金占用*@
<td id="HoldingDeposit" rowspan="4" colspan="2">@GetInput(dailySummary.HoldingDeposit, "text", "onchange=\"CalcDivide('#HoldingDeposit', '#Amount', '#Risk');\"")</td>
@*期货客户权益*@
<td id="Amount" rowspan="4">@GetInput(dailySummary.Amount, "text", "onchange=\"CalcDivide('#HoldingDeposit', '#Amount', '#Risk');\"")</td>
@*期货风险度*@
<td id="Risk" rowspan="4">@FixNumber(dailySummary.Risk)</td>
@*商品别*@
<td>场外期权</td>
@*期权期初权利金*@
<td colspan="2" id="stockEqvNotional_option">@Fix0Number(dailySummary.OptionStockEqvNotional)</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Option.BaseValue)</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Option.AuxiliaryValue)</td>
</tr>
<tr>
@*商品别*@
<td>场内期权</td>
<td colspan="2" id="stockEqvNotional_exchange">@GetInput(dailySummary.ExchangeStockEqvNotional, "text", "onchange=\"CalcSum('#stockEqvNotional_option', '#stockEqvNotional_exchange', '#stockEqvNotional_summary');\"")</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Exchange.BaseValue)</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Exchange.AuxiliaryValue)</td>
</tr>
<tr class="summary">
@*商品别*@
<td>期权汇总</td>
<td colspan="2" id="stockEqvNotional_summary">@Fix0Number(dailySummary.StockEqvNotional)</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Summary.BaseValue)</td>
<td colspan="2">@Fix0Number(dailySummary.PositionValue.Summary.AuxiliaryValue)</td>
</tr>
<tr class="difference">
<td colspan="3"></td>
@*持仓市值_光子波动率_美式二叉树*@
<td colspan="2">差异值</td>
@*持仓市值_光证波动率_美式二叉树*@
<td colspan="2">@Fix0Number(dailySummary.PositionValue.DiffValue)</td>
</tr>
<tr class="separate">
<td colspan="13"></td>
</tr>
<tr>
<th rowspan="9">年盈亏概况</th>
<th rowspan="3" colspan="2">商品别</th>
<th rowspan="3">亏损限额</th>
<th colspan="9">年盈亏</th>
</tr>
<tr>
<th rowspan="2">已完结盈亏</th>
<th colspan="4">持仓盈亏</th>
<th colspan="4">总盈亏</th>
</tr>
<tr>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
</tr>
<tr>
<td rowspan="4">期权</td>
<td>场外期权</td>
@*持仓市值_亏损限额*@
<td rowspan="5">@Fix0Number(dailySummary.YearPnl.LimitValue)</td>
@*已完结盈亏*@
<td>@Fix0Number(dailySummary.YearPnl.Option.OptionEndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Position.Option.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Position.Option.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Total.Option.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Total.Option.AuxiliaryValue)</td>
</tr>
<tr>
<td>场内期权</td>
@*已完结盈亏*@
<td>@Fix0Number(dailySummary.YearPnl.Option.ExchangeEndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Position.Exchange.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Position.Exchange.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Total.Exchange.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Total.Exchange.AuxiliaryValue)</td>
</tr>
<tr class="summary">
<td>期权汇总</td>
@*已完结盈亏*@
<td id="YearPnlOption_EndPnl">@Fix0Number(dailySummary.YearPnl.Option.EndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2" id="YearPnlOptionPositionSummary_BaseValue">@Fix0Number(dailySummary.YearPnl.Option.Position.Summary.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2" id="YearPnlOptionPositionSummary_AuxiliaryValue">@Fix0Number(dailySummary.YearPnl.Option.Position.Summary.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率*@
<td colspan="2" id="YearPnlOptionTotalSummary_BaseValue">@Fix0Number(dailySummary.YearPnl.Option.Total.Summary.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率*@
<td colspan="2" id="YearPnlOptionTotalSummary_AuxiliaryValue">@Fix0Number(dailySummary.YearPnl.Option.Total.Summary.AuxiliaryValue)</td>
</tr>
<tr class="difference">
<td></td>
<td></td>
@*年盈亏_持仓盈亏_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*年盈亏_持仓盈亏_采用光证波动率_差异值*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Position.DiffValue)</td>
@*年盈亏_总盈亏_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*年盈亏_总盈亏_采用光证波动率_差异值*@
<td colspan="2">@Fix0Number(dailySummary.YearPnl.Option.Total.DiffValue)</td>
</tr>
<tr>
<td colspan="2">期货避险</td>
@*已完结盈亏*@
<td id="YearPnlFuture_EndPnl">@GetInput(dailySummary.YearPnl.Future.EndPnl, "text", "onchange=\"CalcSum('#YearPnlOption_EndPnl', '#YearPnlFuture_EndPnl', '#YearPnlSummary_EndPnl');\"")</td>
@*年盈亏_持仓盈亏*@
<td colspan="4" id="YearPnlFuture_Pnl">@GetInput(dailySummary.YearPnl.Future.Pnl, "text", "onchange=\"CalcSum('#YearPnlOptionPositionSummary_BaseValue', '#YearPnlFuture_Pnl', '#YearPnlSummaryOption_BaseValue');CalcSum('#YearPnlOptionPositionSummary_AuxiliaryValue', '#YearPnlFuture_Pnl', '#YearPnlSummaryOption_AuxiliaryValue');\"")</td>
@*年盈亏_总盈亏*@
<td colspan="4" id="YearPnlFuture_TotalPnl">@GetInput(dailySummary.YearPnl.Future.TotalPnl, "text", "onchange=\"CalcSum('#YearPnlOptionTotalSummary_BaseValue', '#YearPnlFuture_TotalPnl', '#YearPnlSummaryTotal_BaseValue');CalcSum('#YearPnlOptionTotalSummary_AuxiliaryValue', '#YearPnlFuture_TotalPnl', '#YearPnlSummaryTotal_AuxiliaryValue');\"")</td>
</tr>
<tr class="summary">
<td colspan="3">合计</td>
@*已完结盈亏_汇总*@
<td id="YearPnlSummary_EndPnl" @GetWarningStyle(dailySummary.YearPnl.LimitValue, dailySummary.YearPnl.Summary.EndPnl)>@Fix0Number(dailySummary.YearPnl.Summary.EndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率_汇总*@
<td colspan="2" id="YearPnlSummaryOption_BaseValue" @GetWarningStyle(dailySummary.YearPnl.LimitValue, dailySummary.YearPnl.Summary.Option.BaseValue)>@Fix0Number(dailySummary.YearPnl.Summary.Option.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率_汇总*@
<td colspan="2" id="YearPnlSummaryOption_AuxiliaryValue" @GetWarningStyle(dailySummary.YearPnl.LimitValue, dailySummary.YearPnl.Summary.Option.AuxiliaryValue)>@Fix0Number(dailySummary.YearPnl.Summary.Option.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率_汇总*@
<td colspan="2" id="YearPnlSummaryTotal_BaseValue" @GetWarningStyle(dailySummary.YearPnl.LimitValue, dailySummary.YearPnl.Summary.Total.BaseValue)>@Fix0Number(dailySummary.YearPnl.Summary.Total.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率_汇总*@
<td colspan="2" id="YearPnlSummaryTotal_AuxiliaryValue" @GetWarningStyle(dailySummary.YearPnl.LimitValue, dailySummary.YearPnl.Summary.Total.AuxiliaryValue)>@Fix0Number(dailySummary.YearPnl.Summary.Total.AuxiliaryValue)</td>
</tr>
<tr class="separate">
<td colspan="13"></td>
</tr>
<tr>
<th rowspan="9">日盈亏概况</th>
<th rowspan="3" colspan="2">商品别</th>
<th rowspan="3">亏损限额</th>
<th colspan="9">日盈亏</th>
</tr>
<tr>
<th rowspan="2">已完结盈亏</th>
<th colspan="4">持仓盈亏</th>
<th colspan="4">总盈亏</th>
</tr>
<tr>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
</tr>
<tr>
<td rowspan="4">期权</td>
<td>场外期权</td>
@*持仓市值_亏损限额*@
<td rowspan="5">@Fix0Number(dailySummary.DailyPnl.LimitValue)</td>
@*已完结盈亏*@
<td>@Fix0Number(dailySummary.DailyPnl.Option.OptionEndPnl)</td>
@*日盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Position.Option.BaseValue)</td>
@*日盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Position.Option.AuxiliaryValue)</td>
@*日盈亏_总盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Total.Option.BaseValue)</td>
@*日盈亏_总盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Total.Option.AuxiliaryValue)</td>
</tr>
<tr>
<td>场内期权</td>
@*已完结盈亏*@
<td>@Fix0Number(dailySummary.DailyPnl.Option.ExchangeEndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Position.Exchange.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Position.Exchange.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Total.Exchange.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Total.Exchange.AuxiliaryValue)</td>
</tr>
<tr class="summary">
<td>期权汇总</td>
@*已完结盈亏*@
<td id="DailyPnlOption_EndPnl">@Fix0Number(dailySummary.DailyPnl.Option.EndPnl)</td>
@*年盈亏_持仓盈亏_采用光子波动率*@
<td colspan="2" id="DailyPnlOptionPositionSummary_BaseValue">@Fix0Number(dailySummary.DailyPnl.Option.Position.Summary.BaseValue)</td>
@*年盈亏_持仓盈亏_采用光证波动率*@
<td colspan="2" id="DailyPnlOptionPositionSummary_AuxiliaryValue">@Fix0Number(dailySummary.DailyPnl.Option.Position.Summary.AuxiliaryValue)</td>
@*年盈亏_总盈亏_采用光子波动率*@
<td colspan="2" id="DailyPnlOptionTotalSummary_BaseValue">@Fix0Number(dailySummary.DailyPnl.Option.Total.Summary.BaseValue)</td>
@*年盈亏_总盈亏_采用光证波动率*@
<td colspan="2" id="DailyPnlOptionTotalSummary_AuxiliaryValue">@Fix0Number(dailySummary.DailyPnl.Option.Total.Summary.AuxiliaryValue)</td>
</tr>
<tr class="difference">
<td></td>
<td></td>
@*日盈亏_持仓盈亏_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*日盈亏_持仓盈亏_采用光证波动率_差异值*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Position.DiffValue)</td>
@*日盈亏_总盈亏_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*日盈亏_总盈亏_采用光证波动率_差异值*@
<td colspan="2">@Fix0Number(dailySummary.DailyPnl.Option.Total.DiffValue)</td>
</tr>
<tr>
<td colspan="2">期货避险</td>
@*已完结盈亏*@
<td id="DailyPnlFuture_EndPnl">@GetInput(dailySummary.DailyPnl.Future.EndPnl, "text", "onchange=\"CalcSum('#DailyPnlOption_EndPnl', '#DailyPnlFuture_EndPnl', '#DailyPnlSummary_EndPnl');\"")</td>
@*日盈亏_持仓盈亏*@
<td colspan="4" id="DailyPnlFuture_Pnl">@GetInput(dailySummary.DailyPnl.Future.Pnl, "text", "onchange=\"CalcSum('#DailyPnlOptionPositionSummary_BaseValue', '#DailyPnlFuture_Pnl', '#DailyPnlSummaryOption_BaseValue');CalcSum('#DailyPnlOptionPositionSummary_AuxiliaryValue', '#DailyPnlFuture_Pnl', '#DailyPnlSummaryOption_AuxiliaryValue');\"")</td>
@*日盈亏_总盈亏*@
<td colspan="4" id="DailyPnlFuture_TotalPnl">@GetInput(dailySummary.DailyPnl.Future.TotalPnl, "text", "onchange=\"CalcSum('#DailyPnlOptionTotalSummary_BaseValue', '#DailyPnlFuture_TotalPnl', '#DailyPnlSummaryTotal_BaseValue');CalcSum('#DailyPnlOptionTotalSummary_AuxiliaryValue', '#DailyPnlFuture_TotalPnl', '#DailyPnlSummaryTotal_AuxiliaryValue');\"")</td>
</tr>
<tr class="summary">
<td colspan="3">合计</td>
@*已完结盈亏_汇总*@
<td id="DailyPnlSummary_EndPnl" @GetWarningStyle(dailySummary.DailyPnl.LimitValue, dailySummary.DailyPnl.Summary.EndPnl)>@Fix0Number(dailySummary.DailyPnl.Summary.EndPnl)</td>
@*日盈亏_持仓盈亏_采用光子波动率_汇总*@
<td colspan="2" id="DailyPnlSummaryOption_BaseValue" @GetWarningStyle(dailySummary.DailyPnl.LimitValue, dailySummary.DailyPnl.Summary.Option.BaseValue)>@Fix0Number(dailySummary.DailyPnl.Summary.Option.BaseValue)</td>
@*日盈亏_持仓盈亏_采用光证波动率_汇总*@
<td colspan="2" id="DailyPnlSummaryOption_AuxiliaryValue" @GetWarningStyle(dailySummary.DailyPnl.LimitValue, dailySummary.DailyPnl.Summary.Option.AuxiliaryValue)>@Fix0Number(dailySummary.DailyPnl.Summary.Option.AuxiliaryValue)</td>
@*日盈亏_总盈亏_采用光子波动率_汇总*@
<td colspan="2" id="DailyPnlSummaryTotal_BaseValue" @GetWarningStyle(dailySummary.DailyPnl.LimitValue, dailySummary.DailyPnl.Summary.Total.BaseValue)>
@Fix0Number(dailySummary.DailyPnl.Summary.Total.BaseValue)
</td>
@*日盈亏_总盈亏_采用光证波动率_汇总*@
<td colspan="2" id="DailyPnlSummaryTotal_AuxiliaryValue" @GetWarningStyle(dailySummary.DailyPnl.LimitValue, dailySummary.DailyPnl.Summary.Total.AuxiliaryValue)>@Fix0Number(dailySummary.DailyPnl.Summary.Total.AuxiliaryValue)</td>
</tr>
<tr class="separate">
<td colspan="13"></td>
</tr>
<tr>
<th rowspan="8">风险概况</th>
<th rowspan="2" colspan="2">商品别</th>
<th rowspan="2">Delta限额</th>
<th colspan="4">Delta金额</th>
<th rowspan="2">Gamma限额</th>
<th colspan="4">Gamma金额</th>
</tr>
<tr>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
<th colspan="2">采用光子波动率</th>
<th colspan="2">采用光证波动率</th>
</tr>
<tr>
<td rowspan="4">期权</td>
<td>场外期权</td>
@*Delta金额_Delta限额*@
<td rowspan="6">@Fix0Number(dailySummary.DeltaCashLimit.LimitValue)</td>
@*Delta金额_采用光子波动率*@
<td colspan="2" id="daltaCashOption_Base">@Fix0Number(dailySummary.DeltaCashLimit.Option.Option.BaseValue)</td>
@*Delta金额_采用光证波动率*@
<td colspan="2" id="daltaCashOption_Auxiliary">@Fix0Number(dailySummary.DeltaCashLimit.Option.Option.AuxiliaryValue)</td>
@*Gamma金额_Gamma限额*@
<td rowspan="6">@Fix0Number(dailySummary.GammaCashLimit.LimitValue)</td>
@*Gamma金额_采用光子波动率*@
<td colspan="2" id="gammaCashOption_Base">@Fix0Number(dailySummary.GammaCashLimit.Option.Option.BaseValue)</td>
@*Gamma金额_采用光证波动率*@
<td colspan="2" id="gammaCashOption_Auxiliary">@Fix0Number(dailySummary.GammaCashLimit.Option.Option.AuxiliaryValue)</td>
</tr>
<tr>
<td>场内期权</td>
@*Delta金额_采用光子波动率*@
<td colspan="2" id="deltaCashExchange_BaseValue">@Fix0Number(dailySummary.DeltaCashLimit.Option.Exchange.BaseValue)</td>
@*Delta金额_采用光证波动率*@
<td colspan="2" id="deltaCashExchange_Auxiliary">@GetInput(dailySummary.DeltaCashLimit.Option.Exchange.AuxiliaryValue, "button", "onclick=\"$('#maskLayer').show()\" onchange=\"CalcAuxliary();CalcSub('#deltaCashExchange_BaseValue', '#deltaCashExchange_Auxiliary', '#daltaCashSummary_DiffValue');\"")</td>
@*Gamma金额_采用光子波动率*@
<td colspan="2" id="gammaCashExchange_BaseValue">@GetInput(dailySummary.GammaCashLimit.Option.Exchange.BaseValue, "text", "onchange=\"CalcSum('#gammaCashOption_Base', '#gammaCashExchange_BaseValue', '#gammaCashSummary_BaseValue');CalcSub('#gammaCashSummary_BaseValue', '#gammaCashSummary_Auxiliary', '#gammaCashSummary_DiffValue');CalcSum('#gammaCashSummary_BaseValue', '#gammaCashSummary_FutureValue', '#gammaCashSummary_OptionSummary');\"")</td>
@*Gamma金额_采用光证波动率*@
<td colspan="2" id="gammaCashExchange_Auxiliary">@GetInput(dailySummary.GammaCashLimit.Option.Exchange.AuxiliaryValue, "text", "onchange=\"CalcSum('#gammaCashOption_Auxiliary', '#gammaCashExchange_Auxiliary', '#gammaCashSummary_Auxiliary');CalcSub('#gammaCashSummary_BaseValue', '#gammaCashSummary_Auxiliary', '#gammaCashSummary_DiffValue');CalcSum('#gammaCashSummary_Auxiliary', '#gammaCashSummary_FutureValue', '#gammaCashSummary_ExchangeSummary');\"")</td>
</tr>
<tr class="summary">
<td>期权汇总</td>
@*Delta金额_采用光子波动率*@
<td colspan="2" id="dalteCashSummary_BaseValue">@Fix0Number(dailySummary.DeltaCashLimit.Option.Summary.BaseValue)</td>
@*Delta金额_采用光证波动率*@
<td colspan="2" id="daltaCashSummary_Auxiliary">@Fix0Number(dailySummary.DeltaCashLimit.Option.Summary.AuxiliaryValue)</td>
@*Gamma金额_采用光子波动率*@
<td colspan="2" id="gammaCashSummary_BaseValue">@Fix0Number(dailySummary.GammaCashLimit.Option.Summary.BaseValue)</td>
@*Gamma金额_采用光证波动率*@
<td colspan="2" id="gammaCashSummary_Auxiliary">@Fix0Number(dailySummary.GammaCashLimit.Option.Summary.AuxiliaryValue)</td>
</tr>
<tr class="difference">
<td></td>
@*Delta金额_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*Delta金额_采用光证波动率_差异值*@
<td colspan="2" id="daltaCashSummary_DiffValue">@Fix0Number(dailySummary.DeltaCashLimit.Option.DiffValue)</td>
@*Gamma金额_采用光子波动率_差异值*@
<td colspan="2">差异值</td>
@*Gamma金额_采用光证波动率_差异值*@
<td colspan="2" id="gammaCashSummary_DiffValue">@Fix0Number(dailySummary.GammaCashLimit.Option.DiffValue)</td>
</tr>
<tr>
<td colspan="2">期货避险</td>
<td colspan="4" id="deltaCashSummary_FutureValue">@Fix0Number(dailySummary.DeltaCashLimit.FutureValue)</td>
<td colspan="4" id="gammaCashSummary_FutureValue">@GetInput(dailySummary.GammaCashLimit.FutureValue, "text", "onchange=\"CalcSum('#gammaCashSummary_BaseValue', '#gammaCashSummary_FutureValue', '#gammaCashSummary_OptionSummary');CalcSum('#gammaCashSummary_Auxiliary', '#gammaCashSummary_FutureValue', '#gammaCashSummary_ExchangeSummary');\"")</td>
</tr>
<tr class="summary">
<td colspan="2">合计</td>
<td colspan="2" id="deltaCashSummary_OptionSummary" @GetWarningStyle(dailySummary.DeltaCashLimit.LimitValue, dailySummary.DeltaCashLimit.Summary.BaseValue)>@Fix0Number(dailySummary.DeltaCashLimit.Summary.BaseValue)</td>
<td colspan="2" id="deltaCashSummary_ExchangeSummary" @GetWarningStyle(dailySummary.DeltaCashLimit.LimitValue, dailySummary.DeltaCashLimit.Summary.AuxiliaryValue)>@Fix0Number(dailySummary.DeltaCashLimit.Summary.AuxiliaryValue)</td>
<td colspan="2" id="gammaCashSummary_OptionSummary" @GetWarningStyle(dailySummary.GammaCashLimit.LimitValue, dailySummary.GammaCashLimit.Summary.BaseValue)>@Fix0Number(dailySummary.GammaCashLimit.Summary.BaseValue)</td>
<td colspan="2" id="gammaCashSummary_ExchangeSummary" @GetWarningStyle(dailySummary.GammaCashLimit.LimitValue, dailySummary.GammaCashLimit.Summary.AuxiliaryValue)>@Fix0Number(dailySummary.GammaCashLimit.Summary.AuxiliaryValue)</td>
</tr>
</tbody>
</table>
</div>
<div id="maskLayer" class="maskLayer" style="display: none;">
<div id="cashWindow" class="settingWindow">
<div style="background-color: rgb(243, 243, 243);padding: 0 8px;top: 0;position: sticky;">
<p>DeltaCash设置</p>
</div>
<ul></ul>
<div style="background-color: rgb(243, 243, 243);padding: 4px 8px;bottom: 0;position: sticky;text-align: end;">
<input type="button" value="确定" />
<input type="button" onclick="$('#maskLayer').hide()" value="取消" />
</div>
</div>
</div>