A Quantitative Backtest Framework
Project description
📰 What's NEW! ✨
Recent released features
| Feature | Status |
|---|---|
| Data ETL pipeline | 🔨Released on Nov 3, 2024 |
| Parameter tuning by optuna | 🔨Released on Oct 23, 2024 |
| Release Frozen v3.0.0 | 📈Released on Sep 15, 2024 |
| Integrate Qlib machine learning extension | 📈Released on Aug 20, 2024 |
| ETF backtest engine | 📈Released on Jul 21, 2024 |
| Factor database | 🔨Released on Jun 29, 2024 |
| Release Frozen v2.6.0 | 📈Released on Jun 13, 2024 |
| DuckDB support for data module | 📈Released on May 14, 2024 |
| 3D-GPlearn factor mining extension | :octocat: Released on Apr 7, 2024 |
| Integrate Qlib factor expression engine | 📈Released on Feb 25, 2024 |
| Factor expression engine | 🔨Released on Feb 17, 2024 |
| Parallel computation example | 🔨Released on Jan 14, 2024 |
| Release Frozen v2.0.0 | 📈Released on Dec 18, 2023 |
| Release Frozen v1.0.0 | 📈Released on Apr 24 2023 |
Frozen is an advanced factor-driven quantitative research platform, powered by a sophisticated event-driven backtesting engine and cutting-edge portfolio optimization engine. The framework aims to seamlessly integrate data processing, research analytics, back-testing, and live-trading into a unified pipeline, while standardizing factor research procedures through a systematic and rigorous approach.
The framework covers the entire chain of quantitative investment: alpha seeking, risk modeling, portfolio optimization, and order execution, enabling researchers and practitioners to efficiently transform their investment hypotheses into implementable strategies. With Frozen's robust architecture and intuitive interface, users can rapidly prototype, validate, and deploy sophisticated quantitative investment strategies with institutional-grade reliability. For more details, please refer to project website
| Frameworks, Tutorial, Data & DevOps | Solutions in Auto Quant Research |
|---|---|
|
|
|
Plans
New features under development (order by estimated release time).
Framework of Frozen
Quick Start
This quick start guide tries to demonstrate
- It's very easy to build a complete Quant research workflow and try your ideas with Frozen.
- Though with public data and simple models, traditional factors work very well in practical Quant investment.
Here is a quick demo shows how to install Frozen, and run Alpha101 strategy with frun. But, please make sure you have already prepared the data following the instruction.
Installation
This table demonstrates the supported Python version of Frozen:
| install with pip | install from source | Data ETL | |
|---|---|---|---|
| Python 3.9 | ✔️ | ✔️ | ❌ |
| Python 3.10 | ✔️ | ✔️ | ✔️ |
| Python 3.11 | ✔️ | ✔️ | ✔️ |
Note:
- Conda is suggested for managing your Python environment. In some cases, using Python outside of a
condaenvironment may result in missing header files, causing the installation failure of certain packages. - Python introduced match-case expression in version 3.10, which is incorporated in data ETL pipeline. Thus, for python 3.9, users will have to roll back manually to if-else expression.
Install with pip
Users can easily install Qlib by pip according to the following command.
pip install frozen
Note: pip will install the latest stable frozen. However, the main branch of frozen is in active development. If you want to test the latest scripts or functions in the main branch. Please install frozen with the methods below.
Install from source
Also, users can install the latest dev version Frozen by the source code according to the following steps:
-
It is recommended that users create a seperate environment for better management
# if you prefer to use virtual environment, uncomment the following # python -m venv .venv # source .venv/bin/activate # if you prefer to use conda environment, run below conda create -n frozen python=3.11
-
Before installing
Frozenfrom source, users need to install some dependencies:pip install numpy pip install --upgrade cython
-
Download the repository and install
Frozenas follows.pip install . # `pip install -e .[dev]` is recommended for development.
Note: You can install Frozen with
python setup.py installas well. But it is not the recommended approach. It will skippipand cause obscure problems. For example, only the commandpip install .can overwrite the stable version installed bypip install pyfrozen, while the commandpython setup.py installcan't.
Data Preparation
Factor Research Workflow
Paper reproduction
Factor Mining
Investment Strategy
Portfolio Optimization
Parameter Tuning
Auto Quant Research Workflow
Data ETL Pipeline
Workflow Orchestration
Frozen arrange workflow with Prefect
Scheduled Run
with cron
Automatic Signal Generation
Live Trading & Order Execution Algorithms
Interactive Visualization Tools
Real-Time Monitor Panel
with Grafana
Web UI Design
with Streamlit
Mobile App Design
with Flutter
# if you want to conduct ETL task flow orchestration
prefect config set PREFECT_API_URL="http://127.0.0.1:4200/api"
prefect server start
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file frozen_quant-3.2.2.tar.gz.
File metadata
- Download URL: frozen_quant-3.2.2.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
773726763b0edb533ea92741eed559ea615ff4698f65a5d54019ab4829918095
|
|
| MD5 |
5f85143f368f85980c32edc9129e46d2
|
|
| BLAKE2b-256 |
25c11ed25b6ba0efe81ec081c59b63155e3ef971f25b6ef895ba9199b49cd421
|
File details
Details for the file frozen_quant-3.2.2-py3-none-any.whl.
File metadata
- Download URL: frozen_quant-3.2.2-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
931b26b9af2fd664972f0078c30edc12485ac5c5f1307f14abac5ffe3be3a915
|
|
| MD5 |
21e3a4da18e65ffd2b4bc09c9673df72
|
|
| BLAKE2b-256 |
1b0ae8602f48aff343834e633411861ebf2888fcc2bc052a4e5dbac3f5a28965
|