Files
zszq-trs/UnitTestProject/Modules/TradeModule/TradeSnowballBLLTest.cs
2024-05-09 14:06:26 +08:00

38 lines
1.2 KiB
C#

using Qdp.Pricing.Library.Options.Products.Autocall.Snowball;
using YLErp.Modules.CalculationModule;
namespace YLErp.Modules.TradeModule
{
[TestClass]
public class TradeSnowballBLLTest : UnitTestBase
{
[TestMethod]
public void Test1()
{
var db = DbContextFactory.GetYLDbContext();
var tradeObj = db.trade.AsNoTracking().FirstOrDefault(n => n.TradeNumber == "CW20180051OP220701049X");
if (tradeObj == null)
{
throw new ServiceException("没有找到交易数据");
}
BLL.tradeBLL.SetFieldsByTradeType(tradeObj);
var optionTrade = QdpTradeBuilder.GetSnowballOptionTrade(tradeObj, tradeObj.trade_snowball
, new OptionTradeParamRequest(BLL.valuedateBLL.SysRiskFreeRate())
{
});
var snowball = (SimpleSnowball)optionTrade.Instrument;
var CouponPayment = snowball.CouponPayment(tradeObj.ExerciseDate.Value,
includeStartDate: tradeObj.trade_snowball.CouponIncludeStartDate == true && tradeObj.trade_snowball.CouponDayCount != "Monthly");
Assert.AreEqual(CouponPayment, 1.1, 0.1);
}
}
}