summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-06-14 17:41:56 -0700
committerDanglewood <85772166+deeleeramone@users.noreply.github.com>2024-06-14 17:41:56 -0700
commit4d8e6eee9d792915b6ef54a7d040d25b5c8f6e04 (patch)
treeda8e619f55ad18a78c7e0b29748e91e6e4ae5079
parentfc70fb9f317b3a3acbd8f725cc072f4c1dd43f8d (diff)
stuff and things
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py33
1 files changed, 17 insertions, 16 deletions
diff --git a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py
index d2f253b5c4a..e36828e8aee 100644
--- a/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py
+++ b/openbb_platform/providers/intrinio/openbb_intrinio/models/options_chains.py
@@ -10,7 +10,6 @@ from typing import Any, Dict, List, Literal, Optional, Union
from warnings import warn
from dateutil import parser
-from openbb_core.provider.abstract.annotated_result import AnnotatedResult
from openbb_core.provider.abstract.fetcher import Fetcher
from openbb_core.provider.standard_models.options_chains import (
OptionsChainsData,
@@ -204,15 +203,20 @@ class IntrinioOptionsChainsFetcher(
"show_extended_price",
],
)
- url = url + f"eod?date={date}&{query_string}"
+ url = url + f"eod?date={query.date}&{query_string}"
else:
+ if query.moneyness:
+ moneyness = (
+ "out_of_the_money"
+ if query.moneyness == "otm"
+ else "in_the_money" if query.moneyness == "itm" else "all"
+ )
+
query_string = get_querystring(
- query.model_dump(exclude_none=True), ["symbol", "date"]
+ query.model_dump(exclude_none=True),
+ ["symbol", "date", "moneyness"],
)
- query_string = query_string.replace(
- "otm", "out_of_the_money"
- ).replace("itm", "in_the_money")
- url = url + f"realtime?{query_string}"
+ url = url + f"realtime?{query_string}&moneyness={moneyness}"
return url + f"&api_key={api_key}"
@@ -239,7 +243,7 @@ class IntrinioOptionsChainsFetcher(
underlying_price: Dict = {}
# If the EOD chains are requested, get the underlying price on the given date.
if query.date is not None:
- if query.symbol.endswith("W"):
+ if query.symbol.endswith("W") and query.symbol.startswith("SPX"):
query.symbol = query.symbol[:-1]
temp = None
try:
@@ -272,7 +276,7 @@ class IntrinioOptionsChainsFetcher(
query: IntrinioOptionsChainsQueryParams,
data: Dict,
**kwargs: Any,
- ) -> AnnotatedResult[List[IntrinioOptionsChainsData]]:
+ ) -> List[IntrinioOptionsChainsData]:
"""Return the transformed data."""
results: List[IntrinioOptionsChainsData] = []
chains = data.get("data", [])
@@ -313,11 +317,8 @@ class IntrinioOptionsChainsFetcher(
_ = new_item.pop("exercise_style", None)
results.append(IntrinioOptionsChainsData.model_validate(new_item))
- return AnnotatedResult(
- result=sorted(
- results,
- key=lambda x: (x.expiration, x.strike, x.option_type),
- reverse=False,
- ),
- metadata=underlying,
+ return sorted(
+ results,
+ key=lambda x: (x.expiration, x.strike, x.option_type),
+ reverse=False,
)