From e84d78e2551efe69236ec6fd35d02c0afe799179 Mon Sep 17 00:00:00 2001 From: martinb-bb <105685594+martinb-bb@users.noreply.github.com> Date: Thu, 17 Nov 2022 15:03:45 -0500 Subject: [PATCH] report fix (#3435) --- .../library/trail_map_forecasting.csv | 4 +- .../reports/templates/forecast.ipynb | 187 +++++++++++++++--- 2 files changed, 165 insertions(+), 26 deletions(-) diff --git a/openbb_terminal/miscellaneous/library/trail_map_forecasting.csv b/openbb_terminal/miscellaneous/library/trail_map_forecasting.csv index f4fd12884ab..805c2d77bc7 100644 --- a/openbb_terminal/miscellaneous/library/trail_map_forecasting.csv +++ b/openbb_terminal/miscellaneous/library/trail_map_forecasting.csv @@ -6,7 +6,7 @@ forecast.clean,openbb_terminal.forecast.forecast_model.clean, forecast.combine,openbb_terminal.forecast.forecast_model.combine_dfs, forecast.desc,openbb_terminal.forecast.forecast_model.describe_df,openbb_terminal.forecast.forecast_view.describe_df forecast.corr,openbb_terminal.forecast.forecast_model.corr_df,openbb_terminal.forecast.forecast_view.display_corr -forecast.season,openbb_terminal.forecast.forecast_view.display_seasonality, +forecast.season,,openbb_terminal.forecast.forecast_view.display_seasonality forecast.delete,openbb_terminal.forecast.forecast_model.delete_column, forecast.rename,openbb_terminal.forecast.forecast_model.rename_column, forecast.export,openbb_terminal.forecast.forecast_view.export_df, @@ -35,4 +35,4 @@ forecast.nhits,openbb_terminal.forecast.nhits_model.get_nhits_data,openbb_termin forecast.mstl,openbb_terminal.forecast.mstl_model.get_mstl_data,openbb_terminal.forecast.mstl_view.display_mstl_forecast forecast.autoarima,openbb_terminal.forecast.autoarima_model.get_autoarima_data,openbb_terminal.forecast.autoarima_view.display_autoarima_forecast forecast.rwd,openbb_terminal.forecast.rwd_model.get_rwd_data,openbb_terminal.forecast.rwd_view.display_rwd_forecast -forecast.autoselect,openbb_terminal.forecast.autoselect_model.get_autoselect_data,openbb_terminal.forecast.autoselect_view.display_autoselect_forecast \ No newline at end of file +forecast.autoselect,openbb_terminal.forecast.autoselect_model.get_autoselect_data,openbb_terminal.forecast.autoselect_view.display_autoselect_forecast diff --git a/openbb_terminal/reports/templates/forecast.ipynb b/openbb_terminal/reports/templates/forecast.ipynb index 6286af82cd5..19c76b7403c 100644 --- a/openbb_terminal/reports/templates/forecast.ipynb +++ b/openbb_terminal/reports/templates/forecast.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "driven-billion", "metadata": {}, "outputs": [], @@ -39,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "c3fe7db5-ec6a-42cf-9e66-52dc1de22370", "metadata": {}, "outputs": [], @@ -53,14 +53,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "9c3ae3e3-2b91-43a6-aa44-7b10986fd369", "metadata": {}, "outputs": [], "source": [ "def get_image(func, title, *args, **kwargs):\n", " local_fig, ax = plt.subplots(dpi=20)\n", - " kwargs[\"chart\"] = True\n", + " #kwargs[\"chart\"] = True\n", " kwargs[\"external_axes\"] = [ax]\n", " if title:\n", " ax.set_title(title)\n", @@ -83,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "intended-sherman", "metadata": { "tags": [ @@ -100,7 +100,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "e1f87190", "metadata": {}, "outputs": [], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "a441ddbc-d75b-4a18-84d4-e01b677674d3", "metadata": {}, "outputs": [], @@ -123,10 +123,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "1be26dae-cafe-4a22-80aa-eff296fc1a9b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
Loading Daily data for VTI with starting period 2021-10-12.\n",
+       "
\n" + ], + "text/plain": [ + "Loading Daily data for VTI with starting period 2021-10-12.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "('FORECAST RESEARCH REPORT ON VTI',\n", + " '16 November, 2022',\n", + " '10:28',\n", + " datetime.timezone(datetime.timedelta(days=-1, seconds=68400), 'EST'))" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ticker_data = openbb.stocks.load(\n", " symbol=ticker, start_date=datetime.datetime.now() - datetime.timedelta(days=400)\n", @@ -152,10 +179,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "cb31e9ee-e7ae-4e1b-89b4-bb6f571cfdfa", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": "\n\n\n \n \n \n \n 2022-11-16T10:28:51.895217\n image/svg+xml\n \n \n Matplotlib v3.5.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "local_fig, ax = plt.subplots(dpi=20)\n", "column = \"close\"\n", @@ -171,32 +209,133 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "d8bb53c1-147e-4342-af61-0d0a9cc56e59", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": "\n\n\n \n \n \n \n 2022-11-16T10:28:54.048198\n image/svg+xml\n \n \n Matplotlib v3.5.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "corr_chart = get_image(openbb.forecast.corr, None, ticker_data)" + "corr_chart = get_image(openbb.forecast.corr_chart, None, ticker_data)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "74b914a1-ed32-4a17-a943-7879bc8f00df", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": "\n\n\n \n \n \n \n 2022-11-16T10:29:00.609594\n image/svg+xml\n \n \n Matplotlib v3.5.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "season_chart = get_image(openbb.forecast.season, \"Seasonality Data\", ticker_data)" + "season_chart = get_image(openbb.forecast.season_chart, \"Seasonality Data\", ticker_data)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "53568c9b-aa06-4ba0-ad86-ede6732e3187", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "004841e51d934f72b6e69c9fa0cb0e9f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/40 [00:00Exponential smoothing obtains MAPE: 3.24% \n", + "\n", + "\n" + ], + "text/plain": [ + "Exponential smoothing obtains MAPE: 3.24% \n", + "\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
   Actual price: 200.36    \n",
+       "┏━━━━━━━━━━━━┳━━━━━━━━━━━━┓\n",
+       "┃ Datetime   ┃ Prediction ┃\n",
+       "┡━━━━━━━━━━━━╇━━━━━━━━━━━━┩\n",
+       "│ 2022-11-16 │ 200.76     │\n",
+       "├────────────┼────────────┤\n",
+       "│ 2022-11-17 │ 199.85     │\n",
+       "├────────────┼────────────┤\n",
+       "│ 2022-11-18 │ 200.72     │\n",
+       "├────────────┼────────────┤\n",
+       "│ 2022-11-21 │ 200.98     │\n",
+       "├────────────┼────────────┤\n",
+       "│ 2022-11-22 │ 200.85     │\n",
+       "└────────────┴────────────┘\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[3m Actual price: \u001b[0m\u001b[3;33m200.36\u001b[0m\u001b[3m \u001b[0m\n", + "┏━━━━━━━━━━━━┳━━━━━━━━━━━━┓\n", + "┃\u001b[1m \u001b[0m\u001b[1mDatetime \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mPrediction\u001b[0m\u001b[1m \u001b[0m┃\n", + "┡━━━━━━━━━━━━╇━━━━━━━━━━━━┩\n", + "│ 2022-11-16 │ \u001b[38;2;0;170;255m200.76 \u001b[0m │\n", + "├────────────┼────────────┤\n", + "│ 2022-11-17 │ \u001b[38;2;0;170;255m199.85 \u001b[0m │\n", + "├────────────┼────────────┤\n", + "│ 2022-11-18 │ \u001b[38;2;0;170;255m200.72 \u001b[0m │\n", + "├────────────┼────────────┤\n", + "│ 2022-11-21 │ \u001b[38;2;0;170;255m200.98 \u001b[0m │\n", + "├────────────┼────────────┤\n", + "│ 2022-11-22 │ \u001b[38;2;0;170;255m200.85 \u001b[0m │\n", + "└────────────┴────────────┘\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": "\n\n\n \n \n \n \n 2022-11-16T10:29:35.374187\n image/svg+xml\n \n \n Matplotlib v3.5.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "expo_chart = get_image(openbb.forecast.expo, None, ticker_data, chart=True)" + "expo_chart = get_image(openbb.forecast.expo_chart, None, ticker_data)" ] }, { @@ -206,7 +345,7 @@ "metadata": {}, "outputs": [], "source": [ - "rnn_chart = get_image(openbb.forecast.rnn, None, ticker_data, chart=True)" + "rnn_chart = get_image(openbb.forecast.rnn_chart, None, ticker_data)" ] }, { @@ -266,7 +405,7 @@ "metadata": { "celltoolbar": "Tags", "kernelspec": { - "display_name": "Python 3.10.4 ('obb')", + "display_name": "Python 3.9.6 ('obb')", "language": "python", "name": "python3" }, @@ -280,11 +419,11 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.4" + "version": "3.9.6" }, "vscode": { "interpreter": { - "hash": "1a8cc6b6e60740679b24fc1ea93bdeb94d949a22102a80c99b7fd3f0d572afd6" + "hash": "bd3088e2ce83c7406a082a5b650cfc74fd1480320510d276c9fa5780b96e5fae" } } },