Abu quantitative trading system: plataforma de negociación cuantitativa de código abierto basada en Python

Introducción general

Abu Quantitative Trading System es una plataforma de código abierto basada en Python. Fue creada por el usuario "bbfamily" para ayudar a los inversores a aplicar estrategias de negociación cuantitativa mediante código. El sistema admite backtesting y negociación de una amplia gama de productos financieros, como acciones, opciones, futuros y bitcoin. Incorpora tecnología de aprendizaje automático para proporcionar análisis de datos y optimización de estrategias. A fecha de 25 de marzo de 2025, este proyecto cuenta con más de 12.000 estrellas y 3.8k forks en GitHub, lo que demuestra que cuenta con un gran seguimiento por parte de la comunidad. El objetivo de Abu es facilitar las decisiones de inversión a los usuarios mediante la automatización y la inteligencia.

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

 

Lista de funciones

  • Admite la negociación multimercado: puede manejar datos de cotizaciones de los mercados bursátiles de Shanghái y Shenzhen, acciones estadounidenses, futuros y divisas digitales.
  • Función Backtest: Proporciona análisis de datos históricos para comprobar la eficacia de las estrategias de negociación.
  • Selección de valores y momento oportuno: Incorpora múltiples estrategias de selección de valores y momento oportuno para facilitar a los usuarios la selección de valores y decidir el momento oportuno de compra y venta.
  • Integración del aprendizaje automático: combinación de algoritmos de aprendizaje automático para optimizar los modelos de negociación.
  • Altamente personalizable: los usuarios pueden modificar el código y ajustar las políticas y parámetros según sus necesidades.
  • Gestión de datos: permite recopilar y procesar en paralelo datos de series temporales financieras.
  • Ejecución de operaciones: conéctese a interfaces de mercado para automatizar las operaciones de compra y venta.

 

Utilizar la ayuda

El Abu Quantitative Trading System es un proyecto de código abierto y los usuarios necesitan algunos conocimientos básicos de programación para empezar a utilizarlo. No tiene una interfaz gráfica estándar, sino que se ejecuta mediante código Python. A continuación se detallan los pasos de instalación y uso:

Proceso de instalación

  1. Preparar el entorno
    • Asegúrese de que su ordenador tiene Python 3.x instalado (se recomienda 3.7 o superior).
    • Descarga e instala la herramienta Git para extraer código de GitHub.
    • Opcional: Instale Anaconda para facilitar la gestión del entorno Python y los paquetes dependientes.
  2. Clonación de código
    • Abra un terminal o una línea de comandos e introduzca el siguiente comando para extraer el proyecto Abu:
      git clone https://github.com/bbfamily/abu.git
      
    • Cuando haya terminado, vaya a la carpeta del proyecto:
      cd abu
      
  3. Instalación de dependencias
    • El proyecto requiere el soporte de algunas librerías Python, que se instalan ejecutando el siguiente comando en el terminal:
      pip install -r requirements.txt
      
    • Si no dispone de un archivo , puede instalar las bibliotecas básicas manualmente, por ejemplonumpyypandasresponder cantandosklearn::
      pip install numpy pandas scikit-learn
      
  4. Verificar la instalación
    • En el terminal, escribapythonEntra en el entorno Python.
    • estar en movimientoimport abupysi no aparece ningún error, la instalación se ha realizado correctamente.

Utilización

El núcleo del sistema Abu es ejecutar estrategias de trading cuantitativo a través de código. A continuación se muestra un flujo detallado de cómo funcionan las funciones principales:

1. Recogida y preparación de datos

  • Abu permite obtener datos históricos de múltiples mercados, como las bolsas de Shanghai y Shenzhen o las acciones estadounidenses.
  • Establezca el tipo de mercado en el código, por ejemplo:
    from abupy import ABuEnv
    ABuEnv.g_market_target = 'us'  # 设置为美股市场
    

  • Ejecute la función de recogida de datos:
    from abupy import all_symbol
    symbols = all_symbol()  # 获取所有股票代码
    

2. Backtesting de estrategias de negociación

  • Defina estrategias de compra y venta. Por ejemplo, utilizar una estrategia de ruptura:
    buy_factors = [{'xd': 60, 'class': 'AbuFactorBuyBreak'}]
    sell_factors = [{'stop_loss_n': 0.5, 'class': 'AbuFactorAtrNStop'}]
    
  • Establezca la financiación inicial y el tiempo 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'  # 结束时间
    )
    
  • Ver resultados: Después de ejecutarse, el sistema devolverá los beneficios/pérdidas de la operación y las estadísticas.

3. Selección de valores y calendario

  • Utilice el selector de valores incorporado para seleccionar valores. Por ejemplo, por precio:
    from abupy import AbuPickStockPriceMinMax
    stock_picks = [{'class': 'AbuPickStockPriceMinMax', 'threshold_price_min': 50.0}]
    
  • Combinado con ejecuciones de backtesting:
    result = run_loop_back(read_cash=1000000, buy_factors=buy_factors, sell_factors=sell_factors, stock_picks=stock_picks)
    

4. Optimización del aprendizaje automático

  • Abu integra funciones de aprendizaje automático para optimizar los parámetros de la estrategia. Ejemplo:
    from abupy import AbuMLGrid
    best_params = AbuMLGrid.grid_search_mul_init_kwargs(...)  # 优化参数
    
  • Aplique los parámetros optimizados al backtest.

5. Funcionamiento y puesta en marcha

  • Guarde el código como.pycomotrade.py.
  • Se ejecuta en el terminal:
    python trade.py
    
  • Si algo va mal, comprueba la salida de registro y ajusta el código o los parámetros.

Función destacada Operación

  • Soporte multimercado: a través deABuEnv.g_market_targetMercados cambiantes, como'cn'(Shanghai y Shenzhen),'us'(acciones estadounidenses) o'btc'(Bitcoin).
  • procesamiento paralelo: Ajustesn_process_klresponder cantandon_process_pickparámetros, utilizando CPU multinúcleo para acelerar el procesamiento de datos y el backtesting.
  • Estrategias personalizadasLos usuarios pueden escribir su propia lógica de compra-venta para ponerla en elbuy_factorstal vezsell_factors.

Puede encontrar más tutoriales en la carpeta del proyecto, que contiene documentación detallada sobre IPython Notebook.

 

escenario de aplicación

  1. Inversiones cuantitativas individuales
    Los inversores particulares pueden utilizar Abu para poner a prueba sus ideas de negociación, como verificar que una estrategia de ruptura es rentable a través de datos históricos.
  2. Investigación financiera
    Los investigadores pueden utilizarlo para analizar las tendencias del mercado y extraer patrones de datos junto con el aprendizaje automático.
  3. Negociación automatizada
    Los programadores pueden conectarse a interfaces de datos en tiempo real para realizar operaciones de compraventa totalmente automatizadas.

 

CONTROL DE CALIDAD

  1. ¿En qué mercados opera Abu?
    Admite una amplia gama de mercados, como las bolsas de Shanghai y Shenzhen, acciones estadounidenses, futuros y Bitcoin, y los usuarios pueden cambiar libremente.
  2. ¿Necesita una base de programación?
    Sí, Abu funciona con Python y requiere que el usuario sea capaz de escribir código sencillo.
  3. ¿Cómo puedo obtener ayuda?
    Puedes consultar el archivo en GitHub, o seguir el tutorial en WeChat "abu_quant".
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...