Skip to main content

THOR: Time-Varying High-dimensional Ordinal Regression

THOR is a new autoML tool for temporal tabular datasets and time series. It handles high dimensional datasets with distribution shifts better than other tools. Inspired by the Numerai competiton, THOR has evolved from a specific tool for Numerai competition into a general ML pipeline which has many applications in finance and healthcare.

Gradient Boosting Decision Trees

Customised LightGBM-based Gradient Boosting Decision Trees models for temporal tabular datasets.

Deep Learning Models

A novel deep learning model for temporal tabular datasets, which complements well with the above GBDT-based models.

TimeSeries Hybrid

A new method which combines classical and machine learning techniques for feature engineering and sequence modelling. A hybrid approach which demonstrate robust performances for high dimensional time-series.

Dynamic Hyperopt

Apply dynamic hyper-parameter optimisation methods under incremental learning framework for temporal tabular and multi-variate timeseries datasets.

Portfolio Optimisation

A new method to combine predictions from machine learning model using well-known theories from finance. Using the best research results from both finance and reinforcement learning, the method can maximise the portfolio return (or minimise the given loss function) within required risk metrics.

Trend Follower

An enhanced implementation of trend following strategies with improved robustness and lower risks than the standard implementation of moving averages. Offer a better way to replicate trend following strategies and build new strategies that are less correlated to existing ones.

Docker

As this packages used various machine learning and CUDA libaries for GPU support, we recommend to use docker to manage the dependencies.

The image is now uploaded on Docker Hub.

docker pull thomaswong2023/thor-public
docker run --gpus device=all -it -d --rm --name thor-public-example thomaswong2023/thor:public bash

PyPI

This project is also on PyPI.

Install the package with the following command. Dependencies are not installed with the package

pip install thorml -r requirements.txt

Citation

If you are using this package in your scientific work, we would appreciate citations to the following preprint on arxiv.

Robust machine learning pipelines for trading market-neutral stock portfolios

Bibtex entry:

@misc{https://doi.org/10.48550/arxiv.2301.00790,
  doi = {10.48550/ARXIV.2301.00790},
  
  url = {https://arxiv.org/abs/2301.00790},
  
  author = {Wong, Thomas and Barahona, Mauricio},
  
  keywords = {Computational Finance (q-fin.CP), Computational Engineering, Finance, and Science (cs.CE), Machine Learning (cs.LG), FOS: Economics and business, FOS: Economics and business, FOS: Computer and information sciences, FOS: Computer and information sciences},
  
  title = {Robust machine learning pipelines for trading market-neutral stock portfolios},
  
  publisher = {arXiv},
  
  year = {2023},
  
  copyright = {Creative Commons Attribution 4.0 International}
}

Metadata

Release files for thorml 0.1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for thorml 0.1.1.2
File Size Uploaded
thorml-0.1.1.2.tar.gz 32.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thorml 0.1.1.2
File Interpreter ABI Platform
thorml-0.1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 68.9 kB

Release files / thorml-0.1.1.2.tar.gz

Download URL thorml-0.1.1.2.tar.gz
Size 32.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b60f07e43ca5b8982dd044290440a474563196cdfdd6a223cf9652f07a6d3a5e
BLAKE2b-256 checksum
How to use checksums
57948e8075924863fc4d1fff41938593f40de51794627cc287d25b62acc37445
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

Release files / thorml-0.1.1.2-py3-none-any.whl

Download URL thorml-0.1.1.2-py3-none-any.whl
Size 36.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71042261698cf8440b414a21a173afc867464ad36d9f5b3994a4714ffc270858
BLAKE2b-256 checksum
How to use checksums
4c7d16a0611ae9f6616318c99f08037c8063e97b105af55ac8a0d0c3a2f5f64f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.10.1 urllib3/1.26.15 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.9

Release history Release notifications | RSS feed

This release

0.1.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page