quantlab.model.predefined.transformer.TransformerRegressor#
- class quantlab.model.predefined.transformer.TransformerRegressor(config)[source]#
Bases:
QlibSequenceHeadQlib’s Transformer benchmark model on
(bar, symbol)samples.TransformerNettrained by Qlib’s time-series regimen (QlibSequenceHead:CSRankNormtarget, MSE, gradient values clipped at 3, the best validation epoch kept), with Adam’s weight decay at Qlib’sreg. The Alpha158 benchmark config (workflow_config_transformer_Alpha158.yaml) keeps the model’s defaults, which are the defaults here:window_bars(20),d_model(64),nhead(2),num_layers(2),dropout(0.0),batch_size(8192),lr(1e-4),weight_decay(1e-3),epochs(100) andearly_stop(5).Known differences from Qlib’s implementation: as
LSTMRegressor’s (the model’s own factors, clip and zero fill instead of a fittedRobustZScoreNormand window fill, a per-bar validation loss, one output column per label).- Parameters:
- configModelConfig
Factors, labels, dates and hyperparameters.
Examples
>>> TransformerRegressor(config).collect().train().name 'TransformerRegressor_total.pth'
- DEFAULTS = {'batch_size': 8192, 'd_model': 64, 'dropout': 0.0, 'early_stop': 5, 'epochs': 100, 'lr': 0.0001, 'nhead': 2, 'num_layers': 2, 'weight_decay': 0.001, 'window_bars': 20}#
Every unset hyperparameter’s value; a head gives Qlib’s benchmark values.
- net_cls#
The network class.
alias of
TransformerNet