Abu quantitative trading system : plateforme de trading quantitatif open source basée sur Python

Introduction générale

Abu Quantitative Trading System est une plateforme open source basée sur Python. Elle a été créée par l'utilisateur "bbfamily" pour aider les investisseurs à mettre en œuvre des stratégies de trading quantitatives par le biais du code. Le système prend en charge le backtesting et le trading d'une large gamme de produits financiers tels que les actions, les options, les contrats à terme et le bitcoin. Il intègre une technologie d'apprentissage automatique pour analyser les données et optimiser les stratégies. Au 25 mars 2025, ce projet comptait plus de 12 000 étoiles et 3,8 000 forks sur GitHub, ce qui témoigne d'une forte adhésion de la communauté. L'objectif d'Abu est de rendre les décisions d'investissement plus faciles pour les utilisateurs grâce à l'automatisation et à l'intelligence.

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

 

Liste des fonctions

  • Prise en charge des opérations multi-marchés : il peut traiter les cotations des marchés boursiers de Shanghai et de Shenzhen, des actions américaines, des contrats à terme et des monnaies numériques.
  • Fonction Backtest : fournit une analyse des données historiques pour tester l'efficacité des stratégies de trading.
  • Stock Picking and Timing : plusieurs stratégies de sélection de titres et de synchronisation sont intégrées pour aider les utilisateurs à sélectionner les titres et à décider du moment de l'achat et de la vente.
  • Intégration de l'apprentissage automatique : combinaison d'algorithmes d'apprentissage automatique pour optimiser les modèles de négociation.
  • Hautement personnalisable : les utilisateurs peuvent modifier le code et ajuster les politiques et les paramètres en fonction de leurs besoins.
  • Gestion des données : permet de collecter et de traiter en parallèle des séries chronologiques de données financières.
  • Exécution des opérations : connexion aux interfaces de marché pour automatiser les opérations d'achat et de vente.

 

Utiliser l'aide

Le système d'Abu Quantitative Trading est un projet open source et les utilisateurs doivent avoir des compétences de base en programmation pour commencer. Il ne dispose pas d'une interface graphique standard, mais fonctionne à l'aide d'un code Python. Vous trouverez ci-dessous les étapes détaillées de l'installation et de l'utilisation :

Processus d'installation

  1. Préparation de l'environnement
    • Assurez-vous que Python 3.x est installé sur votre ordinateur (3.7 ou plus recommandé).
    • Téléchargez et installez l'outil Git pour extraire le code de GitHub.
    • Facultatif : installer Anaconda pour faciliter la gestion de l'environnement Python et des paquets dépendants.
  2. Clonage du code
    • Ouvrez un terminal ou une ligne de commande et entrez la commande suivante pour extraire le projet Abu :
      git clone https://github.com/bbfamily/abu.git
      
    • Lorsque vous avez terminé, allez dans le dossier du projet :
      cd abu
      
  3. Installation des dépendances
    • Le projet nécessite le support de la bibliothèque Python, qui est installée en exécutant la commande suivante dans le terminal :
      pip install -r requirements.txt
      
    • Si vous n'avez pas de fichier , vous pouvez installer les bibliothèques de base manuellement, par exemplenumpy,pandasrépondre en chantantsklearn: :
      pip install numpy pandas scikit-learn
      
  4. Vérifier l'installation
    • Dans le terminal, tapezpython, entrez dans l'environnement Python.
    • être en mouvementimport abupySi aucune erreur n'est signalée, l'installation a réussi.

Utilisation

Le cœur du système Abu est d'exécuter des stratégies commerciales quantitatives par le biais d'un code. Vous trouverez ci-dessous une description détaillée du fonctionnement des principales fonctions :

1. collecte et préparation des données

  • Abu permet d'obtenir des données historiques de plusieurs marchés, tels que les marchés boursiers de Shanghai et de Shenzhen ou les actions américaines.
  • Définir le type de marché dans le code, par exemple :
    from abupy import ABuEnv
    ABuEnv.g_market_target = 'us'  # 设置为美股市场
    

  • Exécuter la fonction de collecte de données :
    from abupy import all_symbol
    symbols = all_symbol()  # 获取所有股票代码
    

