Skip to main content

A Quantitative Backtest Framework

Project description

Python Versions Platform PypI Versions Github Commit Status Documentation Status License

📰 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
  • Framework of Frozen
  • Quick Start
  • Learning Framework
  • Related Reports
  • Auto Quant Research Workflow
  • Interactive Visualization Tools
  • Plans

    New features under development (order by estimated release time).

    Framework of Frozen

    Quick Start

    This quick start guide tries to demonstrate

    1. It's very easy to build a complete Quant research workflow and try your ideas with Frozen.
    2. 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:

    1. Conda is suggested for managing your Python environment. In some cases, using Python outside of a conda environment may result in missing header files, causing the installation failure of certain packages.
    2. 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 Frozen from source, users need to install some dependencies:

      pip install numpy
      pip install --upgrade  cython
      
    • Download the repository and install Frozen as follows.

      pip install .  # `pip install -e .[dev]` is recommended for development.
      

      Note: You can install Frozen with python setup.py install as well. But it is not the recommended approach. It will skip pip and cause obscure problems. For example, only the command pip install . can overwrite the stable version installed by pip install pyfrozen, while the command python setup.py install can'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


    Download files

    Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

    Source Distribution

    frozen_quant-3.2.2.tar.gz (11.4 kB view details)

    Uploaded Source

    Built Distribution

    If you're not sure about the file name format, learn more about wheel file names.

    frozen_quant-3.2.2-py3-none-any.whl (7.2 kB view details)

    Uploaded Python 3

    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

    Hashes for frozen_quant-3.2.2.tar.gz
    Algorithm Hash digest
    SHA256 773726763b0edb533ea92741eed559ea615ff4698f65a5d54019ab4829918095
    MD5 5f85143f368f85980c32edc9129e46d2
    BLAKE2b-256 25c11ed25b6ba0efe81ec081c59b63155e3ef971f25b6ef895ba9199b49cd421

    See more details on using hashes here.

    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

    Hashes for frozen_quant-3.2.2-py3-none-any.whl
    Algorithm Hash digest
    SHA256 931b26b9af2fd664972f0078c30edc12485ac5c5f1307f14abac5ffe3be3a915
    MD5 21e3a4da18e65ffd2b4bc09c9673df72
    BLAKE2b-256 1b0ae8602f48aff343834e633411861ebf2888fcc2bc052a4e5dbac3f5a28965

    See more details on using hashes here.

    Supported by

    AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page