Skip to main content


Performs Nhits forecasting

Source Code: [link]

openbb.forecast.nhits(data: Union[pd.Series, pd.DataFrame], target_column: str = "close", n_predict: int = 5, train_split: float = 0.85, past_covariates: Optional[str] = None, forecast_horizon: int = 5, input_chunk_length: int = 14, output_chunk_length: int = 5, num_stacks: int = 3, num_blocks: int = 1, num_layers: int = 2, layer_widths: int = 512, pooling_kernel_sizes: Optional[Tuple[Tuple[int]]] = None, n_freq_downsample: Optional[Tuple[Tuple[int]]] = None, dropout: float = 0.1, activation: str = "ReLU", max_pool_1d: bool = True, batch_size: int = 32, n_epochs: int = 100, learning_rate: float = 0.001, model_save_name: str = "nhits_model", force_reset: bool = True, save_checkpoints: bool = True, metric: str = "mape")


dataUnion[pd.Series, pd.DataFrame]Input DataNoneFalse
target_columnstrTarget column to forecast. Defaults to "close".closeTrue
n_predictintDays to predict. Defaults to 5.5True
train_splitfloatTrain/val split. Defaults to
past_covariatesstrMultiple secondary columns to factor in when forecasting. Defaults to None.NoneTrue
forecast_horizonintForecast horizon when performing historical forecasting. Defaults to 5.5True
input_chunk_lengthintNumber of past time steps that are fed to the forecasting module at prediction time. Defaults to 14.14True
output_chunk_lengthintThe length of the forecast of the model. Defaults to 5.5True
num_stacksintThe number of stacks that make up the whole model.3True
num_blocksintThe number of blocks making up every stack.1True
num_layersintThe number of fully connected layers preceding the final forking layers in each block
of every stack.
layer_widthsintDetermines the number of neurons that make up each fully connected layer in each
block of every stack. If a list is passed, it must have a length equal to num_stacks
and every entry in that list corresponds to the layer width of the corresponding stack.
If an integer is passed, every stack will have blocks with FC layers of the same width.
pooling_kernel_sizeOptional[Tuple[Tuple[int]]]:If set, this parameter must be a tuple of tuples, of size (num_stacks x num_blocks),
specifying the kernel size for each block in each stack used for the input pooling
layer. If left to None, some default values will be used based on input_chunk_length.
n_freq_downsampleOptional[Tuple[Tuple[int]]]If set, this parameter must be a tuple of tuples, of size (num_stacks x num_blocks),
specifying the downsampling factors before interpolation, for each block in each stack.
If left to None, some default values will be used based on output_chunk_length.
dropoutfloatThe dropout probability to be used in fully connected layers.0.1True
activationstrSupported activations: [‘ReLU’,’RReLU’, ‘PReLU’, ‘Softplus’, ‘Tanh’, ‘SELU’, ‘LeakyReLU’, ‘Sigmoid’]ReLUTrue
max_pool_1dboolUse max_pool_1d pooling. False uses AvgPool1d.TrueTrue
batch_sizeintNumber of time series (input and output sequences) used in each training pass. Defaults to 32.32True
n_epochsintNumber of epochs over which to train the model. Defaults to 100.100True
learning_ratefloatDefaults to 1e-3.0.001True
model_save_namestrName for model. Defaults to "brnn_model".nhits_modelTrue
force_resetboolIf set to True, any previously-existing model with the same name will be reset (all checkpoints will be
discarded). Defaults to True.
save_checkpointsboolWhether or not to automatically save the untrained model and checkpoints from training. Defaults to True.TrueTrue
metricstrMetric to use for model selection. Defaults to "mape".mapeTrue


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