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.

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
- 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.
- 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
- Ouvrez un terminal ou une ligne de commande et entrez la commande suivante pour extraire le projet Abu :
- 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 exemple
numpy
,pandas
répondre en chantantsklearn
: :pip install numpy pandas scikit-learn
- Le projet nécessite le support de la bibliothèque Python, qui est installée en exécutant la commande suivante dans le terminal :
- Vérifier l'installation
- Dans le terminal, tapez
python
, entrez dans l'environnement Python. - être en mouvement
import abupy
Si aucune erreur n'est signalée, l'installation a réussi.
- Dans le terminal, tapez
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
.py
tels 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: à travers
ABuEnv.g_market_target
Marchés de commutation, tels que'cn'
(Shanghai et Shenzhen),'us'
(actions américaines) ou'btc'
(Bitcoin). - traitement parallèle: Réglages
n_process_kl
répondre en chantantn_process_pick
en 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_factors
peut-ê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
- 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. - 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. - 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
- 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. - 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. - 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
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...