ExecutionFond#Quantity
This commit is contained in:
parent
4e78439e54
commit
3f5fa0433f
1 changed files with 5 additions and 4 deletions
|
|
@ -229,14 +229,15 @@ public class ExecutionFondComponent {
|
|||
eFond.setInterestAmount(sTrades.getAccruedint());
|
||||
eFond.setExchangeOrderId(sTrades.getOrderNum());
|
||||
if (valuation) {
|
||||
BigDecimal lots = safeBD(sTrades.getQty());// eFond.getLots
|
||||
Listing listing = listingImdg.getFirstObjectBySQL("securityId = %d and market = '%s'".formatted(security.getId(), sTrades.getClassCode()));
|
||||
BigDecimal lotSize = listing != null ? safeBD(listing.getLotSize()) : BigDecimal.ONE;
|
||||
BigDecimal qty = safeBD(eFond.getLots()).multiply(lotSize);
|
||||
eFond.setQuantity(qty);
|
||||
BigDecimal price = safeBD(sTrades.getPrice());// eFond.setPrice
|
||||
BigDecimal settlementAmount = BigDecimal.ZERO;
|
||||
if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) {
|
||||
FixedIncomeSecurity fixedIncome = (FixedIncomeSecurity) security;
|
||||
BigDecimal nominalValue;
|
||||
Listing listing = listingImdg.getFirstObjectBySQL("securityId = %d and market = '%s'".formatted(fixedIncome.getId(), sTrades.getClassCode()));
|
||||
BigDecimal lotSize = listing != null ? safeBD(listing.getLotSize()) : BigDecimal.ONE;
|
||||
ImdgPredicateBuilder pb = fixedIncomeCashFlowImdg.predicateBuilder();
|
||||
ImdgPredicate prdct = pb.and(
|
||||
pb.equals("securityId", fixedIncome.getId()),
|
||||
|
|
@ -250,7 +251,7 @@ public class ExecutionFondComponent {
|
|||
nominalValue = safeBD(fixedIncome.getNominalValue());
|
||||
}
|
||||
{
|
||||
settlementAmount = lotSize.multiply(lots)
|
||||
settlementAmount = eFond.getQuantity()
|
||||
.multiply(nominalValue)
|
||||
.multiply(price)
|
||||
.divide(new BigDecimal(100), RoundingMode.HALF_UP)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue