Les meilleurs développeurs C++ freelances sont sur Codeur.com

Premium

Backtest en C depuis .txt (déja un peu code perso)

 Terminé·1 000 € à 10 000 €·6 offres·1313 vues·15 interactions


Backtest de titres sélectionnés à partir d'un screener préalable (sortie en tableau trié) en C avec code compréhensible pour un amateur (à partir de mes propres éléments de codes qui sont à reprendre au maximum...)
J'ai deja des éléments de code en ma possession à reprendre au maximum pour faciliter ma compréhension: il s'agit donc plus d'un travail de relecture, de finition et d'adaptation.

Je souhaite le code (lisible pour pouvoir l'adapter moi-même par la suite) d'un backtest qui tourne sous Linux directement depuis le Terminal (Ctrl+Alt+T) qui tourne sur Raspberry Pi par exemple (et donc compatible avec presque toutes les implémentations Linux ceci même sans IDE)
Je dois donc normalement pouvoir aussi faire tourner ces codes sous Windows 10 avec l'IDE Geany et le compilateur gratuit GNU.

Il faut tout d'abord un code indépendant pour dispatcher ces données vers un fichier .txt sommaireIsin reprenant à la suite chacun des Isins (un par ligne): une sorte de répertoire.
Il faut dispatcher l'ensemble des données vers différents .txt du nom de chacun des titres boursiers (appelé ici ISIN)

Il me faut ensuite un autre code indépendant (que l'on lance par la suite) de backtest à proprement parler qui teste une stratégie (ici un screener, programme de tri de données écrit par mes soins sur ma plateforme d'analyse technique; il faut toiletter le code des screeners écrits en pseudo Basic de la plateforme vers le language C,en recourant notamment aux fonctions écrites en C pour reproduire celles les plus courantes de la plateforme : cela rend le code des backtests plus lisibles pour l'avenir)
En annexe 8 mes codes des fonctions les plus courantes.

Principe d'un Back-Test (BT par la suite ici) : tester une stratégie d'achat/vente de titres sur une longue période constituée de données passées (historiques), dans des conditions réalistes, comme je le ferai par l'avenir avec des données du jour: je lance un soir un "screener" sortant un tableau trié (ou palmarès selon un critère de tri) les meilleures opportunités d'achat pour l'avenir (statistiquement) en mode spéculation à la hausse et un autre palmarès pour la spéculation à la baisse (Short).
On choisit ensuite les n premiers titres pour chaque mode de spéculation (hausse ou baisse), par exemple n=10 titres en portefeuille pour se diversifier.
On établit des régles de décision de sortie du marché automatiquement à l'avance (stops loss,suiveurs,objectifs...)

Il convient d'économiser la RAM au maximum: j'utilise des ordinateurs de faible capacité (par exemple même parfois Raspberry Pi...) et surtout de faibles implémentations qui ont l'avantage d'être robustes et fiables: donc utiliser au maximum la mémoire morte, cela évite de toute façon les plantages, même avec des ordinateurs plus évolués.
On rappelle également que les exemples de stratégies (ou screeners) simples ici, seront beaucoup plus évolués et donc gourmands en RAM et calculs à l'avenir; les périodes choisies et donc la taille des bases de données très importantes...

Il me faudrait au passage un autre code isolé pour actualiser tous les soirs mes bases de données à partir d'un nouveau fichier journalier EODdata (annexes 9 et 10) pour actualiser mon disque dur (ou ma carte mémoire microSD) sans forcément reprendre tous les fichiers journaliers comme lors de la création de cette base de données (simple actualisation plus rapide en temps d'exécution et économie de travail pour le disque dur je pense).

Il est important,dans la mesure du possible, de reprendre mes éléments de code, la structure de mes programmes, de n'utiliser que les commandes que je mentionne ou presque pour que je puisse à l'avenir adapter vos programmes à mes besoins et même déja dans un premier temps même plus modestement les maîtriser (je suis économiste de formation, pas informaticien codeur malheureusement !)

Ce serait bien que le codeur me fournisse son mail, même une fois les travaux effectués, si par hasard je ne comprenais pas tout ou éventuellement même pour commander d'autres add-ons.

Merci de m'envoyer le code par mail dans un ou plusieurs .txt et dans le corps du mail mais aussi une version papier par la poste (même lettre recommandée en ligne depuis le site de la poste...):je paie les frais.

Résumé des travaux:
1. Travail de dispatch: création d'une base de données à partir d'EODdata.com; format de base repris au maximum (Metastock 7 colonnes) mais séparateur tabulation \t (un titre par .txt du nom du ticker)
2. Travail de Back-Test de screener (tableau trié, sorte de palmarès) à partir de cette base de données avec fonction avenir() : combien aurions-nous gagné en pour-cent (%) avec les n premiers titres sortis en tableau (et pour information ensuite avec les suivants...)
3. Un autre programme pour actualiser marché par marché la base de données à partir d'un fichier journalier unique pour chaque marché (remis tous les soirs après 21 heures sur mon disque dur) en C compréhensible de moi également (pas de Shell)
4. Adaptation du logiciel de Back-Test (au code apparent), simplification pour en faire un logiciel d'usage journalier (tous les soirs: sorties actuelles, sans fonction avenir() )
5. Traduction en C et vérification des mes fonctions écrites en basic.
6. Lancer vous-même un backtest sur 5 ans au moins pour le Nasdaq (20 ans disponible) pour chacun des 2 screeners ci-dessus (en version spéculation hausse puis baisse) et me fournir les fichiers résultats de sortie (vous servira également pour vérifier que votre code tourne bien...)
Pour le TLB Panne: stop sortie: dès qu'apparition d'une ligne de couleur contraire (fin de la série en cours)
Un screener tous les tscr=5 jours ouvrés soit une semaine calendaire en moyenne... par exemple.

Tout ceci en reprenant au maximum mes éléments de codes d'import et de Back-Test en C pour ma compréhension et mon usage...
Un seul titre chargé en RAM à la fois, les BT pouvant porter sur des années... Besoin d'un code robuste et fiable...

Merci de m'envoyer tous vos travaux sur une clé USB avec des fichiers au format .txt lisibles sous Windows comme sur Linux, avec notamment les fichiers sources téléchargés sur eoddata.com (cela m'évitera d'avoir à le refaire), les fichiers de sorties intermédiaires et finaux...
Merci de m'envoyer une copie papier des codes écrits en C directement à mon adresse (Je suis prêt à payer des frais postaux supplémentaires).
Merci aussi de m'envoyer directement ces codes par e-mail en fichier .txt (Windows/Linux) et une copie directement en corps du texte.

codeurSuite7.txt

Budget indicatif : 1 000 € à 10 000 €

Publication : 16 juin 2019 à 19h08

Profils recherchés : Développeur C++ freelance, Correcteur freelance

Le profil du client est reservé aux prestataires abonnés

Créer un compte

6 freelances ont répondu à ce projet

1 proposition de devis en moins de 2h

A

Montant moyen des devis proposés : 5 750 €

Estimation du délai : 30 jours

Publier un projet similaire

Projet réalisé par Ennovation

Ennovation
Tournai, 7500

Chaque jour, des centaines de clients utilisent Codeur.com pour trouver un prestataire. Créez votre compte dès maintenant, remplissez votre profil et trouvez de nouveaux clients.

Trouver des nouveaux clients

Votre navigateur Web n’est plus à jour. Il ne permet pas d’afficher correctement le site Codeur.com.
Nous vous invitons à mettre à jour votre navigateur ou à utiliser un autre navigateur plus récent.