mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-31 22:41:19 +00:00
Editing the SDK functions (#3723)
* etf compare into sdk * docstring + #3510 * #3712 * Add stats to sdk + isort folder * Add filter function * add 10 insider functions * add new fa models * update equity.ipynb
This commit is contained in:
@@ -122,6 +122,11 @@ def compare_etfs(symbols: List[str]) -> pd.DataFrame:
|
||||
-------
|
||||
df_compare : pd.DataFrame
|
||||
Dataframe of etf comparisons
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> compare_etfs = openbb.etf.compare(["SPY", "QQQ", "IWM"])
|
||||
"""
|
||||
|
||||
df_compare = pd.DataFrame()
|
||||
|
||||
@@ -277,6 +277,7 @@ etf.overview,openbb_terminal.etf.stockanalysis_model.get_etf_overview,
|
||||
etf.etf_by_name,openbb_terminal.etf.stockanalysis_model.get_etfs_by_name,
|
||||
etf.weights,openbb_terminal.etf.yfinance_model.get_etf_sector_weightings,
|
||||
etf.summary,openbb_terminal.etf.yfinance_model.get_etf_summary_description,
|
||||
etf.compare,openbb_terminal.etf.stockanalysis_model.compare_etfs,
|
||||
forex.get_currency_list,openbb_terminal.forex.av_model.get_currency_list,
|
||||
forex.quote,openbb_terminal.forex.sdk_helpers.quote,
|
||||
forex.fwd,openbb_terminal.forex.fxempire_model.get_forward_rates,
|
||||
@@ -398,7 +399,7 @@ stocks.fa.fama_raw,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_fam
|
||||
stocks.fa.historical_5,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_historical_5,
|
||||
stocks.fa.similar_dfs,openbb_terminal.stocks.fundamental_analysis.dcf_model.get_similar_dfs,
|
||||
stocks.fa.analysis,openbb_terminal.stocks.fundamental_analysis.eclect_us_model.get_filings_analysis,
|
||||
stocks.fa.dcf,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_dcf,
|
||||
stocks.fa.dcfc,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_dcf,
|
||||
stocks.fa.enterprise,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_enterprise,
|
||||
stocks.fa.growth,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_financial_growth,
|
||||
stocks.fa.metrics,openbb_terminal.stocks.fundamental_analysis.fmp_model.get_key_metrics,
|
||||
@@ -416,6 +417,8 @@ stocks.fa.shrs,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.g
|
||||
stocks.fa.splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_splits,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_view.display_splits
|
||||
stocks.fa.sust,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_sustainability,
|
||||
stocks.fa.website,openbb_terminal.stocks.fundamental_analysis.yahoo_finance_model.get_website,
|
||||
stocks.fa.revfc,openbb_terminal.stocks.fundamental_analysis.seeking_alpha_model.get_estimates_rev,
|
||||
stocks.fa.epsfc,openbb_terminal.stocks.fundamental_analysis.seeking_alpha_model.get_estimates_eps,
|
||||
stocks.gov.qtrcontracts,openbb_terminal.stocks.government.quiverquant_model.get_qtr_contracts,openbb_terminal.stocks.government.quiverquant_view.display_qtr_contracts
|
||||
stocks.gov.government_trading,openbb_terminal.stocks.government.quiverquant_model.get_government_trading,
|
||||
stocks.gov.contracts,openbb_terminal.stocks.government.quiverquant_model.get_contracts,openbb_terminal.stocks.government.quiverquant_view.display_contracts
|
||||
@@ -430,6 +433,19 @@ stocks.gov.toplobbying,openbb_terminal.stocks.government.quiverquant_model.get_t
|
||||
stocks.ins.act,openbb_terminal.stocks.insider.businessinsider_model.get_insider_activity,openbb_terminal.stocks.insider.businessinsider_view.insider_activity
|
||||
stocks.ins.lins,openbb_terminal.stocks.insider.finviz_model.get_last_insider_activity,openbb_terminal.stocks.insider.finviz_view.last_insider_activity
|
||||
stocks.ins.print_insider_data,openbb_terminal.stocks.insider.openinsider_model.get_print_insider_data,openbb_terminal.stocks.insider.openinsider_view.print_insider_data
|
||||
stocks.ins.stats,openbb_terminal.stocks.insider.sdk_helper.stats,
|
||||
stocks.ins.filter,openbb_terminal.stocks.insider.sdk_helper.insider_filter,
|
||||
stocks.ins.lcb,openbb_terminal.stocks.insider.sdk_helper.lcb,
|
||||
stocks.ins.lpsb,openbb_terminal.stocks.insider.sdk_helper.lpsb,
|
||||
stocks.ins.lit,openbb_terminal.stocks.insider.sdk_helper.lit,
|
||||
stocks.ins.lip,openbb_terminal.stocks.insider.sdk_helper.lip,
|
||||
stocks.ins.blip,openbb_terminal.stocks.insider.sdk_helper.blip,
|
||||
stocks.ins.blop,openbb_terminal.stocks.insider.sdk_helper.blop,
|
||||
stocks.ins.blcp,openbb_terminal.stocks.insider.sdk_helper.blcp,
|
||||
stocks.ins.lis,openbb_terminal.stocks.insider.sdk_helper.lis,
|
||||
stocks.ins.blis,openbb_terminal.stocks.insider.sdk_helper.blis,
|
||||
stocks.ins.blos,openbb_terminal.stocks.insider.sdk_helper.blos,
|
||||
stocks.ins.blcs,openbb_terminal.stocks.insider.sdk_helper.blcs,
|
||||
stocks.options.pcr,openbb_terminal.stocks.options.alphaquery_model.get_put_call_ratio,openbb_terminal.stocks.options.alphaquery_view.display_put_call_ratio
|
||||
stocks.options.info,openbb_terminal.stocks.options.yfinance_model.get_info,openbb_terminal.stocks.options.barchart_view.print_options_data
|
||||
stocks.options.hist_ce,openbb_terminal.stocks.options.chartexchange_model.get_option_history,openbb_terminal.stocks.options.chartexchange_view.display_raw
|
||||
@@ -459,7 +475,7 @@ stocks.sia.cpis,openbb_terminal.stocks.sector_industry_analysis.financedatabase_
|
||||
stocks.sia.cps,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_companies_per_sector_in_country,openbb_terminal.stocks.sector_industry_analysis.financedatabase_view.display_companies_per_sector_in_country
|
||||
stocks.sia.countries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_countries,
|
||||
stocks.sia.industries,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_industries,
|
||||
stocks.sia.maketcap,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_marketcap,
|
||||
stocks.sia.marketcap,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_marketcap,
|
||||
stocks.sia.sectors,openbb_terminal.stocks.sector_industry_analysis.financedatabase_model.get_sectors,
|
||||
stocks.sia.stocks_data,openbb_terminal.stocks.sector_industry_analysis.stockanalysis_model.get_stocks_data,
|
||||
stocks.ta.summary,openbb_terminal.stocks.technical_analysis.finbrain_model.get_technical_summary_report,openbb_terminal.stocks.technical_analysis.finbrain_view.technical_summary_report
|
||||
@@ -524,4 +540,4 @@ keys.stocksera,openbb_terminal.keys_model.set_stocksera_key,
|
||||
futures.search,openbb_terminal.futures.yfinance_model.get_search_futures,
|
||||
futures.historical,openbb_terminal.futures.yfinance_model.get_historical_futures,openbb_terminal.futures.yfinance_view.display_historical
|
||||
futures.curve,openbb_terminal.futures.yfinance_model.get_curve_futures,openbb_terminal.futures.yfinance_view.display_curve
|
||||
economy.get_groups,openbb_terminal.economy.finviz_model.get_groups,
|
||||
economy.get_groups,openbb_terminal.economy.finviz_model.get_groups,
|
||||
|
||||
|
@@ -960,7 +960,7 @@
|
||||
" lambda x: f'<a href=\"{x}\">{x}</a>' if x != \"-\" else x\n",
|
||||
" )\n",
|
||||
"try:\n",
|
||||
" hist_dcf = openbb.stocks.fa.dcf(symbol)\n",
|
||||
" hist_dcf = openbb.stocks.fa.dcfc(symbol)\n",
|
||||
"except:\n",
|
||||
" pass\n",
|
||||
"enterprise_df = openbb.stocks.fa.enterprise(symbol)\n",
|
||||
@@ -1450,7 +1450,7 @@
|
||||
"metadata": {
|
||||
"celltoolbar": "Tags",
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3.9.6 ('obb')",
|
||||
"display_name": "obb",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
@@ -1464,11 +1464,11 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.6"
|
||||
"version": "3.9.6 | packaged by conda-forge | (default, Jul 11 2021, 03:36:15) \n[Clang 11.1.0 ]"
|
||||
},
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "e784374cc4f9a84ed6af2983247aaf351b155c82bcc2188134a65f3c99031000"
|
||||
"hash": "cb66ba39c97f15743fbb79e204a841ea03600987d49579cfb0ffc8e8dd934c69"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -23,6 +23,10 @@ def get_estimates_eps(ticker: str) -> pd.DataFrame:
|
||||
-------
|
||||
pd.DataFrame
|
||||
eps estimates for the next 10yrs
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.fa.epsfc("AAPL")
|
||||
"""
|
||||
|
||||
url = "https://seekingalpha.com/api/v3/symbol_data/estimates"
|
||||
@@ -158,6 +162,10 @@ def get_estimates_rev(ticker: str) -> pd.DataFrame:
|
||||
-------
|
||||
pd.DataFrame
|
||||
rev estimates for the next 10yrs
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.fa.revfc("AAPL")
|
||||
"""
|
||||
|
||||
url = "https://seekingalpha.com/api/v3/symbol_data/estimates"
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
""" Business Insider View """
|
||||
__docformat__ = "numpy"
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
import logging
|
||||
import os
|
||||
import math
|
||||
import os
|
||||
from datetime import datetime, timedelta
|
||||
from typing import List, Optional
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import pandas as pd
|
||||
from pandas.plotting import register_matplotlib_converters
|
||||
|
||||
from openbb_terminal.config_terminal import theme
|
||||
from openbb_terminal.config_plot import PLOT_DPI
|
||||
from openbb_terminal.config_terminal import theme
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import (
|
||||
export_data,
|
||||
get_next_stock_market_days,
|
||||
print_rich_table,
|
||||
plot_autoscale,
|
||||
is_valid_axes_count,
|
||||
plot_autoscale,
|
||||
print_rich_table,
|
||||
)
|
||||
from openbb_terminal.rich_config import console
|
||||
from openbb_terminal.stocks.insider import businessinsider_model
|
||||
|
||||
@@ -5,9 +5,9 @@ import logging
|
||||
|
||||
import finviz
|
||||
import pandas as pd
|
||||
from openbb_terminal.rich_config import console
|
||||
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.rich_config import console
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -5,19 +5,21 @@ import argparse
|
||||
import configparser
|
||||
import logging
|
||||
from typing import List
|
||||
|
||||
import pandas as pd
|
||||
from openbb_terminal.custom_prompt_toolkit import NestedCompleter
|
||||
|
||||
from openbb_terminal import feature_flags as obbff
|
||||
from openbb_terminal.custom_prompt_toolkit import NestedCompleter
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import EXPORT_ONLY_RAW_DATA_ALLOWED, check_positive
|
||||
from openbb_terminal.menu import session
|
||||
from openbb_terminal.parent_classes import StockBaseController
|
||||
from openbb_terminal.rich_config import console, MenuText
|
||||
from openbb_terminal.rich_config import MenuText, console
|
||||
from openbb_terminal.stocks.insider import (
|
||||
businessinsider_view,
|
||||
finviz_view,
|
||||
openinsider_view,
|
||||
openinsider_model,
|
||||
openinsider_view,
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import configparser
|
||||
import logging
|
||||
from pathlib import Path
|
||||
import textwrap
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from typing import Dict, List
|
||||
|
||||
import pandas as pd
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.core.config.paths import USER_PRESETS_DIRECTORY
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.rich_config import console
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -6,6 +6,7 @@ from typing import List
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
from openbb_terminal import rich_config
|
||||
from openbb_terminal.decorators import log_start_end
|
||||
from openbb_terminal.helper_funcs import (
|
||||
export_data,
|
||||
@@ -18,7 +19,6 @@ from openbb_terminal.stocks.insider.openinsider_model import (
|
||||
get_open_insider_link,
|
||||
get_print_insider_data,
|
||||
)
|
||||
from openbb_terminal import rich_config
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
229
openbb_terminal/stocks/insider/sdk_helper.py
Normal file
229
openbb_terminal/stocks/insider/sdk_helper.py
Normal file
@@ -0,0 +1,229 @@
|
||||
"""Insider SDK Helpers"""
|
||||
__docformat__ = "numpy"
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from openbb_terminal.stocks.insider import openinsider_model
|
||||
|
||||
|
||||
def stats(symbol: str) -> pd.DataFrame:
|
||||
"""Get OpenInsider stats for ticker
|
||||
|
||||
Parameters
|
||||
----------
|
||||
symbol : str
|
||||
Ticker to get insider stats for
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of insider stats
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.stats("AAPL")
|
||||
"""
|
||||
link = f"http://openinsider.com/screener?s={symbol}"
|
||||
return openinsider_model.get_open_insider_data(link, has_company_name=False)
|
||||
|
||||
|
||||
def insider_filter(preset: str) -> pd.DataFrame:
|
||||
"""GEt insider trades based on preset filter
|
||||
|
||||
Parameters
|
||||
----------
|
||||
preset : str
|
||||
Name of preset filter
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of filtered insider data
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
|
||||
In order to filter, we pass one of the predefined .ini filters from OpenBBUserData/presets/stocks/insider
|
||||
>>> filter = "Gold-Silver"
|
||||
>>> insider_trades = openbb.stocks.ins.filter(filter)
|
||||
"""
|
||||
url = openinsider_model.get_open_insider_link(preset)
|
||||
return openinsider_model.get_open_insider_data(url, has_company_name=True)
|
||||
|
||||
|
||||
def lcb() -> pd.DataFrame:
|
||||
"""Get latest cluster buys
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.lcb()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("lcb")
|
||||
|
||||
|
||||
def lpsb() -> pd.DataFrame:
|
||||
"""Get latest penny stock buys
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.lpsb()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("lpsb")
|
||||
|
||||
|
||||
def lit() -> pd.DataFrame:
|
||||
"""Get latest insider trades
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.lit()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("lit")
|
||||
|
||||
|
||||
def lip() -> pd.DataFrame:
|
||||
"""Get latest insider purchases
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.lip()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("lip")
|
||||
|
||||
|
||||
def blip() -> pd.DataFrame:
|
||||
"""Get latest insider purchases > 25k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.blip()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blip")
|
||||
|
||||
|
||||
def blop() -> pd.DataFrame:
|
||||
"""Get latest officer purchases > 25k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.blop()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blop")
|
||||
|
||||
|
||||
def blcp() -> pd.DataFrame:
|
||||
"""Get latest CEO/CFO purchases > 25k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.bclp()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blcp")
|
||||
|
||||
|
||||
def lis() -> pd.DataFrame:
|
||||
"""Get latest insider sales
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.lis()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("lis")
|
||||
|
||||
|
||||
def blis() -> pd.DataFrame:
|
||||
"""Get latest insider sales > 100k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.blis()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blis")
|
||||
|
||||
|
||||
def blos() -> pd.DataFrame:
|
||||
"""Get latest officer sales > 100k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.blos()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blos")
|
||||
|
||||
|
||||
def blcs() -> pd.DataFrame:
|
||||
"""Get latest CEO/CFO sales > 100k
|
||||
|
||||
Returns
|
||||
-------
|
||||
pd.DataFrame
|
||||
DataFrame of latest insider trades
|
||||
|
||||
Examples
|
||||
--------
|
||||
>>> from openbb_terminal.sdk import openbb
|
||||
>>> openbb.stocks.ins.blcs()
|
||||
"""
|
||||
return openinsider_model.get_print_insider_data("blcs")
|
||||
Reference in New Issue
Block a user