Qlib: una herramienta de investigación cuantitativa de inversiones desarrollada por Microsoft

Introducción general

Qlib es una plataforma de código abierto desarrollada por Microsoft que se centra en el uso de la tecnología de IA para ayudar a los usuarios a investigar inversiones cuantitativas. Comienza con el procesamiento básico de datos y ayuda a los usuarios a explorar ideas de inversión y convertirlas en estrategias utilizables. qlib ofrece funciones de gestión de datos, formación de modelos y backtesting, que cubren todo el proceso de la inversión cuantitativa. Lanzado por el equipo de Microsoft Research, incorpora las últimas tecnologías de IA para manejar datos financieros complejos. Qlib se actualiza continuamente en GitHub y cuenta con una comunidad activa que atrae a muchos desarrolladores.

Qlib:微软开发的AI量化投资研究工具

 

Qlib:微软开发的AI量化投资研究工具

 

Lista de funciones

  • Procesamiento de datos: permite almacenar y procesar eficazmente los datos financieros para acceder a ellos y analizarlos con rapidez.
  • Formación de modelos: proporciona una variedad de modelos de aprendizaje automático, como el aprendizaje supervisado y el aprendizaje por refuerzo, para ayudar a predecir las tendencias del mercado.
  • Herramienta de backtesting: función de backtesting incorporada para simular el rendimiento de las estrategias de inversión y evaluar su eficacia.
  • Generación de estrategias de inversión: optimice las decisiones de negociación generando carteras objetivo a partir de señales.
  • Módulo personalizable: los usuarios pueden ajustar los modelos y las estrategias a las necesidades individuales.
  • Modo en línea y fuera de línea: admite despliegue local o servicios de datos compartidos, elección flexible de uso.

 

Utilizar la ayuda

Proceso de instalación

Qlib necesita ser instalado en un entorno que soporte Python. Aquí están los pasos detallados:

  1. Preparar el entorno
    • Asegúrese de que Python está instalado en su ordenador (se recomienda la versión 3.7 o 3.8). Puede hacerlo con <code>python --version</code> Comprueba la versión.
    • Se recomienda utilizar el entorno de gestión Anaconda. Tras descargar e instalar Anaconda, cree un nuevo entorno:
      conda create -n qlib_env python=3.8
      
    • Activar el entorno:
      conda activate qlib_env
      
  2. Instalación de dependencias
    • Instale primero la biblioteca base:
      pip install numpy
      pip install --upgrade cython
      
    • Instala Qlib desde GitHub:
      git clone https://github.com/microsoft/qlib.git
      cd qlib
      pip install .
      
    • Si necesita desarrollar funcionalidades, puede utilizar la función <code>pip install -e .[dev]</code>.
  3. Obtención de datos
    • Descargar datos de ejemplo (para el mercado chino):
      python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
      
    • Los datos se guardan en el directorio del usuario para su uso posterior.

Cómo utilizar las principales funciones

tratamiento de datos

El procesamiento de datos de Qlib es rápido y puede organizar los datos financieros en un formato adecuado para su análisis. Tras ejecutar el comando de descarga de datos anterior, los datos se almacenan automáticamente en el archivo <code>~/.qlib/qlib_data/cn_data</code>Puedes cargar los datos con un script de Python. Puede cargar los datos con un script de Python:

import qlib
qlib.init(provider_uri="~/.qlib/qlib_data/cn_data")
from qlib.data import D
instruments = D.instruments(market="csi300")
data = D.features(instruments, ["$close", "$volume"], start_time="2023-01-01", end_time="2025-03-25")
print(data.head())

Este código muestra el precio de cierre y el volumen de la acción especificada.

formación de modelos

Qlib admite una gran variedad de modelos, como LightGBM. Estos son los pasos para entrenar un modelo sencillo:

  1. Configurar el conjunto de datos y los parámetros del modelo, guardar como <code>workflow_config.yaml</code>::
    dataset:
    class: DatasetH
    module_path: qlib.data.dataset
    kwargs:
    handler:
    class: Alpha158
    module_path: qlib.contrib.data.handler
    segments:
    train: ["2023-01-01", "2024-01-01"]
    valid: ["2024-01-02", "2024-06-30"]
    test: ["2024-07-01", "2025-03-25"]
    model:
    class: LGBModel
    module_path: qlib.contrib.model.gbdt
    
  2. Ejecuta el comando de entrenamiento:
    qrun workflow_config.yaml
    
  3. Una vez finalizado el entrenamiento, el modelo se guarda en la ruta por defecto <code>~/.qlib/qlib_data/models</code>.

Herramientas de backtesting

El backtesting prueba la eficacia de la estrategia. Ejecuta un backtest con el siguiente código:

from qlib.contrib.strategy import TopkDropoutStrategy
from qlib.backtest import backtest
strategy = TopkDropoutStrategy(topk=10, drop=2)
report = backtest(strategy=strategy, start_time="2024-01-01", end_time="2025-03-25")
print(report)
  • <code>topk=10</code> Indica los 10 valores más importantes.
  • <code>drop=2</code> Indica que cada día se descartan los 2 valores con peor comportamiento.
    Los resultados mostrarán indicadores de rentabilidad y riesgo.

Función destacada Operación

modo en línea

Qlib admite el modo en línea, compartiendo datos a través de Qlib-Server:

  1. Instale Qlib-Server:
    git clone https://github.com/microsoft/qlib-server.git
    cd qlib-server
    docker-compose -f docker_support/docker-compose.yaml up -d
    
  2. Configure el cliente para conectarse al servidor:
    qlib.init(provider_uri="http://<server_ip>:port")
    
  3. Los datos se obtendrán del servidor para mejorar la eficacia.

Estrategias personalizadas

¿Quieres probar tu propia estrategia? La herencia es posible <code>WeightStrategyBase</code> Clase:

from qlib.contrib.strategy import WeightStrategyBase
class MyStrategy(WeightStrategyBase):
def generate_trade_decision(self, data):
return {stock: 0.1 for stock in data.index[:5]}  # 前5只股票平分权重

A continuación, comprueba los resultados con una herramienta de backtesting.

 

escenario de aplicación

  1. Análisis de inversiones individuales
    Los usuarios pueden utilizar Qlib para analizar datos históricos, poner a prueba sus ideas de inversión y encontrar estrategias con mayor rentabilidad.
  2. Equipo de investigación financiera
    Los equipos pueden utilizar las funciones de modelización y backtesting de Qlib para validar rápidamente las teorías académicas en el mercado.
  3. Aprendizaje educativo
    Los estudiantes pueden utilizar Qlib para aprender sobre inversión cuantitativa, tratamiento práctico de datos y formación de modelos.

 

CONTROL DE CALIDAD

  1. ¿Qué sistemas operativos son compatibles con Qlib?
    Es compatible con Windows, macOS y Linux, y se ejecutará siempre que Python y las bibliotecas dependientes estén instaladas.
  2. ¿De dónde proceden los datos?
    Los datos por defecto se obtienen de Yahoo Finanzas, o los usuarios pueden sustituirlos por sus propios datos.
  3. ¿Necesita una base de programación?
    Se requieren conocimientos básicos de Python, pero la documentación oficial y los ejemplos son lo suficientemente detallados como para que un principiante pueda empezar.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...