Qlib: инструмент количественных инвестиционных исследований с искусственным интеллектом, разработанный компанией Microsoft

Общее введение

Qlib - это платформа с открытым исходным кодом, разработанная Microsoft, которая фокусируется на использовании технологии искусственного интеллекта для помощи пользователям в исследовании количественных инвестиций. Она начинает с базовой обработки данных и помогает пользователям исследовать инвестиционные идеи и превращать их в полезные стратегии. Платформа проста в использовании и подходит для пользователей, которые хотят улучшить свои инвестиционные исследования с помощью машинного обучения. qlib предоставляет функции управления данными, обучения моделей и бэктестинга, охватывая весь процесс количественного инвестирования. Созданная командой Microsoft Research, она использует новейшие технологии искусственного интеллекта для обработки сложных финансовых данных. В настоящее время, 25 марта 2025 года, Qlib постоянно обновляется на GitHub и имеет активное сообщество, которое привлекает многих разработчиков.

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

 

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

 

Список функций

  • Обработка данных: поддерживает эффективное хранение и обработку финансовых данных для быстрого доступа и анализа.
  • Обучение моделей: предоставляет различные модели машинного обучения, такие как контролируемое обучение и обучение с подкреплением, которые помогают прогнозировать рыночные тенденции.
  • Инструмент бэктестинга: встроенная функция бэктестинга позволяет моделировать работу инвестиционных стратегий и оценивать их эффективность.
  • Генерация инвестиционных стратегий: оптимизируйте торговые решения, создавая целевые портфели на основе сигналов.
  • Настраиваемый модуль: пользователи могут корректировать модели и стратегии в соответствии с индивидуальными потребностями.
  • Онлайн- и офлайн-режим: поддержка локального развертывания или совместного использования услуг передачи данных, гибкий выбор вариантов использования.

 

Использование помощи

Процесс установки

Qlib должен быть установлен в среде, поддерживающей Python. Вот подробные шаги:

  1. Подготовка среды
    • Убедитесь, что на вашем компьютере установлен Python (рекомендуется версия 3.7 или 3.8). Это можно сделать с помощью <code>python --version</code> Проверьте версию.
    • Рекомендуется использовать среду управления Anaconda. После загрузки и установки Anaconda создайте новую среду:
      conda create -n qlib_env python=3.8
      
    • Активируйте окружающую среду:
      conda activate qlib_env
      
  2. Установка зависимостей
    • Сначала установите базовую библиотеку:
      pip install numpy
      pip install --upgrade cython
      
    • Установите Qlib с GitHub:
      git clone https://github.com/microsoft/qlib.git
      cd qlib
      pip install .
      
    • Если вам нужно разработать функциональность, вы можете использовать <code>pip install -e .[dev]</code>.
  3. Получение данных
    • Загрузите пример данных (для китайского рынка):
      python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
      
    • Данные сохраняются в пользовательском каталоге для последующего использования.

Как использовать основные функции

обработка данных

Qlib быстро обрабатывает данные и может организовать финансовые данные в формат, удобный для анализа. После выполнения команды загрузки данных, приведенной выше, данные автоматически сохраняются в файле <code>~/.qlib/qlib_data/cn_data</code>Вы можете загрузить данные с помощью сценария Python. Вы можете загрузить данные с помощью сценария 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())

Этот код отображает цену закрытия и объем указанной акции.

обучение модели

Qlib поддерживает различные модели, например LightGBM. Вот шаги для обучения простой модели:

  1. Настройте набор данных и параметры модели, сохраните в формате <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. Выполните команду обучения:
    qrun workflow_config.yaml
    
  3. По завершении обучения модель сохраняется по пути по умолчанию <code>~/.qlib/qlib_data/models</code>.

Инструменты для бэктестинга

Бэктесты проверяют эффективность стратегии. Запустите бэктест со следующим кодом:

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> Указывает на 10 лучших акций.
  • <code>drop=2</code> Указывает на то, что каждый день отбрасываются 2 акции с наихудшими показателями.
    Результаты покажут показатели доходности и риска.

Функциональное управление

онлайн-режим

Qlib поддерживает онлайн-режим, обмен данными через Qlib-Server:

  1. Установите 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. Настройте клиент для подключения к серверу:
    qlib.init(provider_uri="http://<server_ip>:port")
    
  3. Для повышения эффективности работы данные будут извлекаться с сервера.

Индивидуальные стратегии

Хотите попробовать свою собственную стратегию? Наследование возможно <code>WeightStrategyBase</code> Класс:

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只股票平分权重

Затем проверьте результаты с помощью инструмента бэктестинга.

 

сценарий применения

  1. Индивидуальные инвестиционные исследования
    Пользователи могут использовать Qlib для анализа исторических данных, проверки своих инвестиционных идей и поиска стратегий с более высокой доходностью.
  2. Команда финансовых исследований
    Команды могут использовать возможности моделирования и бэктестинга Qlib для быстрого подтверждения академических теорий на рынке.
  3. Образовательное обучение
    Студенты могут использовать Qlib для изучения количественного инвестирования, практической обработки данных и обучения моделям.

 

QA

  1. Какие операционные системы поддерживает Qlib?
    Поддерживаются Windows, macOS и Linux, и они будут работать при условии установки Python и зависимых библиотек.
  2. Откуда берутся данные?
    По умолчанию данные берутся из Yahoo Finance, но пользователи могут заменить их собственными.
  3. Нужна основа программирования?
    Требуются базовые знания Python, но официальная документация и примеры достаточно подробны, чтобы новичок смог начать работу.
© заявление об авторских правах

Похожие статьи

GLM Edge:智谱发布适用于手机、车机和PC平台的端侧大语言模型和多模态理解模型
Outerspan:快速部署自动处理邮件的AI智能体

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...