L'objectif de cette évaluation est de développer un algorithme de trading en utilisant la plateforme Lean. Vous travaillerez en groupes de 3 personnes. L'évaluation finale prendra en compte la qualité de votre algorithme, la documentation associée, la structure de votre code et la présentation finale.
-
Formation des Équipes:
-
Formez des équipes de 3 membres.
-
Une fois les équipes formées, choisissez un nom pour votre équipe, et inscrivez-le sur le document correspondant à votre classe :
Vous utiliserez votre nom d'équipe dans la dénomination des fichiers ou des répertoires que vous ajouterez au dépôt
-
Chaque équipe doit développer un algorithme de trading unique avec Lean. S'inspirer des 500+ exemples fournis par Lean est permis, mais reproduire un exemple existant ne sera pas accepté.
-
-
Fork et Travail:
- Chaque groupe doit créer un fork du dépôt : https://github.com/MyIntelligenceAgency/Lean.
- Tous les développements doivent être effectués sur votre fork.
-
Environnement de Développement:
- Nous travaillons hors ligne avec le moteur Lean brut du dépôt GitHub.
- Profitez de cette configuration pour explorer des opportunités d'innovation et d'adaptation.
-
Source des Données:
- Utilisez le convertisseur fourni pour construire des données de backtesting à partir de dumps de trades de cryptomonnaies provenant de ce répertoire.
- Ces données seront la base principale de vos backtests.
-
Exigences de Soumission:
- Votre algorithme doit être accompagné de:
- Un rapport détaillé décrivant la stratégie, les hypothèses et les résultats.
- Documentation du code.
- Résultats du backtest avec des métriques pertinentes.
- Votre algorithme doit être accompagné de:
-
Pull Requests (PRs):
- Une fois votre travail terminé, soumettez une ou plusieurs PRs vers le dépôt original https://github.com/MyIntelligenceAgency/Lean.
- Assurez-vous que le titre et la description de votre PR soient clairs et détaillés.
-
Présentation Finale:
- Préparez une présentation de 15 minutes pour le dernier jour de cours.
- Cette présentation doit couvrir :
- Introduction et objectif de votre algorithme.
- Stratégie adoptée et raisonnement.
- Défis rencontrés et comment ils ont été surmontés.
- Démonstration de l'algorithme.
- Résultats obtenus.
- Supportez votre présentation avec des slides clairs et concis.
- Originalité : Votre algorithme doit être original.
- Complexité : Profondeur de la recherche et sophistication de la stratégie.
- Performance : Résultats de backtest.
- Utilisation des Options Avancées : Incorporation de frameworks, d'optimisation ou d'apprentissage automatique.
- Collaboration en Équipe : Organisation, répartition des tâches, communication.
- Présentation Finale : Clarté, structure, capacité à communiquer les idées.
Pour donner à vos projets un avantage distinctif et potentiellement obtenir une meilleure note, envisagez d'explorer les options avancées et approfondies suivantes:
-
Framework de Haut Niveau de Lean: Plutôt que de passer des ordres explicitement, adoptez le framework de haut niveau de Lean. Cette méthode vous permet de définir des objectifs de portefeuille basés sur les Alpha/insights de votre algorithme.
-
Gestion du Risque: Comprenez et intégrez activement des techniques de gestion des risques dans votre stratégie. Examinez des mesures comme le ratio de Sharpe, les drawdowns maximaux, et autres métriques pour évaluer le risque par rapport au rendement.
-
Optimisation & Prévention de la Sur-Optimisation: Tout en utilisant le lanceur d'optimisation de Lean pour ajuster les hyperparamètres, soyez conscient du risque de sur-optimisation. Assurez-vous que votre algorithme n'est pas trop bien ajusté aux données historiques.
-
Adaptabilité & Événements de Marché: Réfléchissez à la manière dont votre algorithme peut s'adapter aux changements du marché et comment il gérerait de grands événements du marché ou des anomalies.
-
Apprentissage Automatique: Envisagez d'intégrer des techniques d'apprentissage automatique. Lean offre des exemples avec des Machines à Vecteurs de Support (SVM) via Accord.Net. Cela peut ajouter une robustesse et une adaptabilité à votre stratégie.
-
Benchmarking: Comparez les performances de votre algorithme à un benchmark pertinent pour mettre en évidence ses avantages et ses défis.
-
Tests hors échantillon: Séparez vos données en ensembles d'apprentissage et de test pour évaluer les performances de votre algorithme dans des conditions plus proches du monde réel.
-
Interactions avec l'Ecosystème Lean: Utilisez les fonctionnalités supplémentaires de Lean, telles que les notifications et la journalisation, pour améliorer la traçabilité et la compréhension de votre algorithme.
-
Aspects Fondamentaux & Techniques: Intégrez des données non seulement techniques, mais aussi fondamentales, pour influencer vos décisions de trading. Pensez aux actualités, aux indicateurs macroéconomiques, et à d'autres sources d'information pertinentes.
Pour ceux qui souhaitent contribuer à notre environnement de classe et sont à l'aise avec le développement en C#, vous avez la possibilité de travailler pour améliorer notre configuration de développement. Cela pourrait impliquer d'améliorer le convertisseur, d'intégrer davantage de sources de données, ou de corriger d'éventuels problèmes dans notre configuration actuelle.
De telles contributions, fournies sous forme de pull-requests, seront évaluées très favorablement indépendament de l'agorithme associé.
L'expérience d'apprentissage est aussi précieuse que le résultat final. Nous encourageons la collaboration, l'exploration, et l'innovation.
Bonne chance à tous!