From 2cd663c1b607bdb410ff076ec08a2bba7d0d560d Mon Sep 17 00:00:00 2001 From: martinb-bb <105685594+martinb-bb@users.noreply.github.com> Date: Wed, 2 Nov 2022 13:21:23 -0400 Subject: [PATCH] standardize and update api defaults + report (#3271) Co-authored-by: James Maslek --- openbb_terminal/forecast/autoets_model.py | 2 +- openbb_terminal/forecast/autoets_view.py | 2 +- openbb_terminal/forecast/expo_model.py | 2 +- openbb_terminal/forecast/expo_view.py | 2 +- openbb_terminal/forecast/tft_model.py | 2 +- openbb_terminal/forecast/tft_view.py | 2 +- openbb_terminal/forecast/theta_model.py | 2 +- openbb_terminal/forecast/theta_view.py | 2 +- openbb_terminal/reports/templates/forecast.ipynb | 4 ++-- website/content/SDK/forecast/expo/_index.md | 8 ++++---- website/content/SDK/forecast/tft/_index.md | 8 ++++---- website/content/SDK/forecast/theta/_index.md | 8 ++++---- 12 files changed, 22 insertions(+), 22 deletions(-) diff --git a/openbb_terminal/forecast/autoets_model.py b/openbb_terminal/forecast/autoets_model.py index 6ac30158aac..a6170ad6149 100644 --- a/openbb_terminal/forecast/autoets_model.py +++ b/openbb_terminal/forecast/autoets_model.py @@ -26,7 +26,7 @@ def get_autoets_data( data: Union[pd.Series, pd.DataFrame], target_column: str = "close", seasonal_periods: int = 7, - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, ) -> Tuple[list[np.ndarray], List[np.ndarray], List[np.ndarray], Optional[float], Any]: diff --git a/openbb_terminal/forecast/autoets_view.py b/openbb_terminal/forecast/autoets_view.py index a90e96c5247..bce6ed229aa 100644 --- a/openbb_terminal/forecast/autoets_view.py +++ b/openbb_terminal/forecast/autoets_view.py @@ -22,7 +22,7 @@ def display_autoets_forecast( target_column: str = "close", dataset_name: str = "", seasonal_periods: int = 7, - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, export: str = "", diff --git a/openbb_terminal/forecast/expo_model.py b/openbb_terminal/forecast/expo_model.py index 14a82312ca7..fac282b5213 100644 --- a/openbb_terminal/forecast/expo_model.py +++ b/openbb_terminal/forecast/expo_model.py @@ -37,7 +37,7 @@ def get_expo_data( seasonal: str = "A", seasonal_periods: int = 7, dampen: str = "F", - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, ) -> Tuple[List[TimeSeries], List[TimeSeries], List[TimeSeries], Optional[float], Any]: diff --git a/openbb_terminal/forecast/expo_view.py b/openbb_terminal/forecast/expo_view.py index 2ec779db3b5..6f6f52e4770 100644 --- a/openbb_terminal/forecast/expo_view.py +++ b/openbb_terminal/forecast/expo_view.py @@ -25,7 +25,7 @@ def display_expo_forecast( seasonal: str = "A", seasonal_periods: int = 7, dampen: str = "F", - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, export: str = "", diff --git a/openbb_terminal/forecast/tft_model.py b/openbb_terminal/forecast/tft_model.py index 607724ee663..b1235df3723 100644 --- a/openbb_terminal/forecast/tft_model.py +++ b/openbb_terminal/forecast/tft_model.py @@ -26,7 +26,7 @@ logger = logging.getLogger(__name__) def get_tft_data( data: Union[pd.Series, pd.DataFrame], target_column: str = "close", - n_predict: int = 30, + n_predict: int = 5, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, diff --git a/openbb_terminal/forecast/tft_view.py b/openbb_terminal/forecast/tft_view.py index cca7534723e..3c26b00fd41 100644 --- a/openbb_terminal/forecast/tft_view.py +++ b/openbb_terminal/forecast/tft_view.py @@ -21,7 +21,7 @@ def display_tft_forecast( data: Union[pd.Series, pd.DataFrame], target_column: str = "close", dataset_name: str = "", - n_predict: int = 30, + n_predict: int = 5, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, diff --git a/openbb_terminal/forecast/theta_model.py b/openbb_terminal/forecast/theta_model.py index 2a5b3816e6f..05725b8424e 100644 --- a/openbb_terminal/forecast/theta_model.py +++ b/openbb_terminal/forecast/theta_model.py @@ -31,7 +31,7 @@ def get_theta_data( target_column: str = "close", seasonal: str = "M", seasonal_periods: int = 7, - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, ) -> Tuple[List[TimeSeries], List[TimeSeries], List[TimeSeries], float, float, Any]: diff --git a/openbb_terminal/forecast/theta_view.py b/openbb_terminal/forecast/theta_view.py index d443e458e20..19a1264a039 100644 --- a/openbb_terminal/forecast/theta_view.py +++ b/openbb_terminal/forecast/theta_view.py @@ -24,7 +24,7 @@ def display_theta_forecast( dataset_name: str = "", seasonal: str = "M", seasonal_periods: int = 7, - n_predict: int = 30, + n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, export: str = "", diff --git a/openbb_terminal/reports/templates/forecast.ipynb b/openbb_terminal/reports/templates/forecast.ipynb index 5756d24d1dc..bfe23ee5e1a 100644 --- a/openbb_terminal/reports/templates/forecast.ipynb +++ b/openbb_terminal/reports/templates/forecast.ipynb @@ -206,7 +206,7 @@ "metadata": {}, "outputs": [], "source": [ - "tft_chart = get_image(openbb.forecast.tft, None, ticker_data, train_split=0.5)" + "rnn_chart = get_image(openbb.forecast.rnn, None, ticker_data, chart=True)" ] }, { @@ -251,7 +251,7 @@ "htmlcode += widgets.row([widgets.h(3, \"Analyzing the data\")])\n", "htmlcode += widgets.row([corr_chart, season_chart])\n", "htmlcode += widgets.row([widgets.h(3, \"Creating predictions\")])\n", - "htmlcode += widgets.row([expo_chart, tft_chart])\n", + "htmlcode += widgets.row([expo_chart, rnn_chart])\n", "\n", "body += widgets.add_tab(\"SUMMARY\", htmlcode)\n", "body += widgets.tab_clickable_and_save_evt()\n", diff --git a/website/content/SDK/forecast/expo/_index.md b/website/content/SDK/forecast/expo/_index.md index 7e4ce869756..54b2ee1baa1 100644 --- a/website/content/SDK/forecast/expo/_index.md +++ b/website/content/SDK/forecast/expo/_index.md @@ -1,7 +1,7 @@ To obtain charts, make sure to add `chart=True` as the last parameter -## Get underlying data -### forecast.expo(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', trend: str = 'A', seasonal: str = 'A', seasonal_periods: int = 7, dampen: str = 'F', n_predict: int = 30, start_window: float = 0.85, forecast_horizon: int = 5) -> Tuple[list[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], Optional[float], Any] +## Get underlying data +### forecast.expo(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', trend: str = 'A', seasonal: str = 'A', seasonal_periods: int = 7, dampen: str = 'F', n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5) -> Tuple[list[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], Optional[float], Any] Performs Probabilistic Exponential Smoothing forecasting This is a wrapper around statsmodels Holt-Winters' Exponential Smoothing; @@ -46,8 +46,8 @@ Performs Probabilistic Exponential Smoothing forecasting Any Fit Prob. Expo model object. -## Getting charts -### forecast.expo(data: Union[pandas.core.frame.DataFrame, pandas.core.series.Series], target_column: str = 'close', dataset_name: str = '', trend: str = 'A', seasonal: str = 'A', seasonal_periods: int = 7, dampen: str = 'F', n_predict: int = 30, start_window: float = 0.85, forecast_horizon: int = 5, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) +## Getting charts +### forecast.expo(data: Union[pandas.core.frame.DataFrame, pandas.core.series.Series], target_column: str = 'close', dataset_name: str = '', trend: str = 'A', seasonal: str = 'A', seasonal_periods: int = 7, dampen: str = 'F', n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) Display Probabilistic Exponential Smoothing forecast diff --git a/website/content/SDK/forecast/tft/_index.md b/website/content/SDK/forecast/tft/_index.md index 13e23a0b3df..ea722baaf2a 100644 --- a/website/content/SDK/forecast/tft/_index.md +++ b/website/content/SDK/forecast/tft/_index.md @@ -1,7 +1,7 @@ To obtain charts, make sure to add `chart=True` as the last parameter -## Get underlying data -### forecast.tft(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', n_predict: int = 30, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, hidden_size: int = 16, lstm_layers: int = 1, num_attention_heads: int = 4, full_attention: bool = False, dropout: float = 0.1, hidden_continuous_size: int = 8, n_epochs: int = 200, batch_size: int = 32, model_save_name: str = 'tft_model', force_reset: bool = True, save_checkpoints: bool = True) -> Tuple[List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], Optional[float], Any] +## Get underlying data +### forecast.tft(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', n_predict: int = 5, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, hidden_size: int = 16, lstm_layers: int = 1, num_attention_heads: int = 4, full_attention: bool = False, dropout: float = 0.1, hidden_continuous_size: int = 8, n_epochs: int = 200, batch_size: int = 32, model_save_name: str = 'tft_model', force_reset: bool = True, save_checkpoints: bool = True) -> Tuple[List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], Optional[float], Any] Performs Temporal Fusion Transformer forecasting The TFT applies multi-head attention queries on future inputs from mandatory future_covariates. @@ -70,8 +70,8 @@ Performs Temporal Fusion Transformer forecasting Any Fit Prob. TFT model object. -## Getting charts -### forecast.tft(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', dataset_name: str = '', n_predict: int = 30, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, hidden_size: int = 16, lstm_layers: int = 1, num_attention_heads: int = 4, full_attention: bool = False, dropout: float = 0.1, hidden_continuous_size: int = 8, n_epochs: int = 200, batch_size: int = 32, model_save_name: str = 'tft_model', force_reset: bool = True, save_checkpoints: bool = True, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) +## Getting charts +### forecast.tft(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', dataset_name: str = '', n_predict: int = 5, past_covariates: str = None, train_split: float = 0.85, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, hidden_size: int = 16, lstm_layers: int = 1, num_attention_heads: int = 4, full_attention: bool = False, dropout: float = 0.1, hidden_continuous_size: int = 8, n_epochs: int = 200, batch_size: int = 32, model_save_name: str = 'tft_model', force_reset: bool = True, save_checkpoints: bool = True, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) Display Temporal Fusion Transformer forecast diff --git a/website/content/SDK/forecast/theta/_index.md b/website/content/SDK/forecast/theta/_index.md index ffc216a5d01..11a7d3e89d8 100644 --- a/website/content/SDK/forecast/theta/_index.md +++ b/website/content/SDK/forecast/theta/_index.md @@ -1,7 +1,7 @@ To obtain charts, make sure to add `chart=True` as the last parameter -## Get underlying data -### forecast.theta(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', seasonal: str = 'M', seasonal_periods: int = 7, n_predict: int = 30, start_window: float = 0.85, forecast_horizon: int = 5) -> Tuple[List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], float, float, Any] +## Get underlying data +### forecast.theta(data: Union[pandas.core.series.Series, pandas.core.frame.DataFrame], target_column: str = 'close', seasonal: str = 'M', seasonal_periods: int = 7, n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5) -> Tuple[List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], List[darts.timeseries.TimeSeries], float, float, Any] Performs Theta forecasting An implementation of the 4Theta method with configurable theta parameter. @@ -42,8 +42,8 @@ Performs Theta forecasting Any Theta Model -## Getting charts -### forecast.theta(data: Union[pandas.core.frame.DataFrame, pandas.core.series.Series], target_column: str = 'close', dataset_name: str = '', seasonal: str = 'M', seasonal_periods: int = 7, n_predict: int = 30, start_window: float = 0.85, forecast_horizon: int = 5, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) +## Getting charts +### forecast.theta(data: Union[pandas.core.frame.DataFrame, pandas.core.series.Series], target_column: str = 'close', dataset_name: str = '', seasonal: str = 'M', seasonal_periods: int = 7, n_predict: int = 5, start_window: float = 0.85, forecast_horizon: int = 5, export: str = '', residuals: bool = False, forecast_only: bool = False, start_date: Optional[datetime.datetime] = None, end_date: Optional[datetime.datetime] = None, naive: bool = False, export_pred_raw: bool = False, external_axes: Optional[List[axes]] = None, chart=True) Display Theta forecast