const yahooFinance = require('yahoo-finance2').default; async function getCurrentPrice(ticker) { const quote = await yahooFinance.quote(ticker); return quote.regularMarketPrice; } async function getHistoricalPrices(ticker, range) { const now = new Date(); let days; switch (range) { case 'daily': days = 1; break; case 'weekly': days = 7; break; case 'monthly': days = 30; break; case '3m': days = 90; break; case '6m': days = 180; break; case '1y': days = 365; break; case '3y': days = 365 * 3; break; case '5y': days = 365 * 5; break; default: days = 30; } const from = new Date(now.getTime() - days * 24 * 60 * 60 * 1000); const options = { period1: from, period2: now, interval: '1d' }; const result = await yahooFinance.historical(ticker, options); // Return array of { date, price } return result.map(item => ({ date: item.date, price: item.close })); } module.exports = { getCurrentPrice, getHistoricalPrices, };