Qlib: una herramienta de investigación cuantitativa de inversiones desarrollada por Microsoft
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 2.7K 00
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.


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:
- 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
- Asegúrese de que Python está instalado en su ordenador (se recomienda la versión 3.7 o 3.8). Puede hacerlo con
- 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>
.
- Instale primero la biblioteca base:
- 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.
- Descargar datos de ejemplo (para el mercado chino):
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:
- 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
- Ejecuta el comando de entrenamiento:
qrun workflow_config.yaml
- 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:
- 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
- Configure el cliente para conectarse al servidor:
qlib.init(provider_uri="http://<server_ip>:port")
- 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
- 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. - 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. - 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
- ¿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. - ¿De dónde proceden los datos?
Los datos por defecto se obtienen de Yahoo Finanzas, o los usuarios pueden sustituirlos por sus propios datos. - ¿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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...