Intelligence artificielle

Voici ce qui s’est passé lorsque j’ai confié le contrôle de mon compte Robinhood à un IA pendant une semaine.

Voici ce qui s’est passé lorsque j’ai confié le contrôle de mon compte Robinhood à un IA pendant une semaine.


Dans cette expérience, j'ai acheté et vendu des actions sur les prédictions d'une IA que j'avais faite pendant une semaine pour voir si je pouvais faire un bénéfice décent (et battre ma femme pour une fois). Je mets totalement mon compte Robinhood entre les mains de l'IA. (Ils fournissent une API et robin_stocks fournit utilement une interface Python.)

J'ai créé un panier avec des actions que je possédais ou que je possédais ou qui figuraient au hasard dans ma liste de surveillance de Robinhood (ce n'est pas tout à fait de la science des données, chers amis.)

"TSLA", "BABA", "EAT", "TWTR", "TTNP", "SBUX", "BAC", "DIS", "STM", "ACB", "GREK", "MSFT", "AAPL ',' F ',' NVDA ',' FB ',' NFLX '

Je possède également des actions dans Sears (SHLDQ). Vous ne pouvez plus les acheter chez Robinhood, mais vous pouvez les vendre. Ils sont exclus de cette expérience. C'est tellement drôle d'avoir des actions dans une entreprise en faillite, et je veux voir ce qui se passe à l'extrême.

Avertissement: C'est moi qui documente une expérience amusante. Ce n’est pas un conseil en investissement, et l’IA que j’ai faite est uniquement à des fins éducatives. Toutes mes positions dans tous les stocks sont divulguées dans cet article et je n’ai aucune affiliation avec des sociétés mentionnées autre que la possession parfois de leurs actions.

Notez que je négocie environ 1000 $. Tout perdre ne me tuerait pas, même si cela serait légèrement ennuyeux puisque cela correspond au montant total de mes fonds de retraite. J'évalue les performances tous les jours et en comparant la valeur de tout ce que j'ai à la fin de la semaine avec la valeur de mon portefeuille telle qu'elle était au début, comme si je n'avais rien fait toute la semaine (ce qui serait réaliste) .

Mon intelligence artificielle ne fait que des prédictions pour les actions de mon panier, c’est tout ce que je vais négocier au cours de la semaine. Il vendra l’action (prévue) la moins performante que je possède (sans court-circuit) dans le panier, et achètera l’action (prévue) la plus performante.

Pour référence, sur la période de cette expérience, le DJIA a gagné 1,73% et le NASDAQ était de 3,64%. Puis-je battre le marché?

Jour 1 - jeudi 24 janvier 2019

L'expérience a commencé! Mon portefeuille de départ de merde était:

Cette capture d'écran est coupée, mais à droite se trouvent toutes les actions que j'ai commencées au cours de la semaine, de SHLDQ à DIS.

En fait, divulgation complète: l'expérience a commencé pour la troisième ou la quatrième fois aujourd'hui. Au cours des six semaines précédentes, j'ai démarré plusieurs fois de manière intrépide, seulement pour découvrir que, de différentes manières, je prétraitais de manière erronée les données et / ou les transmettais à l'IA de manière erronée. Parfois, l'erreur était évidente (telle que: les prédictions étaient fondamentalement les mêmes jour après jour, à cause de la reformulation erronée des données), et parfois plus insidieuses (lorsque j'ai perdu 15% en une semaine alors que le marché n'était que latéral. le débogage, il s’est avéré que j’avais oublié un signe moins dans mon code…)

Eh bien, j’ai tapé ce paragraphe plusieurs fois, mais j’espère que c’est tout. Les prédictions de l'IA pour demain:

Comme vous le voyez en bas: vendez AAPL, achetez TSLA

J'espérais plutôt que l'IA n'achèterait pas Tesla car il s'agit d'un titre coûteux et volatil, mais je suis vraiment redevable de ses choix pour la semaine prochaine. Dûment, j'ai laissé l'IA faire les transactions jeudi soir. Il s’est avéré vendredi que l’intelligence artificielle était au moins en partie correcte: TSLA était en hausse de 1,9% pour la journée (AAPL, qu’elle a vendue pour moi, était également en hausse de 3,3%, ce qui est nul; comme la plupart des autres actions de mon panier) . Bénéfice aujourd'hui: 11 $.

Les lecteurs aux yeux pointus noteront que la première capture d'écran ci-dessus montre une valeur totale de 852 dollars du portefeuille. Celle-ci affiche maintenant 1017 dollars. Je devais ajouter 150 dollars en espèces pour pouvoir acheter Tesla; un problème de liquidité que je mentionne ci-dessous. Ne vous inquiétez pas, mon évaluation de performance à la fin permettra d’escompter toute somme ajoutée.

Jour 2 - vendredi 25 janvier 2019

