Browse Source

Fix market price carry forward on dates with activities

pull/7702/head
Thomas Kaul 7 days ago
parent
commit
cf803a2331
  1. 36
      apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts

36
apps/api/src/app/portfolio/calculator/roai/portfolio-calculator.ts

@ -391,30 +391,26 @@ export class RoaiPortfolioCalculator extends PortfolioCalculator {
break;
}
const unitPrice = marketSymbolMap[dateString]?.[symbol] ?? lastUnitPrice;
if (ordersByDate[dateString]?.length > 0) {
for (const order of ordersByDate[dateString]) {
order.unitPriceFromMarketData =
marketSymbolMap[dateString]?.[symbol] ?? lastUnitPrice;
}
} else {
const unitPrice =
marketSymbolMap[dateString]?.[symbol] ?? lastUnitPrice;
if (dateString >= dateStringOfFirstActivity) {
orders.push({
assetProfile,
unitPrice,
date: dateString,
fee: new Big(0),
feeInBaseCurrency: new Big(0),
quantity: new Big(0),
type: 'BUY',
unitPriceFromMarketData: unitPrice
});
order.unitPriceFromMarketData = unitPrice;
}
lastUnitPrice = unitPrice;
} else if (dateString >= dateStringOfFirstActivity) {
orders.push({
assetProfile,
unitPrice,
date: dateString,
fee: new Big(0),
feeInBaseCurrency: new Big(0),
quantity: new Big(0),
type: 'BUY',
unitPriceFromMarketData: unitPrice
});
}
lastUnitPrice = unitPrice;
}
// Sort orders so that the start and end placeholder order are at the correct

Loading…
Cancel
Save