从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user