国联民生 greeks计算代码完成
This commit is contained in:
@@ -44,11 +44,7 @@ namespace YLErp.Modules.EodModule
|
||||
return;
|
||||
}
|
||||
|
||||
var eodPriceProvier = new EodPriceProvider(valueDate);
|
||||
eodPriceProvier.Initialize(underlyingCodes);
|
||||
underlyingCodes.ForEach(e => {
|
||||
_pDic.Add(e, eodPriceProvier.GetPrice(e, SettlementTypeEnum.ClosePrice));
|
||||
});
|
||||
|
||||
using var db = DbContextFactory.GetYLDbContext();
|
||||
var conn = db.Database.GetDbConnection();
|
||||
var bondsUmCodes = umDatas.Where(p => instrumentBondsTypes.Contains(p.UnderlyingInstrumentType)).Select(p => p.UnderlyingCode).Distinct().ToList();
|
||||
@@ -141,8 +137,13 @@ namespace YLErp.Modules.EodModule
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
underlyingCodes.AddRange(bondsUmCodes);
|
||||
underlyingCodes = underlyingCodes.Distinct().ToList();
|
||||
var eodPriceProvier = new EodPriceProvider(valueDate);
|
||||
eodPriceProvier.Initialize(underlyingCodes);
|
||||
underlyingCodes.ForEach(e => {
|
||||
_pDic.Add(e, eodPriceProvier.GetPrice(e, SettlementTypeEnum.ClosePrice));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -227,7 +228,8 @@ namespace YLErp.Modules.EodModule
|
||||
res.C = _cDic.GetValueOrDefault(underlyingCode, null);
|
||||
res.Ytm = _ytmDic.GetValueOrDefault(underlyingCode, null);
|
||||
}
|
||||
//
|
||||
var logger = LogFactory.GetLogger<GLMSGreeksHandleService>();
|
||||
logger.Info($"希腊字母计算参数 - UnderlyingCode:{underlyingCode}, InstrumentType:{underlyingInstrumentType}, P:{res.P}, D:{res.D}, C:{res.C}, Ytm:{res.Ytm}, CF:{res.CF}");
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -502,6 +502,7 @@ namespace YLErp.Modules.PricingModule
|
||||
}
|
||||
}
|
||||
var greeksHandleService = new GLMSGreeksHandleService();
|
||||
|
||||
foreach (var item in tdList)
|
||||
{
|
||||
var td = item.tdConv;
|
||||
@@ -530,7 +531,7 @@ namespace YLErp.Modules.PricingModule
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
greeksHandleService.InitData(item.ValueDate ?? td.TradeDate ?? DateTime.Today, new List<string> { td.UnderlyingCode });
|
||||
greeksHandleService.Handle(td, calcResult, underlying);
|
||||
|
||||
results.Add(new CalcOptionPriceResult
|
||||
|
||||
Reference in New Issue
Block a user