PatchTST Cross-Sectional Return Forecast

This model is a PatchTSTForPrediction model trained to forecast future cross-sectional stock return distributions.

Data

  • Dataset: siddharthmb/stocks-ohlcv
  • Source file: ohlcv.csv
  • Tickers: AAPL, MSFT, AMZN, GOOGL, NVDA, TSLA, AMD, INTC, ADBE, ORCL, CSCO, IBM, JPM, BAC, V, MA, AXP, JNJ, PG, KO
  • Input: past daily log returns in percentage points
  • Target: future daily log returns in percentage points
  • Split: chronological train / validation / test

Model

PatchTSTConfig(
    context_length=512,
    prediction_length=64,
    num_input_channels=20,
    patch_length=16,
    patch_stride=8,
    d_model=128,
    num_hidden_layers=4,
    num_attention_heads=4,
    distribution_output="student_t",
    loss="nll",
    scaling="std",
)

Student-t output is used because financial returns are heavy-tailed.

Metrics

Validation:

{
  "loss": 40.24222278594971,
  "mae": 3.3909754753112793,
  "mse": 15.027800559997559,
  "directional_accuracy": 0.5080167271784233,
  "flattened_ic": 0.002849485427271254,
  "cross_sectional_ic": 0.008907554652154311,
  "cross_sectional_rank_ic": 0.008295830343493587
}

Test:

{
  "loss": 38.46169090270996,
  "mae": 3.328381299972534,
  "mse": 14.407476425170898,
  "directional_accuracy": 0.534091938405797,
  "flattened_ic": 0.00037866420310066716,
  "cross_sectional_ic": 0.00456014569165105,
  "cross_sectional_rank_ic": 0.009876399072214697
}

NLL/loss is the primary metric because this is a probabilistic forecasting model.

Intended Use

Research and experimentation with probabilistic multi-asset return forecasting. This is not a production trading system or investment advice.

Downloads last month
1
Safetensors
Model size
830k params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train kyLELEng/patchtst-cross-sectional-return-forecast