Introdução geral
O Qlib é uma plataforma de código aberto desenvolvida pela Microsoft que se concentra no uso da tecnologia de IA para ajudar os usuários a pesquisar investimentos quantitativos. Ela começa com o processamento básico de dados e dá suporte aos usuários na exploração de ideias de investimento e na transformação delas em estratégias utilizáveis. A plataforma é fácil de usar e adequada para usuários que desejam aprimorar suas pesquisas de investimento com aprendizado de máquina. O qlib fornece funções de gerenciamento de dados, treinamento de modelos e backtesting, abrangendo todo o processo de investimento quantitativo. Lançado pela equipe da Microsoft Research, ele incorpora as mais recentes tecnologias de IA para lidar com dados financeiros complexos. Atualmente datado de 25 de março de 2025, o Qlib é continuamente atualizado no GitHub e tem uma comunidade ativa que atrai muitos desenvolvedores.
Lista de funções
- Processamento de dados: oferece suporte ao armazenamento e ao processamento eficientes de dados financeiros para acesso e análise rápidos.
- Treinamento de modelos: fornece uma variedade de modelos de aprendizado de máquina, como aprendizado supervisionado e aprendizado por reforço, para ajudar a prever as tendências do mercado.
- Ferramenta de backtesting: função de backtesting integrada para simular o desempenho das estratégias de investimento e avaliar a eficácia.
- Geração de estratégia de investimento: otimize as decisões de negociação gerando portfólios-alvo a partir de sinais.
- Módulo personalizável: os usuários podem ajustar modelos e estratégias para atender às necessidades individuais.
- Modo on-line e off-line: suporte à implantação local ou serviços de dados compartilhados, escolha flexível de uso.
Usando a Ajuda
Processo de instalação
O Qlib precisa ser instalado em um ambiente que suporte Python. Aqui estão as etapas detalhadas:
- Preparação do ambiente
- Certifique-se de que o Python esteja instalado em seu computador (recomenda-se a versão 3.7 ou 3.8). Isso pode ser feito com
<code>python --version</code>
Verifique a versão. - É recomendável que você use o ambiente de gerenciamento do Anaconda. Depois de fazer o download e instalar o Anaconda, crie um novo ambiente:
conda create -n qlib_env python=3.8
- Ativar o ambiente:
conda activate qlib_env
- Certifique-se de que o Python esteja instalado em seu computador (recomenda-se a versão 3.7 ou 3.8). Isso pode ser feito com
- Instalação de dependências
- Instale a biblioteca básica primeiro:
pip install numpy pip install --upgrade cython
- Instale o Qlib a partir do GitHub:
git clone https://github.com/microsoft/qlib.git cd qlib pip install .
- Se você precisar desenvolver funcionalidades, poderá usar o
<code>pip install -e .[dev]</code>
.
- Instale a biblioteca básica primeiro:
- Obtenção de dados
- Faça o download de dados de exemplo (para o mercado chinês):
python scripts/get_data.py qlib_data --target_dir ~/.qlib/qlib_data/cn_data --region cn
- Os dados são salvos no diretório do usuário para uso posterior.
- Faça o download de dados de exemplo (para o mercado chinês):
Como usar os principais recursos
processamento de dados
O processamento de dados do Qlib é rápido e pode organizar os dados financeiros em um formato adequado para análise. Depois de executar o comando de download de dados acima, os dados são automaticamente armazenados no diretório <code>~/.qlib/qlib_data/cn_data</code>
Você pode carregar os dados com um script Python. Você pode carregar os dados com um script 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())
Esse código exibe o preço de fechamento e o volume da ação especificada.
treinamento de modelos
O Qlib oferece suporte a uma variedade de modelos, como o LightGBM. Aqui estão as etapas para treinar um modelo simples:
- Configure o conjunto de dados e os parâmetros do modelo, salve 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
- Execute o comando de treinamento:
qrun workflow_config.yaml
- Quando o treinamento é concluído, o modelo é salvo no caminho padrão
<code>~/.qlib/qlib_data/models</code>
.
Ferramentas de backtesting
O backtesting testa a eficácia da estratégia. Execute um backtest com o seguinte 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 as 10 principais ações.<code>drop=2</code>
Indica que as duas ações com pior desempenho são descartadas a cada dia.
Os resultados mostrarão indicadores de retorno e risco.
Operação da função em destaque
modo on-line
O Qlib suporta o modo on-line, compartilhando dados por meio do Qlib-Server:
- Instale o 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 o cliente para se conectar ao servidor:
qlib.init(provider_uri="http://<server_ip>:port")
- Os dados serão obtidos do servidor para aumentar a eficiência.
Estratégias personalizadas
Quer experimentar sua própria estratégia? A herança é possível <code>WeightStrategyBase</code>
Classe:
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只股票平分权重
Em seguida, teste os resultados com uma ferramenta de backtesting.
cenário do aplicativo
- Pesquisa de investimentos individuais
Os usuários podem usar o Qlib para analisar dados históricos, testar suas ideias de investimento e encontrar estratégias com retornos mais altos. - Equipe de pesquisa financeira
As equipes podem usar os recursos de modelagem e backtesting do Qlib para validar rapidamente as teorias acadêmicas no mercado. - Aprendizagem educacional
Os alunos podem usar o Qlib para aprender sobre investimentos quantitativos, processamento prático de dados e treinamento de modelos.
QA
- Quais sistemas operacionais são compatíveis com o Qlib?
Windows, macOS e Linux são compatíveis e serão executados desde que o Python e as bibliotecas dependentes estejam instalados. - De onde vêm os dados?
Os dados padrão são obtidos do Yahoo Finance, ou os usuários podem substituí-los por seus próprios dados. - Precisa de uma base de programação?
É necessário ter conhecimentos básicos de Python, mas a documentação oficial e os exemplos são detalhados o suficiente para que um novato possa começar.