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


Список функций
- Обработка данных: поддерживает эффективное хранение и обработку финансовых данных для быстрого доступа и анализа.
- Обучение моделей: предоставляет различные модели машинного обучения, такие как контролируемое обучение и обучение с подкреплением, которые помогают прогнозировать рыночные тенденции.
- Инструмент бэктестинга: встроенная функция бэктестинга позволяет моделировать работу инвестиционных стратегий и оценивать их эффективность.
- Генерация инвестиционных стратегий: оптимизируйте торговые решения, создавая целевые портфели на основе сигналов.
- Настраиваемый модуль: пользователи могут корректировать модели и стратегии в соответствии с индивидуальными потребностями.
- Онлайн- и офлайн-режим: поддержка локального развертывания или совместного использования услуг передачи данных, гибкий выбор вариантов использования.
Использование помощи
Процесс установки
Qlib должен быть установлен в среде, поддерживающей Python. Вот подробные шаги:
- Подготовка среды
- Убедитесь, что на вашем компьютере установлен Python (рекомендуется версия 3.7 или 3.8). Это можно сделать с помощью
<code>python --version</code>
Проверьте версию. - Рекомендуется использовать среду управления Anaconda. После загрузки и установки Anaconda создайте новую среду:
conda create -n qlib_env python=3.8
- Активируйте окружающую среду:
conda activate qlib_env
- Убедитесь, что на вашем компьютере установлен Python (рекомендуется версия 3.7 или 3.8). Это можно сделать с помощью
- Установка зависимостей
- Сначала установите базовую библиотеку:
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>
.
- Сначала установите базовую библиотеку:
- Получение данных
- Загрузите пример данных (для китайского рынка):
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. Вот шаги для обучения простой модели:
- Настройте набор данных и параметры модели, сохраните в формате
<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
- Выполните команду обучения:
qrun workflow_config.yaml
- По завершении обучения модель сохраняется по пути по умолчанию
<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:
- Установите Qlib-Server:
git clone https://github.com/microsoft/qlib-server.git cd qlib-server docker-compose -f docker_support/docker-compose.yaml up -d
- Настройте клиент для подключения к серверу:
qlib.init(provider_uri="http://<server_ip>:port")
- Для повышения эффективности работы данные будут извлекаться с сервера.
Индивидуальные стратегии
Хотите попробовать свою собственную стратегию? Наследование возможно <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只股票平分权重
Затем проверьте результаты с помощью инструмента бэктестинга.
сценарий применения
- Индивидуальные инвестиционные исследования
Пользователи могут использовать Qlib для анализа исторических данных, проверки своих инвестиционных идей и поиска стратегий с более высокой доходностью. - Команда финансовых исследований
Команды могут использовать возможности моделирования и бэктестинга Qlib для быстрого подтверждения академических теорий на рынке. - Образовательное обучение
Студенты могут использовать Qlib для изучения количественного инвестирования, практической обработки данных и обучения моделям.
QA
- Какие операционные системы поддерживает Qlib?
Поддерживаются Windows, macOS и Linux, и они будут работать при условии установки Python и зависимых библиотек. - Откуда берутся данные?
По умолчанию данные берутся из Yahoo Finance, но пользователи могут заменить их собственными. - Нужна основа программирования?
Требуются базовые знания Python, но официальная документация и примеры достаточно подробны, чтобы новичок смог начать работу.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...