À l'approche de la fin de semaine, l'IA a effectué ses opérations vendredi soir (Robinhood ne les exécutera pas jusqu'à lundi matin, heure de la côte est). À ce stade, il a été en mesure d’acheter 4 actions TWTR et de vendre mes deux actions NVDA (les fonds provenant de la vente ne sont pas disponibles avant la fin de la transaction, ce qui est malheureusement un peu illiquide, ce qui signifie que tout au long de cette expérience, j’ai constamment besoin d’ajouter plus d’argent à mon compte).

On dirait un lendemain grossièrement positif!

Jour 3 - lundi 28 janvier 2019

J’avais acheté ces 4 actions de TWTR et vendu NVDA ce jour-là

Les actions ont connu une mauvaise journée avec une baisse de 0,84% du Dow. TWTR a augmenté de 1,66% depuis l'exécution de ma commande et NVDA de près de 14%; un point de données positif pour les compétences commerciales de mon IA et bien que perdre près de 50 USD en une journée soit objectivement une catastrophe (imaginez si le billet venait de tomber de votre poche dans la rue), j’ai le sentiment que l’IA m’a aidé à limiter les pertes aujourd’hui.

La performance de l’action de NVDA (à la baisse) m’est bizarre. Je pense que ce que la plupart des traders ne comprennent pas, c’est qu’ils ne sont pas une société de matériel de jeu, mais bien le marché de l’apprentissage en profondeur.

Pour demain, il semblerait que l'IA achète à nouveau TSLA (1 action) et vende TWTR (les 4 actions que j'ai).

Jour 4 - mardi 29 janvier 2019

Les valeurs technologiques ont pour la plupart baissé aujourd’hui, le NASDAQ ayant perdu 0,81%, alors que le DJIA en général a très légèrement augmenté. Heureusement, le choix de l’IA, TSLA, a progressé de 0,36% et son perdant, le TWTR, de 4,5%. Voici le tableau:

Si vous regardez de plus près, vous pouvez voir que mon portefeuille correspond étroitement au tableau de bord de TSLA pour la journée. Je dois me diversifier!

De manière purement directionnelle (le stock a-t-il augmenté ou diminué), aujourd'hui, les prédictions d'AI étaient correctes pour 9 des 16 actions de mon panier.

C’est un point de données unique, ne vous énervez pas. Je n'ai jamais pris la peine de le compter à nouveau.

Jour 5: mercredi 30 janvier 2019

Les IA vendre choisir DIS était en baisse d'environ 1,8% alors que son acheter pick NFLX était en hausse de 3.6% sur la journée. Génial! Les nouvelles prévisions étaient les suivantes. Malheureusement, quelque chose dans ma configuration a bougé dans la nuit et j'ai dû les exécuter manuellement le lendemain. Je me suis réveillé à San Francisco environ 2 heures après l’ouverture des marchés sur la côte est. Il est donc possible que j’ai perdu des gains.

0.3157522678375244 TSLA
0.05695406347513199 BABA
-0.8226907849311829 EAT
-0.24917984008789062 TWTR
-0.21844346821308136 TTNP
-0.6226851940155029 SBUX
-0.18434487283229828 BAC
-0.25224724411964417 DIS
0.13227494060993195 STM
-0.08197116106748581 ACB
0.1578841209411621 GREK
0.48212721943855286 MSFT
0.5305508971214294 AAPL
0,728955090045929 F
-0.5398415327072144 NVDA
0.04983692988753319 FB
-0.6649214029312134 NFLX
va vendre NFLX et acheter F

Mon IA a été en mesure d’acheter 25 actions de Ford, car c’est assez bon marché. Honnêtement, je ne sais pas pourquoi je le mets dans le panier des actions de négociation. Chaque Ford dont je suis propriétaire a toujours eu un problème de fiabilité, et j’ai été beaucoup plus heureux avec les voitures japonaises, mais j’imagine que je crois philosophiquement que les États-Unis devraient produire davantage.

La fin: Jour 6, jeudi 31 janvier 2019

Après cinq jours de bourse, l'expérience était terminée. Si j’avais quitté mon portefeuille tel qu’il était au début (ce qui représente l’argent supplémentaire que j’ai dû ajouter au cours de la semaine), c’est au moins $ 1,202. En fait, c’est à 1 194 $. Ainsi, mon intelligence artificielle ne représentait que 99,3% et ne «faisait absolument rien».

Voici un tableau de la situation. La ligne jaune est si je n’ai rien fait. La ligne bleue est ce que l'IA a fait.

L'axe des y est arbitraire; cela montre la performance relative. Pendant deux jours, j'étais mieux que rien!

Comment j'ai construit l'IA

