Feature/help didier (#4758)

* ensure consistency across terminal and improve intro

* Rewrite tests

* Adding a gitignore for .sh files in root

* Fix tests

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
This commit is contained in:
James Maslek
2023-04-12 16:06:54 -04:00
committed by GitHub
parent b03ac8b5f7
commit 5258a3d613
7 changed files with 97 additions and 91 deletions

1
.gitignore vendored
View File

@@ -52,6 +52,7 @@ build/terminal
build/nsis/app
DMG/*
*.dmg
*.sh
# User stylesheets
openbb_terminal/miscellaneous/styles/user/hub.richstyle.json

View File

@@ -4,7 +4,7 @@
"header": "Welcome to the OpenBB Terminal.",
"content": [
"\nThe following walkthrough will guide you towards making the most out of the OpenBB Terminal.\n\n",
"Press Enter to continue or 'q' followed by Enter to exit."
"Press [param]Enter[/param] to continue or [param]'q'[/param] followed by [param]Enter[/param] to exit."
]
},
{
@@ -14,18 +14,18 @@
"You can identify them through their distinct color and a '>' at the beginning of the line\n\n",
"For instance:\n",
"[menu]> stocks access historical pricing data, options, sector [/menu]",
"[menu]and industry, and overall due diligence [/menu]\n\n\n",
"[menu]and industry, and overall due diligence [/menu]\n\n",
"Commands are expected to return data either as a chart or table.\n",
"You can identify them through their distinct color\n\n",
"For instance:\n",
"[cmds]> news display news articles based on term and data sources [/cmds]"
"[cmds] news display news articles based on term and data sources [/cmds]"
]
},
{
"header": "#2 - Using commands",
"content": [
"\nCommands throughout the terminal can have additional arguments.\n\n",
"Let's say that in the current menu, you want to have more information about the command 'news'. \n\n",
"Let's say that in the current menu, you want to have more information about the command [param]'news'[/param]. \n\n",
"You can either see the available arguments in the terminal, using: [param]news -h[/param]\n\n",
"or you can find out more about it with an output example on the browser, using: [param]about news[/param]"
]
@@ -37,13 +37,18 @@
"Instead, we provide the infrastructure to access over 100 different data sources ",
"from a single location.\n\n",
"Thus, it is necessary for each user to set their own API keys for the various third party sources\n\n",
"You can find more about this on the '[param]keys[/param]' menu.\n\n",
"You can find more about this on OpenBB Hub at: [param]https://my.openbb.co/app/terminal/data-sources[/param] ",
"or go into the '[param]/keys[/param]' menu.\n\n",
"For many commands, there are multiple data sources that can be selected.\n\n",
"The help menu shows the data sources supported by each command.\n\n",
"For instance:\n",
"[cmds] load load a specific stock ticker and additional info for analysis [/cmds]",
"[src][YahooFinance, AlphaVantage, Polygon, EODHD] [/src]\n\n",
"The user can go into the '[param]sources[/param]' menu and select their preferred default data source."
"This shows that [src]YahooFinance[/src] is default data source but [src]AlphaVantage, Polygon, EODHD[/src] are also supported.\n\n",
"If you want to try a different data source you could do '[param]load MSFT --source Polygon[/param]'\n\n",
"If you are interested in changing the default permanently, you can do it through OpenBB Hub at ",
"[param]https://my.openbb.co/app/terminal/data-sources[/param] ",
"or go into the '[param]/sources[/param]' menu and select their preferred default data source"
]
},
{
@@ -51,15 +56,15 @@
"content": [
"\nThroughout the terminal, you will see commands and menus greyed out.\n\n",
"These menus or commands cannot be accessed until an object is loaded.\n\n",
"Let's take as an example the '[param]stocks[/param]' menu.\n\n",
"You will see that the command '[param]disc[/param]' is available as its goal is to discover new tickers:\n",
"[menu]> stocks access historical pricing data, options, sector [/menu]\n\n",
"On the other hand, '[param]fa[/param]' menu (fundamental analysis) requires a ticker to be loaded.\n\n",
"Let's take as an example the '[param]/stocks/ta[/param]' menu.\n\n",
"You will see that the command '[param]/stocks/ta/load[/param]' is available as you can access it to load a ticker:\n",
"[cmds]load load a specific stock ticker for analysis [YahooFinance, AlphaVantage, Polygon, EODHD][/cmds]\n\n",
"On the other hand, '[param]/stocks/ta/ema[/param]' cmd to perform exponential moving average requires a ticker to be loaded.\n\n",
"And therefore, appears as:\n",
"[dim]> fa fundamental analysis of loaded ticker [/dim]\n\n",
"[dim]ema exponential moving average[/dim]\n\n",
"Once a ticker is loaded with: [param]load TSLA[/param]\n\n",
"The '[param]fa[/param]' menu will be available as:\n",
"[menu]> fa fundamental analysis of loaded ticker [/menu]"
"The '[param]ema[/param]' command will be available as:\n",
"[cmds]ema exponential moving average [/cmds]"
]
},
{
@@ -92,8 +97,7 @@
"content": [
"\nThe command pipeline capability is great, but the user experience wasn't great copy-pasting large ",
"lists of commands.\n\n",
"We allow the user to create a text file of the form:\n\n",
"[param]FOLDER_PATH/my_script.openbb[/param]\n",
"We allow the user to create a text file of the form [param]FOLDER_PATH/my_script.openbb[/param] with following content:\n\n",
"stocks\nload TSLA\ndd\npt\n\n",
"which can be run through the '[param]exe[/param]' command in the home menu, with:\n",
"2022 Oct 18, 22:33 (\ud83e\udd8b) / $ [param]exe FOLDER_PATH/my_script.openbb[/param]\n\n"
@@ -103,8 +107,7 @@
"header": "#7 - OpenBB Scripts with Arguments",
"content": [
"\nThe user can create a script that includes arguments for the commands.\n\n",
"Example:\n\n",
"[param]FOLDER_PATH/my_script_with_variable_input.openbb[/param]\n",
"For instance, [param]FOLDER_PATH/my_script_with_variable_input.openbb[/param] may contain:\n\n",
"stocks\n# this is a comment\nload $ARGV[0]\ndd\npt\nq\nload $ARGV[1]\ncandle\n\n",
"and then, if this script is run with:\n",
"2022 Oct 18, 22:33 (\ud83e\udd8b) / $ [param]exe FOLDER_PATH/my_script_with_variable_input.openbb ",
@@ -144,7 +147,7 @@
"If you find any bug that you wish to report to improve the terminal you can do so with:\n",
"2022 Oct 18, 22:33 (\ud83e\udd8b) / $ [param]support CMD[/param]\n\n",
"which should open a form in your browser where you can report the bug in said 'CMD'.\n\n",
"If you want to know more, or have any further question. Please join us on Discord:\n",
"If you want to know more, or have any further question. Please join us on Discord: ",
"[param]https://openbb.co/discord[/param]"
]
}

View File

@@ -128,41 +128,41 @@ class FundamentalAnalysisController(StockBaseController):
mt.add_param("_ticker", self.ticker.upper())
mt.add_raw("\n")
mt.add_info("_company_overview")
mt.add_cmd("mktcap")
mt.add_cmd("overview")
mt.add_cmd("divs", not self.suffix)
mt.add_cmd("splits", not self.suffix)
mt.add_cmd("rating")
mt.add_cmd("rot")
mt.add_cmd("score")
mt.add_cmd("warnings")
mt.add_cmd("mktcap", not self.stock.empty)
mt.add_cmd("overview", not self.stock.empty)
mt.add_cmd("divs", not self.suffix and not self.stock.empty)
mt.add_cmd("splits", not self.suffix and not self.stock.empty)
mt.add_cmd("rating", not self.stock.empty)
mt.add_cmd("rot", not self.stock.empty)
mt.add_cmd("score", not self.stock.empty)
mt.add_cmd("warnings", not self.stock.empty)
mt.add_raw("\n")
mt.add_info("_management_shareholders")
mt.add_cmd("mgmt")
mt.add_cmd("shrs", not self.suffix)
mt.add_cmd("supplier")
mt.add_cmd("customer")
mt.add_cmd("mgmt", not self.stock.empty)
mt.add_cmd("shrs", not self.suffix and not self.stock.empty)
mt.add_cmd("supplier", not self.stock.empty)
mt.add_cmd("customer", not self.stock.empty)
mt.add_raw("\n")
mt.add_info("_financial_statements")
mt.add_cmd("income")
mt.add_cmd("balance")
mt.add_cmd("cash")
mt.add_cmd("growth")
mt.add_cmd("metrics")
mt.add_cmd("ratios")
mt.add_cmd("dupont")
mt.add_cmd("fraud")
mt.add_cmd("sec")
mt.add_cmd("analysis")
mt.add_cmd("income", not self.stock.empty)
mt.add_cmd("balance", not self.stock.empty)
mt.add_cmd("cash", not self.stock.empty)
mt.add_cmd("growth", not self.stock.empty)
mt.add_cmd("metrics", not self.stock.empty)
mt.add_cmd("ratios", not self.stock.empty)
mt.add_cmd("dupont", not self.stock.empty)
mt.add_cmd("fraud", not self.stock.empty)
mt.add_cmd("sec", not self.stock.empty)
mt.add_cmd("analysis", not self.stock.empty)
mt.add_raw("\n")
mt.add_info("_future_estimations")
mt.add_cmd("earnings")
mt.add_cmd("epsfc")
mt.add_cmd("revfc")
mt.add_cmd("est")
mt.add_cmd("pt")
mt.add_cmd("dcf")
mt.add_cmd("dcfc")
mt.add_cmd("earnings", not self.stock.empty)
mt.add_cmd("epsfc", not self.stock.empty)
mt.add_cmd("revfc", not self.stock.empty)
mt.add_cmd("est", not self.stock.empty)
mt.add_cmd("pt", not self.stock.empty)
mt.add_cmd("dcf", not self.stock.empty)
mt.add_cmd("dcfc", not self.stock.empty)
console.print(text=mt.menu_text, menu="Stocks - Fundamental Analysis")
def custom_reset(self):

View File

@@ -113,11 +113,11 @@ class StocksController(StockBaseController):
mt.add_raw("\n")
mt.add_param("_ticker", stock_text)
mt.add_raw("\n")
mt.add_cmd("quote")
mt.add_cmd("tob")
mt.add_cmd("candle")
mt.add_cmd("codes")
mt.add_cmd("news")
mt.add_cmd("quote", self.ticker)
mt.add_cmd("tob", self.ticker)
mt.add_cmd("candle", self.ticker)
mt.add_cmd("codes", self.ticker)
mt.add_cmd("news", self.ticker)
mt.add_raw("\n")
mt.add_menu("th")
mt.add_menu("options")

View File

@@ -86,6 +86,7 @@ class TechnicalAnalysisController(StockBaseController):
"atr",
"multi",
"cones",
"view",
]
PATH = "/stocks/ta/"
CHOICES_GENERATION = True
@@ -130,15 +131,15 @@ class TechnicalAnalysisController(StockBaseController):
stock_str = f"{s_intraday} {self.ticker}"
mt = MenuText("stocks/ta/", 90)
mt.add_cmd("load")
mt.add_raw("\n")
mt.add_param(
"_ticker", stock_str if not self.stock.empty else "No ticker loaded"
)
mt.add_raw("\n")
mt.add_cmd("load")
mt.add_raw("\n")
mt.add_cmd("recom")
mt.add_cmd("summary")
mt.add_cmd("view")
mt.add_cmd("recom", not self.stock.empty)
mt.add_cmd("summary", not self.stock.empty)
mt.add_cmd("view", not self.stock.empty)
mt.add_raw("\n")
mt.add_info("_overlap_")
mt.add_cmd("ema", not self.stock.empty)

View File

@@ -3,38 +3,39 @@
Ticker: TSLA
Company Overview:
mktcap obtain the market capitalization or enterprise value [FinancialModelingPrep, YahooFinance]
overview financial overview of the company [Finviz, FinancialModelingPrep, AlphaVantage, YahooFinance]
divs show historical dividends for company [YahooFinance]
splits stock split and reverse split events since IPO [YahooFinance]
rating analyst prices and ratings over time of the company [Finviz, FinancialModelingPrep]
rot number of analyst ratings over time on a monthly basis [Finnhub]
score value investing scores for any time period [FinancialModelingPrep]
warnings company warnings according to Sean Seah book [MarketWatch]
[unvl] mktcap obtain the market capitalization or enterprise value[/unvl] [FinancialModelingPrep, YahooFinance]
[unvl] overview financial overview of the company[/unvl] [Finviz, FinancialModelingPrep, AlphaVantage, YahooFinance]
[unvl] divs show historical dividends for company[/unvl] [YahooFinance]
[unvl] splits stock split and reverse split events since IPO[/unvl] [YahooFinance]
[unvl] rating analyst prices and ratings over time of the company[/unvl] [Finviz, FinancialModelingPrep]
[unvl] rot number of analyst ratings over time on a monthly basis[/unvl] [Finnhub]
[unvl] score value investing scores for any time period[/unvl] [FinancialModelingPrep]
[unvl] warnings company warnings according to Sean Seah book[/unvl] [MarketWatch]
Management and Ownership:
mgmt management team of the company [BusinessInsider]
shrs shareholders (insiders, institutions and mutual funds) [YahooFinance]
supplier list of suppliers for the company [CSIMarket]
customer list of customers of the company [CSIMarket]
[unvl] mgmt management team of the company[/unvl] [BusinessInsider]
[unvl] shrs shareholders (insiders, institutions and mutual funds)[/unvl] [YahooFinance]
[unvl] supplier list of suppliers for the company[/unvl] [CSIMarket]
[unvl] customer list of customers of the company[/unvl] [CSIMarket]
Financial Statements:
income income statements of the company [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
balance balance sheet statements of the company [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
cash cash flow statements of the company [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
growth growth of financial statement items and ratios [FinancialModelingPrep]
metrics key financial metrics over time [FinancialModelingPrep, AlphaVantage]
ratios extensive set of ratios over time [FinancialModelingPrep]
dupont detailed breakdown for Return on Equity (RoE) [AlphaVantage]
fraud key fraud ratios including M-score, Z-score and McKee [AlphaVantage]
sec obtain recent SEC filings of the company [Nasdaq]
analysis analyse SEC filings with the help of machine learning [Elect]
[unvl] income income statements of the company[/unvl] [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
[unvl] balance balance sheet statements of the company[/unvl] [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
[unvl] cash cash flow statements of the company[/unvl] [FinancialModelingPrep, Polygon, AlphaVantage, EODHD, YahooFinance]
[unvl] growth growth of financial statement items and ratios[/unvl] [FinancialModelingPrep]
[unvl] metrics key financial metrics over time[/unvl] [FinancialModelingPrep, AlphaVantage]
[unvl] ratios extensive set of ratios over time[/unvl] [FinancialModelingPrep]
[unvl] dupont detailed breakdown for Return on Equity (RoE)[/unvl] [AlphaVantage]
[unvl] fraud key fraud ratios including M-score, Z-score and McKee[/unvl] [AlphaVantage]
[unvl] sec obtain recent SEC filings of the company[/unvl] [Nasdaq]
[unvl] analysis analyse SEC filings with the help of machine learning[/unvl] [Elect]
Future Expectations:
earnings earnings dates and reported EPS [AlphaVantage, YahooFinance]
epsfc Earning Estimate by Analysts - EPS [SeekingAlpha]
revfc Earning Estimate by Analysts - Revenue [SeekingAlpha]
est quarter and year analysts earnings estimates [BusinessInsider]
pt price targets over time [BusinessInsider, FinancialModelingPrep]
dcf advanced Excel customizable discounted cash flow [StockAnalysis]
dcfc determine the (historical) discounted cash flow [FinancialModelingPrep]
[unvl] earnings earnings dates and reported EPS[/unvl] [AlphaVantage, YahooFinance]
[unvl] epsfc Earning Estimate by Analysts - EPS[/unvl] [SeekingAlpha]
[unvl] revfc Earning Estimate by Analysts - Revenue[/unvl] [SeekingAlpha]
[unvl] est quarter and year analysts earnings estimates[/unvl] [BusinessInsider]
[unvl] pt price targets over time[/unvl] [BusinessInsider, FinancialModelingPrep]
[unvl] dcf advanced Excel customizable discounted cash flow[/unvl] [StockAnalysis]
[unvl] dcfc determine the (historical) discounted cash flow[/unvl] [FinancialModelingPrep]

View File

@@ -3,11 +3,11 @@
Stock:
quote view the current price for a specific stock ticker [FinancialModelingPrep]
tob view top of book for loaded ticker (US exchanges only) [CBOE]
candle view a candle chart for a specific stock ticker
codes FIGI, SIK and SIC codes codes [Polygon]
news latest news of the company [Feedparser, NewsApi, Ultima]
[unvl] quote view the current price for a specific stock ticker[/unvl] [FinancialModelingPrep]
[unvl] tob view top of book for loaded ticker (US exchanges only)[/unvl] [CBOE]
[unvl] candle view a candle chart for a specific stock ticker[/unvl]
[unvl] codes FIGI, SIK and SIC codes codes[/unvl] [Polygon]
[unvl] news latest news of the company[/unvl] [Feedparser, NewsApi, Ultima]
> th trading hours, check open markets
> options options menu, chains, open interest, greeks, parity