diff --git a/openbb_terminal/portfolio/portfolio_controller.py b/openbb_terminal/portfolio/portfolio_controller.py index a86977d1860..410e8d09bd5 100644 --- a/openbb_terminal/portfolio/portfolio_controller.py +++ b/openbb_terminal/portfolio/portfolio_controller.py @@ -44,7 +44,6 @@ class PortfolioController(BaseController): "bench", "alloc", "perf", - "cret", "yret", "mret", "dret", @@ -170,7 +169,6 @@ class PortfolioController(BaseController): mt.add_info("_graphs_") mt.add_cmd("holdv", self.portfolio_name and self.benchmark_name) mt.add_cmd("holdp", self.portfolio_name and self.benchmark_name) - mt.add_cmd("cret", self.portfolio_name and self.benchmark_name) mt.add_cmd("yret", self.portfolio_name and self.benchmark_name) mt.add_cmd("mret", self.portfolio_name and self.benchmark_name) mt.add_cmd("dret", self.portfolio_name and self.benchmark_name) @@ -213,7 +211,6 @@ class PortfolioController(BaseController): [info]Graphs:[/info]{("[unvl]", "[cmds]")[port_bench]} holdv holdings of assets (absolute value) holdp portfolio holdings of assets (in percentage) - cret cumulative returns yret yearly returns mret monthly returns dret daily returns @@ -783,47 +780,6 @@ class PortfolioController(BaseController): "[red]Please first define the portfolio (via 'load')[/red]\n" ) - @log_start_end(log=logger) - def call_cret(self, other_args: List[str]): - """Process cret command""" - parser = argparse.ArgumentParser( - add_help=False, - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="cret", - description="Graph of cumulative returns against benchmark", - ) - parser.add_argument( - "-p", - "--period", - type=str, - dest="period", - default="all", - choices=list(portfolio_helper.PERIODS_DAYS.keys()), - help="Period to select start of cumulative returns", - ) - if other_args and "-" not in other_args[0][0]: - other_args.insert(0, "-p") - ns_parser = self.parse_known_args_and_warn( - parser, - other_args, - raw=True, - limit=10, - export_allowed=EXPORT_BOTH_RAW_DATA_AND_FIGURES, - ) - - if ns_parser and self.portfolio is not None: - if check_portfolio_benchmark_defined( - self.portfolio_name, self.benchmark_name - ): - portfolio_view.display_cumulative_returns( - self.portfolio.returns, - self.portfolio.benchmark_returns, - ns_parser.period, - ns_parser.raw, - ns_parser.limit, - ns_parser.export, - ) - @log_start_end(log=logger) def call_yret(self, other_args: List[str]): """Process yret command""" diff --git a/openbb_terminal/portfolio/portfolio_view.py b/openbb_terminal/portfolio/portfolio_view.py index 460bdb4700b..75667ffd8d8 100644 --- a/openbb_terminal/portfolio/portfolio_view.py +++ b/openbb_terminal/portfolio/portfolio_view.py @@ -350,76 +350,6 @@ def display_performance_vs_benchmark( ) -@log_start_end(log=logger) -def display_cumulative_returns( - portfolio_returns: pd.Series, - benchmark_returns: pd.Series, - period: str = "all", - raw: bool = False, - limit: int = 10, - export: str = "", - external_axes: Optional[plt.Axes] = None, -): - """Display portfolio returns vs benchmark - - Parameters - ---------- - portfolio_returns : pd.Series - Returns of the portfolio - benchmark_returns : pd.Series - Returns of the benchmark - period : str - Period to compare cumulative returns and benchmark - raw : False - Display raw data from cumulative return - limit : int - Last cumulative returns to display - export : str - Export certain type of data - external_axes: plt.Axes - Optional axes to display plot on - """ - - portfolio_returns = portfolio_helper.filter_df_by_period(portfolio_returns, period) - benchmark_returns = portfolio_helper.filter_df_by_period(benchmark_returns, period) - - cumulative_returns = 100 * portfolio_model.cumulative_returns(portfolio_returns) - benchmark_c_returns = 100 * portfolio_model.cumulative_returns(benchmark_returns) - - if raw: - last_cumulative_returns = cumulative_returns.to_frame() - last_cumulative_returns = last_cumulative_returns.join(benchmark_c_returns) - last_cumulative_returns.index = last_cumulative_returns.index.date - print_rich_table( - last_cumulative_returns.tail(limit), - title="Cumulative Portfolio and Benchmark returns", - headers=["Portfolio [%]", "Benchmark [%]"], - show_index=True, - ) - else: - if external_axes is None: - _, ax = plt.subplots(figsize=plot_autoscale(), dpi=PLOT_DPI) - else: - ax = external_axes - - ax.plot(cumulative_returns.index, cumulative_returns, label="Portfolio") - ax.plot(benchmark_c_returns.index, benchmark_c_returns, label="Benchmark") - - ax.legend(loc="upper left") - ax.set_ylabel("Cumulative Returns [%]") - theme.style_primary_axis(ax) - - if not external_axes: - theme.visualize_output() - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "cret", - cumulative_returns.to_frame().join(benchmark_c_returns), - ) - - @log_start_end(log=logger) def display_yearly_returns( portfolio_returns: pd.Series, diff --git a/tests/openbb_terminal/portfolio/txt/test_portfolio_controller/test_print_help.txt b/tests/openbb_terminal/portfolio/txt/test_portfolio_controller/test_print_help.txt index d165abd28a2..e21ca161e68 100644 --- a/tests/openbb_terminal/portfolio/txt/test_portfolio_controller/test_print_help.txt +++ b/tests/openbb_terminal/portfolio/txt/test_portfolio_controller/test_print_help.txt @@ -16,7 +16,6 @@ Benchmark: Graphs:[unvl] holdv holdings of assets (absolute value) holdp portfolio holdings of assets (in percentage) - cret cumulative returns yret yearly returns mret monthly returns dret daily returns diff --git a/website/content/terminal/portfolio/cret/_index.md b/website/content/terminal/portfolio/cret/_index.md deleted file mode 100644 index 7857108529e..00000000000 --- a/website/content/terminal/portfolio/cret/_index.md +++ /dev/null @@ -1,18 +0,0 @@ -``` -usage: cret [-p {3m,6m,1y,3y,5y,10y}] [-h] [--export EXPORT] [--raw] [-l LIMIT] -``` - -Graph of cumulative returns against benchmark - -``` -optional arguments: - -p {3m,6m,1y,3y,5y,10y}, --period {3m,6m,1y,3y,5y,10y} - Period to select start of cumulative returns (default: all) - -h, --help show this help message (default: False) - --export EXPORT Export raw data into csv, json, xlsx and figure into png, jpg, pdf, svg (default: ) - --raw Flag to display raw data (default: False) - -l LIMIT, --limit LIMIT - Number of entries to show in data. (default: 10) -``` - -Screenshot 2022-05-18 at 00 56 10 diff --git a/website/data/menu/main.yml b/website/data/menu/main.yml index afa1ceafbbd..8dea51d205f 100755 --- a/website/data/menu/main.yml +++ b/website/data/menu/main.yml @@ -1321,8 +1321,6 @@ main: ref: "/terminal/portfolio/holdv" - name: holdp ref: "/terminal/portfolio/holdp" - - name: cret - ref: "/terminal/portfolio/cret" - name: yret ref: "/terminal/portfolio/yret" - name: mret