From 0d4636aa0ceb997497036736fc997c5b9953da64 Mon Sep 17 00:00:00 2001 From: m11tch Date: Mon, 26 Sep 2022 11:39:56 +0200 Subject: [PATCH] gather sectordata for mutal funds from YahooFinanc --- .../yahoo-finance/yahoo-finance.service.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts index 2a7e93ed6..a5ade41cf 100644 --- a/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts +++ b/apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts @@ -90,7 +90,7 @@ export class YahooFinanceService implements DataProviderInterface { try { const symbol = this.convertToYahooFinanceSymbol(aSymbol); const assetProfile = await yahooFinance.quoteSummary(symbol, { - modules: ['price', 'summaryProfile'] + modules: ['price', 'summaryProfile', 'topHoldings'] }); const { assetClass, assetSubClass } = this.parseAssetClass( @@ -132,6 +132,19 @@ export class YahooFinanceService implements DataProviderInterface { } } + if (assetSubClass == 'MUTUALFUND') { + response.sectors = []; + for (const [id, value] of Object.entries( + assetProfile.topHoldings?.sectorWeightings + )) { + for (const [name, weight] of Object.entries(value)) + response.sectors.push({ + name: name, + weight: weight + }); + } + } + const url = assetProfile.summaryProfile?.website; if (url) { response.url = url;