gadicc / node-yahoo-finance2

Unofficial API for Yahoo Finance
https://www.npmjs.com/package/yahoo-finance2
MIT License
374 stars 62 forks source link

Bulk quoteSummary to support multiple symbols #727

Open matthewmuscat opened 9 months ago

matthewmuscat commented 9 months ago

Feature Request

Wanted Feature

A way to quote (.quoteSummary) multiple symbols in bulk. I know.quoteCombineexists but it doesn't provide what.quoteSummary` provides.

Use Cases

Potential Example Usage

This feature could be used in the following way:

Before:

    const updatedAnnouncements: Announcement[] = await Promise.all(
      announcements.map(async (ann: Announcement) => {
          const result = await yahooFinance.quoteSummary(`${ann.symbol}.AX`, {
            modules: ["price", "summaryDetail", "summaryProfile", "financialData"],
          })
          return {
            ...ann,
            name: result.price?.longName,
            price: result.financialData?.currentPrice,
            volume: result.summaryDetail?.averageVolume,
            marketCap: result.summaryDetail?.marketCap,
            sector: result.summaryProfile?.sector,
          }
        }
      })
    )

After:

const result = await yahooFinance.quoteBulkSummary(announcements.map(a => a.symbol)], {
   modules: ["price", "summaryDetail", "summaryProfile", "financialData"],
})

// or

const result = await yahooFinance.quoteSummaryCombine(`${symbol}`)