Vous pouvez voir ce que j'ai fait comme cahier Jupyter sur Github ici. Le haut niveau est:

  • Mélangez les données (j'ai utilisé les données de formation de Robinhood même, qui donnent 5 ans de données historiques sur lesquelles vous allez vous entraîner lorsque vous utilisez leur API privée - l'API publique gratuite ne donne qu'un an. Yahoo! Finance et Google Finance semblent tous deux disparus, qui est triste).
  • Ajoutez quelques fonctionnalités. Ce que mon IA prévoit en définitive, c’est une version transformée du gain du titre entre aujourd'hui et demain.
  • Construisez un réseau récurrent profond de Keras comme prédicteur. Je suis de retour dans Tensorflow depuis mon dernier article sur la façon dont il peut être déployé en front-end. De plus, Keras présente l’avantage de ne pas avoir à passer autant de temps à remodeler les données comme PyTorch.
  • Former le modèle sur tout des données pour les actions dans mon panier (encodage à chaud du symbole d’action). Cela en fait un modèle général, en apprenant les tendances générales du marché boursier pour toutes les actions de mon panier.
  • Gelez certaines des couches, sortez la tête de réseau, ajoutez une nouvelle tête et reproduisez ce modèle pour autant d'actions que j'ai dans mon panier.
  • Ajustez chacun de ces modèles, avec sa tête individuelle, sur le stock particulier.
  • Faire des prédictions! Je mets un cron travail à faire tous les soirs à minuit heure de la côte ouest.

Apprentissage de haut niveau

  • Des couches plus nombreuses et plus entièrement connectées n’ont pas aidé. Il semble qu'une couche RNN décente les rend quelque peu superflus.
  • Les transformations d'entités sont importantes. Je suis toujours réticent à faire trop d'ingénierie de fonctionnalités, sur le principe qu'un réseau de neurones peut apprendre à le faire lui-même. En partie vrai, mais en réalité, il était très utile d’utiliser le codage à une seule vitesse pour les fonctionnalités datetime, tout comme de prendre le journal de très grandes valeurs.
  • Les fonctionnalités doivent être aussi différentes que possible. il est peu utile d’avoir beaucoup de caractéristiques similaires, même si elles ne sont pas très corrélées. Par exemple, je faisais des fenêtres de prix de 2 et 3 jours; c'était inutile. Les fenêtres de 10 et 50 jours fonctionnaient beaucoup mieux.
  • Conservez la même taille de lot entre la formation et l'inférence. En effet, la couche Keras LSTM n’est dynamique que dans un lot. Ainsi, si vous utilisez une taille de lot de 128 dans la formation, il apprendra à prévoir les sorties en fonction de 128 étapes de l’historique. Ne le contrariez pas ensuite en lui donnant moins d’étapes: il doit «chauffer» autant, même si, intuitivement, vous craignez un surajustement.
  • À un moment donné, j'ai dû reconnaître que des fuites de données se produisaient probablement. Par exemple, quelque part, je prenais probablement la moyenne sur toute la gamme de données plutôt que sur l'ensemble de formation. Ma modélisation ici, dans un projet parallèle, manque de rigueur par rapport à ce que je fais à temps plein et je devais devenir OK avec ça. Et aussi OK de documenter publiquement mes nombreuses gaffes!
  • Adam est un peu un optimiseur étrange. Plusieurs fois, j’ai repris cette idée et je suis revenu à un bon vieux SGD dans lequel j’étais certain de savoir ce qui se passait (cela ira toujours mieux… un peu plus lentement. Contrairement à Adam qui apprend généralement plus vite mais peut être instable).
  • Mieux se connecter! Je n’ai rien épargné au jour le jour, à l’exception de ce que j’ai écrit dans le brouillon de cette histoire de Medium. Je voudrais avoir. Il est devenu très difficile de brosser un tableau cohérent après la fin de l’expérience, car j’avais mal enregistré les actions et les prix de chaque jour.
  • Sécurité. Même après le durcissement de mon serveur, le changement de port SSH, sa configuration pour utiliser des clés et non des mots de passe, etc.… J'ai perdu le sommeil à cause de mon mot de passe Robinhood - qui est lié à mon compte bancaire - sur un serveur cloud.
  • Les RNN sont terribles. L'attention est tout ce dont vous avez besoin. J’utilise les architectures Transformer au travail récemment et j’aimerais recréer ce travail sans passer par la non-parallélisabilité et les gradients évanescents sur les longs schémas dont souffrent les RNN.

Mais surtout, vous savez quoi: À mon avis, en particulier depuis cette expérience, il est impossible de prévoir les stocks avec précision. Le trading haute fréquence peut générer des signaux prédictifs de seconde en seconde, mais au jour le jour: les fondamentaux sont importants. De plus, je ne veux pas trader au jour le jour, mais simplement garder mes économies dans un endroit relativement sûr et les vérifier de mois en mois.

Bien sûr, cela ne m'empêchera pas de refaire cela avec plus de données et des méthodes plus sophistiquées, mais je trouve bien que ce soit une quête de l’or des fous.

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close