using YLErp.BLL.MarginCalculation; using YLErp.Modules.DataProviderModule; namespace YLErp.Modules.CalcModules { [TestClass] public class SwapCalcTest { [TestMethod] public void TestCalc1() { //var db = DbContextFactory.GetYLDbContext(); //var td = db.trade.AsNoTracking().FirstOrDefault(n => n.TradeNumber == "SHBX-BX-21051203"); //var tdswap = db.trade_swap.FirstOrDefault(n => n.TradeId == td.id); //var priceProvidr = new ManualPriceProvider(); //priceProvidr.SetPrice("AG00", 5262); //var optionValue = PayoffSwapCalcService.CalcValue(td, tdswap, new DateTime(2021, 5, 12), priceProvidr, true); //Console.WriteLine(optionValue.Pv); //priceProvidr = new ManualPriceProvider(); //priceProvidr.SetPrice("AG00", 5661.36); //optionValue = PayoffSwapCalcService.CalcValue(td, tdswap, new DateTime(2021, 5, 12), priceProvidr, true); //Console.WriteLine(optionValue.Pv); var db = DbContextFactory.GetYLDbContext(); var td = db.trade.AsNoTracking().FirstOrDefault(n => n.TradeNumber == "CW20180051C3248"); var date = new DateTime(2022, 5, 30); var priceProvider = new EodPriceProvider(date); var req = new RunMarginCalculationReq(OptUserInfo.SystemUser) { tradeList = new System.Collections.Generic.List { td }, settleDate = date, PriceProvider = priceProvider.GetPriceProvider(), CalcMarginType = Enums.CalcMarginTypeEnum.EodMargin, volType = "持仓" }; GuoTouMarginCalculation.TradeMargin(req, td); } } }