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

135 lines
8.5 KiB
Markdown
Vendored
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: trans
description: 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.
keywords:
- 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';
<HeadTitle title="forecast.trans - Reference | OpenBB SDK Docs" />
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<Tabs>
<TabItem value="model" label="Model" default>
Performs Transformer forecasting
Source Code: [[link](https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/forecast/trans_model.py#L20)]
```python
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<br/>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,<br/>Historical forecast by best RNN model,<br/>list of Predictions,<br/>Mean average precision error,<br/>Best transformer Model. |
---
</TabItem>
<TabItem value="view" label="Chart">
Display Transformer forecast
Source Code: [[link](https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/forecast/trans_view.py#L20)]
```python
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<br/>(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.<br/>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<br/>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
---
</TabItem>
</Tabs>