From 13f863ef302d8060491729394baa5492913d2f01 Mon Sep 17 00:00:00 2001 From: Celes Renata Date: Wed, 29 Apr 2026 23:01:11 +0000 Subject: [PATCH] feat: fetch 15-minute bars instead of hourly for intraday prices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed intraday_bars default from 1-hour bars to 15-minute bars. This gives ~26 price points per trading day per ticker (6.5h market × 4 bars/hour) instead of ~7 hourly bars. Limit raised to 100 to accommodate the higher bar count. --- services/adapters/market_adapter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/adapters/market_adapter.py b/services/adapters/market_adapter.py index dce07bf..433bcb9 100644 --- a/services/adapters/market_adapter.py +++ b/services/adapters/market_adapter.py @@ -135,11 +135,11 @@ class PolygonMarketAdapter(MarketDataAdapter): if config.get("limit"): params["limit"] = str(config["limit"]) elif endpoint_key == "intraday_bars": - # Intraday: fetch hourly bars for today + # Intraday: fetch 15-minute bars for today from datetime import date as date_cls today = date_cls.today().isoformat() - multiplier = str(config.get("multiplier", 1)) - timespan = config.get("timespan", "hour") + multiplier = str(config.get("multiplier", 15)) + timespan = config.get("timespan", "minute") path = self.INTRADAY_BARS.format( ticker=ticker, multiplier=multiplier, @@ -149,7 +149,7 @@ class PolygonMarketAdapter(MarketDataAdapter): ) params["adjusted"] = str(config.get("adjusted", True)).lower() params["sort"] = "asc" - params["limit"] = str(config.get("limit", 50)) + params["limit"] = str(config.get("limit", 100)) elif endpoint_key == "grouped_daily": # Grouped daily: returns bars for ALL tickers for a given date target_date = config.get("date", "")