|
|
|
@ -990,15 +990,12 @@ export class PortfolioService { |
|
|
|
|
|
|
|
const { |
|
|
|
activitiesCount, |
|
|
|
averageInvestment, |
|
|
|
averageInvestmentWithCurrencyEffect, |
|
|
|
averagePrice, |
|
|
|
currency, |
|
|
|
dateOfFirstActivity, |
|
|
|
dividendInBaseCurrency, |
|
|
|
dividendYieldPercent: dividendYieldPercentOfSnapshot, |
|
|
|
dividendYieldPercentWithCurrencyEffect: |
|
|
|
dividendYieldPercentWithCurrencyEffectOfSnapshot, |
|
|
|
dividendYieldPercent, |
|
|
|
dividendYieldPercentWithCurrencyEffect, |
|
|
|
feeInBaseCurrency, |
|
|
|
grossPerformance, |
|
|
|
grossPerformancePercentage, |
|
|
|
@ -1014,34 +1011,6 @@ export class PortfolioService { |
|
|
|
tags |
|
|
|
} = holding; |
|
|
|
|
|
|
|
// TODO: Remove the block below with the next release, when each cached
|
|
|
|
// portfolio snapshot contains the dividend yield. Then take
|
|
|
|
// dividendYieldPercent and dividendYieldPercentWithCurrencyEffect
|
|
|
|
// directly from the holding and remove averageInvestment and
|
|
|
|
// averageInvestmentWithCurrencyEffect from the properties above
|
|
|
|
const daysInMarket = differenceInDays( |
|
|
|
new Date(), |
|
|
|
parseDate(dateOfFirstActivity) |
|
|
|
); |
|
|
|
|
|
|
|
const dividendYieldPercent = |
|
|
|
dividendYieldPercentOfSnapshot ?? |
|
|
|
getAnnualizedPerformancePercent({ |
|
|
|
daysInMarket, |
|
|
|
netPerformancePercentage: averageInvestment.eq(0) |
|
|
|
? new Big(0) |
|
|
|
: dividendInBaseCurrency.div(averageInvestment) |
|
|
|
}); |
|
|
|
|
|
|
|
const dividendYieldPercentWithCurrencyEffect = |
|
|
|
dividendYieldPercentWithCurrencyEffectOfSnapshot ?? |
|
|
|
getAnnualizedPerformancePercent({ |
|
|
|
daysInMarket, |
|
|
|
netPerformancePercentage: averageInvestmentWithCurrencyEffect.eq(0) |
|
|
|
? new Big(0) |
|
|
|
: dividendInBaseCurrency.div(averageInvestmentWithCurrencyEffect) |
|
|
|
}); |
|
|
|
|
|
|
|
const activitiesOfHolding = activities.filter((activity) => { |
|
|
|
return ( |
|
|
|
activity.assetProfile.dataSource === dataSource && |
|
|
|
@ -2247,11 +2216,9 @@ export class PortfolioService { |
|
|
|
activityCount: activities.filter(({ type }) => { |
|
|
|
return ['BUY', 'SELL'].includes(type); |
|
|
|
}).length, |
|
|
|
// TODO: Remove the fallback to 0 with the next release, when each
|
|
|
|
// cached portfolio snapshot contains the dividend yield
|
|
|
|
dividendYieldPercent: dividendYieldPercent?.toNumber() ?? 0, |
|
|
|
dividendYieldPercent: dividendYieldPercent.toNumber(), |
|
|
|
dividendYieldPercentWithCurrencyEffect: |
|
|
|
dividendYieldPercentWithCurrencyEffect?.toNumber() ?? 0, |
|
|
|
dividendYieldPercentWithCurrencyEffect.toNumber(), |
|
|
|
emergencyFund: { |
|
|
|
assets: emergencyFundHoldingsValueInBaseCurrency, |
|
|
|
cash: totalEmergencyFund |
|
|
|
|