diff --git a/.gitignore b/.gitignore index 20d0c27ece6..72ffeb44fe7 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,7 @@ build/terminal build/nsis/app DMG/* *.dmg +*.sh # User stylesheets openbb_terminal/miscellaneous/styles/user/hub.richstyle.json diff --git a/openbb_terminal/intro.json b/openbb_terminal/intro.json index e1bbb950113..82aecb88c81 100644 --- a/openbb_terminal/intro.json +++ b/openbb_terminal/intro.json @@ -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]" ] } diff --git a/openbb_terminal/stocks/fundamental_analysis/fa_controller.py b/openbb_terminal/stocks/fundamental_analysis/fa_controller.py index 10207d6f86f..36b50d037b0 100644 --- a/openbb_terminal/stocks/fundamental_analysis/fa_controller.py +++ b/openbb_terminal/stocks/fundamental_analysis/fa_controller.py @@ -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): diff --git a/openbb_terminal/stocks/stocks_controller.py b/openbb_terminal/stocks/stocks_controller.py index b0007159d8b..77c58131b2d 100644 --- a/openbb_terminal/stocks/stocks_controller.py +++ b/openbb_terminal/stocks/stocks_controller.py @@ -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") diff --git a/openbb_terminal/stocks/technical_analysis/ta_controller.py b/openbb_terminal/stocks/technical_analysis/ta_controller.py index d0df7a9bd1a..8c059b3c35e 100644 --- a/openbb_terminal/stocks/technical_analysis/ta_controller.py +++ b/openbb_terminal/stocks/technical_analysis/ta_controller.py @@ -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) diff --git a/tests/openbb_terminal/stocks/fundamental_analysis/txt/test_fa_controller/test_print_help.txt b/tests/openbb_terminal/stocks/fundamental_analysis/txt/test_fa_controller/test_print_help.txt index 757e38df627..fe3fd19a434 100644 --- a/tests/openbb_terminal/stocks/fundamental_analysis/txt/test_fa_controller/test_print_help.txt +++ b/tests/openbb_terminal/stocks/fundamental_analysis/txt/test_fa_controller/test_print_help.txt @@ -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] + diff --git a/tests/openbb_terminal/stocks/txt/test_stocks_controller/test_print_help.txt b/tests/openbb_terminal/stocks/txt/test_stocks_controller/test_print_help.txt index e74489df769..2055285f8c9 100644 --- a/tests/openbb_terminal/stocks/txt/test_stocks_controller/test_print_help.txt +++ b/tests/openbb_terminal/stocks/txt/test_stocks_controller/test_print_help.txt @@ -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