From bb45cbf9f69a2303a38b69b9959ab9052fbb57cb Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:46:11 -0800 Subject: [PATCH] [BugFix] Clean Out Files From Already Deprecated Endpoint (#6953) * clean out files from already deprecated endpoint * decorator goes on the other side --- .../standard_models/index_constituents.py | 9 +- .../standard_models/market_indices.py | 61 ---- .../providers/cboe/openbb_cboe/__init__.py | 1 - .../providers/fmp/openbb_fmp/__init__.py | 1 - .../fmp/openbb_fmp/models/market_indices.py | 114 -------- ...fmp_market_indices_fetcher_urllib3_v1.yaml | 57 ---- ...fmp_market_indices_fetcher_urllib3_v2.yaml | 57 ---- .../providers/fmp/tests/test_fmp_fetchers.py | 15 - .../intrinio/openbb_intrinio/__init__.py | 1 - .../openbb_intrinio/models/market_indices.py | 91 ------ ...nio_market_indices_fetcher_urllib3_v1.yaml | 52 ---- ...nio_market_indices_fetcher_urllib3_v2.yaml | 52 ---- .../intrinio/tests/test_intrinio_fetchers.py | 16 -- .../polygon/openbb_polygon/__init__.py | 1 - .../openbb_polygon/models/market_indices.py | 118 -------- ...gon_market_indices_fetcher_urllib3_v1.yaml | 79 ------ ...gon_market_indices_fetcher_urllib3_v2.yaml | 79 ------ .../polygon/tests/test_polygon_fetchers.py | 17 -- .../yfinance/openbb_yfinance/__init__.py | 1 - .../openbb_yfinance/models/market_indices.py | 141 ---------- ...nce_market_indices_fetcher_urllib3_v1.yaml | 265 ------------------ ...nce_market_indices_fetcher_urllib3_v2.yaml | 57 ---- .../yfinance/tests/test_yfinance_fetchers.py | 17 -- 23 files changed, 7 insertions(+), 1295 deletions(-) delete mode 100644 openbb_platform/core/openbb_core/provider/standard_models/market_indices.py delete mode 100644 openbb_platform/providers/fmp/openbb_fmp/models/market_indices.py delete mode 100644 openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v1.yaml delete mode 100644 openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v2.yaml delete mode 100644 openbb_platform/providers/intrinio/openbb_intrinio/models/market_indices.py delete mode 100644 openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v1.yaml delete mode 100644 openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v2.yaml delete mode 100644 openbb_platform/providers/polygon/openbb_polygon/models/market_indices.py delete mode 100644 openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v1.yaml delete mode 100644 openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v2.yaml delete mode 100644 openbb_platform/providers/yfinance/openbb_yfinance/models/market_indices.py delete mode 100644 openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v1.yaml delete mode 100644 openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v2.yaml diff --git a/openbb_platform/core/openbb_core/provider/standard_models/index_constituents.py b/openbb_platform/core/openbb_core/provider/standard_models/index_constituents.py index e1a5791e73e..21c60c19912 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/index_constituents.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/index_constituents.py @@ -2,14 +2,13 @@ from typing import Optional -from pydantic import Field - from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams from openbb_core.provider.utils.descriptions import ( DATA_DESCRIPTIONS, QUERY_DESCRIPTIONS, ) +from pydantic import Field, field_validator class IndexConstituentsQueryParams(QueryParams): @@ -17,6 +16,12 @@ class IndexConstituentsQueryParams(QueryParams): symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) + @classmethod + @field_validator("symbol") + def _to_upper(cls, v): + """Convert the symbol to uppercase.""" + return v.upper() + class IndexConstituentsData(Data): """Index Constituents Data.""" diff --git a/openbb_platform/core/openbb_core/provider/standard_models/market_indices.py b/openbb_platform/core/openbb_core/provider/standard_models/market_indices.py deleted file mode 100644 index db84545ccae..00000000000 --- a/openbb_platform/core/openbb_core/provider/standard_models/market_indices.py +++ /dev/null @@ -1,61 +0,0 @@ -"""Market Indices Standard Model.""" - -from datetime import ( - date as dateType, - datetime, -) -from typing import Optional - -from dateutil import parser -from pydantic import Field, StrictFloat, field_validator - -from openbb_core.provider.abstract.data import Data, ForceInt -from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) - - -class MarketIndicesQueryParams(QueryParams): - """Market Indices Query.""" - - symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - start_date: Optional[dateType] = Field( - description=QUERY_DESCRIPTIONS.get("start_date", ""), default=None - ) - end_date: Optional[dateType] = Field( - description=QUERY_DESCRIPTIONS.get("end_date", ""), default=None - ) - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def to_upper(cls, v: str) -> str: - """Convert field to uppercase.""" - return v.upper() - - -class MarketIndicesData(Data): - """Market Indices Data.""" - - date: datetime = Field(description=DATA_DESCRIPTIONS.get("date", "")) - open: Optional[StrictFloat] = Field( - default=None, description=DATA_DESCRIPTIONS.get("open", "") - ) - high: Optional[StrictFloat] = Field( - default=None, description=DATA_DESCRIPTIONS.get("high", "") - ) - low: Optional[StrictFloat] = Field( - default=None, description=DATA_DESCRIPTIONS.get("low", "") - ) - close: Optional[StrictFloat] = Field( - default=None, description=DATA_DESCRIPTIONS.get("close", "") - ) - volume: Optional[ForceInt] = Field( - default=None, description=DATA_DESCRIPTIONS.get("volume", "") - ) - - @field_validator("date", mode="before", check_fields=False) - def date_validate(cls, v): # pylint: disable=E0213 - """Return formatted datetime.""" - return parser.isoparse(str(v)) diff --git a/openbb_platform/providers/cboe/openbb_cboe/__init__.py b/openbb_platform/providers/cboe/openbb_cboe/__init__.py index 9179377acec..b9b03a7e720 100644 --- a/openbb_platform/providers/cboe/openbb_cboe/__init__.py +++ b/openbb_platform/providers/cboe/openbb_cboe/__init__.py @@ -34,7 +34,6 @@ around the world.""", "IndexHistorical": CboeIndexHistoricalFetcher, "IndexSearch": CboeIndexSearchFetcher, "IndexSnapshots": CboeIndexSnapshotsFetcher, - "MarketIndices": CboeIndexHistoricalFetcher, "OptionsChains": CboeOptionsChainsFetcher, }, repr_name="Chicago Board Options Exchange (CBOE)", diff --git a/openbb_platform/providers/fmp/openbb_fmp/__init__.py b/openbb_platform/providers/fmp/openbb_fmp/__init__.py index 3d85d3ed450..5f791bb97b0 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/__init__.py +++ b/openbb_platform/providers/fmp/openbb_fmp/__init__.py @@ -125,7 +125,6 @@ stock market information (news, currencies, and stock prices).""", "InstitutionalOwnership": FMPInstitutionalOwnershipFetcher, "KeyExecutives": FMPKeyExecutivesFetcher, "KeyMetrics": FMPKeyMetricsFetcher, - "MarketIndices": FMPIndexHistoricalFetcher, "MarketSnapshots": FMPMarketSnapshotsFetcher, "PricePerformance": FMPPricePerformanceFetcher, "PriceTarget": FMPPriceTargetFetcher, diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/market_indices.py b/openbb_platform/providers/fmp/openbb_fmp/models/market_indices.py deleted file mode 100644 index 15e4bb6719c..00000000000 --- a/openbb_platform/providers/fmp/openbb_fmp/models/market_indices.py +++ /dev/null @@ -1,114 +0,0 @@ -"""FMP Market Indices Model.""" - -# pylint: disable=unused-argument - -from datetime import datetime -from typing import Any, Dict, List, Literal, Optional - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.market_indices import ( - MarketIndicesData, - MarketIndicesQueryParams, -) -from openbb_core.provider.utils.descriptions import DATA_DESCRIPTIONS -from openbb_core.provider.utils.helpers import get_querystring -from openbb_fmp.utils.helpers import get_data_many -from pydantic import Field, NonNegativeInt - - -class FMPMarketIndicesQueryParams(MarketIndicesQueryParams): - """FMP Market Indices Query. - - Source: https://site.financialmodelingprep.com/developer/docs/historical-index-price-api/ - """ - - __alias_dict__ = {"start_date": "from", "end_date": "to"} - - timeseries: Optional[NonNegativeInt] = Field( - default=None, description="Number of days to look back." - ) - interval: Literal["1min", "5min", "15min", "30min", "1hour", "4hour", "1day"] = ( - Field(default="1day", description="Data granularity.") - ) - sort: Literal["asc", "desc"] = Field( - default="desc", description="Sort the data in ascending or descending order." - ) - - -class FMPMarketIndicesData(MarketIndicesData): - """FMP Market Indices Data.""" - - adj_close: Optional[float] = Field( - description=DATA_DESCRIPTIONS.get("adj_close", ""), - default=None, - ) - unadjusted_volume: Optional[float] = Field( - description="Unadjusted volume of the symbol.", - default=None, - ) - change: Optional[float] = Field( - description="Change in the price of the symbol from the previous day.", - default=None, - ) - change_percent: Optional[float] = Field( - description="Change % in the price of the symbol.", - default=None, - ) - label: Optional[str] = Field( - description="Human readable format of the date.", default=None - ) - change_over_time: Optional[float] = Field( - description="Change % in the price of the symbol over a period of time.", - default=None, - ) - - -class FMPMarketIndicesFetcher( - Fetcher[ - FMPMarketIndicesQueryParams, - List[FMPMarketIndicesData], - ] -): - """Transform the query, extract and transform the data from the FMP endpoints.""" - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPMarketIndicesQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return FMPMarketIndicesQueryParams.model_validate(transformed_params) - - @staticmethod - async def aextract_data( - query: FMPMarketIndicesQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> List[Dict]: - """Return the raw data from the FMP endpoint.""" - api_key = credentials.get("fmp_api_key") if credentials else "" - - base_url = "https://financialmodelingprep.com/api/v3" - query_str = get_querystring(query.model_dump(), ["symbol", "interval", "sort"]) - - url_params = f"{query.symbol}?{query_str}&apikey={api_key}" - url = f"{base_url}/historical-chart/{query.interval}/{url_params}" - - return await get_data_many(url, "historical", **kwargs) - - @staticmethod - def transform_data( - query: FMPMarketIndicesQueryParams, data: List[Dict], **kwargs: Any - ) -> List[FMPMarketIndicesData]: - """Return the transformed data.""" - if query.sort == "asc": - data = sorted(data, key=lambda x: x["date"], reverse=True) - - return [FMPMarketIndicesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v1.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v1.yaml deleted file mode 100644 index a69a35e3d59..00000000000 --- a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v1.yaml +++ /dev/null @@ -1,57 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://financialmodelingprep.com/api/v3/historical-chart/1day/%5EDJI?apikey=MOCK_API_KEY&from=2023-01-01&to=2023-01-10 - response: - body: - string: !!binary | - H4sIAAAAAAAAA43SS07DMBAG4H1PEWXdjubhGXt6FcQCQUSRCkHitUDcHTcNcesopVGShX9b/jye - m1XTfOevadqHu/eu3TYtI8sGaUPYEG8R89uuj1P61+4lTxFRMgjs5mOw77+G8cAECTGmcXz39Lgb - gsgGKo42Bvf7/q07JhiAkPQv+ez3H8+HiC2xYX7y+M962Ym+7DQLcNiVa2eKYIZktdNFs8YlzZxK - eUlIIdRO4ZjCNU5bdqIqyEndRie7xzN/qSfh2QGK0yQnJycoTsN4lVOXneQEkVLUypmIYfjXznrB - 5GTPznzgaUlxSnS+xhkuOC1fY5jfO4pASBhi7QzoZ11Y6snmEM1VZs7oQzn/dcoFZ0iQvDTVVE9F - 0IhCtVNy4yoVTXGSGBzawmdO1Vzr0bm6/QU7Pyuq8gMAAA== - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Headers: - - X-Requested-With, content-type, auth-token, Authorization, stripe-signature, - APPS - Access-Control-Allow-Methods: - - GET, POST, OPTIONS - Access-Control-Allow-Origin: - - '*' - Access-Control-Max-Age: - - '3600' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=utf-8 - Date: - - Fri, 01 Dec 2023 21:25:06 GMT - Etag: - - W/"3f2-y9+VxwqtePCRYovMzrv9Y2mmzrc" - Server: - - nginx/1.18.0 (Ubuntu) - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - X-Frame-Options: - - SAMEORIGIN - X-Powered-By: - - Express - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v2.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v2.yaml deleted file mode 100644 index ecaee6d1f0e..00000000000 --- a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_market_indices_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,57 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://financialmodelingprep.com/api/v3/historical-chart/1day/%5EDJI?apikey=MOCK_API_KEY&from=2023-01-01&to=2023-01-10 - response: - body: - string: !!binary | - H4sIAAAAAAAAA43SzU6DQBAH8HufgnBuJ/O9O30V48FoY02qmPh1ML67CyWFgtQS4MB/N/ubYW5W - VfVdnqqqH+7ed/W2qhlZNkgbwgpx2931+riked29lCUiRg7K4Tn3yaH56gJlgoyYMvXB/ulx3yWJ - HUwCXfrk/tC87Y4RKhCSnaLP5vDx3GbsmR3LVb7/rJetGMtWd4X2XLapNSdwb8+dWkOsgEKSzaxG - ZZNmlTy1Cqes11h92YpmIOP29VaOSOdFDH0lPK9isLqUaFzGYHVMV1lt2UpBkCinSVs5E0P3nlGn - O05SjiJtq+a5VFLwNVK9IPXyO/WPCUAR0IzqMaUqxvlIDl1lD0geJjSzpuia+q9VLlg1Q47RfJ3a - agiWUEimVilzbDQCDVYSh3ZCQmdWs9L03rq6/QXH+CSaCAQAAA== - headers: - Access-Control-Allow-Credentials: - - 'true' - Access-Control-Allow-Headers: - - X-Requested-With, content-type, auth-token, Authorization, stripe-signature, - APPS, publicauthkey, privateauthkey - Access-Control-Allow-Methods: - - GET, POST, OPTIONS - Access-Control-Allow-Origin: - - '*' - Access-Control-Max-Age: - - '3600' - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 27 Jun 2024 10:12:17 GMT - Etag: - - W/"408-glTYZ6Uxgu2pCgKN72yd6UNBr5A" - Server: - - nginx/1.18.0 (Ubuntu) - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - X-Frame-Options: - - SAMEORIGIN - X-Powered-By: - - Express - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py index 60074329bc6..30a05855e05 100644 --- a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py +++ b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py @@ -60,7 +60,6 @@ from openbb_fmp.models.insider_trading import FMPInsiderTradingFetcher from openbb_fmp.models.institutional_ownership import FMPInstitutionalOwnershipFetcher from openbb_fmp.models.key_executives import FMPKeyExecutivesFetcher from openbb_fmp.models.key_metrics import FMPKeyMetricsFetcher -from openbb_fmp.models.market_indices import FMPMarketIndicesFetcher from openbb_fmp.models.market_snapshots import FMPMarketSnapshotsFetcher from openbb_fmp.models.price_performance import FMPPricePerformanceFetcher from openbb_fmp.models.price_target import FMPPriceTargetFetcher @@ -138,20 +137,6 @@ def test_fmp_currency_historical_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -def test_fmp_market_indices_fetcher(credentials=test_credentials): - """Test FMP market indices fetcher.""" - params = { - "symbol": "^DJI", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 1, 10), - } - - fetcher = FMPMarketIndicesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_fmp_index_historical_fetcher(credentials=test_credentials): """Test FMP index historical fetcher.""" diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py index 9e3261c7795..4152bab8de1 100644 --- a/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py +++ b/openbb_platform/providers/intrinio/openbb_intrinio/__init__.py @@ -100,7 +100,6 @@ historical financial market data to businesses and developers through an API.""" # "InstitutionalOwnership": IntrinioInstitutionalOwnershipFetcher, # Disabled due to unreliable Intrinio endpoint "KeyMetrics": IntrinioKeyMetricsFetcher, "LatestAttributes": IntrinioLatestAttributesFetcher, - "MarketIndices": IntrinioIndexHistoricalFetcher, "MarketSnapshots": IntrinioMarketSnapshotsFetcher, "OptionsChains": IntrinioOptionsChainsFetcher, "OptionsSnapshots": IntrinioOptionsSnapshotsFetcher, diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_indices.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/market_indices.py deleted file mode 100644 index 8508cbc2c43..00000000000 --- a/openbb_platform/providers/intrinio/openbb_intrinio/models/market_indices.py +++ /dev/null @@ -1,91 +0,0 @@ -"""Intrinio Market Indices Model.""" - -from datetime import datetime -from typing import Any, Dict, List, Literal, Optional - -from dateutil.relativedelta import relativedelta -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.market_indices import ( - MarketIndicesData, - MarketIndicesQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.helpers import get_querystring -from openbb_intrinio.utils.helpers import get_data_many -from pydantic import Field, NonNegativeInt - - -class IntrinioMarketIndicesQueryParams(MarketIndicesQueryParams): - """Intrinio Market Indices Query. - - Source: https://docs.intrinio.com/documentation/web_api/get_stock_market_index_historical_data_v2 - """ - - tag: Optional[str] = Field(default="level", description="Index tag.") - type: Optional[str] = Field( - default=None, - description="Index type.", - ) - sort: Literal["asc", "desc"] = Field( - default="desc", - description="Sort order.", - alias="sort_order", - ) - limit: NonNegativeInt = Field( - default=1000, - description=QUERY_DESCRIPTIONS.get("limit", ""), - alias="page_size", - ) - - -class IntrinioMarketIndicesData(MarketIndicesData): - """Intrinio Market Indices Data.""" - - __alias_dict__ = {"close": "value"} - - -class IntrinioMarketIndicesFetcher( - Fetcher[ - IntrinioMarketIndicesQueryParams, - List[IntrinioMarketIndicesData], - ] -): - """Transform the query, extract and transform the data from the Intrinio endpoints.""" - - @staticmethod - def transform_query(params: Dict[str, Any]) -> IntrinioMarketIndicesQueryParams: - """Transform the query params.""" - transformed_params = params - - now = datetime.now().date() - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return IntrinioMarketIndicesQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: IntrinioMarketIndicesQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> List[Dict]: - """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" - - base_url = "https://api-v2.intrinio.com/indices/stock_market" - query_str = get_querystring(query.model_dump(by_alias=True), ["symbol", "tag"]) - url = f"{base_url}/{query.symbol}/historical_data/{query.tag}?{query_str}&api_key={api_key}" - - return await get_data_many(url, "historical_data", **kwargs) - - @staticmethod - def transform_data( - query: IntrinioMarketIndicesQueryParams, # pylint: disable=unused-argument - data: List[Dict], - **kwargs: Any, - ) -> List[IntrinioMarketIndicesData]: - """Return the transformed data.""" - return [IntrinioMarketIndicesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v1.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v1.yaml deleted file mode 100644 index 4327fe36106..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v1.yaml +++ /dev/null @@ -1,52 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate, br - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/indices/stock_market/$DJI/historical_data/level?api_key=MOCK_API_KEY&end_date=2023-06-06&page_size=1000&sort_order=desc&start_date=2023-01-01 - response: - body: - string: !!binary | - H4sIAGQlZWUAA3RYTW8bRwz9K4LQoz0YkvPpm4FckkMubS8tCmFjbRoB8iqVVm4cI/+93KRFlzPP - gA6W9oEzfOQj3/pl++lwmU/nw8Nw3O2Hedje/f6y1T/G7d2WPcutT/rZ3myfhuNVfxSJWRyXbzc9 - LBpYYlcSgvEalhWWIYzWMJ/IxdzB4q2sYVx9cQxh3kQLemifQrzl+j9suh6PCGLI8FWcBARbk8E5 - BZciggUDq9VVRjAxh8boIiGYoZZLchFlSXUNC5xcEgQrpp4SXUWHUrbRvMuoAmR5I3aEeCPTRBKK - 65tDUSZR8d4lRBuRhVVMG3mbKDlBfPhq+5tcQdG8oS2RZlARzCSacnCCauXXDSLE2WVEmzcNEig4 - hjDDWyrBRZjpmrfgI7m+ouGWi0HV4qivlcJMfxTtNgxLtlbKLjzUDhnxrvQZBKsrKTm6ng5Fmf4o - OjwqvJrpj6yyAt0WGlmVmp3v+yM0sqoZqi80sqolO+r7Q2E2Ub1bQLSRmFpxRU0ZGl2loAMEoajt - ogyDWVkt0wjR5leJwpkbmgUUSnSMDrSSCkWHPDzQUKZkIOWFRlJJG5J6MsQuIB3h4RXYmgwusTrf - V13MAtJglMH4E6s8lqpqR2ca5XEQdr5PVJodxJLRUBC7g5h8fOXQdQuxV4FSrwKx0uOYPE7UsMYh - oIUmVitUdDJXCEs2mjYkysCsICpaUeA8xCqPKaIRI1Z4VKiitSdWK1R1UyUEMyuIOQZkscSuIHUV - BV7NZ9uSOjpgMCs+3Y4BRjNykepdRazZDeS9YHLNBuK07Nr+UG6EkDSFPhg3OihFtdePD250UCgh - L8aNF6MoyBZx48V8iK8casYH6WCOELbqDzgkuVkYy54FI54bH5ZqcqUXAVsRBOLiPIStOQteqQX2 - m5v1w0pG7UcMNxujpFeiWSOW1DSXXu7cGLEaKtrHbGUQKL7Cm5VBqeQ86g4rg6pVwIey4W1pItTf - jRGrjAwK2R2kVdBD+2jUvAQtywW0JDWGreaC1gY1hm2hN/SZUmPYchCkZGoMWxbBmVrxpUUuEGYy - lcX+oUytY/PLekHRrGNjlQy8W+PYyCNlkREglDI1chF1KAlRa9xaIBUfGLnU2LWqr++gJakRX/Zq - ZACqeQlaDApK0qolqQuAGRjHxlVhsNWsY2OdC+AVkxrtkSQnEMZNAf642R6m/fhle/eyPewVqd92 - /PXp/dd7RV6eHz+cjvrrT2/evdXv0/C4RHtz+nvz7jSNl83baX+9zOfDcNzcP43n4c9RUQ+naT5M - 4zQr9P3pPH/a3D+Oy79Zvj+7TvP5WZ/8Oh3mcb/5edYbXjanjyvQ9fNy7d3H8/jXdZweFvR+OByf - 9dFxuMy7H8/3/+VFi9J+8XS3fLTC3v+myNOHy3h+GubDadpd5uE8f4fTv/AGME4mWth+02THL/Pu - 85LSD6r+AQAA//8DAAVlFaAwEgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 27 Nov 2023 23:25:24 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v2.yaml b/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v2.yaml deleted file mode 100644 index 7b296adefc4..00000000000 --- a/openbb_platform/providers/intrinio/tests/record/http/test_intrinio_fetchers/test_intrinio_market_indices_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,52 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api-v2.intrinio.com/indices/stock_market/$DJI/historical_data/level?api_key=MOCK_API_KEY&end_date=2023-06-06&page_size=1000&sort_order=desc&start_date=2023-01-01 - response: - body: - string: !!binary | - H4sIAGs7fWYAA3RYTW8bRwz9K8KiR3swJOfTNwO5JIdc2l5aFIJibRIB8iqVVm4cI/+93KRAlzPP - gA+W9oEcvuEj3+pl+Hy4zKfz4WF33O538264+/Nl0H/G4W5gz3Lrk/4NN8PT7njVL0ViFsfl+00P - iwaW2JWEYLyGZYVlCKM1zCdyMXeweCtrGFdfHEOYN9GCJu1LiLdc/4dN1+MRQQwZvoqTgGBrMjin - 4FJEsGBgtbrKCCYmaYwuEoIZarkkF1GVVNewwMklQbBi7lOiqygpZRvNu4xugCxvxI4Qb2SaSEJx - fXMoyhQq3ruEaCOysIppI28LJSeID19tf5MrKJo3tCXSCiqCmUJTDk7QXfl1gwhxdhnR5k2DBAqO - IczwlkpwEVa65i34SK6/0XDLxaBqcdTflcJMfxTtNgxL9q6UXZjUDhnxrvQVBKsrKTm6ng5Fmf4o - OjwqPJrpj6yyAt0WGlmVmp3v+yM0sqoZqi80sqolO+r7Q2G2UD1bQLSRmLviipoyNLpKQQcIQlHb - RRkGs7JaphGiza8KhTM3NAsolOgYJbSSCkWHPExoKFMykPJCI6mkDUk9GWIXkI7w8ApsTQaXWJ3v - b13MAtJglMH4E6s8lqpqRzmN8jgIO98XKs0OYsloKIjdQUw+vpJ03ULsVaDUq0Cs9Dgmjws1rHEI - aKGJ1QoVncwVwpKNpg2JKjAriIreKHAeYpXHFNGIESs8KlTR2hOrFaq6qRKCmRXEHAOyWGJXkLqK - Ao/ms21JHR0wmBWfbscAoxm5SPWuItbsBvJeMLlmA3Fadm2flBshJC2hD8aNDkpR7fXjgxsdFErI - i3HjxSgKskXceDEf4itJzfggHcwRwlb9AYckNwtj2bNgxHPjw1JNrvQiYCuCQFych7A1Z8ErtcB+ - c7N+WMmo/YjhZmOU9Eo0a8SSmubSy50bI1ZDRfuYrQwCxVd4szIolZxH3WFlUPUWcFI2vC1NhPq7 - MWKVkUEhu4P0FjRpH42al6BluYCWpMaw1VzQ2qDGsC30hr5SagxbDoKUTI1hyyK4Uiu+tMgFwkyl - stg/VKl1bH5ZLyiadWyskoFnaxwbeaQsMgKEUqZGLqIOJSFqjVsLpOIDI5cau1b19R20JDXiy16N - DEA1L0GLQUFFWrUkdQGwAuPYuCoMtpp1bKxzAbxiUqM9kuQEwri5gL9uhsO0H78Ody/DYa9I/bTl - b0/vv90r8vL8+OF01G9/efPurX6edo9LtDenfzbvTtN42byd9tfLfD7sjpv7p/G8+zQq6uE0zYdp - nGaFvj+d58+b+8dx+Znlx7PrNJ+f9cnv02Ee95tfZz3hZXP6uAJdvyzH3n48j39fx+lhQe93h+Oz - PjruLvP25/P9z7oWi6y6/c37O6K7oML2/g9Fnj5cxvPTbj6cpu1l3p3nH3D6D94AxslES8N3LXb8 - Om+/LCX9pOpfAAAA//8DALlCfsAwEgAA - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:03 GMT - Transfer-Encoding: - - chunked - Vary: - - Origin,Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py index 2a18575ba84..a10769baafa 100644 --- a/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py +++ b/openbb_platform/providers/intrinio/tests/test_intrinio_fetchers.py @@ -53,7 +53,6 @@ from openbb_intrinio.models.insider_trading import IntrinioInsiderTradingFetcher # ) from openbb_intrinio.models.key_metrics import IntrinioKeyMetricsFetcher from openbb_intrinio.models.latest_attributes import IntrinioLatestAttributesFetcher -from openbb_intrinio.models.market_indices import IntrinioMarketIndicesFetcher from openbb_intrinio.models.market_snapshots import IntrinioMarketSnapshotsFetcher from openbb_intrinio.models.options_chains import IntrinioOptionsChainsFetcher from openbb_intrinio.models.options_snapshots import IntrinioOptionsSnapshotsFetcher @@ -300,21 +299,6 @@ def test_intrinio_equity_info_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -def test_intrinio_market_indices_fetcher(credentials=test_credentials): - """Test market indices fetcher.""" - params = { - "symbol": "$DJI", - "tag": "level", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 6, 6), - } - - fetcher = IntrinioMarketIndicesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_intrinio_index_historical_fetcher(credentials=test_credentials): """Test index historical fetcher.""" diff --git a/openbb_platform/providers/polygon/openbb_polygon/__init__.py b/openbb_platform/providers/polygon/openbb_polygon/__init__.py index c8de4baf566..3f366a03bc8 100644 --- a/openbb_platform/providers/polygon/openbb_polygon/__init__.py +++ b/openbb_platform/providers/polygon/openbb_polygon/__init__.py @@ -36,7 +36,6 @@ company financials, stock market holidays, corporate actions, and more.""", "EtfHistorical": PolygonEquityHistoricalFetcher, "IncomeStatement": PolygonIncomeStatementFetcher, "IndexHistorical": PolygonIndexHistoricalFetcher, - "MarketIndices": PolygonIndexHistoricalFetcher, "MarketSnapshots": PolygonMarketSnapshotsFetcher, }, repr_name="Polygon.io", diff --git a/openbb_platform/providers/polygon/openbb_polygon/models/market_indices.py b/openbb_platform/providers/polygon/openbb_polygon/models/market_indices.py deleted file mode 100644 index 9b093c86812..00000000000 --- a/openbb_platform/providers/polygon/openbb_polygon/models/market_indices.py +++ /dev/null @@ -1,118 +0,0 @@ -"""Polygon Market Indices Model.""" - -from datetime import ( - datetime, -) -from typing import Any, Dict, List, Literal, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.market_indices import ( - MarketIndicesData, - MarketIndicesQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from pydantic import Field, PositiveInt - - -class PolygonMarketIndicesQueryParams(MarketIndicesQueryParams): - """Polygon Market Indices Query. - - Source: https://polygon.io/docs/indices/getting-started - """ - - timespan: Literal["minute", "hour", "day", "week", "month", "quarter", "year"] = ( - Field(default="day", description="Timespan of the data.") - ) - sort: Literal["asc", "desc"] = Field( - default="desc", description="Sort order of the data." - ) - limit: PositiveInt = Field( - default=49999, description=QUERY_DESCRIPTIONS.get("limit", "") - ) - adjusted: bool = Field(default=True, description="Whether the data is adjusted.") - multiplier: PositiveInt = Field( - default=1, description="Multiplier of the timespan." - ) - - -class PolygonMarketIndicesData(MarketIndicesData): - """Polygon Market Indices Data.""" - - __alias_dict__ = { - "date": "t", - "open": "o", - "high": "h", - "low": "l", - "close": "c", - "volume": "v", - "vwap": "vw", - } - - transactions: Optional[PositiveInt] = Field( - default=None, - description="Number of transactions for the symbol in the time period.", - alias="n", - ) - - -class PolygonMarketIndicesFetcher( - Fetcher[ - PolygonMarketIndicesQueryParams, - List[PolygonMarketIndicesData], - ] -): - """Polygon Market Indices Fetcher.""" - - @staticmethod - def transform_query(params: Dict[str, Any]) -> PolygonMarketIndicesQueryParams: - """Transform the query params.""" - # pylint: disable=import-outside-toplevel - from dateutil.relativedelta import relativedelta - - now = datetime.now().date() - transformed_params = params - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - return PolygonMarketIndicesQueryParams(**transformed_params) - - @staticmethod - async def aextract_data( - query: PolygonMarketIndicesQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> dict: - """Extract raw data from the Polygon endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_core.provider.utils.helpers import safe_fromtimestamp - from openbb_polygon.utils.helpers import get_data_many - - api_key = credentials.get("polygon_api_key") if credentials else "" - - request_url = ( - f"https://api.polygon.io/v2/aggs/ticker/" - f"I:{query.symbol}/range/{query.multiplier}/{query.timespan}/" - f"{query.start_date}/{query.end_date}?adjusted={query.adjusted}" - f"&sort={query.sort}&limit={query.limit}&apiKey={api_key}" - ) - data = await get_data_many(request_url, "results", **kwargs) - - for d in data: - v = d["t"] / 1000 # milliseconds to seconds - d["t"] = safe_fromtimestamp(v) - if query.timespan not in ["minute", "hour"]: - d["t"] = d["t"].date() - - return data - - @staticmethod - def transform_data( - query: PolygonMarketIndicesQueryParams, - data: dict, - **kwargs: Any, - ) -> List[PolygonMarketIndicesData]: - """Transform the data.""" - return [PolygonMarketIndicesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v1.yaml b/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v1.yaml deleted file mode 100644 index 305a0ebd7e8..00000000000 --- a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v1.yaml +++ /dev/null @@ -1,79 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/2023-01-01/2023-05-10?adjusted=True&apiKey=MOCK_API_KEY&limit=49999&sort=desc - response: - body: - string: !!binary | - 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 - 6MuXkeHjdjyvr+B//C8AAP//XVlGICgXAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Tue, 26 Sep 2023 19:08:14 GMT - Server: - - nginx/1.19.2 - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - X-Request-Id: - - c575e02a0c39113007f40f41a2ea4115 - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v2.yaml b/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v2.yaml deleted file mode 100644 index bb3bce0f495..00000000000 --- a/openbb_platform/providers/polygon/tests/record/http/test_polygon_fetchers/test_polygon_market_indices_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,79 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - method: GET - uri: https://api.polygon.io/v2/aggs/ticker/I:NDX/range/1/day/2023-01-01/2023-05-10?adjusted=True&apiKey=MOCK_API_KEY&limit=49999&sort=desc - response: - body: - string: !!binary | - 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 - 6j94y9PxcDytr+C//xEAAP//Ujf+pSgXAAA= - headers: - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Thu, 27 Jun 2024 10:14:47 GMT - Server: - - nginx/1.19.2 - Strict-Transport-Security: - - max-age=15724800; includeSubDomains - Transfer-Encoding: - - chunked - Vary: - - Accept-Encoding - X-Request-Id: - - d796bbcbe18450171f812290e24a491c - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py b/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py index a0c108e573b..4e8676b3079 100644 --- a/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py +++ b/openbb_platform/providers/polygon/tests/test_polygon_fetchers.py @@ -17,9 +17,6 @@ from openbb_polygon.models.income_statement import PolygonIncomeStatementFetcher from openbb_polygon.models.index_historical import ( PolygonIndexHistoricalFetcher, ) -from openbb_polygon.models.market_indices import ( - PolygonMarketIndicesFetcher, -) from openbb_polygon.models.market_snapshots import PolygonMarketSnapshotsFetcher test_credentials = UserService().default_user_settings.credentials.model_dump( @@ -53,20 +50,6 @@ def test_polygon_equity_historical_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -def test_polygon_market_indices_fetcher(credentials=test_credentials): - """Test the Polygon Market Indices fetcher.""" - params = { - "symbol": "NDX", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 5, 10), - } - - fetcher = PolygonMarketIndicesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_polygon_index_historical_fetcher(credentials=test_credentials): """Test the Polygon Index Historical fetcher.""" diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py b/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py index c5bd29a8386..652f252eac8 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/__init__.py @@ -69,7 +69,6 @@ financial markets and assets.""", "IndexHistorical": YFinanceIndexHistoricalFetcher, "KeyExecutives": YFinanceKeyExecutivesFetcher, "KeyMetrics": YFinanceKeyMetricsFetcher, - "MarketIndices": YFinanceIndexHistoricalFetcher, "OptionsChains": YFinanceOptionsChainsFetcher, "PriceTargetConsensus": YFinancePriceTargetConsensusFetcher, "ShareStatistics": YFinanceShareStatisticsFetcher, diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/market_indices.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/market_indices.py deleted file mode 100644 index 370c767608e..00000000000 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/market_indices.py +++ /dev/null @@ -1,141 +0,0 @@ -"""Yahoo Finance Market Indices Model.""" - -from datetime import datetime, timedelta -from typing import Any, Dict, List, Optional - -from openbb_core.provider.abstract.fetcher import Fetcher -from openbb_core.provider.standard_models.market_indices import ( - MarketIndicesData, - MarketIndicesQueryParams, -) -from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS -from openbb_core.provider.utils.errors import EmptyDataError -from openbb_yfinance.utils.references import INDICES, INTERVALS, PERIODS -from pydantic import Field - - -class YFinanceMarketIndicesQueryParams(MarketIndicesQueryParams): - """YFinance Market Indices Query. - - Source: https://finance.yahoo.com/world-indices - """ - - __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}} - - interval: Optional[INTERVALS] = Field(default="1d", description="Data granularity.") - period: Optional[PERIODS] = Field( - default="max", description=QUERY_DESCRIPTIONS.get("period", "") - ) - prepost: bool = Field(default=True, description="Include Pre and Post market data.") - rounding: bool = Field(default=True, description="Round prices to two decimals?") - - -class YFinanceMarketIndicesData(MarketIndicesData): - """YFinance Market Indices Data.""" - - -class YFinanceMarketIndicesFetcher( - Fetcher[ - YFinanceMarketIndicesQueryParams, - List[YFinanceMarketIndicesData], - ] -): - """Transform the query, extract and transform the data from the Yahoo Finance endpoints.""" - - @staticmethod - def transform_query(params: Dict[str, Any]) -> YFinanceMarketIndicesQueryParams: - """Transform the query.""" - # pylint: disable=import-outside-toplevel - from dateutil.relativedelta import relativedelta - from pandas import DataFrame - - transformed_params = params - now = datetime.now().date() - - if params.get("start_date") is None: - transformed_params["start_date"] = now - relativedelta(years=1) - - if params.get("end_date") is None: - transformed_params["end_date"] = now - - tickers = params.get("symbol", "").lower().split(",") - - new_tickers = [] - for ticker in tickers: - _ticker = "" - indices = DataFrame(INDICES).transpose().reset_index() - indices.columns = ["code", "name", "symbol"] - - if ticker in indices["code"].values: - _ticker = indices[indices["code"] == ticker]["symbol"].values[0] - - if ticker.title() in indices["name"].values: - _ticker = indices[indices["name"] == ticker.title()]["symbol"].values[0] - - if "^" + ticker.upper() in indices["symbol"].values: - _ticker = "^" + ticker.upper() - - if ticker.upper() in indices["symbol"].values: - _ticker = ticker.upper() - - if _ticker != "": - new_tickers.append(_ticker) - - transformed_params["symbol"] = ",".join(new_tickers) - - return YFinanceMarketIndicesQueryParams(**params) - - # pylint: disable=unused-argument - @staticmethod - def extract_data( - query: YFinanceMarketIndicesQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> List[dict]: - """Return the raw data from the Yahoo Finance endpoint.""" - # pylint: disable=import-outside-toplevel - from openbb_yfinance.utils.helpers import yf_download - from pandas import to_datetime - - data = yf_download( - symbol=query.symbol, - start_date=query.start_date, - end_date=query.end_date, - interval=query.interval, - period=query.period, - prepost=query.prepost, - rounding=query.rounding, - ) - - if data.empty: - raise EmptyDataError() - - days = ( - 1 - if query.interval in ["1m", "2m", "5m", "15m", "30m", "60m", "1h", "90m"] - else 0 - ) - - if query.start_date: - if "date" in data.columns: - data.set_index("date", inplace=True) - data.index = to_datetime(data.index) - - data = data[ - (data.index >= to_datetime(query.start_date)) - & (data.index <= to_datetime(query.end_date + timedelta(days=days))) # type: ignore[operator] - ] - - data.reset_index(inplace=True) - data.rename(columns={"index": "date"}, inplace=True) - - return data.to_dict("records") - - @staticmethod - def transform_data( - query: YFinanceMarketIndicesQueryParams, - data: dict, - **kwargs: Any, - ) -> List[YFinanceMarketIndicesData]: - """Transform the data to the standard format.""" - return [YFinanceMarketIndicesData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v1.yaml deleted file mode 100644 index c972f335850..00000000000 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v1.yaml +++ /dev/null @@ -1,265 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - MOCK_COOKIE - method: GET - uri: https://query2.finance.yahoo.com/v8/finance/chart/%5EGSPC?crumb=MOCK_CRUMB&events=div%2Csplits%2CcapitalGains&includePrePost=True&interval=1d&period1=MOCK_PERIOD_1&period2=MOCK_PERIOD_2 - response: - body: - string: !!binary | - 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 - Cy1i/rgAAA== - headers: - Age: - - '0' - Connection: - - keep-alive - Referrer-Policy: - - no-referrer-when-downgrade - Strict-Transport-Security: - - max-age=31536000 - Transfer-Encoding: - - chunked - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - 1; mode=block - cache-control: - - public, max-age=10, stale-while-revalidate=20 - content-encoding: - - gzip - content-type: - - application/json;charset=utf-8 - date: - - Thu, 24 Oct 2024 05:32:53 GMT - server: - - ATS - vary: - - Origin,Accept-Encoding - x-envoy-decorator-operation: - - finance-chart-api--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* - x-envoy-upstream-service-time: - - '6' - y-rid: - - 33fn0d9jhjn05 - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v2.yaml deleted file mode 100644 index 9c244523226..00000000000 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_market_indices_fetcher_urllib3_v2.yaml +++ /dev/null @@ -1,57 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Cookie: - - MOCK_COOKIE - method: GET - uri: https://query2.finance.yahoo.com/v8/finance/chart/%5EGSPC?crumb=MOCK_CRUMB&events=div%2Csplits%2CcapitalGains&includePrePost=True&interval=1d&period1=MOCK_PERIOD_1&period2=MOCK_PERIOD_2 - response: - body: - string: '{"chart":{"result":[{"meta":{"currency":"USD","symbol":"^GSPC","exchangeName":"SNP","fullExchangeName":"SNP","instrumentType":"INDEX","firstTradeDate":-1325583000,"regularMarketTime":1731535859,"hasPrePostMarketData":false,"gmtoffset":-18000,"timezone":"EST","exchangeTimezoneName":"America/New_York","regularMarketPrice":5985.38,"fiftyTwoWeekHigh":6017.31,"fiftyTwoWeekLow":4487.83,"regularMarketDayHigh":6008.19,"regularMarketDayLow":5965.91,"regularMarketVolume":2602203000,"longName":"S&P - 500","shortName":"S&P 500","chartPreviousClose":3839.5,"priceHint":2,"currentTradingPeriod":{"pre":{"timezone":"EST","end":1731508200,"start":1731488400,"gmtoffset":-18000},"regular":{"timezone":"EST","end":1731531600,"start":1731508200,"gmtoffset":-18000},"post":{"timezone":"EST","end":1731546000,"start":1731531600,"gmtoffset":-18000}},"dataGranularity":"1d","range":"","validRanges":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]},"timestamp":[1672756200,1672842600,1672929000,1673015400,1673274600,1673361000,1673447400,1673533800,1673620200,1673965800,1674052200,1674138600,1674225000,1674484200,1674570600,1674657000,1674743400,1674829800,1675089000,1675175400,1675261800,1675348200,1675434600,1675693800,1675780200,1675866600,1675953000,1676039400,1676298600,1676385000,1676471400,1676557800,1676644200,1676989800,1677076200,1677162600,1677249000,1677508200,1677594600,1677681000,1677767400,1677853800,1678113000,1678199400,1678285800,1678372200,1678458600,1678714200,1678800600,1678887000,1678973400,1679059800,1679319000,1679405400,1679491800,1679578200,1679664600,1679923800,1680010200,1680096600,1680183000,1680269400,1680528600,1680615000,1680701400,1680787800,1681133400,1681219800,1681306200,1681392600,1681479000,1681738200,1681824600,1681911000,1681997400,1682083800,1682343000,1682429400,1682515800,1682602200,1682688600,1682947800,1683034200,1683120600,1683207000,1683293400,1683552600,1683639000,1683725400,1683811800,1683898200,1684157400,1684243800,1684330200,1684416600,1684503000,1684762200,1684848600,1684935000,1685021400,1685107800,1685453400,1685539800,1685626200,1685712600,1685971800,1686058200,1686144600,1686231000,1686317400,1686576600,1686663000,1686749400,1686835800,1686922200,1687267800,1687354200,1687440600,1687527000,1687786200,1687872600,1687959000,1688045400,1688131800,1688391000,1688563800,1688650200,1688736600,1688995800,1689082200,1689168600,1689255000,1689341400,1689600600,1689687000,1689773400,1689859800,1689946200,1690205400,1690291800,1690378200,1690464600,1690551000,1690810200,1690896600,1690983000,1691069400,1691155800,1691415000,1691501400,1691587800,1691674200,1691760600,1692019800,1692106200,1692192600,1692279000,1692365400,1692624600,1692711000,1692797400,1692883800,1692970200,1693229400,1693315800,1693402200,1693488600,1693575000,1693920600,1694007000,1694093400,1694179800,1694439000,1694525400,1694611800,1694698200,1694784600,1695043800,1695130200,1695216600,1695303000,1695389400,1695648600,1695735000,1695821400,1695907800,1695994200,1696253400,1696339800,1696426200,1696512600,1696599000,1696858200,1696944600,1697031000,1697117400,1697203800,1697463000,1697549400,1697635800,1697722200,1697808600,1698067800,1698154200,1698240600,1698327000,1698413400,1698672600,1698759000,1698845400,1698931800,1699018200,1699281000,1699367400,1699453800,1699540200,1699626600,1699885800,1699972200,1700058600,1700145000,1700231400,1700490600,1700577000,1700663400,1700836200,1701095400,1701181800,1701268200,1701354600,1701441000,1701700200,1701786600,1701873000,1701959400,1702045800,1702305000,1702391400,1702477800,1702564200,1702650600,1702909800,1702996200,1703082600,1703169000,1703255400,1703601000,1703687400,1703773800,1703860200,1704205800,1704292200,1704378600,1704465000,1704724200,1704810600,1704897000,1704983400,1705069800,1705415400,1705501800,1705588200,1705674600,1705933800,1706020200,1706106600,1706193000,1706279400,1706538600,1706625000,1706711400,1706797800,1706884200,1707143400,1707229800,1707316200,1707402600,1707489000,1707748200,1707834600,1707921000,1708007400,1708093800,1708439400,1708525800,1708612200,1708698600,1708957800,1709044200,1709130600,1709217000,1709303400,1709562600,1709649000,1709735400,1709821800,1709908200,1710163800,1710250200,1710336600,1710423000,1710509400,1710768600,1710855000,1710941400,1711027800,1711114200,1711373400,1711459800,1711546200,1711632600,1711978200,1712064600,1712151000,1712237400,1712323800,1712583000,1712669400,1712755800,1712842200,1712928600,1713187800,1713274200,1713360600,1713447000,1713533400,1713792600,1713879000,1713965400,1714051800,1714138200,1714397400,1714483800,1714570200,1714656600,1714743000,1715002200,1715088600,1715175000,1715261400,1715347800,1715607000,1715693400,1715779800,1715866200,1715952600,1716211800,1716298200,1716384600,1716471000,1716557400,1716903000,1716989400,1717075800,1717162200,1717421400,1717507800,1717594200,1717680600,1717767000,1718026200,1718112600,1718199000,1718285400,1718371800,1718631000,1718717400,1718890200,1718976600,1719235800,1719322200,1719408600,1719495000,1719581400,1719840600,1719927000,1720013400,1720186200,1720445400,1720531800,1720618200,1720704600,1720791000,1721050200,1721136600,1721223000,1721309400,1721395800,1721655000,1721741400,1721827800,1721914200,1722000600,1722259800,1722346200,1722432600,1722519000,1722605400,1722864600,1722951000,1723037400,1723123800,1723210200,1723469400,1723555800,1723642200,1723728600,1723815000,1724074200,1724160600,1724247000,1724333400,1724419800,1724679000,1724765400,1724851800,1724938200,1725024600,1725370200,1725456600,1725543000,1725629400,1725888600,1725975000,1726061400,1726147800,1726234200,1726493400,1726579800,1726666200,1726752600,1726839000,1727098200,1727184600,1727271000,1727357400,1727443800,1727703000,1727789400,1727875800,1727962200,1728048600,1728307800,1728394200,1728480600,1728567000,1728653400,1728912600,1728999000,1729085400,1729171800,1729258200,1729517400,1729603800,1729690200,1729776600,1729863000,1730122200,1730208600,1730295000,1730381400,1730467800,1730730600,1730817000,1730903400,1730989800,1731076200,1731335400,1731421800,1731508200],"indicators":{"quote":[{"close":[3824.139892578125,3852.969970703125,3808.10009765625,3895.080078125,3892.090087890625,3919.25,3969.610107421875,3983.169921875,3999.090087890625,3990.969970703125,3928.860107421875,3898.85009765625,3972.610107421875,4019.81005859375,4016.949951171875,4016.219970703125,4060.429931640625,4070.56005859375,4017.77001953125,4076.60009765625,4119.2099609375,4179.759765625,4136.47998046875,4111.080078125,4164.0,4117.85986328125,4081.5,4090.4599609375,4137.2900390625,4136.1298828125,4147.60009765625,4090.409912109375,4079.090087890625,3997.340087890625,3991.050048828125,4012.320068359375,3970.0400390625,3982.239990234375,3970.14990234375,3951.389892578125,3981.35009765625,4045.639892578125,4048.419921875,3986.3701171875,3992.010009765625,3918.320068359375,3861.590087890625,3855.760009765625,3919.2900390625,3891.929931640625,3960.280029296875,3916.639892578125,3951.570068359375,4002.8701171875,3936.969970703125,3948.719970703125,3970.989990234375,3977.530029296875,3971.27001953125,4027.81005859375,4050.830078125,4109.31005859375,4124.509765625,4100.60009765625,4090.3798828125,4105.02001953125,4109.10986328125,4108.93994140625,4091.949951171875,4146.22021484375,4137.64013671875,4151.31982421875,4154.8701171875,4154.52001953125,4129.7900390625,4133.52001953125,4137.0400390625,4071.6298828125,4055.989990234375,4135.35009765625,4169.47998046875,4167.8701171875,4119.580078125,4090.75,4061.219970703125,4136.25,4138.1201171875,4119.169921875,4137.64013671875,4130.6201171875,4124.080078125,4136.27978515625,4109.89990234375,4158.77001953125,4198.0498046875,4191.97998046875,4192.6298828125,4145.580078125,4115.240234375,4151.27978515625,4205.4501953125,4205.52001953125,4179.830078125,4221.02001953125,4282.3701171875,4273.7900390625,4283.85009765625,4267.52001953125,4293.93017578125,4298.85986328125,4338.93017578125,4369.009765625,4372.58984375,4425.83984375,4409.58984375,4388.7099609375,4365.68994140625,4381.89013671875,4348.330078125,4328.81982421875,4378.41015625,4376.85986328125,4396.43994140625,4450.3798828125,4455.58984375,4446.81982421875,4411.58984375,4398.9501953125,4409.52978515625,4439.259765625,4472.16015625,4510.0400390625,4505.419921875,4522.7900390625,4554.97998046875,4565.72021484375,4534.8701171875,4536.33984375,4554.64013671875,4567.4599609375,4566.75,4537.41015625,4582.22998046875,4588.9599609375,4576.72998046875,4513.39013671875,4501.89013671875,4478.02978515625,4518.43994140625,4499.3798828125,4467.7099609375,4468.830078125,4464.0498046875,4489.72021484375,4437.85986328125,4404.330078125,4370.35986328125,4369.7099609375,4399.77001953125,4387.5498046875,4436.009765625,4376.31005859375,4405.7099609375,4433.31005859375,4497.6298828125,4514.8701171875,4507.66015625,4515.77001953125,4496.830078125,4465.47998046875,4451.14013671875,4457.490234375,4487.4599609375,4461.89990234375,4467.43994140625,4505.10009765625,4450.31982421875,4453.52978515625,4443.9501953125,4402.2001953125,4330.0,4320.06005859375,4337.43994140625,4273.52978515625,4274.509765625,4299.7001953125,4288.0498046875,4288.39013671875,4229.4501953125,4263.75,4258.18994140625,4308.5,4335.66015625,4358.240234375,4376.9501953125,4349.60986328125,4327.77978515625,4373.6298828125,4373.2001953125,4314.60009765625,4278.0,4224.16015625,4217.0400390625,4247.68017578125,4186.77001953125,4137.22998046875,4117.3701171875,4166.81982421875,4193.7998046875,4237.85986328125,4317.77978515625,4358.33984375,4365.97998046875,4378.3798828125,4382.77978515625,4347.35009765625,4415.240234375,4411.5498046875,4495.7001953125,4502.8798828125,4508.240234375,4514.02001953125,4547.3798828125,4538.18994140625,4556.6201171875,4559.33984375,4550.43017578125,4554.89013671875,4550.580078125,4567.7998046875,4594.6298828125,4569.77978515625,4567.18017578125,4549.33984375,4585.58984375,4604.3701171875,4622.43994140625,4643.7001953125,4707.08984375,4719.5498046875,4719.18994140625,4740.56005859375,4768.3701171875,4698.35009765625,4746.75,4754.6298828125,4774.75,4781.580078125,4783.35009765625,4769.830078125,4742.830078125,4704.81005859375,4688.68017578125,4697.240234375,4763.5400390625,4756.5,4783.4501953125,4780.240234375,4783.830078125,4765.97998046875,4739.2099609375,4780.93994140625,4839.81005859375,4850.43017578125,4864.60009765625,4868.5498046875,4894.16015625,4890.97021484375,4927.93017578125,4924.97021484375,4845.64990234375,4906.18994140625,4958.60986328125,4942.81005859375,4954.22998046875,4995.06005859375,4997.91015625,5026.60986328125,5021.83984375,4953.169921875,5000.6201171875,5029.72998046875,5005.56982421875,4975.509765625,4981.7998046875,5087.02978515625,5088.7998046875,5069.52978515625,5078.18017578125,5069.759765625,5096.27001953125,5137.080078125,5130.9501953125,5078.64990234375,5104.759765625,5157.35986328125,5123.68994140625,5117.93994140625,5175.27001953125,5165.31005859375,5150.47998046875,5117.08984375,5149.419921875,5178.509765625,5224.6201171875,5241.52978515625,5234.18017578125,5218.18994140625,5203.580078125,5248.490234375,5254.35009765625,5243.77001953125,5205.81005859375,5211.490234375,5147.2099609375,5204.33984375,5202.39013671875,5209.91015625,5160.64013671875,5199.06005859375,5123.41015625,5061.81982421875,5051.41015625,5022.2099609375,5011.1201171875,4967.22998046875,5010.60009765625,5070.5498046875,5071.6298828125,5048.419921875,5099.9599609375,5116.169921875,5035.68994140625,5018.39013671875,5064.2001953125,5127.7900390625,5180.740234375,5187.7001953125,5187.669921875,5214.080078125,5222.68017578125,5221.419921875,5246.68017578125,5308.14990234375,5297.10009765625,5303.27001953125,5308.1298828125,5321.41015625,5307.009765625,5267.83984375,5304.72021484375,5306.0400390625,5266.9501953125,5235.47998046875,5277.509765625,5283.39990234375,5291.33984375,5354.02978515625,5352.9599609375,5346.990234375,5360.7900390625,5375.31982421875,5421.02978515625,5433.740234375,5431.60009765625,5473.22998046875,5487.02978515625,5473.169921875,5464.6201171875,5447.8701171875,5469.2998046875,5477.89990234375,5482.8701171875,5460.47998046875,5475.08984375,5509.009765625,5537.02001953125,5567.18994140625,5572.85009765625,5576.97998046875,5633.91015625,5584.5400390625,5615.35009765625,5631.22021484375,5667.2001953125,5588.27001953125,5544.58984375,5505.0,5564.41015625,5555.740234375,5427.1298828125,5399.22021484375,5459.10009765625,5463.5400390625,5436.43994140625,5522.2998046875,5446.68017578125,5346.56005859375,5186.330078125,5240.02978515625,5199.5,5319.31005859375,5344.16015625,5344.39013671875,5434.43017578125,5455.2099609375,5543.22021484375,5554.25,5608.25,5597.1201171875,5620.85009765625,5570.64013671875,5634.60986328125,5616.83984375,5625.7998046875,5592.18017578125,5591.9599609375,5648.39990234375,5528.93017578125,5520.06982421875,5503.41015625,5408.419921875,5471.0498046875,5495.52001953125,5554.1298828125,5595.759765625,5626.02001953125,5633.08984375,5634.580078125,5618.259765625,5713.64013671875,5702.5498046875,5718.56982421875,5732.93017578125,5722.259765625,5745.3701171875,5738.169921875,5762.47998046875,5708.75,5709.5400390625,5699.93994140625,5751.06982421875,5695.93994140625,5751.1298828125,5792.0400390625,5780.0498046875,5815.02978515625,5859.85009765625,5815.259765625,5842.47021484375,5841.47021484375,5864.669921875,5853.97998046875,5851.2001953125,5797.419921875,5809.85986328125,5808.1201171875,5823.52001953125,5832.919921875,5813.669921875,5705.4501953125,5728.7998046875,5712.68994140625,5782.759765625,5929.0400390625,5973.10009765625,5995.5400390625,6001.35009765625,5983.990234375,5985.3798828125],"high":[3878.4599609375,3873.159912109375,3839.739990234375,3906.18994140625,3950.570068359375,3919.830078125,3970.070068359375,3997.760009765625,4003.949951171875,4015.389892578125,4014.159912109375,3922.93994140625,3972.9599609375,4039.31005859375,4023.919921875,4019.550048828125,4061.570068359375,4094.2099609375,4063.85009765625,4077.159912109375,4148.9501953125,4195.43994140625,4182.35986328125,4124.6298828125,4176.5400390625,4156.85009765625,4156.22998046875,4094.360107421875,4138.89990234375,4159.77001953125,4148.10986328125,4136.5400390625,4081.510009765625,4052.35009765625,4017.3701171875,4028.300048828125,3978.25,4018.050048828125,3997.5,3971.72998046875,3990.840087890625,4048.2900390625,4078.489990234375,4050.0,4000.409912109375,4017.81005859375,3934.050048828125,3905.050048828125,3937.2900390625,3894.260009765625,3964.4599609375,3958.909912109375,3956.6201171875,4009.080078125,4039.489990234375,4007.659912109375,3972.739990234375,4003.830078125,3979.199951171875,4030.590087890625,4057.85009765625,4110.75,4127.66015625,4133.1298828125,4099.68994140625,4107.31982421875,4109.5,4124.259765625,4134.3701171875,4150.259765625,4163.18994140625,4151.72021484375,4169.47998046875,4162.56982421875,4148.56982421875,4138.02001953125,4142.41015625,4126.43017578125,4089.669921875,4138.240234375,4170.06005859375,4186.919921875,4164.10009765625,4148.2998046875,4082.610107421875,4147.02001953125,4142.2998046875,4130.35009765625,4154.27978515625,4132.7998046875,4143.740234375,4141.25,4135.5400390625,4164.669921875,4202.2001953125,4212.91015625,4209.22021484375,4185.68017578125,4132.9599609375,4165.740234375,4212.8701171875,4231.10009765625,4195.43994140625,4232.43017578125,4290.669921875,4299.27978515625,4288.330078125,4299.18994140625,4298.009765625,4322.6201171875,4340.1298828125,4375.3701171875,4391.81982421875,4439.2001953125,4448.47021484375,4400.14990234375,4386.22021484375,4382.25,4366.5498046875,4362.06005859375,4384.419921875,4390.35009765625,4398.39013671875,4458.47998046875,4456.4599609375,4454.06005859375,4422.6201171875,4440.39013671875,4412.60009765625,4443.64013671875,4488.33984375,4517.3798828125,4527.759765625,4532.85009765625,4562.2998046875,4578.43017578125,4564.740234375,4555.0,4563.41015625,4580.6201171875,4582.47021484375,4607.06982421875,4590.16015625,4594.22021484375,4584.6201171875,4550.93017578125,4519.490234375,4540.33984375,4519.83984375,4503.31005859375,4502.43994140625,4527.3701171875,4476.22998046875,4490.330078125,4478.8701171875,4449.9501953125,4421.169921875,4381.81982421875,4407.5498046875,4418.58984375,4443.18017578125,4458.2998046875,4418.4599609375,4439.56005859375,4500.14013671875,4521.64990234375,4532.259765625,4541.25,4514.2900390625,4490.35009765625,4457.81005859375,4473.52978515625,4490.77001953125,4487.10986328125,4479.39013671875,4511.990234375,4497.97998046875,4466.35986328125,4449.85009765625,4461.02978515625,4375.7001953125,4357.39990234375,4338.509765625,4313.009765625,4292.06982421875,4317.27001953125,4333.14990234375,4300.580078125,4281.14990234375,4268.5,4267.1298828125,4324.10009765625,4341.72998046875,4385.4599609375,4378.64013671875,4385.85009765625,4377.10009765625,4383.330078125,4393.56982421875,4364.2001953125,4339.5400390625,4276.56005859375,4255.83984375,4259.3798828125,4232.419921875,4183.60009765625,4156.7001953125,4177.47021484375,4195.5498046875,4245.64013671875,4319.72021484375,4373.6201171875,4372.2099609375,4386.259765625,4391.2001953125,4393.39990234375,4418.02978515625,4421.759765625,4508.669921875,4521.169921875,4511.990234375,4520.1201171875,4557.10986328125,4542.14013671875,4568.43017578125,4560.31005859375,4560.52001953125,4568.14013671875,4587.64013671875,4569.89013671875,4599.39013671875,4572.3701171875,4578.56005859375,4590.740234375,4590.919921875,4609.22998046875,4623.7099609375,4643.93017578125,4709.68994140625,4738.56982421875,4725.52978515625,4749.52001953125,4768.68994140625,4778.009765625,4748.7099609375,4772.93994140625,4784.72021484375,4785.39013671875,4793.2998046875,4788.43017578125,4754.330078125,4729.2900390625,4726.77978515625,4721.490234375,4764.5400390625,4765.47021484375,4790.7998046875,4798.5,4802.39990234375,4782.33984375,4744.22998046875,4785.7900390625,4842.06982421875,4868.41015625,4866.47998046875,4903.68017578125,4898.14990234375,4906.68994140625,4929.31005859375,4931.08984375,4906.75,4906.97021484375,4975.2900390625,4957.18994140625,4957.77001953125,4999.89013671875,5000.39990234375,5030.06005859375,5048.39013671875,4971.2998046875,5002.52001953125,5032.72021484375,5038.7001953125,4993.7099609375,4983.2099609375,5094.39013671875,5111.06005859375,5097.66015625,5080.68994140625,5077.3701171875,5104.990234375,5140.330078125,5149.669921875,5114.5400390625,5127.97021484375,5165.6201171875,5189.259765625,5124.66015625,5179.8701171875,5179.14013671875,5176.85009765625,5136.85986328125,5175.60009765625,5180.31005859375,5226.18994140625,5261.10009765625,5246.08984375,5229.08984375,5235.16015625,5249.259765625,5264.85009765625,5263.9501953125,5208.33984375,5228.75,5256.58984375,5222.18017578125,5219.56982421875,5224.81005859375,5178.43017578125,5211.77978515625,5175.02978515625,5168.43017578125,5079.83984375,5077.9599609375,5056.66015625,5019.02001953125,5038.83984375,5076.1201171875,5089.47998046875,5057.75,5114.6201171875,5123.490234375,5110.830078125,5096.1201171875,5073.2099609375,5139.1201171875,5181.0,5200.22998046875,5191.9501953125,5215.2998046875,5239.66015625,5237.259765625,5250.3701171875,5311.759765625,5325.490234375,5305.4501953125,5325.31982421875,5324.31982421875,5323.18017578125,5341.8798828125,5311.64990234375,5315.91015625,5282.27001953125,5260.2099609375,5280.330078125,5302.10986328125,5298.7998046875,5354.16015625,5362.35009765625,5375.080078125,5365.7900390625,5375.9501953125,5447.25,5441.93017578125,5432.39013671875,5488.5,5490.3798828125,5505.52978515625,5478.31005859375,5490.66015625,5472.8798828125,5483.14013671875,5490.81005859375,5523.64013671875,5479.5498046875,5509.68994140625,5539.27001953125,5570.330078125,5583.10986328125,5590.75,5635.39013671875,5642.4501953125,5655.56005859375,5666.93994140625,5669.669921875,5622.490234375,5614.0498046875,5557.5,5570.35986328125,5585.33984375,5508.0400390625,5491.58984375,5488.31982421875,5487.740234375,5489.4599609375,5551.509765625,5566.16015625,5383.89013671875,5250.89013671875,5312.33984375,5330.64013671875,5328.02978515625,5358.669921875,5371.2001953125,5436.5,5463.22021484375,5546.22998046875,5561.97998046875,5608.2998046875,5620.509765625,5632.68017578125,5643.22021484375,5641.81982421875,5651.6201171875,5631.18017578125,5627.02978515625,5646.9501953125,5651.3701171875,5623.89013671875,5552.990234375,5546.2998046875,5522.47021484375,5484.2001953125,5497.91015625,5560.41015625,5600.7099609375,5636.27001953125,5636.0498046875,5670.81005859375,5689.75,5733.56982421875,5715.14013671875,5725.35986328125,5735.31982421875,5741.02978515625,5767.3701171875,5763.77978515625,5765.14013671875,5757.72998046875,5719.6298828125,5718.77978515625,5753.2099609375,5739.33984375,5757.60009765625,5796.7998046875,5795.02978515625,5822.1298828125,5871.41015625,5870.35986328125,5846.52001953125,5878.4599609375,5872.169921875,5866.919921875,5863.0400390625,5834.85009765625,5817.7998046875,5862.81982421875,5842.919921875,5847.18994140625,5850.93994140625,5775.33984375,5772.52001953125,5741.43017578125,5783.43994140625,5936.14013671875,5983.83984375,6012.4501953125,6017.31005859375,6009.919921875,6008.18994140625],"low":[3794.330078125,3815.77001953125,3802.419921875,3809.56005859375,3890.419921875,3877.2900390625,3928.5400390625,3937.56005859375,3947.669921875,3984.570068359375,3926.590087890625,3885.5400390625,3897.860107421875,3971.639892578125,3989.7900390625,3949.06005859375,4013.2900390625,4048.699951171875,4015.550048828125,4020.43994140625,4037.199951171875,4141.8798828125,4123.35986328125,4093.3798828125,4088.389892578125,4111.669921875,4069.669921875,4060.7900390625,4092.669921875,4095.010009765625,4103.97998046875,4089.489990234375,4047.949951171875,3995.18994140625,3976.89990234375,3969.18994140625,3943.080078125,3973.550048828125,3968.97998046875,3939.050048828125,3928.159912109375,3995.169921875,4044.610107421875,3980.31005859375,3969.760009765625,3908.699951171875,3846.320068359375,3808.860107421875,3873.6298828125,3838.239990234375,3864.110107421875,3901.27001953125,3916.889892578125,3971.18994140625,3936.169921875,3919.050048828125,3909.159912109375,3970.489990234375,3951.530029296875,3999.530029296875,4032.10009765625,4056.179931640625,4098.7900390625,4086.8701171875,4072.56005859375,4069.840087890625,4072.550048828125,4102.60986328125,4086.93994140625,4099.39990234375,4113.2001953125,4123.18017578125,4140.35986328125,4134.490234375,4114.56982421875,4113.85986328125,4117.77001953125,4071.3798828125,4049.35009765625,4075.2900390625,4127.18017578125,4164.1201171875,4089.719970703125,4088.860107421875,4048.280029296875,4084.72998046875,4123.81005859375,4116.64990234375,4098.919921875,4109.2900390625,4099.1201171875,4110.27001953125,4109.85986328125,4113.6201171875,4153.5,4180.2001953125,4179.68017578125,4142.5400390625,4103.97998046875,4129.72998046875,4156.16015625,4192.18017578125,4166.14990234375,4171.64013671875,4241.009765625,4266.81982421875,4263.08984375,4263.9599609375,4261.06982421875,4291.7001953125,4304.3701171875,4349.31005859375,4337.85009765625,4362.60009765625,4407.43994140625,4367.18994140625,4360.14013671875,4351.81982421875,4341.33984375,4328.080078125,4335.0,4360.22021484375,4371.97021484375,4422.43994140625,4442.2900390625,4436.60986328125,4385.0498046875,4397.39990234375,4389.919921875,4408.4599609375,4463.22998046875,4489.35986328125,4499.56005859375,4504.89990234375,4514.58984375,4557.47998046875,4527.56005859375,4535.7900390625,4541.2900390625,4552.419921875,4547.580078125,4528.56005859375,4564.009765625,4573.14013671875,4567.52978515625,4505.75,4485.5400390625,4474.5498046875,4491.14990234375,4464.39013671875,4461.330078125,4457.919921875,4443.97998046875,4453.43994140625,4432.18994140625,4403.5498046875,4364.830078125,4335.31005859375,4360.2998046875,4382.77001953125,4396.43994140625,4375.5498046875,4356.2900390625,4414.97998046875,4431.68017578125,4493.58984375,4507.39013671875,4501.35009765625,4496.009765625,4442.3798828125,4430.4599609375,4448.3798828125,4467.89013671875,4456.830078125,4453.52001953125,4478.68994140625,4447.2099609375,4442.10986328125,4416.60986328125,4401.3798828125,4329.169921875,4316.490234375,4302.7001953125,4265.97998046875,4238.6298828125,4264.3798828125,4274.85986328125,4260.2099609375,4216.4501953125,4220.47998046875,4225.91015625,4219.5498046875,4283.7900390625,4339.64013671875,4345.33984375,4325.43017578125,4311.97021484375,4342.3701171875,4337.5400390625,4303.83984375,4269.68994140625,4223.02978515625,4189.22021484375,4219.43017578125,4181.419921875,4127.89990234375,4103.77978515625,4132.93994140625,4153.1201171875,4197.740234375,4268.259765625,4334.22998046875,4347.52978515625,4355.41015625,4359.759765625,4343.93994140625,4353.33984375,4393.81982421875,4458.97021484375,4495.31005859375,4487.830078125,4499.66015625,4510.35986328125,4525.509765625,4545.0498046875,4552.7998046875,4546.31982421875,4540.509765625,4547.14990234375,4537.240234375,4554.7099609375,4546.72021484375,4551.68017578125,4546.5,4565.22021484375,4574.06005859375,4593.39013671875,4608.08984375,4643.22998046875,4694.33984375,4704.68994140625,4725.580078125,4743.72021484375,4697.81982421875,4708.35009765625,4736.77001953125,4758.4501953125,4768.89990234375,4780.97998046875,4751.990234375,4722.669921875,4699.7099609375,4687.52978515625,4682.10986328125,4699.81982421875,4730.35009765625,4756.2001953125,4739.580078125,4768.97998046875,4747.1201171875,4714.81982421875,4740.56982421875,4785.8701171875,4844.0498046875,4844.3701171875,4865.93994140625,4869.33984375,4881.47021484375,4887.39990234375,4916.27001953125,4845.14990234375,4853.52001953125,4907.990234375,4918.08984375,4934.8798828125,4969.0498046875,4987.08984375,5000.33984375,5016.830078125,4920.31005859375,4956.4501953125,4999.43994140625,4999.52001953125,4955.02001953125,4946.0,5038.830078125,5081.4599609375,5068.91015625,5057.2900390625,5058.35009765625,5061.89013671875,5094.16015625,5127.18017578125,5056.81982421875,5092.22021484375,5128.2099609375,5117.5,5091.14013671875,5114.47998046875,5151.8798828125,5123.2998046875,5104.35009765625,5145.47021484375,5131.58984375,5171.5498046875,5240.66015625,5229.8701171875,5216.08984375,5203.419921875,5213.919921875,5245.81982421875,5229.2001953125,5184.0498046875,5194.3701171875,5146.06005859375,5157.2099609375,5197.35009765625,5160.77978515625,5138.7001953125,5138.77001953125,5107.93994140625,5052.47021484375,5039.830078125,5007.25,5001.89013671875,4953.56005859375,4969.39990234375,5027.9599609375,5047.02001953125,4990.580078125,5073.14013671875,5088.64990234375,5035.31005859375,5013.4501953125,5011.0498046875,5101.22021484375,5142.419921875,5178.9599609375,5165.85986328125,5180.41015625,5209.68017578125,5211.16015625,5217.97998046875,5263.259765625,5296.18994140625,5283.58984375,5302.39990234375,5297.8701171875,5286.009765625,5256.93017578125,5278.39013671875,5280.89013671875,5262.7001953125,5222.10009765625,5191.68017578125,5234.31982421875,5257.6298828125,5297.64013671875,5335.35986328125,5331.330078125,5331.52001953125,5327.25,5409.1298828125,5402.509765625,5403.75,5420.39990234375,5471.31982421875,5455.56005859375,5452.02978515625,5447.58984375,5446.56005859375,5451.8701171875,5467.5400390625,5451.1201171875,5446.52978515625,5458.43017578125,5507.419921875,5531.6298828125,5562.509765625,5574.56982421875,5586.43994140625,5576.52978515625,5590.43994140625,5614.75,5639.02001953125,5584.81005859375,5522.81005859375,5497.0400390625,5529.0400390625,5550.89990234375,5419.97998046875,5390.9501953125,5430.7001953125,5444.43994140625,5401.7001953125,5493.75,5410.419921875,5302.02978515625,5119.259765625,5193.56005859375,5195.5400390625,5233.85009765625,5300.83984375,5324.3701171875,5376.97998046875,5415.91015625,5501.1298828125,5525.169921875,5550.740234375,5585.5,5591.56982421875,5560.9501953125,5585.16015625,5602.33984375,5593.47998046875,5560.9501953125,5583.7099609375,5581.7900390625,5504.330078125,5503.66015625,5480.5400390625,5402.6201171875,5434.490234375,5441.72021484375,5406.9599609375,5535.5,5601.64990234375,5604.52978515625,5614.0498046875,5615.080078125,5686.419921875,5674.490234375,5704.22021484375,5698.990234375,5712.06005859375,5721.009765625,5727.33984375,5703.52978515625,5681.27978515625,5674.0,5677.3701171875,5702.830078125,5686.85009765625,5714.56005859375,5745.02001953125,5764.759765625,5775.08984375,5829.56982421875,5804.47998046875,5808.33984375,5840.25,5846.10986328125,5824.7900390625,5821.169921875,5762.41015625,5784.919921875,5799.97998046875,5823.080078125,5802.169921875,5811.27978515625,5702.85986328125,5723.22021484375,5696.509765625,5722.10009765625,5864.89013671875,5947.2099609375,5976.759765625,5986.68994140625,5960.080078125,5965.91015625],"open":[3853.2900390625,3840.360107421875,3839.739990234375,3823.3701171875,3910.820068359375,3888.570068359375,3932.35009765625,3977.570068359375,3960.60009765625,3999.280029296875,4002.25,3911.840087890625,3909.0400390625,3978.139892578125,4001.739990234375,3982.7099609375,4036.080078125,4053.719970703125,4049.27001953125,4020.85009765625,4070.070068359375,4158.68017578125,4136.68994140625,4119.56982421875,4105.35009765625,4153.47021484375,4144.25,4068.919921875,4096.6201171875,4126.7001953125,4119.5,4114.75,4077.389892578125,4052.35009765625,4001.830078125,4018.60009765625,3973.239990234375,3992.360107421875,3977.18994140625,3963.340087890625,3938.679931640625,3998.02001953125,4055.14990234375,4048.260009765625,3987.550048828125,3998.659912109375,3912.77001953125,3835.1201171875,3894.010009765625,3876.739990234375,3878.929931640625,3958.68994140625,3917.469970703125,3975.889892578125,4002.0400390625,3959.2099609375,3939.2099609375,3982.929931640625,3974.1298828125,3999.530029296875,4046.739990234375,4056.179931640625,4102.2001953125,4128.02978515625,4094.5,4081.14990234375,4085.199951171875,4110.2900390625,4121.72021484375,4100.0400390625,4140.10986328125,4137.169921875,4164.259765625,4139.330078125,4130.47998046875,4132.14013671875,4132.06982421875,4126.43017578125,4087.780029296875,4075.2900390625,4129.6298828125,4166.7900390625,4164.10009765625,4122.25,4082.550048828125,4084.72998046875,4136.97998046875,4124.25,4143.740234375,4132.240234375,4138.5400390625,4126.64990234375,4127.9501953125,4122.85009765625,4157.68017578125,4204.14990234375,4190.77978515625,4176.7998046875,4132.9599609375,4155.7099609375,4156.16015625,4226.7099609375,4190.740234375,4183.02978515625,4241.009765625,4282.990234375,4271.33984375,4285.47021484375,4268.68994140625,4304.8798828125,4308.31982421875,4352.60986328125,4366.2900390625,4365.330078125,4440.9501953125,4396.10986328125,4380.009765625,4355.39990234375,4354.169921875,4344.83984375,4337.35986328125,4367.47998046875,4374.93994140625,4422.43994140625,4450.47998046875,4442.0400390625,4422.6201171875,4404.5400390625,4394.22998046875,4415.5498046875,4467.68994140625,4491.5,4514.60986328125,4508.85986328125,4521.77978515625,4563.8701171875,4554.3798828125,4550.16015625,4543.39013671875,4555.18994140625,4558.9599609375,4598.259765625,4565.75,4584.81982421875,4578.830078125,4550.93017578125,4494.27001953125,4513.9599609375,4491.580078125,4498.02978515625,4501.56982421875,4487.16015625,4450.68994140625,4458.1298828125,4478.8701171875,4433.7900390625,4416.31982421875,4344.8798828125,4380.27978515625,4415.330078125,4396.43994140625,4455.16015625,4389.3798828125,4426.02978515625,4432.75,4500.33984375,4517.009765625,4530.60009765625,4510.06005859375,4490.35009765625,4434.5498046875,4451.2998046875,4480.97998046875,4473.27001953125,4462.64990234375,4487.77978515625,4497.97998046875,4445.1298828125,4445.41015625,4452.81005859375,4374.35986328125,4341.740234375,4310.6201171875,4312.8798828125,4282.6298828125,4269.64990234375,4328.18017578125,4284.52001953125,4269.75,4233.830078125,4259.31005859375,4234.7900390625,4289.02001953125,4339.75,4366.58984375,4380.93994140625,4360.490234375,4342.3701171875,4345.22998046875,4357.35009765625,4321.35986328125,4273.85009765625,4210.39990234375,4235.7900390625,4232.419921875,4175.990234375,4152.93017578125,4139.39013671875,4171.330078125,4201.27001953125,4268.259765625,4334.22998046875,4364.27001953125,4366.2099609375,4384.3701171875,4391.41015625,4364.14990234375,4406.66015625,4458.97021484375,4505.2998046875,4497.080078125,4509.5498046875,4511.7001953125,4538.77001953125,4553.0400390625,4555.83984375,4554.85986328125,4545.5498046875,4571.83984375,4554.8701171875,4559.43017578125,4564.3701171875,4557.25,4586.22998046875,4568.83984375,4576.2001953125,4593.39013671875,4618.2998046875,4646.2001953125,4721.0400390625,4714.22998046875,4725.580078125,4743.72021484375,4764.72998046875,4724.2900390625,4753.919921875,4758.85986328125,4773.4501953125,4786.43994140625,4782.8798828125,4745.2001953125,4725.06982421875,4697.419921875,4690.56982421875,4703.7001953125,4741.93017578125,4759.93994140625,4792.1298828125,4791.18017578125,4772.35009765625,4739.1298828125,4760.10009765625,4796.27978515625,4853.419921875,4856.7998046875,4888.56005859375,4886.66015625,4888.91015625,4892.9501953125,4925.89013671875,4899.18994140625,4861.10986328125,4916.06005859375,4957.18994140625,4950.16015625,4973.0498046875,4995.16015625,5004.169921875,5026.830078125,4967.93994140625,4976.43994140625,5003.14013671875,5031.1298828125,4989.31982421875,4963.02978515625,5038.830078125,5100.919921875,5093.0,5074.60009765625,5067.2001953125,5085.35986328125,5098.509765625,5130.990234375,5110.52001953125,5108.02978515625,5132.3798828125,5164.4599609375,5111.9599609375,5134.2998046875,5173.490234375,5175.14013671875,5123.31005859375,5154.77001953125,5139.08984375,5181.68994140625,5253.43017578125,5242.47998046875,5219.52001953125,5228.85009765625,5226.31005859375,5248.02978515625,5257.97021484375,5204.2900390625,5194.3701171875,5244.0498046875,5158.9501953125,5211.3701171875,5217.02978515625,5167.8798828125,5172.9501953125,5171.509765625,5149.669921875,5064.58984375,5068.97021484375,5031.52001953125,5005.43994140625,4987.330078125,5028.85009765625,5084.85986328125,5019.8798828125,5084.64990234375,5114.1298828125,5103.77978515625,5029.02978515625,5049.31982421875,5122.77978515625,5142.419921875,5187.2001953125,5168.97998046875,5189.02978515625,5225.490234375,5233.080078125,5221.10009765625,5263.259765625,5310.06982421875,5303.10009765625,5305.35009765625,5298.68994140625,5319.27978515625,5340.259765625,5281.4501953125,5315.91015625,5278.72998046875,5259.77001953125,5243.2099609375,5297.14990234375,5278.240234375,5314.47998046875,5357.7998046875,5343.81005859375,5341.22021484375,5353.0,5409.1298828125,5441.93017578125,5424.080078125,5431.10986328125,5476.14990234375,5499.990234375,5466.77001953125,5459.580078125,5460.72998046875,5460.7099609375,5473.58984375,5488.47998046875,5471.080078125,5461.83984375,5507.43994140625,5537.91015625,5572.75,5584.240234375,5591.259765625,5635.2099609375,5590.759765625,5638.16015625,5644.08984375,5610.06982421875,5608.56005859375,5543.3701171875,5544.5400390625,5565.2998046875,5505.83984375,5428.7001953125,5433.669921875,5476.5498046875,5478.72998046875,5505.58984375,5537.83984375,5376.6298828125,5151.14013671875,5206.419921875,5293.1298828125,5252.56982421875,5314.66015625,5351.8798828125,5376.97998046875,5442.35986328125,5501.1298828125,5530.5,5557.22998046875,5602.8798828125,5603.08984375,5637.77001953125,5602.490234375,5639.66015625,5602.89013671875,5624.509765625,5607.2998046875,5612.740234375,5623.89013671875,5506.68017578125,5520.080078125,5507.330078125,5442.06982421875,5490.509765625,5496.419921875,5557.47998046875,5603.33984375,5615.2099609375,5655.509765625,5641.68017578125,5702.6298828125,5709.64013671875,5711.89990234375,5727.66015625,5733.64990234375,5762.22021484375,5755.35986328125,5726.52001953125,5757.72998046875,5698.14013671875,5698.18994140625,5737.47998046875,5737.7998046875,5719.14013671875,5751.7998046875,5778.35986328125,5775.08984375,5829.81005859375,5866.740234375,5816.580078125,5875.6201171875,5859.43017578125,5857.81982421875,5832.7001953125,5834.5,5817.7998046875,5826.75,5833.93017578125,5819.68017578125,5832.64990234375,5775.33984375,5723.22021484375,5725.14990234375,5722.43017578125,5864.89013671875,5947.2099609375,5976.759765625,6008.85986328125,6003.60009765625,5985.75],"volume":[3959140000,4414080000,3893450000,3923560000,4311770000,3851030000,4303360000,4440260000,3939700000,4235560000,4298710000,3991500000,4013360000,3945210000,3320430000,3724020000,3809590000,3907760000,3802000000,4679320000,4856930000,5624360000,4694510000,4114240000,4355860000,4029820000,4270200000,3891520000,3448620000,3929200000,4075980000,4143660000,4045480000,4121590000,4079320000,3952940000,3877700000,3836950000,5043400000,4249480000,4244900000,4084730000,4000870000,3922500000,3535570000,4445260000,5518190000,6558020000,5665870000,6594010000,5695790000,9354280000,5347140000,4920240000,4533010000,4991600000,4583970000,4233540000,4014600000,4145250000,3930860000,4525120000,4234700000,4227800000,3968020000,3486690000,3423650000,3665830000,3633120000,3596590000,3575690000,3611180000,3536640000,3572560000,3772080000,3611750000,3290940000,3978640000,3837030000,3750550000,4087800000,3321370000,4486130000,4246510000,4920090000,4186270000,3641640000,3810140000,4057160000,3752900000,3533740000,3562170000,3654200000,4039080000,3980500000,4041900000,3728520000,4155320000,3739160000,4147760000,3715460000,4228510000,5980670000,4391860000,4454200000,3813290000,3996560000,4537800000,3826740000,3786510000,3945670000,4275400000,4252110000,4176690000,6848600000,4055790000,3709330000,3511000000,6053620000,3415030000,3573500000,3739330000,3696660000,3923450000,2034280000,3482620000,3682020000,3630480000,3429600000,3624220000,3920290000,3839530000,3647450000,3538240000,4090010000,4115670000,3761770000,3570190000,3856250000,3812470000,3990290000,4553210000,3981010000,4503600000,4042370000,4270710000,4149120000,4143310000,3493920000,3884910000,3803100000,4504370000,3753290000,3896410000,3832250000,3753910000,3943700000,3940400000,3726850000,3522760000,3837270000,3723470000,3296180000,2957230000,3354820000,3064110000,3946360000,3246260000,3526250000,3418850000,3763760000,3259290000,3369920000,3435740000,3529430000,3648720000,6932230000,3161230000,3614880000,3308450000,3662340000,3349570000,3195650000,3472340000,3875880000,3846230000,3865960000,3938660000,3953830000,3777600000,3581470000,3902030000,3174630000,3520240000,3601660000,3713140000,3566560000,3409960000,3794850000,3686030000,3969730000,4004030000,3776100000,3821820000,3869370000,4277640000,4019500000,3911140000,4249470000,4224900000,4669780000,4570960000,3656340000,3791230000,3729510000,3900780000,3665080000,3326240000,4700350000,4347170000,3964520000,3777240000,3644790000,3511080000,3042810000,1639500000,3403990000,3586240000,4418760000,5399300000,4397120000,4369910000,3909950000,4245680000,3818880000,3707010000,3823210000,3808380000,5063650000,6314040000,8218980000,4060340000,4026970000,4201320000,3431180000,3046770000,2513910000,2748450000,2698860000,3126060000,3743050000,3950760000,3715480000,3844370000,3742320000,3529960000,3498680000,3759890000,3486340000,4260550000,3928600000,4019000000,4287200000,4297610000,3912800000,4330030000,4020430000,3353400000,3525160000,3836130000,4696120000,4386090000,3974350000,4023640000,4440880000,4895590000,4341860000,3912990000,3805740000,4302190000,3845600000,4137970000,3833270000,4034880000,3788390000,4051710000,3672790000,3683930000,3925950000,3789370000,5219740000,4748110000,4758440000,4418410000,4559050000,4137980000,4208870000,3896430000,4080510000,4282890000,4687970000,7753670000,4036220000,4031760000,4064850000,4207730000,3374700000,3331360000,3871790000,3850500000,3998270000,3325930000,3886590000,3703250000,4075680000,3386780000,3278180000,3400680000,3845930000,3509380000,3963220000,3950210000,4006200000,3596130000,3619760000,3878750000,3820250000,3751400000,3656740000,3958050000,3604140000,3447450000,4082470000,4544170000,4381660000,3924990000,3683250000,3987890000,3842100000,3727370000,3617900000,4255710000,4763580000,4360810000,3817470000,3578120000,3420100000,3662240000,3847130000,3869520000,3005510000,3751540000,3552750000,3818750000,5437160000,4046920000,3707900000,3591460000,3609990000,3692760000,3622280000,3568030000,3962840000,3530380000,3438650000,3447840000,3544330000,3847060000,6773800000,3696750000,3591960000,3563920000,3589530000,7199220000,3488760000,3329950000,2179470000,3253080000,3185670000,3232920000,3336100000,4020950000,3700280000,3620470000,4041760000,4246450000,4007510000,3760570000,3375180000,3500210000,3945550000,4592120000,3638770000,3379970000,3777740000,4546910000,4703620000,5156450000,5333250000,4690190000,4558260000,4016830000,3516400000,3360160000,3648980000,3380050000,3723310000,3357690000,3222050000,2994420000,3119670000,2981530000,3291940000,2938570000,2798990000,3053450000,3065640000,4185850000,3866350000,3478140000,3521650000,3822800000,3825940000,3848180000,3839450000,3655070000,3500790000,3437070000,3443600000,3691390000,4024530000,7867260000,3529550000,3872710000,3624910000,4391180000,3898530000,4425730000,4025180000,3829050000,3597450000,3479400000,3637790000,3393400000,3650340000,3208790000,3208720000,3005250000,3882120000,3467230000,3480010000,3374490000,3407010000,3342080000,3532650000,3543030000,3501280000,3691280000,3879100000,3851120000,4425660000,3796450000,3602060000,3768310000,6329530000,4925740000,4666740000,4333000000,4243400000,4220180000]}],"adjclose":[{"adjclose":[3824.139892578125,3852.969970703125,3808.10009765625,3895.080078125,3892.090087890625,3919.25,3969.610107421875,3983.169921875,3999.090087890625,3990.969970703125,3928.860107421875,3898.85009765625,3972.610107421875,4019.81005859375,4016.949951171875,4016.219970703125,4060.429931640625,4070.56005859375,4017.77001953125,4076.60009765625,4119.2099609375,4179.759765625,4136.47998046875,4111.080078125,4164.0,4117.85986328125,4081.5,4090.4599609375,4137.2900390625,4136.1298828125,4147.60009765625,4090.409912109375,4079.090087890625,3997.340087890625,3991.050048828125,4012.320068359375,3970.0400390625,3982.239990234375,3970.14990234375,3951.389892578125,3981.35009765625,4045.639892578125,4048.419921875,3986.3701171875,3992.010009765625,3918.320068359375,3861.590087890625,3855.760009765625,3919.2900390625,3891.929931640625,3960.280029296875,3916.639892578125,3951.570068359375,4002.8701171875,3936.969970703125,3948.719970703125,3970.989990234375,3977.530029296875,3971.27001953125,4027.81005859375,4050.830078125,4109.31005859375,4124.509765625,4100.60009765625,4090.3798828125,4105.02001953125,4109.10986328125,4108.93994140625,4091.949951171875,4146.22021484375,4137.64013671875,4151.31982421875,4154.8701171875,4154.52001953125,4129.7900390625,4133.52001953125,4137.0400390625,4071.6298828125,4055.989990234375,4135.35009765625,4169.47998046875,4167.8701171875,4119.580078125,4090.75,4061.219970703125,4136.25,4138.1201171875,4119.169921875,4137.64013671875,4130.6201171875,4124.080078125,4136.27978515625,4109.89990234375,4158.77001953125,4198.0498046875,4191.97998046875,4192.6298828125,4145.580078125,4115.240234375,4151.27978515625,4205.4501953125,4205.52001953125,4179.830078125,4221.02001953125,4282.3701171875,4273.7900390625,4283.85009765625,4267.52001953125,4293.93017578125,4298.85986328125,4338.93017578125,4369.009765625,4372.58984375,4425.83984375,4409.58984375,4388.7099609375,4365.68994140625,4381.89013671875,4348.330078125,4328.81982421875,4378.41015625,4376.85986328125,4396.43994140625,4450.3798828125,4455.58984375,4446.81982421875,4411.58984375,4398.9501953125,4409.52978515625,4439.259765625,4472.16015625,4510.0400390625,4505.419921875,4522.7900390625,4554.97998046875,4565.72021484375,4534.8701171875,4536.33984375,4554.64013671875,4567.4599609375,4566.75,4537.41015625,4582.22998046875,4588.9599609375,4576.72998046875,4513.39013671875,4501.89013671875,4478.02978515625,4518.43994140625,4499.3798828125,4467.7099609375,4468.830078125,4464.0498046875,4489.72021484375,4437.85986328125,4404.330078125,4370.35986328125,4369.7099609375,4399.77001953125,4387.5498046875,4436.009765625,4376.31005859375,4405.7099609375,4433.31005859375,4497.6298828125,4514.8701171875,4507.66015625,4515.77001953125,4496.830078125,4465.47998046875,4451.14013671875,4457.490234375,4487.4599609375,4461.89990234375,4467.43994140625,4505.10009765625,4450.31982421875,4453.52978515625,4443.9501953125,4402.2001953125,4330.0,4320.06005859375,4337.43994140625,4273.52978515625,4274.509765625,4299.7001953125,4288.0498046875,4288.39013671875,4229.4501953125,4263.75,4258.18994140625,4308.5,4335.66015625,4358.240234375,4376.9501953125,4349.60986328125,4327.77978515625,4373.6298828125,4373.2001953125,4314.60009765625,4278.0,4224.16015625,4217.0400390625,4247.68017578125,4186.77001953125,4137.22998046875,4117.3701171875,4166.81982421875,4193.7998046875,4237.85986328125,4317.77978515625,4358.33984375,4365.97998046875,4378.3798828125,4382.77978515625,4347.35009765625,4415.240234375,4411.5498046875,4495.7001953125,4502.8798828125,4508.240234375,4514.02001953125,4547.3798828125,4538.18994140625,4556.6201171875,4559.33984375,4550.43017578125,4554.89013671875,4550.580078125,4567.7998046875,4594.6298828125,4569.77978515625,4567.18017578125,4549.33984375,4585.58984375,4604.3701171875,4622.43994140625,4643.7001953125,4707.08984375,4719.5498046875,4719.18994140625,4740.56005859375,4768.3701171875,4698.35009765625,4746.75,4754.6298828125,4774.75,4781.580078125,4783.35009765625,4769.830078125,4742.830078125,4704.81005859375,4688.68017578125,4697.240234375,4763.5400390625,4756.5,4783.4501953125,4780.240234375,4783.830078125,4765.97998046875,4739.2099609375,4780.93994140625,4839.81005859375,4850.43017578125,4864.60009765625,4868.5498046875,4894.16015625,4890.97021484375,4927.93017578125,4924.97021484375,4845.64990234375,4906.18994140625,4958.60986328125,4942.81005859375,4954.22998046875,4995.06005859375,4997.91015625,5026.60986328125,5021.83984375,4953.169921875,5000.6201171875,5029.72998046875,5005.56982421875,4975.509765625,4981.7998046875,5087.02978515625,5088.7998046875,5069.52978515625,5078.18017578125,5069.759765625,5096.27001953125,5137.080078125,5130.9501953125,5078.64990234375,5104.759765625,5157.35986328125,5123.68994140625,5117.93994140625,5175.27001953125,5165.31005859375,5150.47998046875,5117.08984375,5149.419921875,5178.509765625,5224.6201171875,5241.52978515625,5234.18017578125,5218.18994140625,5203.580078125,5248.490234375,5254.35009765625,5243.77001953125,5205.81005859375,5211.490234375,5147.2099609375,5204.33984375,5202.39013671875,5209.91015625,5160.64013671875,5199.06005859375,5123.41015625,5061.81982421875,5051.41015625,5022.2099609375,5011.1201171875,4967.22998046875,5010.60009765625,5070.5498046875,5071.6298828125,5048.419921875,5099.9599609375,5116.169921875,5035.68994140625,5018.39013671875,5064.2001953125,5127.7900390625,5180.740234375,5187.7001953125,5187.669921875,5214.080078125,5222.68017578125,5221.419921875,5246.68017578125,5308.14990234375,5297.10009765625,5303.27001953125,5308.1298828125,5321.41015625,5307.009765625,5267.83984375,5304.72021484375,5306.0400390625,5266.9501953125,5235.47998046875,5277.509765625,5283.39990234375,5291.33984375,5354.02978515625,5352.9599609375,5346.990234375,5360.7900390625,5375.31982421875,5421.02978515625,5433.740234375,5431.60009765625,5473.22998046875,5487.02978515625,5473.169921875,5464.6201171875,5447.8701171875,5469.2998046875,5477.89990234375,5482.8701171875,5460.47998046875,5475.08984375,5509.009765625,5537.02001953125,5567.18994140625,5572.85009765625,5576.97998046875,5633.91015625,5584.5400390625,5615.35009765625,5631.22021484375,5667.2001953125,5588.27001953125,5544.58984375,5505.0,5564.41015625,5555.740234375,5427.1298828125,5399.22021484375,5459.10009765625,5463.5400390625,5436.43994140625,5522.2998046875,5446.68017578125,5346.56005859375,5186.330078125,5240.02978515625,5199.5,5319.31005859375,5344.16015625,5344.39013671875,5434.43017578125,5455.2099609375,5543.22021484375,5554.25,5608.25,5597.1201171875,5620.85009765625,5570.64013671875,5634.60986328125,5616.83984375,5625.7998046875,5592.18017578125,5591.9599609375,5648.39990234375,5528.93017578125,5520.06982421875,5503.41015625,5408.419921875,5471.0498046875,5495.52001953125,5554.1298828125,5595.759765625,5626.02001953125,5633.08984375,5634.580078125,5618.259765625,5713.64013671875,5702.5498046875,5718.56982421875,5732.93017578125,5722.259765625,5745.3701171875,5738.169921875,5762.47998046875,5708.75,5709.5400390625,5699.93994140625,5751.06982421875,5695.93994140625,5751.1298828125,5792.0400390625,5780.0498046875,5815.02978515625,5859.85009765625,5815.259765625,5842.47021484375,5841.47021484375,5864.669921875,5853.97998046875,5851.2001953125,5797.419921875,5809.85986328125,5808.1201171875,5823.52001953125,5832.919921875,5813.669921875,5705.4501953125,5728.7998046875,5712.68994140625,5782.759765625,5929.0400390625,5973.10009765625,5995.5400390625,6001.35009765625,5983.990234375,5985.3798828125]}]}}],"error":null}}' - headers: - Age: - - '0' - Connection: - - keep-alive - Referrer-Policy: - - no-referrer-when-downgrade - Strict-Transport-Security: - - max-age=31536000 - Transfer-Encoding: - - chunked - X-Content-Type-Options: - - nosniff - X-Frame-Options: - - SAMEORIGIN - X-XSS-Protection: - - 1; mode=block - cache-control: - - public, max-age=10, stale-while-revalidate=20 - content-encoding: - - gzip - content-type: - - application/json;charset=utf-8 - date: - - Thu, 14 Nov 2024 03:49:50 GMT - server: - - ATS - vary: - - Origin,Accept-Encoding - x-envoy-decorator-operation: - - finance-chart-api--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* - x-envoy-upstream-service-time: - - '7' - y-rid: - - 185fq4ljjasqu - status: - code: 200 - message: OK -version: 1 diff --git a/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py b/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py index 605ff3637cd..c1acd96c5ee 100644 --- a/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py +++ b/openbb_platform/providers/yfinance/tests/test_yfinance_fetchers.py @@ -30,9 +30,6 @@ from openbb_yfinance.models.index_historical import ( from openbb_yfinance.models.key_executives import YFinanceKeyExecutivesFetcher from openbb_yfinance.models.key_metrics import YFinanceKeyMetricsFetcher from openbb_yfinance.models.losers import YFLosersFetcher -from openbb_yfinance.models.market_indices import ( - YFinanceMarketIndicesFetcher, -) from openbb_yfinance.models.options_chains import YFinanceOptionsChainsFetcher from openbb_yfinance.models.price_target_consensus import ( YFinancePriceTargetConsensusFetcher, @@ -133,20 +130,6 @@ def test_y_finance_historical_dividends_fetcher(credentials=test_credentials): assert result is None -@pytest.mark.record_http -def test_y_finance_market_indices_fetcher(credentials=test_credentials): - """Test YFinanceMarketIndicesFetcher.""" - params = { - "symbol": "^GSPC", - "start_date": date(2023, 1, 1), - "end_date": date(2023, 1, 10), - } - - fetcher = YFinanceMarketIndicesFetcher() - result = fetcher.test(params, credentials) - assert result is None - - @pytest.mark.record_http def test_y_finance_futures_historical_fetcher(credentials=test_credentials): """Test YFinanceFuturesHistoricalFetcher."""