2. le backtesting des stratégies de trading

  • Définir des stratégies d'achat et de vente. Par exemple, utiliser une stratégie de rupture :
    buy_factors = [{'xd': 60, 'class': 'AbuFactorBuyBreak'}]
    sell_factors = [{'stop_loss_n': 0.5, 'class': 'AbuFactorAtrNStop'}]
    
  • Fixer le financement initial et la durée du 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'  # 结束时间
    )
    
  • Afficher les résultats : Après avoir été exécuté, le système affichera les profits/pertes et les statistiques de l'opération.

3. la sélection des actions et le calendrier

  • Utilisez le sélecteur d'actions intégré pour trier les actions. Par exemple, trier par prix :
    from abupy import AbuPickStockPriceMinMax
    stock_picks = [{'class': 'AbuPickStockPriceMinMax', 'threshold_price_min': 50.0}]
    
  • Combiné avec des tests de rétroaction (backtesting) :
    result = run_loop_back(read_cash=1000000, buy_factors=buy_factors, sell_factors=sell_factors, stock_picks=stock_picks)
    

4. l'optimisation de l'apprentissage automatique

  • Abu intègre des capacités d'apprentissage automatique pour optimiser les paramètres de la stratégie. Exemple :
    from abupy import AbuMLGrid
    best_params = AbuMLGrid.grid_search_mul_init_kwargs(...)  # 优化参数
    
  • Appliquer les paramètres optimisés au backtest.

5. fonctionnement et mise en service

  • Enregistrer le code sous.pytels quetrade.py.
  • S'exécute dans le terminal :
    python trade.py
    
  • Si quelque chose ne va pas, vérifiez la sortie du journal et ajustez le code ou les paramètres.

Fonction en vedette Fonctionnement

  • Soutien aux marchés multiples: à traversABuEnv.g_market_targetMarchés de commutation, tels que'cn'(Shanghai et Shenzhen),'us'(actions américaines) ou'btc'(Bitcoin).
  • traitement parallèle: Réglagesn_process_klrépondre en chantantn_process_picken utilisant des CPU multi-cœurs pour accélérer le traitement des données et le backtesting.
  • Stratégies personnaliséesLes utilisateurs peuvent écrire leur propre logique d'achat et de vente pour l'intégrer dans l'outil de gestion de l'information.buy_factorspeut-êtresell_factors.

D'autres tutoriels peuvent être trouvés dans le dossier du projet, qui contient une documentation détaillée sur le Notebook IPython.

 

scénario d'application

  1. Investissements quantitatifs individuels
    Les investisseurs individuels peuvent utiliser Abu pour tester leurs idées de trading, par exemple en vérifiant qu'une stratégie de rupture est rentable grâce à des données historiques.
  2. Recherche financière
    Les chercheurs peuvent l'utiliser pour analyser les tendances du marché et exploiter les modèles de données en combinaison avec l'apprentissage automatique.
  3. Commerce automatisé
    Les programmeurs peuvent se connecter à des interfaces de données en temps réel pour des opérations d'achat et de vente entièrement automatisées.

 

QA

  1. Quels sont les marchés pris en charge par Abu ?
    Il prend en charge un large éventail de marchés, tels que les bourses de Shanghai et de Shenzhen, les actions américaines, les contrats à terme et le bitcoin, et les utilisateurs peuvent passer librement d'un marché à l'autre.
  2. Besoin d'une base en programmation ?
    Oui, Abu fonctionne avec Python et exige de l'utilisateur qu'il soit capable d'écrire un code simple.
  3. Comment obtenir de l'aide ?
    Vous pouvez consulter le fichier sur GitHub, ou suivre le tutoriel sur WeChat "abu_quant".
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...