Files
OpenBB/website/content/sdk/reference/forecast/trans.md
DidierRLopes 4ad995fdd0 Docs/terminalpro and improvement (#5622)
* add first iteration of content for Terminal Pro

* Update index.md

* Update dashboards.md

* Update folders.md

* Update grouping.md

* Update report.md

* Update templates.md

* Update quick-start.md

* Update index.md

* Update index.md

* Update home.md

* Update news.md

* Update index.md

* Update index.md

* Update index.md

* Update data-provider.md

* Update chat-with-widget.md

* Update data-manipulation.md

* Update forecasting.md

* fix: images self closing tags

* fix: only pro visitors can see pro

* inter font

* improve SEO content and restructuring

* add new package for toggle on tutorials

* move folder around

* improve main page of each prod

* small updates and improvements

* fix logo above

* small improvement in headtitle for portfolio funcs

* fix typos from OpenAI's GPT-4

* fix _category_ json

* remove generic SEO words

* add script that generates SEO for documentation

* add missing file

* remove sdk warning message

* fix links for andrew

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
2023-10-30 21:01:29 +00:00

8.5 KiB
Vendored
Raw Blame History

title, description, keywords
title description keywords
trans This section emphasizes on Transformer forecasting method implementation and visualization used in OpenBB Terminal. It explains functions like how to apply the approach on data, various parameters to adjust for better forecasting and display the results in chart.
Transformer Forecasting
Time-Series Prediction
Forecasting Parameters
Data Visualization
pandas series
pandas dataframe
Machine Learning
Activation Function
Multi-head Attention Mechanism
Encoder layers
Decoder layers
Feedforward Network

import HeadTitle from '@site/src/components/General/HeadTitle.tsx';

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

Performs Transformer forecasting

Source Code: [link]

openbb.forecast.trans(data: Union[pd.Series, pd.DataFrame], target_column: str = "close", n_predict: int = 5, train_split: float = 0.85, past_covariates: str = None, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, d_model: int = 64, nhead: int = 4, num_encoder_layers: int = 3, num_decoder_layers: int = 3, dim_feedforward: int = 512, activation: str = "relu", dropout: float = 0.0, batch_size: int = 32, n_epochs: int = 100, learning_rate: float = 0.001, model_save_name: str = "trans_model", force_reset: bool = True, save_checkpoints: bool = True)

Parameters

Name Type Description Default Optional
data Union[pd.Series, pd.DataFrame] Input Data None False
n_predict int Days to predict. Defaults to 5. 5 True
target_column str Target column to forecast. Defaults to "close". close True
train_split float Train/val split. Defaults to 0.85. 0.85 True
past_covariates str Multiple secondary columns to factor in when forecasting. Defaults to None. None True
forecast_horizon int Forecast horizon when performing historical forecasting. Defaults to 5. 5 True
input_chunk_length int Number of past time steps that are fed to the forecasting module at prediction time. Defaults to 14. 14 True
output_chunk_length int The length of the forecast of the model. Defaults to 5. 5 True
d_model int The number of expected features in the encoder/decoder inputs. Defaults to 64. 64 True
nhead int The number of heads in the multi-head attention mechanism. Defaults to 4. 4 True
num_encoder_layers int The number of encoder layers in the encoder. Defaults to 3. 3 True
num_decoder_layers int The number of decoder layers in the encoder. Defaults to 3. 3 True
dim_feedforward int The dimension of the feedforward network model. Defaults to 512. 512 True
activation str The activation function of encoder/decoder intermediate layer, ‘relu’ or ‘gelu’. Defaults to 'relu'. relu True
dropout float Fraction of neurons affected by Dropout. Defaults to 0.0. 0.0 True
batch_size int Number of time series (input and output sequences) used in each training pass. Defaults to 32. 32 True
n_epochs int Number of epochs over which to train the model. Defaults to 100. 100 True
learning_rate float Defaults to 1e-3. 0.001 True
model_save_name str Name for model. Defaults to "brnn_model". trans_model True
force_reset bool If set to True, any previously-existing model with the same name will be reset (all checkpoints will be
discarded). Defaults to True.
True True
save_checkpoints bool Whether or not to automatically save the untrained model and checkpoints from training. Defaults to True. True True

Returns

Type Description
Tuple[List[TimeSeries], List[TimeSeries], List[TimeSeries], Optional[float], type[TransformerModel]] Adjusted Data series,
Historical forecast by best RNN model,
list of Predictions,
Mean average precision error,
Best transformer Model.

Display Transformer forecast

Source Code: [link]

openbb.forecast.trans_chart(data: Union[pd.Series, pd.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, d_model: int = 64, nhead: int = 4, num_encoder_layers: int = 3, num_decoder_layers: int = 3, dim_feedforward: int = 512, activation: str = "relu", dropout: float = 0.1, batch_size: int = 16, n_epochs: int = 100, learning_rate: float = 0.001, model_save_name: str = "trans_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)

Parameters

Name Type Description Default Optional
data Union[pd.Series, pd.DataFrame] Input Data None False
dataset_name str The name of the ticker to be predicted True
n_predict int Days to predict. Defaults to 5. 5 True
target_column str Target column to forecast. Defaults to "close". close True
train_split float Train/val split. Defaults to 0.85. 0.85 True
past_covariates str Multiple secondary columns to factor in when forecasting. Defaults to None. None True
forecast_horizon int Forecast horizon when performing historical forecasting. Defaults to 5. 5 True
input_chunk_length int Number of past time steps that are fed to the forecasting module at prediction time. Defaults to 14. 14 True
output_chunk_length int The length of the forecast of the model. Defaults to 5. 5 True
d_model int The number of expected features in the encoder/decoder inputs. Defaults to 64. 64 True
nhead int The number of heads in the multi-head attention mechanism. Defaults to 4. 4 True
num_encoder_layers int The number of encoder layers in the encoder. Defaults to 3. 3 True
num_decoder_layers int The number of decoder layers in the encoder. Defaults to 3. 3 True
dim_feedforward int The dimension of the feedforward network model. Defaults to 512. 512 True
activation str The activation function of encoder/decoder intermediate layer, ‘relu’ or ‘gelu’. Defaults to 'relu'. relu True
dropout float Fraction of neurons affected by Dropout. Defaults to 0.1. 0.1 True
batch_size_ int Number of time series (input and output sequences) used in each training pass. Defaults to 32. None True
n_epochs int Number of epochs over which to train the model. Defaults to 100. 100 True
model_save_name str Name for model. Defaults to "brnn_model". trans_model True
force_reset bool If set to True, any previously-existing model with the same name will be reset
(all checkpoints will be discarded). Defaults to True.
True True
save_checkpoints bool Whether or not to automatically save the untrained model and checkpoints from training.
Defaults to True.
True True
export str Format to export data True
residuals bool Whether to show residuals for the model. Defaults to False. False True
forecast_only bool Whether to only show dates in the forecasting range. Defaults to False. False True
start_date Optional[datetime] The starting date to perform analysis, data before this is trimmed. Defaults to None. None True
end_date Optional[datetime] The ending date to perform analysis, data after this is trimmed. Defaults to None. None True
naive bool Whether to show the naive baseline. This just assumes the closing price will be the same
as the previous day's closing price. Defaults to False.
False True
external_axes Optional[List[plt.axes]] External axes to plot on None True

Returns

This function does not return anything