### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ### from typing import List, Literal, Optional, Union from openbb_core.app.model.custom_parameter import OpenBBCustomParameter from openbb_core.app.model.obbject import OBBject from openbb_core.app.static.container import Container from openbb_core.app.static.decorators import validate from openbb_core.app.static.filters import filter_inputs from openbb_core.provider.abstract.data import Data from typing_extensions import Annotated class ROUTER_equity(Container): """/equity /calendar /compare /darkpool /discovery /estimates /fundamental market_snapshots /ownership /price profile screener search /shorts """ def __repr__(self) -> str: return self.__doc__ or "" @property def calendar(self): # route = "/equity/calendar" from . import equity_calendar return equity_calendar.ROUTER_equity_calendar( command_runner=self._command_runner ) @property def compare(self): # route = "/equity/compare" from . import equity_compare return equity_compare.ROUTER_equity_compare(command_runner=self._command_runner) @property def darkpool(self): # route = "/equity/darkpool" from . import equity_darkpool return equity_darkpool.ROUTER_equity_darkpool( command_runner=self._command_runner ) @property def discovery(self): # route = "/equity/discovery" from . import equity_discovery return equity_discovery.ROUTER_equity_discovery( command_runner=self._command_runner ) @property def estimates(self): # route = "/equity/estimates" from . import equity_estimates return equity_estimates.ROUTER_equity_estimates( command_runner=self._command_runner ) @property def fundamental(self): # route = "/equity/fundamental" from . import equity_fundamental return equity_fundamental.ROUTER_equity_fundamental( command_runner=self._command_runner ) @validate def market_snapshots( self, provider: Optional[Literal["fmp", "polygon"]] = None, **kwargs ) -> OBBject[List[Data]]: """Get a current, complete, market snapshot. Parameters ---------- provider : Optional[Literal['fmp', 'polygon']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. market : Literal['AMEX', 'AMS', 'ASE', 'ASX', 'ATH', 'BME', 'BRU', 'BUD', 'BUE', 'CAI', 'CNQ', 'CPH', 'DFM', 'DOH', 'DUS', 'ETF', 'EURONEXT', 'HEL', 'HKSE', 'ICE', 'IOB', 'IST', 'JKT', 'JNB', 'JPX', 'KLS', 'KOE', 'KSC', 'KUW', 'LSE', 'MEX', 'MIL', 'NASDAQ', 'NEO', 'NSE', 'NYSE', 'NZE', 'OSL', 'OTC', 'PNK', 'PRA', 'RIS', 'SAO', 'SAU', 'SES', 'SET', 'SGO', 'SHH', 'SHZ', 'SIX', 'STO', 'TAI', 'TLV', 'TSX', 'TWO', 'VIE', 'WSE', 'XETRA'] The market to fetch data for. (provider: fmp) Returns ------- OBBject results : List[MarketSnapshots] Serializable results. provider : Optional[Literal['fmp', 'polygon']] Provider name. warnings : Optional[List[Warning_]] List of warnings. chart : Optional[Chart] Chart object. extra: Dict[str, Any] Extra info. MarketSnapshots --------------- symbol : str Symbol representing the entity requested in the data. open : Optional[float] The open price. high : Optional[float] The high price. low : Optional[float] The low price. close : Optional[float] The close price. prev_close : Optional[float] The previous closing price of the stock. change : Optional[float] The change in price. change_percent : Optional[float] The change, as a percent. volume : Optional[int] The trading volume. price : Optional[float] The last price of the stock. (provider: fmp) avg_volume : Optional[int] Average volume of the stock. (provider: fmp) ma50 : Optional[float] The 50-day moving average. (provider: fmp) ma200 : Optional[float] The 200-day moving average. (provider: fmp) year_high : Optional[float] The 52-week high. (provider: fmp) year_low : Optional[float] The 52-week low. (provider: fmp) market_cap : Optional[float] Market cap of the stock. (provider: fmp) shares_outstanding : Optional[float] Number of shares outstanding. (provider: fmp) eps : Optional[float] Earnings per share. (provider: fmp) pe : Optional[float] Price to earnings ratio. (provider: fmp) exchange : Optional[str] The exchange of the stock. (provider: fmp) timestamp : Optional[Union[int, float]] The timestamp of the data. (provider: fmp) earnings_announcement : Optional[str] The earnings announcement of the stock. (provider: fmp) name : Optional[str] The name associated with the stock symbol. (provider: fmp) vwap : Optional[float] The volume weighted average price of the stock on the current trading day. (provider: polygon) prev_open : Optional[float] The previous trading session opening price. (provider: polygon) prev_high : Optional[float] The previous trading session high price. (provider: polygon) prev_low : Optional[float] The previous trading session low price. (provider: polygon) prev_volume : Optional[float] The previous trading session volume. (provider: polygon) prev_vwap : Optional[float] The previous trading session VWAP. (provider: polygon) last_updated : Optional[datetime] The last time the data was updated. (provider: polygon) bid : Optional[float] The current bid price. (provider: polygon) bid_size : Optional[int] The current bid size. (provider: polygon) ask_size : Optional[int] The current ask size. (provider: polygon) ask : Optional[float] The current ask price. (provider: polygon) quote_timestamp : Optional[datetime] The timestamp of the last quote. (provider: polygon) last_trade_price : Optional[float] The last trade price. (provider: polygon) last_trade_size : Optional[int] The last trade size. (provider: polygon) last_trade_conditions : Optional[List[int]] The last trade condition codes. (provider: polygon) last_trade_exchange : Optional[int] The last trade exchange ID code. (provider: polygon) last_trade_timestamp : Optional[datetime] The last trade timestamp. (provider: polygon) Example ------- >>> from openbb import obb >>> obb.equity.market_snapshots() """ # noqa: E501 inputs = filter_inputs( provider_choices={ "provider": provider, }, standard_params={}, extra_params=kwargs, ) return self._run( "/equity/market_snapshots", **inputs, ) @property def ownership(self): # route = "/equity/ownership" from . import equity_ownership return equity_ownership.ROUTER_equity_ownership( command_runner=self._command_runner ) @property def price(self): # route = "/equity/price" from . import equity_price return equity_price.ROUTER_equity_price(command_runner=self._command_runner) @validate def profile( self, symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], provider: Optional[Literal["intrinio"]] = None, **kwargs ) -> OBBject[Data]: """Equity Info. Get general price and performance metrics of a stock. Parameters ---------- symbol : str Symbol to get data for. provider : Optional[Literal['intrinio']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'intrinio' if there is no default. Returns ------- OBBject results : EquityInfo Serializable results. provider : Optional[Literal['intrinio']] Provider name. warnings : Optional[List[Warning_]] List of warnings. chart : Optional[Chart] Chart object. extra: Dict[str, Any] Extra info. EquityInfo ---------- symbol : str Symbol representing the entity requested in the data. name : Optional[str] Common name of the company. cik : Optional[str] Central Index Key (CIK) for the requested entity. lei : Optional[str] Legal Entity Identifier assigned to the company. legal_name : Optional[str] Official legal name of the company. stock_exchange : Optional[str] Stock exchange where the company is traded. sic : Optional[int] Standard Industrial Classification code for the company. short_description : Optional[str] Short description of the company. long_description : Optional[str] Long description of the company. ceo : Optional[str] Chief Executive Officer of the company. company_url : Optional[str] URL of the company's website. business_address : Optional[str] Address of the company's headquarters. mailing_address : Optional[str] Mailing address of the company. business_phone_no : Optional[str] Phone number of the company's headquarters. hq_address1 : Optional[str] Address of the company's headquarters. hq_address2 : Optional[str] Address of the company's headquarters. hq_address_city : Optional[str] City of the company's headquarters. hq_address_postal_code : Optional[str] Zip code of the company's headquarters. hq_state : Optional[str] State of the company's headquarters. hq_country : Optional[str] Country of the company's headquarters. inc_state : Optional[str] State in which the company is incorporated. inc_country : Optional[str] Country in which the company is incorporated. employees : Optional[int] Number of employees working for the company. entity_legal_form : Optional[str] Legal form of the company. entity_status : Optional[str] Status of the company. latest_filing_date : Optional[date] Date of the company's latest filing. irs_number : Optional[str] IRS number assigned to the company. sector : Optional[str] Sector in which the company operates. industry_category : Optional[str] Category of industry in which the company operates. industry_group : Optional[str] Group of industry in which the company operates. template : Optional[str] Template used to standardize the company's financial statements. standardized_active : Optional[bool] Whether the company is active or not. first_fundamental_date : Optional[date] Date of the company's first fundamental. last_fundamental_date : Optional[date] Date of the company's last fundamental. first_stock_price_date : Optional[date] Date of the company's first stock price. last_stock_price_date : Optional[date] Date of the company's last stock price. id : Optional[str] Intrinio ID for the company. (provider: intrinio) thea_enabled : Optional[bool] Whether the company has been enabled for Thea. (provider: intrinio) Example ------- >>> from openbb import obb >>> obb.equity.profile(symbol="AAPL") """ # noqa: E501 inputs = filter_inputs( provider_choices={ "provider": provider, }, standard_params={ "symbol": ",".join(symbol) if isinstance(symbol, list) else symbol, }, extra_params=kwargs, ) return self._run( "/equity/profile", **inputs, ) @validate def screener( self, provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Equity Screen. Screen for companies meeting various criteria. Parameters ---------- provider : Optional[Literal['fmp']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. mktcap_min : Optional[int] Filter by market cap greater than this value. (provider: fmp) mktcap_max : Optional[int] Filter by market cap less than this value. (provider: fmp) price_min : Optional[float] Filter by price greater than this value. (provider: fmp) price_max : Optional[float] Filter by price less than this value. (provider: fmp) beta_min : Optional[float] Filter by a beta greater than this value. (provider: fmp) beta_max : Optional[float] Filter by a beta less than this value. (provider: fmp) volume_min : Optional[int] Filter by volume greater than this value. (provider: fmp) volume_max : Optional[int] Filter by volume less than this value. (provider: fmp) dividend_min : Optional[float] Filter by dividend amount greater than this value. (provider: fmp) dividend_max : Optional[float] Filter by dividend amount less than this value. (provider: fmp) is_etf : Optional[bool] If true, returns only ETFs. (provider: fmp) is_active : Optional[bool] If false, returns only inactive tickers. (provider: fmp) sector : Optional[Literal['Consumer Cyclical', 'Energy', 'Technology', 'Industrials', 'Financial Services', 'Basic Materials', 'Communication Services', 'Consumer Defensive', 'Healthcare', 'Real Estate', 'Utilities', 'Industrial Goods', 'Financial', 'Services', 'Conglomerates']] Filter by sector. (provider: fmp) industry : Optional[str] Filter by industry. (provider: fmp) country : Optional[str] Filter by country, as a two-letter country code. (provider: fmp) exchange : Optional[Literal['amex', 'ase', 'asx', 'ath', 'bme', 'bru', 'bud', 'bue', 'cai', 'cnq', 'cph', 'dfm', 'doh', 'etf', 'euronext', 'hel', 'hkse', 'ice', 'iob', 'ist', 'jkt', 'jnb', 'jpx', 'kls', 'koe', 'ksc', 'kuw', 'lse', 'mex', 'nasdaq', 'neo', 'nse', 'nyse', 'nze', 'osl', 'otc', 'pnk', 'pra', 'ris', 'sao', 'sau', 'set', 'sgo', 'shh', 'shz', 'six', 'sto', 'tai', 'tlv', 'tsx', 'two', 'vie', 'wse', 'xetra']] Filter by exchange. (provider: fmp) limit : Optional[int] Limit the number of results to return. (provider: fmp) Returns ------- OBBject results : List[EquityScreener] Serializable results. provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. chart : Optional[Chart] Chart object. extra: Dict[str, Any] Extra info. EquityScreener -------------- symbol : str Symbol representing the entity requested in the data. name : str Name of the company. market_cap : Optional[int] The market cap of ticker. (provider: fmp) sector : Optional[str] The sector the ticker belongs to. (provider: fmp) industry : Optional[str] The industry ticker belongs to. (provider: fmp) beta : Optional[float] The beta of the ETF. (provider: fmp) price : Optional[float] The current price. (provider: fmp) last_annual_dividend : Optional[float] The last annual amount dividend paid. (provider: fmp) volume : Optional[int] The current trading volume. (provider: fmp) exchange : Optional[str] The exchange code the asset trades on. (provider: fmp) exchange_name : Optional[str] The full name of the primary exchange. (provider: fmp) country : Optional[str] The two-letter country abbreviation where the head office is located. (provider: fmp) is_etf : Optional[Literal[True, False]] Whether the ticker is an ETF. (provider: fmp) actively_trading : Optional[Literal[True, False]] Whether the ETF is actively trading. (provider: fmp) Example ------- >>> from openbb import obb >>> obb.equity.screener() """ # noqa: E501 inputs = filter_inputs( provider_choices={ "provider": provider, }, standard_params={}, extra_params=kwargs, ) return self._run( "/equity/screener", **inputs, ) @validate def search( self, query: Annotated[str, OpenBBCustomParameter(description="Search query.")] = "", is_symbol: Annotated[ bool, OpenBBCustomParameter(description="Whether to search by ticker symbol."), ] = False, provider: Optional[Literal["sec"]] = None, **kwargs ) -> OBBject[List[Data]]: """Equity Search. Search for a company or stock ticker. Parameters ---------- query : str Search query. is_symbol : bool Whether to search by ticker symbol. provider : Optional[Literal['sec']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'sec' if there is no default. is_fund : bool Whether to direct the search to the list of mutual funds and ETFs. (provider: sec) use_cache : bool Whether to use the cache or not. Company names, tickers, and CIKs are cached for seven days. (provider: sec) Returns ------- OBBject results : List[EquitySearch] Serializable results. provider : Optional[Literal['sec']] Provider name. warnings : Optional[List[Warning_]] List of warnings. chart : Optional[Chart] Chart object. extra: Dict[str, Any] Extra info. EquitySearch ------------ symbol : str Symbol representing the entity requested in the data. name : str Name of the company. cik : Optional[str] Central Index Key (provider: sec) Example ------- >>> from openbb import obb >>> obb.equity.search() """ # noqa: E501 inputs = filter_inputs( provider_choices={ "provider": provider, }, standard_params={ "query": query, "is_symbol": is_symbol, }, extra_params=kwargs, ) return self._run( "/equity/search", **inputs, ) @property def shorts(self): # route = "/equity/shorts" from . import equity_shorts return equity_shorts.ROUTER_equity_shorts(command_runner=self._command_runner)