mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 04:31:13 +00:00
[Feature] - Create repo assets directory (#6384)
* feat: create scripts to generate repo assets * move script * publish.md * deletes unmaintained .md files * ruff * pylint * fix: website urls * fix: website urls * rename script * renames * create folder * mypy * PyDocstyle * fix: descriptions & websites * camelCase * change json structure * logo url * reprName * finra * logos * logo * logo * logo * logo * pylint --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
This commit is contained in:
5
assets/README.md
vendored
Normal file
5
assets/README.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# Assets
|
||||
|
||||
This folder should hold assets read by OpenBB applications, such as OpenBB Hub or marketing website.
|
||||
|
||||
The goal is to be more explicit about which assets are being used externally and cannot be deleted before checking where they are used.
|
||||
6
assets/extensions/obbject.json
vendored
Normal file
6
assets/extensions/obbject.json
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[
|
||||
{
|
||||
"packageName": "openbb-charting",
|
||||
"description": "Create custom charts from OBBject data."
|
||||
}
|
||||
]
|
||||
258
assets/extensions/provider.json
vendored
Normal file
258
assets/extensions/provider.json
vendored
Normal file
@@ -0,0 +1,258 @@
|
||||
[
|
||||
{
|
||||
"packageName": "openbb-alpha-vantage",
|
||||
"reprName": "Alpha Vantage",
|
||||
"description": "Alpha Vantage provides realtime and historical\nfinancial market data through a set of powerful and developer-friendly data APIs\nand spreadsheets. From traditional asset classes (e.g., stocks, ETFs, mutual funds)\nto economic indicators, from foreign exchange rates to commodities,\nfrom fundamental data to technical indicators, Alpha Vantage\nis your one-stop-shop for enterprise-grade global market data delivered through\ncloud-based APIs, Excel, and Google Sheets. ",
|
||||
"credentials": [
|
||||
"alpha_vantage_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_KEY_ALPHAVANTAGE"
|
||||
],
|
||||
"website": "https://www.alphavantage.co",
|
||||
"instructions": "Go to: https://www.alphavantage.co/support/#api-key\n\n\n\nFill out the form, pass Captcha, and click on, \"GET FREE API KEY\"."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-benzinga",
|
||||
"reprName": "Benzinga",
|
||||
"description": "Benzinga is a financial data provider that offers an API\nfocused on information that moves the market.",
|
||||
"credentials": [
|
||||
"benzinga_api_key"
|
||||
],
|
||||
"website": "https://www.benzinga.com",
|
||||
"logoUrl": "https://www.benzinga.com/sites/all/themes/bz2/images/Benzinga-logo-navy.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-biztoc",
|
||||
"reprName": "BizToc",
|
||||
"description": "BizToc uses Rapid API for its REST API.\nYou may sign up for your free account at https://rapidapi.com/thma/api/biztoc.\n\nThe Base URL for all requests is:\n\n https://biztoc.p.rapidapi.com/\n\nIf you're not a developer but would still like to use Biztoc outside of the main website,\nwe've partnered with OpenBB, allowing you to pull in BizToc's news stream in their Terminal.",
|
||||
"credentials": [
|
||||
"biztoc_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_BIZTOC_TOKEN"
|
||||
],
|
||||
"website": "https://api.biztoc.com",
|
||||
"instructions": "The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n",
|
||||
"logoUrl": "https://c.biztoc.com/274/logo.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-cboe",
|
||||
"reprName": "Chicago Board Options Exchange (CBOE)",
|
||||
"description": "Cboe is the world's go-to derivatives and exchange network,\ndelivering cutting-edge trading, clearing and investment solutions to people\naround the world.",
|
||||
"credentials": [],
|
||||
"website": "https://www.cboe.com",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Cboe_Global_Markets_Logo.svg/2880px-Cboe_Global_Markets_Logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-ecb",
|
||||
"reprName": "European Central Bank (ECB)",
|
||||
"description": "The ECB Data Portal provides access to all official ECB statistics.\nThe portal also provides options to download data and comprehensive metadata for each dataset.\nStatistical publications and dashboards offer a compilation of key data on selected topics.",
|
||||
"credentials": [],
|
||||
"website": "https://data.ecb.europa.eu",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Logo_European_Central_Bank.svg/720px-Logo_European_Central_Bank.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-econdb",
|
||||
"reprName": "EconDB",
|
||||
"description": "The mission of the company is to process information in ways that\nfacilitate understanding of the economic situation at different granularity levels.\n\nThe sources of data include official statistics agencies and so-called alternative\ndata sources where we collect direct observations of the market and generate\naggregate statistics.",
|
||||
"credentials": [
|
||||
"econdb_api_key"
|
||||
],
|
||||
"website": "https://econdb.com",
|
||||
"logoUrl": "https://avatars.githubusercontent.com/u/21289885?v=4"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-federal-reserve",
|
||||
"reprName": "Federal Reserve (FED)",
|
||||
"description": "Access data provided by the Federal Reserve System,\nthe Central Bank of the United States.",
|
||||
"credentials": [],
|
||||
"website": "https://www.federalreserve.gov/data.htm",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Seal_of_the_United_States_Federal_Reserve_System.svg/498px-Seal_of_the_United_States_Federal_Reserve_System.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-finra",
|
||||
"reprName": "Financial Industry Regulatory Authority (FINRA)",
|
||||
"description": "FINRA Data provides centralized access to the abundance of data FINRA\nmakes available to the public, media, researchers and member firms.",
|
||||
"credentials": [],
|
||||
"website": "https://www.finra.org/finra-data",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/FINRA_logo.svg/1024px-FINRA_logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-finviz",
|
||||
"reprName": "FinViz",
|
||||
"description": "Unofficial Finviz API - https://github.com/lit26/finvizfinance/releases",
|
||||
"credentials": [],
|
||||
"website": "https://finviz.com",
|
||||
"logoUrl": "https://finviz.com/img/logo_3_2x.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-fmp",
|
||||
"reprName": "Financial Modeling Prep (FMP)",
|
||||
"description": "Financial Modeling Prep is a new concept that informs you about\nstock market information (news, currencies, and stock prices).",
|
||||
"credentials": [
|
||||
"fmp_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_KEY_FINANCIALMODELINGPREP"
|
||||
],
|
||||
"website": "https://financialmodelingprep.com",
|
||||
"instructions": "Go to: https://site.financialmodelingprep.com/developer/docs\n\n\n\nClick on, \"Get my API KEY here\", and sign up for a free account.\n\n\n\nWith an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the \"Dashboard\" button which will show the API key.\n\n",
|
||||
"logoUrl": "https://intelligence.financialmodelingprep.com//images/fmp-brain-original.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-fred",
|
||||
"reprName": "Federal Reserve Economic Data | St. Louis FED (FRED)",
|
||||
"description": "Federal Reserve Economic Data is a database maintained by the\nResearch division of the Federal Reserve Bank of St. Louis that has more than\n816,000 economic time series from various sources.",
|
||||
"credentials": [
|
||||
"fred_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_FRED_KEY"
|
||||
],
|
||||
"website": "https://fred.stlouisfed.org",
|
||||
"instructions": "Go to: https://fred.stlouisfed.org\n\n\n\nClick on, \"My Account\", create a new account or sign in with Google:\n\n\n\nAfter completing the sign-up, go to \"My Account\", and select \"API Keys\". Then, click on, \"Request API Key\".\n\n\n\nFill in the box for information about the use-case for FRED, and by clicking, \"Request API key\", at the bottom of the page, the API key will be issued.\n\n",
|
||||
"logoUrl": "https://fred.stlouisfed.org/images/fred-logo-2x.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-government-us",
|
||||
"reprName": "Data.gov | United States Government",
|
||||
"description": "Data.gov is the United States government's open data website.\nIt provides access to datasets published by agencies across the federal government.\nData.gov is intended to provide access to government open data to the public, achieve\nagency missions, drive innovation, fuel economic activity, and uphold the ideals of\nan open and transparent government.",
|
||||
"credentials": [],
|
||||
"website": "https://data.gov",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/0/06/Muq55HrN_400x400.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-intrinio",
|
||||
"reprName": "Intrinio",
|
||||
"description": "Intrinio is a financial data platform that provides real-time and\nhistorical financial market data to businesses and developers through an API.",
|
||||
"credentials": [
|
||||
"intrinio_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_INTRINIO_KEY"
|
||||
],
|
||||
"website": "https://intrinio.com",
|
||||
"instructions": "Go to: https://intrinio.com/starter-plan\n\n\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard.",
|
||||
"logoUrl": "https://assets-global.website-files.com/617960145ff34fe4a9fe7240/617960145ff34f9a97fe72c8_Intrinio%20Logo%20-%20Dark.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-nasdaq",
|
||||
"reprName": "NASDAQ",
|
||||
"description": "Positioned at the nexus of technology and the capital markets, Nasdaq\nprovides premier platforms and services for global capital markets and beyond with\nunmatched technology, insights and markets expertise.",
|
||||
"credentials": [
|
||||
"nasdaq_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_KEY_QUANDL"
|
||||
],
|
||||
"website": "https://data.nasdaq.com",
|
||||
"instructions": "Go to: https://www.quandl.com\n\n\n\nClick on, \"Sign Up\", and register a new account.\n\n\n\nFollow the sign-up instructions, and upon completion the API key will be assigned.\n\n",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/76/NASDAQ_logo.svg/1600px-NASDAQ_logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-oecd",
|
||||
"reprName": "Organization for Economic Co-operation and Development (OECD)",
|
||||
"description": "OECD.Stat includes data and metadata for OECD countries and selected\nnon-member economies.",
|
||||
"credentials": [],
|
||||
"website": "https://stats.oecd.org",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/OECD_logo.svg/400px-OECD_logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-polygon",
|
||||
"reprName": "Polygon",
|
||||
"description": "The Polygon.io Stocks API provides REST endpoints that let you query\nthe latest market data from all US stock exchanges. You can also find data on\ncompany financials, stock market holidays, corporate actions, and more.",
|
||||
"credentials": [
|
||||
"polygon_api_key"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_POLYGON_KEY"
|
||||
],
|
||||
"website": "https://polygon.io",
|
||||
"instructions": "Go to: https://polygon.io\n\n\n\nClick on, \"Get your Free API Key\".\n\n\n\nAfter signing up, the API Key is found at the bottom of the account dashboard page.\n\n",
|
||||
"logoUrl": "https://polygon.io/_next/image?url=%2Flogo.svg&w=640&q=75"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-sec",
|
||||
"reprName": "Securities and Exchange Commission (SEC)",
|
||||
"description": "SEC is the public listings regulatory body for the United States.",
|
||||
"credentials": [],
|
||||
"website": "https://www.sec.gov/data",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Seal_of_the_United_States_Securities_and_Exchange_Commission.svg/1920px-Seal_of_the_United_States_Securities_and_Exchange_Commission.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-seeking-alpha",
|
||||
"reprName": "Seeking Alpha",
|
||||
"description": "Seeking Alpha is a data provider with access to news, analysis, and\nreal-time alerts on stocks.",
|
||||
"credentials": [],
|
||||
"website": "https://seekingalpha.com",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Seeking_Alpha_Logo.svg/280px-Seeking_Alpha_Logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-stockgrid",
|
||||
"reprName": "Stockgrid",
|
||||
"description": "Stockgrid gives you a detailed view of what smart money is doing.\nGet in depth data about large option blocks being traded, including\nthe sentiment score, size, volume and order type. Stop guessing and\nbuild a strategy around the number 1 factor moving the market: money.",
|
||||
"credentials": [],
|
||||
"website": "https://www.stockgrid.io",
|
||||
"logoUrl": "https://www.stockgrid.io/img/logo_white2.41ee5250.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-tiingo",
|
||||
"reprName": "Tiingo",
|
||||
"description": "A Reliable, Enterprise-Grade Financial Markets API. Tiingo's APIs\npower hedge funds, tech companies, and individuals.",
|
||||
"credentials": [
|
||||
"tiingo_token"
|
||||
],
|
||||
"website": "https://tiingo.com",
|
||||
"logoUrl": "https://www.tiingo.com/dist/images/tiingo/logos/tiingo_full_light_color.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-tmx",
|
||||
"reprName": "TMX",
|
||||
"description": "Unofficial TMX Data Provider Extension\n TMX Group Companies\n - Toronto Stock Exchange\n - TSX Venture Exchange\n - TSX Trust\n - Montr\u00e9al Exchange\n - TSX Alpha Exchange\n - Shorcan\n - CDCC\n - CDS\n - TMX Datalinx\n - Trayport\n ",
|
||||
"credentials": [],
|
||||
"website": "https://www.tmx.com",
|
||||
"logoUrl": "https://www.tmx.com/assets/application/img/tmx_logo_en.1593799726.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-tradier",
|
||||
"reprName": "Tradier",
|
||||
"description": "Tradier provides a full range of services in a scalable, secure,\nand easy-to-use REST-based API for businesses and individual developers.\nFast, secure, simple. Start in minutes.\nGet access to trading, account management, and market-data for\nTradier Brokerage accounts through our APIs.",
|
||||
"credentials": [
|
||||
"tradier_api_key",
|
||||
"tradier_account_type"
|
||||
],
|
||||
"v3Credentials": [
|
||||
"API_TRADIER_TOKEN"
|
||||
],
|
||||
"website": "https://tradier.com",
|
||||
"instructions": "Go to: https://documentation.tradier.com\n\n\n\nClick on, \"Open Account\", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token.",
|
||||
"logoUrl": "https://tradier.com/assets/images/tradier-logo.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-tradingeconomics",
|
||||
"reprName": "Trading Economics",
|
||||
"description": "Trading Economics provides its users with accurate information for\n196 countries including historical data and forecasts for more than 20 million economic\nindicators, exchange rates, stock market indexes, government bond yields and commodity\nprices. Our data for economic indicators is based on official sources, not third party\ndata providers, and our facts are regularly checked for inconsistencies.\nTrading Economics has received nearly 2 billion page views from all around the\nworld.",
|
||||
"credentials": [
|
||||
"tradingeconomics_api_key"
|
||||
],
|
||||
"website": "https://tradingeconomics.com",
|
||||
"logoUrl": "https://developer.tradingeconomics.com/Content/Images/logo.svg"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-wsj",
|
||||
"reprName": "Wall Street Journal (WSJ)",
|
||||
"description": "WSJ (Wall Street Journal) is a business-focused, English-language\ninternational daily newspaper based in New York City. The Journal is published six\ndays a week by Dow Jones & Company, a division of News Corp, along with its Asian\nand European editions. The newspaper is published in the broadsheet format and\nonline. The Journal has been printed continuously since its inception on\nJuly 8, 1889, by Charles Dow, Edward Jones, and Charles Bergstresser.\nThe WSJ is the largest newspaper in the United States, by circulation.\n ",
|
||||
"credentials": [],
|
||||
"website": "https://www.wsj.com",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/WSJ_Logo.svg/1594px-WSJ_Logo.svg.png"
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-yfinance",
|
||||
"reprName": "Yahoo Finance",
|
||||
"description": "Yahoo! Finance is a web-based platform that offers financial news,\ndata, and tools for investors and individuals interested in tracking and analyzing\nfinancial markets and assets.",
|
||||
"credentials": [],
|
||||
"website": "https://finance.yahoo.com",
|
||||
"logoUrl": "https://upload.wikimedia.org/wikipedia/commons/8/8f/Yahoo%21_Finance_logo_2021.png"
|
||||
}
|
||||
]
|
||||
58
assets/extensions/router.json
vendored
Normal file
58
assets/extensions/router.json
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
[
|
||||
{
|
||||
"packageName": "openbb-commodity",
|
||||
"description": "Commodity market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-crypto",
|
||||
"description": "Cryptocurrency market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-currency",
|
||||
"description": "Foreign exchange (FX) market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-derivatives",
|
||||
"description": "Derivatives market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-econometrics",
|
||||
"description": "Econometrics analysis tools."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-economy",
|
||||
"description": "Economic data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-equity",
|
||||
"description": "Equity market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-etf",
|
||||
"description": "Exchange Traded Funds market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-fixedincome",
|
||||
"description": "Fixed Income market data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-index",
|
||||
"description": "Indices data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-news",
|
||||
"description": "Financial market news data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-quantitative",
|
||||
"description": "Quantitative analysis tools."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-regulators",
|
||||
"description": "Financial market regulators data."
|
||||
},
|
||||
{
|
||||
"packageName": "openbb-technical",
|
||||
"description": "Technical Analysis tools."
|
||||
}
|
||||
]
|
||||
115
assets/scripts/generate_extension_data.py
Normal file
115
assets/scripts/generate_extension_data.py
Normal file
@@ -0,0 +1,115 @@
|
||||
"""Generate assets from modules."""
|
||||
|
||||
from importlib import import_module
|
||||
from json import dump
|
||||
from pathlib import Path
|
||||
from typing import Any, Dict, List
|
||||
|
||||
from poetry.core.pyproject.toml import PyProjectTOML
|
||||
|
||||
THIS_DIR = Path(__file__).parent
|
||||
PROVIDERS_PATH = Path(THIS_DIR, "..", "..", "openbb_platform/providers")
|
||||
EXTENSIONS_PATH = Path(THIS_DIR, "..", "..", "openbb_platform/extensions")
|
||||
OBBJECT_EXTENSIONS_PATH = Path(
|
||||
THIS_DIR, "..", "..", "openbb_platform/obbject_extensions"
|
||||
)
|
||||
|
||||
|
||||
def to_title(string: str) -> str:
|
||||
"""Format string to title."""
|
||||
return " ".join(string.split("_")).title()
|
||||
|
||||
|
||||
def get_packages(path: Path, plugin_key: str) -> Dict[str, Any]:
|
||||
"""Get packages."""
|
||||
SKIP = ["tests", "__pycache__"]
|
||||
folders = [f for f in path.glob("*") if f.is_dir() and f.stem not in SKIP]
|
||||
packages: Dict[str, Any] = {}
|
||||
for f in folders:
|
||||
pyproject = PyProjectTOML(Path(f, "pyproject.toml"))
|
||||
poetry = pyproject.data["tool"]["poetry"]
|
||||
name = poetry["name"]
|
||||
plugin = poetry.get("plugins", {}).get(plugin_key)
|
||||
packages[name] = list(plugin.values())[0] if plugin else ""
|
||||
return packages
|
||||
|
||||
|
||||
def write(filename: str, data: Any):
|
||||
"""Write to json."""
|
||||
with open(Path(THIS_DIR, "..", "extensions", f"{filename}.json"), "w") as json_file:
|
||||
dump(data, json_file, indent=4)
|
||||
|
||||
|
||||
def to_camel(string: str):
|
||||
"""Convert string to camel case."""
|
||||
components = string.split("_")
|
||||
return components[0] + "".join(x.title() for x in components[1:])
|
||||
|
||||
|
||||
def createItem(package_name: str, obj: object, attrs: List[str]) -> Dict[str, str]:
|
||||
"""Create dictionary item from object attributes."""
|
||||
item = {"packageName": package_name}
|
||||
item.update(
|
||||
{to_camel(a): getattr(obj, a) for a in attrs if getattr(obj, a) is not None}
|
||||
)
|
||||
return item
|
||||
|
||||
|
||||
def generate_provider_extensions() -> None:
|
||||
"""Generate providers_extensions.json."""
|
||||
packages = get_packages(PROVIDERS_PATH, "openbb_provider_extension")
|
||||
data: List[Dict[str, str]] = []
|
||||
attrs = [
|
||||
"repr_name",
|
||||
"description",
|
||||
"credentials",
|
||||
"v3_credentials",
|
||||
"website",
|
||||
"instructions",
|
||||
"logo_url",
|
||||
]
|
||||
|
||||
for pkg_name, plugin in sorted(packages.items()):
|
||||
file_obj = plugin.split(":")
|
||||
if len(file_obj) == 2:
|
||||
file, obj = file_obj[0], file_obj[1]
|
||||
module = import_module(file)
|
||||
provider_obj = getattr(module, obj)
|
||||
data.append(createItem(pkg_name, provider_obj, attrs))
|
||||
write("provider", data)
|
||||
|
||||
|
||||
def generate_router_extensions() -> None:
|
||||
"""Generate router_extensions.json."""
|
||||
packages = get_packages(EXTENSIONS_PATH, "openbb_core_extension")
|
||||
data: List[Dict[str, str]] = []
|
||||
attrs = ["description"]
|
||||
for pkg_name, plugin in sorted(packages.items()):
|
||||
file_obj = plugin.split(":")
|
||||
if len(file_obj) == 2:
|
||||
file, obj = file_obj[0], file_obj[1]
|
||||
module = import_module(file)
|
||||
router_obj = getattr(module, obj)
|
||||
data.append(createItem(pkg_name, router_obj, attrs))
|
||||
write("router", data)
|
||||
|
||||
|
||||
def generate_obbject_extensions() -> None:
|
||||
"""Generate obbject_extensions.json."""
|
||||
packages = get_packages(OBBJECT_EXTENSIONS_PATH, "openbb_obbject_extension")
|
||||
data: List[Dict[str, str]] = []
|
||||
attrs = ["description"]
|
||||
for pkg_name, plugin in sorted(packages.items()):
|
||||
file_obj = plugin.split(":")
|
||||
if len(file_obj) == 2:
|
||||
file, obj = file_obj[0], file_obj[1]
|
||||
module = import_module(file)
|
||||
ext_obj = getattr(module, obj)
|
||||
data.append(createItem(pkg_name, ext_obj, attrs))
|
||||
write("obbject", data)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
generate_provider_extensions()
|
||||
generate_router_extensions()
|
||||
generate_obbject_extensions()
|
||||
7
build/pypi/openbb_platform/PUBLISH.md
vendored
7
build/pypi/openbb_platform/PUBLISH.md
vendored
@@ -55,6 +55,7 @@
|
||||
|
||||
1. Install the packages on Google Colaboratory via PyPi and test to check if everything is working as expected.
|
||||
2. Install the packages in a new environment locally via PyPi and test to check if everything is working as expected.
|
||||
3. Open a new PR with the `release/<package>-<version>` branch pointing to the `develop` branch.
|
||||
4. Merge the `release/<package>-<version>` branch to the `develop` branch.
|
||||
5. If any bugs are encountered, create a new branch - `hotfix` for `main` and `bugfix` for `develop` and merge them accordingly.
|
||||
3. Regenerate assets for external use by running `python assets/scripts/generate_extension_data.py`
|
||||
4. Open a new PR with the `release/<package>-<version>` branch pointing to the `develop` branch.
|
||||
5. Merge the `release/<package>-<version>` branch to the `develop` branch.
|
||||
6. If any bugs are encountered, create a new branch - `hotfix` for `main` and `bugfix` for `develop` and merge them accordingly.
|
||||
|
||||
16
openbb_platform/EXTENSIONS.md
vendored
16
openbb_platform/EXTENSIONS.md
vendored
@@ -1,16 +0,0 @@
|
||||
# Extensions for OpenBB Platform
|
||||
|
||||
| Extension | Package Name | Description | Maintainer |
|
||||
| --- | --- | --- | --- |
|
||||
| [Equity](./extensions/equity/README.md) | `openbb-equity` | Historical pricing data, fundamentals, options, sector and industry, and overall due diligence. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Economy](./extensions/economy/README.md) | `openbb-economy` | Global macroeconomic data. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Index](./extensions/index/README.md) | `openbb-index` | Market index data. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [News](./extensions/news/README.md) | `openbb-news` | News articles. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Crypto](./extensions/crypto/README.md) | `openbb-crypto` | Cryptocurrency historical pricing data. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Fixed Income](./extensions/fixed_income/README.md) | `openbb-fixed-income` | Central bank decisions, yield curves, government bonds and corporate bonds data. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Currency](./extensions/currency/README.md) | `openbb-currency` | Historical pricing data, foreign exchanges, quotes and forward rates for currency pairs. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Charting](./extensions/charting/README.md) | `openbb-charting` | Charting Manager extension for OpenBB. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Quantitative Analysis](./extensions/qa/README.md) | `openbb-qa` | Statistical and computational techniques for financial data. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Technical Analysis](./extensions/ta/README.md) | `openbb-ta` | Tools and techniques for financial market analysis. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
|
||||
<!-- Add your Extension above this line -->
|
||||
10
openbb_platform/PROVIDERS.md
vendored
10
openbb_platform/PROVIDERS.md
vendored
@@ -1,10 +0,0 @@
|
||||
# Data Provider Integrations for OpenBB
|
||||
|
||||
| Provider | URL | Package name | Description | Maintainer |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| [FMP](./providers/fmp/README.md) | <https://financialmodelingprep.com/> | `openbb-fmp` | Access all stocks discounted cash flow statements, market price, stock markets news, and learn more about Financial Modeling. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Polygon](./providers/polygon/README.md) | <https://polygon.io/> | `openbb-polygon` | Free stock data APIs. Real time and historical data, unlimited usage, tick level and aggregate granularity, in standardized JSON and CSV formats. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [Benzinga](./providers/benzinga/README.md) | <https://www.benzinga.com/> | `openbb-benzinga` | Stock Market Quotes, Business News, Financial News, Trading Ideas, and Stock Research by Professionals. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
| [FRED](./providers/fred/README.md) | <https://fred.stlouisfed.org/> | `openbb-fred` | Download, graph, and track 823000 economic time series from 114 sources. | [@OpenBB-Finance](https://github.com/OpenBB-finance) |
|
||||
|
||||
<!-- Add your Data Provider integration above this line -->
|
||||
58
openbb_platform/assets/providers.json
vendored
58
openbb_platform/assets/providers.json
vendored
@@ -1,58 +0,0 @@
|
||||
[
|
||||
{
|
||||
"name": "Alpha Vantage",
|
||||
"credentials": ["alpha_vantage_api_key"],
|
||||
"v3_credentials": ["API_KEY_ALPHAVANTAGE"],
|
||||
"link": "https://www.alphavantage.co/support/#api-key",
|
||||
"instructions": "Go to: https://www.alphavantage.co/support/#api-key\n\n\n\nFill out the form, pass Captcha, and click on, \"GET FREE API KEY\"."
|
||||
},
|
||||
{
|
||||
"name": "BizToc",
|
||||
"credentials": ["biztoc_api_key"],
|
||||
"v3_credentials": ["API_BIZTOC_TOKEN"],
|
||||
"link": "https://biztoc.com",
|
||||
"instructions": "The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "FRED",
|
||||
"credentials": ["fred_api_key"],
|
||||
"v3_credentials": ["API_FRED_KEY"],
|
||||
"link": "https://fred.stlouisfed.org/docs/api/api_key.html",
|
||||
"instructions": "Go to: https://fred.stlouisfed.org\n\n\n\nClick on, \"My Account\", create a new account or sign in with Google:\n\n\n\nAfter completing the sign-up, go to \"My Account\", and select \"API Keys\". Then, click on, \"Request API Key\".\n\n\n\nFill in the box for information about the use-case for FRED, and by clicking, \"Request API key\", at the bottom of the page, the API key will be issued.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "Financial Modeling Prep",
|
||||
"credentials": ["fmp_api_key"],
|
||||
"v3_credentials": ["API_KEY_FINANCIALMODELINGPREP"],
|
||||
"link": "https://financialmodelingprep.com/developer",
|
||||
"instructions": "Go to: https://site.financialmodelingprep.com/developer/docs\n\n\n\nClick on, \"Get my API KEY here\", and sign up for a free account.\n\n\n\nWith an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the \"Dashboard\" button which will show the API key.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "Intrinio",
|
||||
"credentials": ["intrinio_api_key"],
|
||||
"v3_credentials": ["API_INTRINIO_KEY"],
|
||||
"link": "https://intrinio.com/",
|
||||
"instructions": "Go to: https://intrinio.com/starter-plan\n\n\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard."
|
||||
},
|
||||
{
|
||||
"name": "Polygon",
|
||||
"credentials": ["polygon_api_key"],
|
||||
"v3_credentials": ["API_POLYGON_KEY"],
|
||||
"link": "https://polygon.io",
|
||||
"instructions": "Go to: https://polygon.io\n\n\n\nClick on, \"Get your Free API Key\".\n\n\n\nAfter signing up, the API Key is found at the bottom of the account dashboard page.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "Nasdaq",
|
||||
"credentials": ["nasdaq_api_key"],
|
||||
"v3_credentials": ["API_KEY_QUANDL"],
|
||||
"link": "https://www.quandl.com/tools/api",
|
||||
"instructions": "Go to: https://www.quandl.com\n\n\n\nClick on, \"Sign Up\", and register a new account.\n\n\n\nFollow the sign-up instructions, and upon completion the API key will be assigned.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "Tradier",
|
||||
"credentials": ["tradier_api_key"],
|
||||
"v3_credentials": ["API_TRADIER_TOKEN"],
|
||||
"link": "https://tradier.com/products/market-data-api",
|
||||
"instructions": "Go to: https://documentation.tradier.com\n\n\n\nClick on, \"Open Account\", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token."
|
||||
}
|
||||
]
|
||||
@@ -15,6 +15,7 @@ class Extension:
|
||||
self,
|
||||
name: str,
|
||||
credentials: Optional[List[str]] = None,
|
||||
description: Optional[str] = None,
|
||||
) -> None:
|
||||
"""Initialize the extension.
|
||||
|
||||
@@ -24,9 +25,12 @@ class Extension:
|
||||
Name of the extension.
|
||||
credentials : Optional[List[str]], optional
|
||||
List of required credentials, by default None
|
||||
description: Optional[str]
|
||||
Extension description.
|
||||
"""
|
||||
self.name = name
|
||||
self.credentials = credentials or []
|
||||
self.description = description
|
||||
|
||||
@property
|
||||
def obbject_accessor(self) -> Callable:
|
||||
|
||||
@@ -8,6 +8,7 @@ from openbb_core.provider.abstract.fetcher import Fetcher
|
||||
class Provider:
|
||||
"""Serves as provider extension entry point and must be created by each provider."""
|
||||
|
||||
# pylint: disable=too-many-arguments
|
||||
def __init__(
|
||||
self,
|
||||
name: str,
|
||||
@@ -15,6 +16,10 @@ class Provider:
|
||||
website: Optional[str] = None,
|
||||
credentials: Optional[List[str]] = None,
|
||||
fetcher_dict: Optional[Dict[str, Type[Fetcher]]] = None,
|
||||
repr_name: Optional[str] = None,
|
||||
v3_credentials: Optional[List[str]] = None,
|
||||
instructions: Optional[str] = None,
|
||||
logo_url: Optional[str] = None,
|
||||
) -> None:
|
||||
"""Initialize the provider.
|
||||
|
||||
@@ -26,10 +31,18 @@ class Provider:
|
||||
Description of the provider.
|
||||
website : Optional[str]
|
||||
Website of the provider, by default None.
|
||||
credentials : Optional[List[str]], optional
|
||||
List of required credentials, by default None
|
||||
credentials : Optional[List[str]]
|
||||
List of required credentials, by default None.
|
||||
fetcher_dict : Optional[Dict[str, Type[Fetcher]]]
|
||||
Dictionary of fetchers, by default None.
|
||||
repr_name: Optional[str]
|
||||
Full name of the provider, by default None.
|
||||
v3_credentials: Optional[List[str]]
|
||||
List of corresponding v3 credentials, by default None.
|
||||
instructions: Optional[str]
|
||||
Instructions on how to setup the provider. For example, how to get an API key.
|
||||
logo_url: Optional[str]
|
||||
Provider logo URL.
|
||||
"""
|
||||
self.name = name
|
||||
self.description = description
|
||||
@@ -41,3 +54,7 @@ class Provider:
|
||||
self.credentials = []
|
||||
for c in credentials:
|
||||
self.credentials.append(f"{self.name.lower()}_{c}")
|
||||
self.repr_name = repr_name
|
||||
self.v3_credentials = v3_credentials
|
||||
self.instructions = instructions
|
||||
self.logo_url = logo_url
|
||||
|
||||
@@ -35,13 +35,12 @@ warnings.filterwarnings(
|
||||
"ignore", category=UserWarning, module="openbb_core.app.model.extension", lineno=47
|
||||
)
|
||||
|
||||
ext = Extension(name="charting")
|
||||
ext = Extension(name="charting", description="Create custom charts from OBBject data.")
|
||||
|
||||
|
||||
@ext.obbject_accessor
|
||||
class Charting:
|
||||
"""
|
||||
Charting extension.
|
||||
"""Charting extension.
|
||||
|
||||
Methods
|
||||
-------
|
||||
@@ -79,8 +78,8 @@ class Charting:
|
||||
|
||||
@classmethod
|
||||
def indicators(cls):
|
||||
"""
|
||||
Return an instance of the IndicatorsParams class, containing all available indicators and their parameters.
|
||||
"""Return an instance of the IndicatorsParams class, containing all available indicators and their parameters.
|
||||
|
||||
Without assigning to a variable, it will print the the information to the console.
|
||||
"""
|
||||
return IndicatorsParams()
|
||||
@@ -92,7 +91,6 @@ class Charting:
|
||||
|
||||
def _handle_backend(self) -> Backend:
|
||||
"""Create and start the backend."""
|
||||
|
||||
create_backend(self._charting_settings)
|
||||
backend = get_backend()
|
||||
backend.start(debug=self._charting_settings.debug_mode)
|
||||
@@ -101,15 +99,14 @@ class Charting:
|
||||
@staticmethod
|
||||
def _get_chart_function(route: str) -> Callable:
|
||||
"""Given a route, it returns the chart function. The module must contain the given route."""
|
||||
|
||||
if route is None:
|
||||
raise ValueError("OBBject was initialized with no function route.")
|
||||
adjusted_route = route.replace("/", "_")[1:]
|
||||
return getattr(charting_router, adjusted_route)
|
||||
|
||||
def get_params(self) -> ChartParams:
|
||||
"""
|
||||
Return the ChartQueryParams class for the function the OBBject was created from.
|
||||
"""Return the ChartQueryParams class for the function the OBBject was created from.
|
||||
|
||||
Without assigning to a variable, it will print the docstring to the console.
|
||||
"""
|
||||
if self._obbject._route is None: # pylint: disable=protected-access
|
||||
@@ -128,7 +125,7 @@ class Charting:
|
||||
) -> Tuple[pd.DataFrame, bool]:
|
||||
"""Convert supplied data to a DataFrame."""
|
||||
has_data = (
|
||||
isinstance(data, (Data, pd.DataFrame, pd.Series)) and not data.empty
|
||||
isinstance(data, (Data, pd.DataFrame, pd.Series)) and not data.empty # type: ignore
|
||||
) or (bool(data))
|
||||
index = (
|
||||
data.index.name
|
||||
@@ -393,11 +390,10 @@ class Charting:
|
||||
render: bool = True,
|
||||
**kwargs,
|
||||
):
|
||||
"""
|
||||
Create an OpenBBFigure with user customizations (if any) and save it to the OBBject.
|
||||
"""Create an OpenBBFigure with user customizations (if any) and save it to the OBBject.
|
||||
|
||||
This function is used to populate, or re-populate, the OBBject with a chart using the data within
|
||||
the OBBject or external data supplied via the `data` parameter.
|
||||
|
||||
This function modifies the original OBBject by overwriting the existing chart.
|
||||
|
||||
Parameters
|
||||
@@ -507,10 +503,10 @@ class Charting:
|
||||
current = self._charting_settings.chart_style
|
||||
new = "light" if current == "dark" else "dark"
|
||||
self._charting_settings.chart_style = new
|
||||
figure = self._obbject.chart.fig
|
||||
figure = self._obbject.chart.fig # type: ignore[union-attr]
|
||||
updated_figure = self._set_chart_style(figure)
|
||||
self._obbject.chart.fig = updated_figure
|
||||
self._obbject.chart.content = updated_figure.show(
|
||||
self._obbject.chart.fig = updated_figure # type: ignore[union-attr]
|
||||
self._obbject.chart.content = updated_figure.show( # type: ignore[union-attr]
|
||||
external=True
|
||||
).to_plotly_json()
|
||||
|
||||
@@ -519,8 +515,7 @@ class Charting:
|
||||
data: Optional[Union[pd.DataFrame, pd.Series]] = None,
|
||||
title: str = "",
|
||||
):
|
||||
"""
|
||||
Display an interactive table.
|
||||
"""Display an interactive table.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
@@ -6,18 +6,21 @@ from openbb_core.provider.abstract.provider import Provider
|
||||
|
||||
alpha_vantage_provider = Provider(
|
||||
name="alpha_vantage",
|
||||
website="https://www.alphavantage.co/documentation/",
|
||||
website="https://www.alphavantage.co",
|
||||
description="""Alpha Vantage provides realtime and historical
|
||||
financial market data through a set of powerful and developer-friendly data APIs
|
||||
and spreadsheets. From traditional asset classes (e.g., stocks, ETFs, mutual funds)
|
||||
to economic indicators, from foreign exchange rates to commodities,
|
||||
from fundamental data to technical indicators, Alpha Vantage
|
||||
is your one-stop-shop for enterprise-grade global market data delivered through
|
||||
cloud-based APIs, Excel, and Google Sheets. """,
|
||||
financial market data through a set of powerful and developer-friendly data APIs
|
||||
and spreadsheets. From traditional asset classes (e.g., stocks, ETFs, mutual funds)
|
||||
to economic indicators, from foreign exchange rates to commodities,
|
||||
from fundamental data to technical indicators, Alpha Vantage
|
||||
is your one-stop-shop for enterprise-grade global market data delivered through
|
||||
cloud-based APIs, Excel, and Google Sheets. """,
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"EquityHistorical": AVEquityHistoricalFetcher,
|
||||
"HistoricalEps": AVHistoricalEpsFetcher,
|
||||
"EtfHistorical": AVEquityHistoricalFetcher,
|
||||
},
|
||||
repr_name="Alpha Vantage",
|
||||
v3_credentials=["API_KEY_ALPHAVANTAGE"],
|
||||
instructions='Go to: https://www.alphavantage.co/support/#api-key\n\n\n\nFill out the form, pass Captcha, and click on, "GET FREE API KEY".', # noqa: E501 pylint: disable=line-too-long
|
||||
)
|
||||
|
||||
@@ -8,9 +8,9 @@ from openbb_core.provider.abstract.provider import Provider
|
||||
|
||||
benzinga_provider = Provider(
|
||||
name="benzinga",
|
||||
website="https://www.benzinga.com/",
|
||||
website="https://www.benzinga.com",
|
||||
description="""Benzinga is a financial data provider that offers an API
|
||||
focused on information that moves the market.""",
|
||||
focused on information that moves the market.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"AnalystSearch": BenzingaAnalystSearchFetcher,
|
||||
@@ -18,4 +18,6 @@ benzinga_provider = Provider(
|
||||
"WorldNews": BenzingaWorldNewsFetcher,
|
||||
"PriceTarget": BenzingaPriceTargetFetcher,
|
||||
},
|
||||
repr_name="Benzinga",
|
||||
logo_url="https://www.benzinga.com/sites/all/themes/bz2/images/Benzinga-logo-navy.svg",
|
||||
)
|
||||
|
||||
@@ -5,18 +5,22 @@ from openbb_core.provider.abstract.provider import Provider
|
||||
|
||||
biztoc_provider = Provider(
|
||||
name="biztoc",
|
||||
website="https://api.biztoc.com/#biztoc-default",
|
||||
website="https://api.biztoc.com",
|
||||
description="""BizToc uses Rapid API for its REST API.
|
||||
You may sign up for your free account at https://rapidapi.com/thma/api/biztoc.
|
||||
You may sign up for your free account at https://rapidapi.com/thma/api/biztoc.
|
||||
|
||||
The Base URL for all requests is:
|
||||
The Base URL for all requests is:
|
||||
|
||||
https://biztoc.p.rapidapi.com/
|
||||
https://biztoc.p.rapidapi.com/
|
||||
|
||||
If you're not a developer but would still like to use Biztoc outside of the main website,
|
||||
we've partnered with OpenBB, allowing you to pull in BizToc's news stream in their Terminal.""",
|
||||
If you're not a developer but would still like to use Biztoc outside of the main website,
|
||||
we've partnered with OpenBB, allowing you to pull in BizToc's news stream in their Terminal.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"WorldNews": BiztocWorldNewsFetcher,
|
||||
},
|
||||
repr_name="BizToc",
|
||||
v3_credentials=["API_BIZTOC_TOKEN"],
|
||||
instructions="The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n", # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://c.biztoc.com/274/logo.svg",
|
||||
)
|
||||
|
||||
@@ -18,10 +18,10 @@ from openbb_core.provider.abstract.provider import Provider
|
||||
|
||||
cboe_provider = Provider(
|
||||
name="cboe",
|
||||
website="https://www.cboe.com/",
|
||||
website="https://www.cboe.com",
|
||||
description="""Cboe is the world's go-to derivatives and exchange network,
|
||||
delivering cutting-edge trading, clearing and investment solutions to people
|
||||
around the world.""",
|
||||
delivering cutting-edge trading, clearing and investment solutions to people
|
||||
around the world.""",
|
||||
credentials=None,
|
||||
fetcher_dict={
|
||||
"AvailableIndices": CboeAvailableIndicesFetcher,
|
||||
@@ -37,4 +37,6 @@ cboe_provider = Provider(
|
||||
"MarketIndices": CboeIndexHistoricalFetcher,
|
||||
"OptionsChains": CboeOptionsChainsFetcher,
|
||||
},
|
||||
repr_name="Chicago Board Options Exchange (CBOE)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Cboe_Global_Markets_Logo.svg/2880px-Cboe_Global_Markets_Logo.svg.png", # noqa: E501 pylint: disable=line-too-long
|
||||
)
|
||||
|
||||
@@ -7,13 +7,15 @@ from openbb_ecb.models.eu_yield_curve import ECBEUYieldCurveFetcher
|
||||
|
||||
ecb_provider = Provider(
|
||||
name="ECB",
|
||||
website="https://data.ecb.europa.eu/",
|
||||
website="https://data.ecb.europa.eu",
|
||||
description="""The ECB Data Portal provides access to all official ECB statistics.
|
||||
The portal also provides options to download data and comprehensive metadata for each dataset.
|
||||
Statistical publications and dashboards offer a compilation of key data on selected topics.""",
|
||||
The portal also provides options to download data and comprehensive metadata for each dataset.
|
||||
Statistical publications and dashboards offer a compilation of key data on selected topics.""",
|
||||
fetcher_dict={
|
||||
"BalanceOfPayments": ECBBalanceOfPaymentsFetcher,
|
||||
"CurrencyReferenceRates": ECBCurrencyReferenceRatesFetcher,
|
||||
"EUYieldCurve": ECBEUYieldCurveFetcher,
|
||||
},
|
||||
repr_name="European Central Bank (ECB)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Logo_European_Central_Bank.svg/720px-Logo_European_Central_Bank.svg.png", # noqa: E501 pylint: disable=line-too-long
|
||||
)
|
||||
|
||||
@@ -7,14 +7,21 @@ from openbb_econdb.models.economic_indicators import EconDbEconomicIndicatorsFet
|
||||
|
||||
econdb_provider = Provider(
|
||||
name="EconDB",
|
||||
website="https://econdb.com/",
|
||||
description="""EconDB is a provider of data.""",
|
||||
website="https://econdb.com",
|
||||
description="""The mission of the company is to process information in ways that
|
||||
facilitate understanding of the economic situation at different granularity levels.
|
||||
|
||||
The sources of data include official statistics agencies and so-called alternative
|
||||
data sources where we collect direct observations of the market and generate
|
||||
aggregate statistics.""",
|
||||
credentials=[
|
||||
"api_key"
|
||||
], # Can be left as None, an attempt to use a temporaray token will be made.
|
||||
], # Can be left as None, an attempt to use a temporary token will be made.
|
||||
fetcher_dict={
|
||||
"AvailableIndicators": EconDbAvailableIndicatorsFetcher,
|
||||
"CountryProfile": EconDbCountryProfileFetcher,
|
||||
"EconomicIndicators": EconDbEconomicIndicatorsFetcher,
|
||||
},
|
||||
repr_name="EconDB",
|
||||
logo_url="https://avatars.githubusercontent.com/u/21289885?v=4",
|
||||
)
|
||||
|
||||
@@ -11,11 +11,14 @@ from openbb_federal_reserve.models.treasury_rates import (
|
||||
|
||||
federal_reserve_provider = Provider(
|
||||
name="federal_reserve",
|
||||
website="https://www.federalreserve.gov/data.htm",
|
||||
description=(),
|
||||
website="https://www.federalreserve.gov/data.htm", # Not a typo, it's really .htm
|
||||
description="""Access data provided by the Federal Reserve System,
|
||||
the Central Bank of the United States.""",
|
||||
fetcher_dict={
|
||||
"TreasuryRates": FederalReserveTreasuryRatesFetcher,
|
||||
"MoneyMeasures": FederalReserveMoneyMeasuresFetcher,
|
||||
"FEDFUNDS": FederalReserveFEDFetcher,
|
||||
},
|
||||
repr_name="Federal Reserve (FED)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Seal_of_the_United_States_Federal_Reserve_System.svg/498px-Seal_of_the_United_States_Federal_Reserve_System.svg.png", # noqa: E501 pylint: disable=line-too-long
|
||||
)
|
||||
|
||||
@@ -6,11 +6,14 @@ from openbb_finra.models.otc_aggregate import FinraOTCAggregateFetcher
|
||||
|
||||
finra_provider = Provider(
|
||||
name="finra",
|
||||
website="https://finra.org",
|
||||
description="Financial Industry Regulatory Authority.",
|
||||
website="https://www.finra.org/finra-data",
|
||||
description="""FINRA Data provides centralized access to the abundance of data FINRA
|
||||
makes available to the public, media, researchers and member firms.""",
|
||||
credentials=None,
|
||||
fetcher_dict={
|
||||
"OTCAggregate": FinraOTCAggregateFetcher,
|
||||
"EquityShortInterest": FinraShortInterestFetcher,
|
||||
},
|
||||
repr_name="Financial Industry Regulatory Authority (FINRA)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/FINRA_logo.svg/1024px-FINRA_logo.svg.png",
|
||||
)
|
||||
|
||||
@@ -20,4 +20,6 @@ finviz_provider = Provider(
|
||||
"PricePerformance": FinvizPricePerformanceFetcher,
|
||||
"PriceTarget": FinvizPriceTargetFetcher,
|
||||
},
|
||||
repr_name="FinViz",
|
||||
logo_url="https://finviz.com/img/logo_3_2x.png",
|
||||
)
|
||||
|
||||
@@ -66,9 +66,9 @@ from openbb_fmp.models.world_news import FMPWorldNewsFetcher
|
||||
|
||||
fmp_provider = Provider(
|
||||
name="fmp",
|
||||
website="https://financialmodelingprep.com/",
|
||||
website="https://financialmodelingprep.com",
|
||||
description="""Financial Modeling Prep is a new concept that informs you about
|
||||
stock market information (news, currencies, and stock prices).""",
|
||||
stock market information (news, currencies, and stock prices).""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"AnalystEstimates": FMPAnalystEstimatesFetcher,
|
||||
@@ -135,4 +135,8 @@ fmp_provider = Provider(
|
||||
"WorldNews": FMPWorldNewsFetcher,
|
||||
"EtfHistorical": FMPEquityHistoricalFetcher,
|
||||
},
|
||||
repr_name="Financial Modeling Prep (FMP)",
|
||||
v3_credentials=["API_KEY_FINANCIALMODELINGPREP"],
|
||||
instructions='Go to: https://site.financialmodelingprep.com/developer/docs\n\n\n\nClick on, "Get my API KEY here", and sign up for a free account.\n\n\n\nWith an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the "Dashboard" button which will show the API key.\n\n', # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://intelligence.financialmodelingprep.com//images/fmp-brain-original.svg",
|
||||
)
|
||||
|
||||
@@ -30,10 +30,10 @@ from openbb_fred.models.us_yield_curve import FREDYieldCurveFetcher
|
||||
|
||||
fred_provider = Provider(
|
||||
name="fred",
|
||||
website="https://fred.stlouisfed.org/",
|
||||
website="https://fred.stlouisfed.org",
|
||||
description="""Federal Reserve Economic Data is a database maintained by the
|
||||
Research division of the Federal Reserve Bank of St. Louis that has more than
|
||||
816,000 economic time series from various sources.""",
|
||||
Research division of the Federal Reserve Bank of St. Louis that has more than
|
||||
816,000 economic time series from various sources.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"ConsumerPriceIndex": FREDConsumerPriceIndexFetcher,
|
||||
@@ -59,4 +59,8 @@ fred_provider = Provider(
|
||||
"SelectedTreasuryConstantMaturity": FREDSelectedTreasuryConstantMaturityFetcher,
|
||||
"SelectedTreasuryBill": FREDSelectedTreasuryBillFetcher,
|
||||
},
|
||||
repr_name="Federal Reserve Economic Data | St. Louis FED (FRED)",
|
||||
v3_credentials=["API_FRED_KEY"],
|
||||
instructions='Go to: https://fred.stlouisfed.org\n\n\n\nClick on, "My Account", create a new account or sign in with Google:\n\n\n\nAfter completing the sign-up, go to "My Account", and select "API Keys". Then, click on, "Request API Key".\n\n\n\nFill in the box for information about the use-case for FRED, and by clicking, "Request API key", at the bottom of the page, the API key will be issued.\n\n', # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://fred.stlouisfed.org/images/fred-logo-2x.png",
|
||||
)
|
||||
|
||||
@@ -10,16 +10,16 @@ from openbb_government_us.models.treasury_prices import (
|
||||
|
||||
government_us_provider = Provider(
|
||||
name="government_us",
|
||||
website="https://data.gov/",
|
||||
description=(
|
||||
"Data.gov is the United States government's open data website."
|
||||
+ " It provides access to datasets published by agencies across the federal government. "
|
||||
+ "Data.gov is intended to provide access to government open data to the public, "
|
||||
+ "achieve agency missions, drive innovation, fuel economic activity, "
|
||||
+ "and uphold the ideals of an open and transparent government."
|
||||
),
|
||||
website="https://data.gov",
|
||||
description="""Data.gov is the United States government's open data website.
|
||||
It provides access to datasets published by agencies across the federal government.
|
||||
Data.gov is intended to provide access to government open data to the public, achieve
|
||||
agency missions, drive innovation, fuel economic activity, and uphold the ideals of
|
||||
an open and transparent government.""",
|
||||
fetcher_dict={
|
||||
"TreasuryAuctions": GovernmentUSTreasuryAuctionsFetcher,
|
||||
"TreasuryPrices": GovernmentUSTreasuryPricesFetcher,
|
||||
},
|
||||
repr_name="Data.gov | United States Government",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/0/06/Muq55HrN_400x400.png",
|
||||
)
|
||||
|
||||
@@ -55,9 +55,9 @@ from openbb_intrinio.models.world_news import IntrinioWorldNewsFetcher
|
||||
|
||||
intrinio_provider = Provider(
|
||||
name="intrinio",
|
||||
website="https://intrinio.com/",
|
||||
website="https://intrinio.com",
|
||||
description="""Intrinio is a financial data platform that provides real-time and
|
||||
historical financial market data to businesses and developers through an API.""",
|
||||
historical financial market data to businesses and developers through an API.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"BalanceSheet": IntrinioBalanceSheetFetcher,
|
||||
@@ -97,4 +97,8 @@ intrinio_provider = Provider(
|
||||
"ShareStatistics": IntrinioShareStatisticsFetcher,
|
||||
"WorldNews": IntrinioWorldNewsFetcher,
|
||||
},
|
||||
repr_name="Intrinio",
|
||||
v3_credentials=["API_INTRINIO_KEY"],
|
||||
instructions="Go to: https://intrinio.com/starter-plan\n\n\n\nAn API key will be issued with a subscription. Find the token value within the account dashboard.", # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://assets-global.website-files.com/617960145ff34fe4a9fe7240/617960145ff34f9a97fe72c8_Intrinio%20Logo%20-%20Dark.svg",
|
||||
)
|
||||
|
||||
@@ -33,4 +33,8 @@ unmatched technology, insights and markets expertise.""",
|
||||
"SP500Multiples": NasdaqSP500MultiplesFetcher,
|
||||
"TopRetail": NasdaqTopRetailFetcher,
|
||||
},
|
||||
repr_name="NASDAQ",
|
||||
v3_credentials=["API_KEY_QUANDL"],
|
||||
instructions='Go to: https://www.quandl.com\n\n\n\nClick on, "Sign Up", and register a new account.\n\n\n\nFollow the sign-up instructions, and upon completion the API key will be assigned.\n\n', # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/7/76/NASDAQ_logo.svg/1600px-NASDAQ_logo.svg.png",
|
||||
)
|
||||
|
||||
@@ -11,8 +11,9 @@ from openbb_oecd.models.unemployment import OECDUnemploymentFetcher
|
||||
|
||||
oecd_provider = Provider(
|
||||
name="oecd",
|
||||
website="https://stats.oecd.org/",
|
||||
description="""OECD""",
|
||||
website="https://stats.oecd.org",
|
||||
description="""OECD.Stat includes data and metadata for OECD countries and selected
|
||||
non-member economies.""",
|
||||
fetcher_dict={
|
||||
"GdpNominal": OECDGdpNominalFetcher,
|
||||
"GdpReal": OECDGdpRealFetcher,
|
||||
@@ -22,4 +23,6 @@ oecd_provider = Provider(
|
||||
"STIR": OECDSTIRFetcher,
|
||||
"LTIR": OECDLTIRFetcher,
|
||||
},
|
||||
repr_name="Organization for Economic Co-operation and Development (OECD)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/OECD_logo.svg/400px-OECD_logo.svg.png",
|
||||
)
|
||||
|
||||
@@ -18,10 +18,10 @@ from openbb_polygon.models.market_snapshots import PolygonMarketSnapshotsFetcher
|
||||
|
||||
polygon_provider = Provider(
|
||||
name="polygon",
|
||||
website="https://polygon.io/",
|
||||
website="https://polygon.io",
|
||||
description="""The Polygon.io Stocks API provides REST endpoints that let you query
|
||||
the latest market data from all US stock exchanges. You can also find data on
|
||||
company financials, stock market holidays, corporate actions, and more.""",
|
||||
the latest market data from all US stock exchanges. You can also find data on
|
||||
company financials, stock market holidays, corporate actions, and more.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={
|
||||
"BalanceSheet": PolygonBalanceSheetFetcher,
|
||||
@@ -39,4 +39,8 @@ polygon_provider = Provider(
|
||||
"MarketIndices": PolygonIndexHistoricalFetcher,
|
||||
"MarketSnapshots": PolygonMarketSnapshotsFetcher,
|
||||
},
|
||||
repr_name="Polygon",
|
||||
v3_credentials=["API_POLYGON_KEY"],
|
||||
instructions='Go to: https://polygon.io\n\n\n\nClick on, "Get your Free API Key".\n\n\n\nAfter signing up, the API Key is found at the bottom of the account dashboard page.\n\n', # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://polygon.io/_next/image?url=%2Flogo.svg&w=640&q=75",
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ from openbb_sec.models.symbol_map import SecSymbolMapFetcher
|
||||
|
||||
sec_provider = Provider(
|
||||
name="sec",
|
||||
website="https://sec.gov",
|
||||
website="https://www.sec.gov/data",
|
||||
description="SEC is the public listings regulatory body for the United States.",
|
||||
credentials=None,
|
||||
fetcher_dict={
|
||||
@@ -32,4 +32,6 @@ sec_provider = Provider(
|
||||
"SicSearch": SecSicSearchFetcher,
|
||||
"SymbolMap": SecSymbolMapFetcher,
|
||||
},
|
||||
repr_name="Securities and Exchange Commission (SEC)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Seal_of_the_United_States_Securities_and_Exchange_Commission.svg/1920px-Seal_of_the_United_States_Securities_and_Exchange_Commission.svg.png", # noqa: E501 pylint: disable=line-too-long
|
||||
)
|
||||
|
||||
@@ -9,8 +9,10 @@ seeking_alpha_provider = Provider(
|
||||
name="seeking_alpha",
|
||||
website="https://seekingalpha.com",
|
||||
description="""Seeking Alpha is a data provider with access to news, analysis, and
|
||||
real-time alerts on stocks.""",
|
||||
real-time alerts on stocks.""",
|
||||
fetcher_dict={
|
||||
"UpcomingReleaseDays": SAUpcomingReleaseDaysFetcher,
|
||||
},
|
||||
repr_name="Seeking Alpha",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Seeking_Alpha_Logo.svg/280px-Seeking_Alpha_Logo.svg.png",
|
||||
)
|
||||
|
||||
@@ -5,14 +5,14 @@ from openbb_stockgrid.models.short_volume import StockgridShortVolumeFetcher
|
||||
|
||||
stockgrid_provider = Provider(
|
||||
name="stockgrid",
|
||||
website="www.stockgrid.io",
|
||||
description=(
|
||||
"Stockgrid gives you a detailed view of what smart money is doing. "
|
||||
"Get in depth data about large option blocks being traded, including "
|
||||
"the sentiment score, size, volume and order type. Stop guessing and "
|
||||
"build a strategy around the number 1 factor moving the market: money."
|
||||
),
|
||||
website="https://www.stockgrid.io",
|
||||
description="""Stockgrid gives you a detailed view of what smart money is doing.
|
||||
Get in depth data about large option blocks being traded, including
|
||||
the sentiment score, size, volume and order type. Stop guessing and
|
||||
build a strategy around the number 1 factor moving the market: money.""",
|
||||
fetcher_dict={
|
||||
"ShortVolume": StockgridShortVolumeFetcher,
|
||||
},
|
||||
repr_name="Stockgrid",
|
||||
logo_url="https://www.stockgrid.io/img/logo_white2.41ee5250.svg",
|
||||
)
|
||||
|
||||
@@ -10,8 +10,9 @@ from openbb_tiingo.models.world_news import TiingoWorldNewsFetcher
|
||||
|
||||
tiingo_provider = Provider(
|
||||
name="tiingo",
|
||||
website="https://tiingo.com/",
|
||||
description="""""",
|
||||
website="https://tiingo.com",
|
||||
description="""A Reliable, Enterprise-Grade Financial Markets API. Tiingo's APIs
|
||||
power hedge funds, tech companies, and individuals.""",
|
||||
credentials=["token"],
|
||||
fetcher_dict={
|
||||
"EquityHistorical": TiingoEquityHistoricalFetcher,
|
||||
@@ -22,4 +23,6 @@ tiingo_provider = Provider(
|
||||
"CurrencyHistorical": TiingoCurrencyHistoricalFetcher,
|
||||
"TrailingDividendYield": TiingoTrailingDivYieldFetcher,
|
||||
},
|
||||
repr_name="Tiingo",
|
||||
logo_url="https://www.tiingo.com/dist/images/tiingo/logos/tiingo_full_light_color.svg",
|
||||
)
|
||||
|
||||
@@ -27,19 +27,19 @@ from openbb_tmx.models.treasury_prices import TmxTreasuryPricesFetcher
|
||||
|
||||
tmx_provider = Provider(
|
||||
name="tmx",
|
||||
website="https://www.tmx.com/",
|
||||
website="https://www.tmx.com",
|
||||
description="""Unofficial TMX Data Provider Extension
|
||||
TMX Group Companies
|
||||
- Toronto Stock Exchange
|
||||
- TSX Venture Exchange
|
||||
- TSX Trust
|
||||
- Montréal Exchange
|
||||
- TSX Alpha Exchange
|
||||
- Shorcan
|
||||
- CDCC
|
||||
- CDS
|
||||
- TMX Datalinx
|
||||
- Trayport
|
||||
TMX Group Companies
|
||||
- Toronto Stock Exchange
|
||||
- TSX Venture Exchange
|
||||
- TSX Trust
|
||||
- Montréal Exchange
|
||||
- TSX Alpha Exchange
|
||||
- Shorcan
|
||||
- CDCC
|
||||
- CDS
|
||||
- TMX Datalinx
|
||||
- Trayport
|
||||
""",
|
||||
fetcher_dict={
|
||||
"AvailableIndices": TmxAvailableIndicesFetcher,
|
||||
@@ -67,4 +67,6 @@ tmx_provider = Provider(
|
||||
"PriceTargetConsensus": TmxPriceTargetConsensusFetcher,
|
||||
"TreasuryPrices": TmxTreasuryPricesFetcher,
|
||||
},
|
||||
repr_name="TMX",
|
||||
logo_url="https://www.tmx.com/assets/application/img/tmx_logo_en.1593799726.svg",
|
||||
)
|
||||
|
||||
@@ -9,11 +9,11 @@ from openbb_tradier.models.options_chains import TradierOptionsChainsFetcher
|
||||
tradier_provider = Provider(
|
||||
name="tradier",
|
||||
website="https://tradier.com",
|
||||
description="Tradier provides a full range of services in a scalable, secure,"
|
||||
+ " and easy-to-use REST-based API for businesses and individual developers."
|
||||
+ " Fast, secure, simple. Start in minutes."
|
||||
+ " Get access to trading, account management, and market-data for"
|
||||
+ " Tradier Brokerage accounts through our APIs.",
|
||||
description="""Tradier provides a full range of services in a scalable, secure,
|
||||
and easy-to-use REST-based API for businesses and individual developers.
|
||||
Fast, secure, simple. Start in minutes.
|
||||
Get access to trading, account management, and market-data for
|
||||
Tradier Brokerage accounts through our APIs.""",
|
||||
credentials=[
|
||||
"api_key",
|
||||
"account_type",
|
||||
@@ -25,4 +25,8 @@ tradier_provider = Provider(
|
||||
"EquitySearch": TradierEquitySearchFetcher,
|
||||
"OptionsChains": TradierOptionsChainsFetcher,
|
||||
},
|
||||
repr_name="Tradier",
|
||||
v3_credentials=["API_TRADIER_TOKEN"],
|
||||
instructions='Go to: https://documentation.tradier.com\n\n\n\nClick on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token.', # noqa: E501 pylint: disable=line-too-long
|
||||
logo_url="https://tradier.com/assets/images/tradier-logo.svg",
|
||||
)
|
||||
|
||||
@@ -5,8 +5,16 @@ from openbb_tradingeconomics.models.economic_calendar import TEEconomicCalendarF
|
||||
|
||||
tradingeconomics_provider = Provider(
|
||||
name="tradingeconomics",
|
||||
website="https://tradingeconomics.com/",
|
||||
description="""Trading Economics""",
|
||||
website="https://tradingeconomics.com",
|
||||
description="""Trading Economics provides its users with accurate information for
|
||||
196 countries including historical data and forecasts for more than 20 million economic
|
||||
indicators, exchange rates, stock market indexes, government bond yields and commodity
|
||||
prices. Our data for economic indicators is based on official sources, not third party
|
||||
data providers, and our facts are regularly checked for inconsistencies.
|
||||
Trading Economics has received nearly 2 billion page views from all around the
|
||||
world.""",
|
||||
credentials=["api_key"],
|
||||
fetcher_dict={"EconomicCalendar": TEEconomicCalendarFetcher},
|
||||
repr_name="Trading Economics",
|
||||
logo_url="https://developer.tradingeconomics.com/Content/Images/logo.svg",
|
||||
)
|
||||
|
||||
@@ -7,18 +7,20 @@ from openbb_wsj.models.losers import WSJLosersFetcher
|
||||
|
||||
wsj_provider = Provider(
|
||||
name="wsj",
|
||||
website="www.wsj.com",
|
||||
website="https://www.wsj.com",
|
||||
description="""WSJ (Wall Street Journal) is a business-focused, English-language
|
||||
international daily newspaper based in New York City. The Journal is published six
|
||||
days a week by Dow Jones & Company, a division of News Corp, along with its Asian
|
||||
and European editions. The newspaper is published in the broadsheet format and
|
||||
online. The Journal has been printed continuously since its inception on
|
||||
July 8, 1889, by Charles Dow, Edward Jones, and Charles Bergstresser.
|
||||
The WSJ is the largest newspaper in the United States, by circulation.
|
||||
international daily newspaper based in New York City. The Journal is published six
|
||||
days a week by Dow Jones & Company, a division of News Corp, along with its Asian
|
||||
and European editions. The newspaper is published in the broadsheet format and
|
||||
online. The Journal has been printed continuously since its inception on
|
||||
July 8, 1889, by Charles Dow, Edward Jones, and Charles Bergstresser.
|
||||
The WSJ is the largest newspaper in the United States, by circulation.
|
||||
""",
|
||||
fetcher_dict={
|
||||
"ETFGainers": WSJGainersFetcher,
|
||||
"ETFLosers": WSJLosersFetcher,
|
||||
"ETFActive": WSJActiveFetcher,
|
||||
},
|
||||
repr_name="Wall Street Journal (WSJ)",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/WSJ_Logo.svg/1594px-WSJ_Logo.svg.png",
|
||||
)
|
||||
|
||||
@@ -38,10 +38,10 @@ from openbb_yfinance.models.undervalued_large_caps import YFUndervaluedLargeCaps
|
||||
|
||||
yfinance_provider = Provider(
|
||||
name="yfinance",
|
||||
website="https://finance.yahoo.com/",
|
||||
website="https://finance.yahoo.com",
|
||||
description="""Yahoo! Finance is a web-based platform that offers financial news,
|
||||
data, and tools for investors and individuals interested in tracking and analyzing
|
||||
financial markets and assets.""",
|
||||
data, and tools for investors and individuals interested in tracking and analyzing
|
||||
financial markets and assets.""",
|
||||
fetcher_dict={
|
||||
"AvailableIndices": YFinanceAvailableIndicesFetcher,
|
||||
"BalanceSheet": YFinanceBalanceSheetFetcher,
|
||||
@@ -72,4 +72,6 @@ yfinance_provider = Provider(
|
||||
"PriceTargetConsensus": YFinancePriceTargetConsensusFetcher,
|
||||
"ShareStatistics": YFinanceShareStatisticsFetcher,
|
||||
},
|
||||
repr_name="Yahoo Finance",
|
||||
logo_url="https://upload.wikimedia.org/wikipedia/commons/8/8f/Yahoo%21_Finance_logo_2021.png",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user