mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-28 04:52:07 +00:00
* publish core and extensions * rebuild and force commit package changes * Remove tiingo, finra and wsj from extras --------- Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
549 lines
20 KiB
Python
549 lines
20 KiB
Python
### 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)
|