ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests

Re: Deep Learning Trading robot

par Dernière Chance » 01 Jan 2018 23:56

Catastrophe! J'arrête tout alors, ça vaut plus la peine!!! :(

Re: Deep Learning Trading robot

par takapoto » 02 Jan 2018 07:55

Bonne Dernière Chance !
Pour ma part, je suivrais ton avancement avec un grand intérêt, d'autant plus que tu détaille beaucoup ta vision, ce qui rend les choses bien plus intéressantes.

Re: Deep Learning Trading robot

par BearIsDead » 02 Jan 2018 09:39

Idem je suis intéressé. J'avais commencé à lire un tuto bien foutu sur les réseau de neurones (https://www.goodreads.com/book/show/29746976-make-your-own-neural-network), laissé de côté... il y a sans doute des idées intéressantes dans l'IA pour nous autres développeurs auto. Bon courage!

Re: Deep Learning Trading robot

par Dernière Chance » 02 Jan 2018 10:30

Etat du projet global

La partie 1 est déjà bien avancée. Les parties 2, 3, 4 et 7 ont été entamées.
Je vais de toute façon tout reprendre à zéro et considérer que l’avancement du projet est à 0% aujourd’hui.
Cela permettra de voir l’avancement du projet progresser plus vite au début, histoire de se motiver un peu plus.

Cette semaine, j’ai un peu de temps et je vais me consacrer uniquement à la partie 1 : Capture des cours.

Re: Deep Learning Trading robot

par Dernière Chance » 02 Jan 2018 11:20

Etat du projet « Capture des cours »

Cela fait plus de deux ans que je travaille sur la capture des cours IG (de façon irrégulière).

Il y a 10 ans, je capturais les cours de ProRealTime et de WHSelfinvest avec une méthode artisanale : des milliers de captures d’écrans, et de la reconnaissance de chiffres dans les images capturées. C’était une grosse galère.
Heureusement, avec l’API IG, ce temps est révolu. On a directement les valeurs des cours en temps réel. Par contre, il faut toujours capturer en temps réel, et on court toujours le risque de louper des données en cas de panne quelconque (coupure internet, panne de réveil qui fait qu’on n’a pas lancé le logiciel à temps, redémarrage intempestif de Windows et j’en passe). IG offre bien la possibilité de télécharger après coup des données historiques, mais la quantité de données autorisées au téléchargement est très limitée.

Depuis avril 2016, j’ai un logiciel de capture des cours à peu près fonctionnel. En voici une capture d’écran prise ce matin:


Les gros défauts du logiciel sont :
• Les cours sont sauvegardés avec l’heure correspondante mais pas la date. La date est sauvegardée dans le nom du fichier, qui est créé à l’ouverture du logiciel. Ainsi, il faut fermer manuellement le logiciel chaque soir et l’ouvrir chaque matin. En général, je sauvegarde les cours de 8h à 23h (donc pas la nuit). Et il est arrivé 3 ou 4 fois que j’oublie d’ouvrir le logiciel, ou que je me lève un peu tard le matin.
• Les redémarrages de Windows posent problème. Il faudrait que le logiciel redémarre automatiquement au démarrage de Windows, et il faudrait supprimer le mot de passe Windows. J’ai ainsi loupé trois fois une semaine de capture quand je suis parti en vacances.
• Le programme utilise mon compte IG démo et non réel. J’ai remarqué que dans certains cas, les cours du CAC en démo étaient différents des cours du CAC en réel (probablement un retard de quelques minutes). Mes données sont donc parfois erronées. Ce problème est facile à régler : il suffit de se connecter avec le compte réel.
• Le logiciel utilise le vieux framework graphique de Java : Java Swing. Il faudrait moderniser tout ça et utiliser le nouveau framework graphique plus performant : JavaFX.
• Le logiciel crée chaque jour un fichier log censé enregistrer les événements qui se produisent, notamment les coupures de connexion. Ce système de fichier log est mal fait et doit être revu.
• La gestion des événements exceptionnels doit être revue, elle est trop rudimentaire pour le moment. En cas de coupure de connexion internet ou perte de connexion IG, le logiciel tente de se reconnecter au bout d’une seconde, puis 2 secondes, puis 4 secondes, puis 8 secondes etc…
• Le programme n’est pas portable. Si je pars en vacances avec mon ordi, et que je veux faire tourner pendant ce temps-là le programme sur l’ordi de quelqu’un d’autre, il risque d’y avoir des problèmes : java doit être installé, et les noms des répertoires ne vont probablement pas coller.

Voilà les problèmes que j’aimerais régler rapidement, pour avoir un logiciel complètement automatisé et plus sûr.

L’idéal serait de repérer les données manquantes en cas de coupure de connexion, puis de les re-télécharger automatiquement. Il faudrait aussi passer par un VPN. Je verrai ces raffinements plus tard.

Re: Deep Learning Trading robot

par takapoto » 02 Jan 2018 11:31

Ce n'est pas pour en faire de la pub, mais pourquoi, n'utilises-tu pas les historiques de TakaPeek3 ?
Il tourne en parallèle depuis plus d'un an sur une machine AWS Amazon et il n'y a pas de trous de cotation.
(et les cours contiennent la date et le spread)

