Files
zszq-trs/YLErpWeb/Controllers/eod_varController.cs
T
2024-05-09 14:06:26 +08:00

63 lines
1.9 KiB
C#

using YLErp.BLL.Eod;
using YLErp.Modules.DataProviderModule;
using YLErp.Modules.EodModule;
namespace YLErp.Web.Controllers
{
/// <summary>
///
/// </summary>
public class eod_varController : BaseController
{
readonly YLContext db = new YLContext();
readonly UnderlyingDataProvider _umProvider = new UnderlyingDataProvider();
[MyAuthorize("风险控制-VaR计算")]
public ActionResult eod_var()
{
ViewBag.valueDate = EodOperationBase.GetLastSettlementDate(valuedateBLL.ValueDate).ToString("yyyy-MM-dd");
return View();
}
/// <summary>
/// 历史模拟法计算VaR
/// </summary>
public JsonResult calcEodVaR(eod_varReq req)
{
var service = new EodVaRService(CurUser);
if (req.EndValueDate == null || req.EndValueDate.Value == req.ValueDate)
{
service.CalcEodVaR(req);
}
else
{
var dayCount = (req.EndValueDate.Value - req.ValueDate).TotalDays;
for (var i = 0; i <= dayCount; i++)
{
if (!QdpModule.QdpCalendarHelper.IsHoliday(req.ValueDate))
{
service.CalcEodVaR(req);
}
req.ValueDate = req.ValueDate.AddDays(1);
}
}
return JsonSuccess("试算成功");
}
/// <summary>
/// 用简单Delta/Gamma法计算VaR
/// </summary>
public JsonResult calcSimpleDeltaGammaVaR(eod_varReq req)
{
new EodVaRService(CurUser).CalcSimpleDeltaGammaVaR(req);
return JsonSuccess("试算成功");
}
public JsonResult GetEodVaR(eod_varReq req)
{
var results = new EodVaRService(CurUser).GetEodVaR(req);
return Json(results);
}
}
}