Files
OpenBB/gamestonk_terminal/etf/stockanalysis_view.py
Jeroen Bouma 3c9c2b9223 Complete check on Hugo Documentation (#1358)
* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* This is not a function on CA

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* This command does not exist on CA

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Type in dcf help text

* Missing the index on dividends function

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Missing index

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Fix missing index

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Fix missing index

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* doesn't exists

The command 'disp' doesn't exist on the /stocks/options/ menu.

2022 Feb 16, 08:49 (✨) /stocks/options/ $ disp
usage: options {calc,yf,tr,info,pcr,load,exp,vol,voi,oi,hist,chains,grhist,unu,plot,parity,binom,vsurf,greeks,payoff,pricing,screen,cls,home,h,?,help,q,quit,..,exit,r,reset}
options: error: argument cmd: invalid choice: 'disp' (choose from 'calc', 'yf', 'tr', 'info', 'pcr', 'load', 'exp', 'vol', 'voi', 'oi', 'hist', 'chains', 'grhist', 'unu', 'plot', 'parity', 'binom', 'vsurf', 'greeks', 'payoff', 'pricing', 'screen', 'cls', 'home', 'h', '?', 'help', 'q', 'quit', '..', 'exit', 'r', 'reset')

The command 'disp' doesn't exist on the /stocks/options/ menu.

2022 Feb 16, 08:49 (✨) /stocks/options/ $

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Create _index.md

* Create _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update and rename website/content/common/quantitative_analysis/data/_index.md to website/content/common/quantitative_analysis/raw/_index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Black formatting

* Update _index.md

* Update _index.md

* small ba edits

* black formatting code

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* Update _index.md

* black formatting code + mc axes

* Update _index.md

* Update _index.md

* Update _index.md

* regression

* regression

* Update _index.md

* codespell

* codespell

* flake8 fix

Co-authored-by: Jeroen Bouma <jeroenbouma@MacBook-Pro-van-Jeroen.local>
Co-authored-by: jmaslek <jmaslek11@gmail.com>
2022-02-20 13:40:58 +00:00

129 lines
3.2 KiB
Python

"""StockAnalysis.com view functions"""
__docformat__ = "numpy"
import logging
import os
from typing import List
from gamestonk_terminal.decorators import log_start_end
from gamestonk_terminal.etf import stockanalysis_model
from gamestonk_terminal.helper_funcs import export_data, print_rich_table
from gamestonk_terminal.rich_config import console
logger = logging.getLogger(__name__)
@log_start_end(log=logger)
def view_overview(symbol: str, export: str = ""):
"""Print etf overview information
Parameters
----------
symbol:str
ETF symbols to display overview for
export:str
Format to export data
"""
if symbol.upper() not in stockanalysis_model.get_all_names_symbols()[0]:
console.print(f"{symbol.upper()} not found in ETFs\n")
return
data = stockanalysis_model.get_etf_overview(symbol)
print_rich_table(
data,
headers=list(data.columns),
title="ETF Overview Information",
show_index=True,
)
console.print("")
export_data(export, os.path.dirname(os.path.abspath(__file__)), "overview", data)
@log_start_end(log=logger)
def view_holdings(symbol: str, num_to_show: int, export: str):
"""
Parameters
----------
symbol: str
ETF symbol to show holdings for
num_to_show: int
Number of holdings to show
export: str
Format to export data
"""
data = stockanalysis_model.get_etf_holdings(symbol)
print_rich_table(
data[:num_to_show],
headers=list(data.columns),
title="ETF Holdings",
show_index=True,
)
console.print("")
export_data(export, os.path.dirname(os.path.abspath(__file__)), "holdings", data)
@log_start_end(log=logger)
def view_comparisons(symbols: List[str], export: str):
"""Show ETF comparisons
Parameters
----------
symbols: List[str]
List of ETF symbols
export: str
Format to export data
"""
etf_list = stockanalysis_model.get_all_names_symbols()[0]
for etf in symbols:
if etf not in etf_list:
console.print(f"{etf} not a known symbol.\n")
etf_list.remove(etf)
data = stockanalysis_model.compare_etfs(symbols)
if data.empty:
console.print("No data found for given ETFs\n")
return
print_rich_table(
data, headers=list(data.columns), title="ETF Comparisons", show_index=True
)
console.print("")
export_data(export, os.path.dirname(os.path.abspath(__file__)), "overview", data)
@log_start_end(log=logger)
def display_etf_by_name(name: str, limit: int, export: str):
"""Display ETFs matching search string. [Source: StockAnalysis]
Parameters
----------
name: str
String being matched
limit: int
Limit of ETFs to display
export: str
Export to given file type
"""
matching_etfs = stockanalysis_model.get_etfs_by_name(name)
print_rich_table(
matching_etfs.head(limit),
show_index=False,
title="ETF Search Result",
)
console.print("")
export_data(
export,
os.path.dirname(os.path.abspath(__file__)),
"ln_sa",
matching_etfs,
)