Re: Deep Learning Trading robot

par Dernière Chance » 02 Jan 2018 11:54

Je compte bien utiliser tes historiques Takapoto!
En fait j'en parlerai dans le sous-projet n°2 "Données".

Je compte utiliser 3 sources de données :
  • Mes propres captures IG
    Avantage : je choisis de capturer les valeurs que je veux, et elles sont immédiatement disponibles
    Inconvénient : les trous de cotation
  • Les historiques de Takapeek3
    Avantage : données fiables et complètes
    Inconvénient : ne concerne que les indices CAC, DAX et DOW (c'est déjà bien!), et il y a un petit délai avant de pouvoir les utiliser
  • Les historiques de Yahoo Finance
    En daily, mais sur plusieurs dizaines d'années

Re: Deep Learning Trading robot

par takapoto » 02 Jan 2018 12:51

Dernière Chance a écrit:Les historiques de Takapeek3
...
Inconvénient : ne concerne que les indices CAC, DAX et DOW (c'est déjà bien!)
Depuis quelque temps, j'ai rajouté :
- NASDAQ 100
- indice anglais 100
- NIKKEI 125
- Bitcoin
- Dollar
Si tu veux que je rajoute une ou deux valeurs en plus, dis-le moi.
C'est la moindre des chose vu la qualité de ton partage.

Re: Deep Learning Trading robot

par Dernière Chance » 02 Jan 2018 13:34

Ne te tracasse pas pour moi. Tu risquerais de dépasser le nombre de valeurs autorisées par IG. Tes données sont déjà une ressource précieuse pour moi, surtout avec les nouvelles valeurs que tu as ajoutées. Encore merci pour ton travail!

Re: Deep Learning Trading robot

par Dernière Chance » 02 Jan 2018 14:46

1-5 Démarrage automatique

Le programme de capture doit se lancer automatiquement au démarrage de Windows. Cela permet de régler le problème des redémarrages intempestifs de Windows (notamment les fameuses mises à jour du vendredi soir).

J’ai créé une nouvelle application JavaFX, appelée Capture FX, qui affiche une fenêtre vide.
Elle s’ouvre automatiquement au démarrage de Windows.
Elle se ferme en cliquant sur la case de fermeture (il n’y a rien de spécial à programmer pour cela).

Cela nécessite de créer un fichier JAR exécutable, qui est pour le moment situé sur le bureau (Capture FX.jar).

Astuce : Comment lancer automatiquement un programme au démarrage de Windows 10 ?
Il suffit de mettre un raccourci vers le programme dans le répertoire ci-dessous :
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
ou son équivalent en français :
C:\ProgramData\Microsoft\Windows\Menu Démarrer\Programmes\Démarrage

Une automatisation complète nécessite de supprimer le mot de passe permettant d’ouvrir Windows.

Remarque : Il faut afficher les fichiers cachés pour pouvoir accéder à ce répertoire. De plus, si on fait tourner le programme sur un autre PC, attention à bien vérifier que cela fonctionne bien, car la démarche est différente sous Windows 8 par exemple.

Résultat : une splendide fenêtre vide ;)

Je voulais mettre en pièce jointe le fichier source pour ceux que ça intéresse, mais apparemment, le forum refuse les fichiers .java ou .txt.
Je ne sais pas comment faire. Pour cette fois, je le mets dans le corps du message parce que le programme est très court, mais par la suite, avec des codes de 1000 lignes, ce sera peut-être trop long.
Code: Tout sélectionner
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;

public class CaptureFX extends Application{   
   
   public static void main(String[] args) {
      Application.launch(args);
   }
   
   public void start(Stage stage) {
      stage.setTitle("Capture FX");      
      TextArea textArea=new TextArea();
      textArea.setEditable(false);            
      Group root=new Group();
      root.getChildren().add(textArea);
      Scene scene=new Scene(root,500,400);
      stage.setScene(scene);
      stage.show();   
   }
}

Articles en relation
Mooc Deep Learning
Fichier(s) joint(s) par Euraed » 01 Mar 2018 10:56 (2 Réponses)
[Recherche développeur] Création algo + deep learning
par Epitaf » 25 Fév 2017 22:33 (81 Réponses)
Machine Learning for Trading chez udacity.com
par ladefense92800 » 25 Déc 2015 20:05 (0 Réponses)
Mon Robot de Trading
par VB6backtester » 07 Juil 2018 16:23 (8 Réponses)
Trading automatique , robot et broker
par Jim » 20 Avr 2019 20:19 (6 Réponses)
Performance de mon robot de trading [INTRADAY]
Fichier(s) joint(s) par olivier19 » 23 Juin 2019 13:06 (32 Réponses)
TakaButiner : nouveau petit robot de trading expérimental
Fichier(s) joint(s) par takapoto » 01 Oct 2019 15:00 (26 Réponses)
Vendre son robot
par Benoist Rousseau » 18 Nov 2019 09:34 (1 Réponses)
mon robot, votre avis
par nememoris » 21 Aoû 2015 16:09 (4 Réponses)
Comprendre le fonctionnement d un robot
Fichier(s) joint(s) par nememoris » 02 Sep 2015 22:26 (7 Réponses)

ProRealTime