Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

Sistema de negociação quantitativa Abu: plataforma de negociação quantitativa de código aberto baseada em Python

Introdução geral

O Abu Quantitative Trading System é uma plataforma de código aberto baseada em Python. Foi criada pelo usuário "bbfamily" para ajudar os investidores a implementar estratégias de negociação quantitativas por meio de código. O sistema suporta backtesting e negociação de uma ampla gama de produtos financeiros, como ações, opções, futuros e bitcoin. Ele incorpora a tecnologia de aprendizado de máquina para fornecer análise de dados e otimização de estratégias. Em 25 de março de 2025, esse projeto tinha mais de 12 mil estrelas e 3,8 mil bifurcações no GitHub, o que mostra um grande número de seguidores na comunidade. O objetivo de Abu é tornar as decisões de investimento mais fáceis para os usuários por meio de automação e inteligência.

阿布量化交易系统:基于Python的开源量化交易平台-1


 

Lista de funções

  • Oferece suporte à negociação em vários mercados: pode lidar com dados de cotações das bolsas de valores de Xangai e Shenzhen, ações dos EUA, futuros e moedas digitais.
  • Função de backtest: fornece análise de dados históricos para testar a eficácia das estratégias de negociação.
  • Seleção de ações e tempo: várias estratégias integradas de seleção de ações e tempo para facilitar aos usuários a triagem de ações e decidir o momento de comprar e vender.
  • Integração de aprendizado de máquina: combinação de algoritmos de aprendizado de máquina para otimizar modelos de negociação.
  • Altamente personalizável: os usuários podem modificar o código e ajustar as políticas e os parâmetros de acordo com suas necessidades.
  • Gerenciamento de dados: suporta a coleta e o processamento paralelo de dados financeiros de séries temporais.
  • Execução comercial: conecte-se a interfaces de mercado para automatizar as operações de compra e venda.

 

Usando a Ajuda

O Abu Quantitative Trading System é um projeto de código aberto e os usuários precisam de algumas habilidades básicas de programação para começar. Ele não tem uma interface gráfica pronta para uso, mas é executado por meio do código Python. Abaixo estão as etapas detalhadas de instalação e uso:

Processo de instalação

  1. Preparação do ambiente
    • Certifique-se de que seu computador tenha o Python 3.x instalado (recomenda-se o 3.7 ou superior).
    • Faça download e instale a ferramenta Git para extrair código do GitHub.
    • Opcional: instale o Anaconda para facilitar o gerenciamento do ambiente Python e dos pacotes dependentes.
  2. Código de clonagem
    • Abra um terminal ou uma linha de comando e digite o seguinte comando para extrair o projeto Abu:
      git clone https://github.com/bbfamily/abu.git
      
    • Quando terminar, vá para a pasta do projeto:
      cd abu
      
  3. Instalação de dependências
    • O projeto requer algum suporte à biblioteca Python, que é instalada executando o seguinte comando no terminal:
      pip install -r requirements.txt
      
    • Se você não tiver um arquivo , poderá instalar as bibliotecas principais manualmente, por exemplonumpyepandasresponder cantandosklearn::
      pip install numpy pandas scikit-learn
      
  4. Verificar a instalação
    • No terminal, digitepython, entre no ambiente Python.
    • estar em movimentoimport abupySe nenhum erro for relatado, a instalação foi bem-sucedida.

Uso

O núcleo do sistema Abu é executar estratégias de negociação quantitativas por meio de código. Abaixo está um fluxo detalhado de como as principais funções funcionam:

1. coleta e preparação de dados

  • O Abu suporta a obtenção de dados históricos de vários mercados, como os mercados de ações de Xangai e Shenzhen ou ações dos EUA.
  • Defina o tipo de mercado no código, por exemplo:
    from abupy import ABuEnv
    ABuEnv.g_market_target = 'us'  # 设置为美股市场
    

  • Execute a função de coleta de dados:
    from abupy import all_symbol
    symbols = all_symbol()  # 获取所有股票代码
    

