Bugfix/fix calculation of allocation cluster risk x ray rules (#3988)

* Fix calculation of allocation cluster risk X-ray rules

* Update changelog
pull/3981/head
Thomas Kaul 4 days ago committed by GitHub
parent 405ec0d2b2
commit fccac5640d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed an issue with the X-axis scale of the dividend timeline on the analysis page
- Fixed an issue with the X-axis scale of the investment timeline on the analysis page
- Fixed an issue with the X-axis scale of the portfolio evolution chart on the analysis page
- Fixed an issue in the calculation of the static portfolio analysis rule: Allocation Cluster Risk (Developed Markets)
- Fixed an issue in the calculation of the static portfolio analysis rule: Allocation Cluster Risk (Emerging Markets)
## 2.118.0 - 2024-10-23

@ -1169,6 +1169,12 @@ export class PortfolioService {
withSummary: true
});
const marketsTotalInBaseCurrency = getSum(
Object.values(markets).map(({ valueInBaseCurrency }) => {
return new Big(valueInBaseCurrency);
})
).toNumber();
return {
rules: {
accountClusterRisk:
@ -1193,12 +1199,12 @@ export class PortfolioService {
[
new AllocationClusterRiskDevelopedMarkets(
this.exchangeRateDataService,
summary.currentValueInBaseCurrency,
marketsTotalInBaseCurrency,
markets.developedMarkets.valueInBaseCurrency
),
new AllocationClusterRiskEmergingMarkets(
this.exchangeRateDataService,
summary.currentValueInBaseCurrency,
marketsTotalInBaseCurrency,
markets.emergingMarkets.valueInBaseCurrency
)
],
@ -1358,20 +1364,20 @@ export class PortfolioService {
}
}
const marketsTotal =
markets.developedMarkets.valueInBaseCurrency +
markets.emergingMarkets.valueInBaseCurrency +
markets.otherMarkets.valueInBaseCurrency +
markets[UNKNOWN_KEY].valueInBaseCurrency;
const marketsTotalInBaseCurrency = getSum(
Object.values(markets).map(({ valueInBaseCurrency }) => {
return new Big(valueInBaseCurrency);
})
).toNumber();
markets.developedMarkets.valueInPercentage =
markets.developedMarkets.valueInBaseCurrency / marketsTotal;
markets.developedMarkets.valueInBaseCurrency / marketsTotalInBaseCurrency;
markets.emergingMarkets.valueInPercentage =
markets.emergingMarkets.valueInBaseCurrency / marketsTotal;
markets.emergingMarkets.valueInBaseCurrency / marketsTotalInBaseCurrency;
markets.otherMarkets.valueInPercentage =
markets.otherMarkets.valueInBaseCurrency / marketsTotal;
markets.otherMarkets.valueInBaseCurrency / marketsTotalInBaseCurrency;
markets[UNKNOWN_KEY].valueInPercentage =
markets[UNKNOWN_KEY].valueInBaseCurrency / marketsTotal;
markets[UNKNOWN_KEY].valueInBaseCurrency / marketsTotalInBaseCurrency;
const marketsAdvancedTotal =
marketsAdvanced.asiaPacific.valueInBaseCurrency +

Loading…
Cancel
Save