Larry Sinclair 1 day ago
committed by GitHub
parent
commit
93e7431633
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 14
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts

14
apps/api/src/app/portfolio/calculator/portfolio-calculator.ts

@ -910,10 +910,16 @@ export abstract class PortfolioCalculator {
type, type,
unitPrice unitPrice
} of this.activities) { } of this.activities) {
const factor = getFactor(type);
// Only create transaction point symbols for investment activities
let currentTransactionPointItem: TransactionPointSymbol; let currentTransactionPointItem: TransactionPointSymbol;
const oldAccumulatedSymbol = symbols[SymbolProfile.symbol]; const shouldCreateSymbol = ['BUY', 'SELL', 'DIVIDEND'].includes(
type as string
);
const factor = getFactor(type); if (shouldCreateSymbol) {
const oldAccumulatedSymbol = symbols[SymbolProfile.symbol];
if (oldAccumulatedSymbol) { if (oldAccumulatedSymbol) {
let investment = oldAccumulatedSymbol.investment; let investment = oldAccumulatedSymbol.investment;
@ -969,6 +975,7 @@ export abstract class PortfolioCalculator {
); );
symbols[SymbolProfile.symbol] = currentTransactionPointItem; symbols[SymbolProfile.symbol] = currentTransactionPointItem;
}
const items = lastTransactionPoint?.items ?? []; const items = lastTransactionPoint?.items ?? [];
@ -976,7 +983,10 @@ export abstract class PortfolioCalculator {
return symbol !== SymbolProfile.symbol; return symbol !== SymbolProfile.symbol;
}); });
// Only add the symbol if it was created (i.e., for investment activities)
if (shouldCreateSymbol && currentTransactionPointItem) {
newItems.push(currentTransactionPointItem); newItems.push(currentTransactionPointItem);
}
newItems.sort((a, b) => { newItems.sort((a, b) => {
return a.symbol?.localeCompare(b.symbol); return a.symbol?.localeCompare(b.symbol);

Loading…
Cancel
Save