2. backtesting de estratégias de negociação

  • Defina estratégias de compra e venda. Por exemplo, use uma estratégia de fuga:
    buy_factors = [{'xd': 60, 'class': 'AbuFactorBuyBreak'}]
    sell_factors = [{'stop_loss_n': 0.5, 'class': 'AbuFactorAtrNStop'}]
    
  • Defina o financiamento inicial e o tempo de backtesting:
    from abupy import run_loop_back
    result = run_loop_back(
    read_cash=1000000,  # 初始资金100万
    buy_factors=buy_factors,
    sell_factors=sell_factors,
    n_folds=2,  # 回测2年数据
    start='2023-01-01',  # 开始时间
    end='2025-01-01'  # 结束时间
    )
    
  • Exibir resultados: Após a execução, o sistema retornará os lucros/perdas e as estatísticas da negociação.

3. seleção de ações e tempo

  • Use o seletor de ações embutido para selecionar ações. Por exemplo, selecione por preço:
    from abupy import AbuPickStockPriceMinMax
    stock_picks = [{'class': 'AbuPickStockPriceMinMax', 'threshold_price_min': 50.0}]
    
  • Combinado com execuções de backtesting:
    result = run_loop_back(read_cash=1000000, buy_factors=buy_factors, sell_factors=sell_factors, stock_picks=stock_picks)
    

4. otimização de aprendizado de máquina

  • Abu integra recursos de aprendizado de máquina para otimizar os parâmetros da estratégia. Exemplo:
    from abupy import AbuMLGrid
    best_params = AbuMLGrid.grid_search_mul_init_kwargs(...)  # 优化参数
    
  • Aplique os parâmetros otimizados ao backtest.

5. operação e comissionamento

  • Salve o código como.pyarquivos, comotrade.py.
  • É executado no terminal:
    python trade.py
    
  • Se algo der errado, verifique a saída do registro e ajuste o código ou os parâmetros.

Operação da função em destaque

  • Suporte a vários mercados: através deABuEnv.g_market_targetMercados de comutação, como'cn'(Xangai e Shenzhen),'us'(ações dos EUA) ou'btc'(Bitcoin).
  • processamento paralelo: Configuraçõesn_process_klresponder cantandon_process_pickusando CPUs com vários núcleos para acelerar o processamento de dados e o backtesting.
  • Estratégias personalizadasOs usuários podem escrever sua própria lógica de compra e venda para colocar nobuy_factorstalvezsell_factors.

Mais tutoriais podem ser encontrados na pasta do projeto, que contém a documentação detalhada do IPython Notebook.

 

cenário do aplicativo

  1. Investimentos quantitativos individuais
    Os investidores individuais podem usar o Abu para testar suas ideias de negociação, como, por exemplo, verificar se uma estratégia de breakout é lucrativa por meio de dados históricos.
  2. Pesquisa financeira
    Os pesquisadores podem usá-lo para analisar tendências de mercado e extrair padrões de dados em conjunto com o aprendizado de máquina.
  3. Negociação automatizada
    Os programadores podem se conectar a interfaces de dados em tempo real para operações de compra e venda totalmente automatizadas.

 

QA

  1. Quais mercados são compatíveis com o Abu?
    Ele oferece suporte a uma ampla variedade de mercados, como os mercados de ações de Xangai e Shenzhen, ações dos EUA, futuros e Bitcoin, e os usuários podem alternar livremente.
  2. Precisa de uma base de programação?
    Sim, o Abu é executado em Python e requer que o usuário seja capaz de escrever códigos simples.
  3. Como posso obter ajuda?
    Você pode conferir o arquivo no GitHub ou seguir o tutorial no WeChat "abu_quant".
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Sistema de negociação quantitativa Abu: plataforma de negociação quantitativa de código aberto baseada em Python
pt_BRPortuguês do Brasil