Thursday, February 9, 2017

Système Commercial Ocaml

Im complètement nouveau dans le domaine Algorithmic Trading. Je viens de terminer un cours qui était basé sur Ocaml, et de lire sur Jane Street. Évidemment, ils sont une énorme entreprise avec une grande quantité de ressources, mais est-il possible d'utiliser Ocaml pour le petit temps trading algorithmique, je sais que semble probablement une question stupide, mais (à partir de ce que j'ai trouvé) il n'y a pas d'API pour Ocaml. Cela signifie que l'on aurait à écrire à partir de zéro correcte Tout aperçu serait très apprécié les gars, comme je l'ai dit je suis un noob complet à ce domaine. Demandé 19 avril à 15h12 fermé comme hors sujet par chrisaycock. Martin clayton Luc M. Dan Esparza. Peter O. Apr 19 13 at 17:54 On s'attend à ce que les questions sur le dépassement des piles soient liées à la programmation dans le cadre défini par la communauté. Envisagez d'éditer la question ou de laisser des commentaires pour amélioration si vous pensez que la question peut être reformulée pour s'inscrire dans la portée. Pour en savoir plus sur la réouverture des questions ici. Si cette question peut être reformulée pour correspondre aux règles du centre d'aide. Éditez la question. Installer OCaml La dernière version d'OCaml est 4.04.0. Pour plus d'informations sur cette version, reportez-vous à la page 4.04.0. Le compilateur OCaml et les bibliothèques peuvent être installés de plusieurs façons: Pour trouver et installer des bibliothèques OCaml, consultez la page des bibliothèques. Des informations sur les différentes versions d'OCaml sont disponibles sur la page des communiqués. OPAM est le gestionnaire de paquets pour OCaml. Il est recommandé d'installer le compilateur OCaml et les paquetages OCaml. Suivez simplement les instructions d'installation de l'OPAM. La plupart des distributions Linux permettent d'installer OCaml et / ou OPAM directement via le gestionnaire de paquets système. D'autres paquets Debian liés à OCaml sont listés ici. Ils sont disponibles via la Politique de conditionnement Debian OCaml. D'autres paquets Ubuntu liés à OCaml sont répertoriés ici. Les dépôts officiels d'Ubuntu sont souvent en retard considérable sur les dernières versions officielles d'OCaml et d'OPAM. Des versions plus récentes sont disponibles dans ces CAE. Ils peuvent être installés avec: Notez que l'équipe de sécurité d'Ubuntu ne vérifie pas les PPA et que vous confiez le distributeur PPA39 en les ajoutant à votre système. Les paquetages OCaml sont conditionnés conformément à cette politique. Il existe un groupe d'intérêt spécial OCaml et une liste de diffusion pour les personnes intéressées par OCaml sur Fedora ou Red Hat Enterprise Linux. Avec un utilisateur qui est membre du groupe de portage faire: Sous Windows, les solutions directes suivantes sont disponibles pour utiliser OCaml: Official OCaml distribution. Un auto-installateur avec une version préliminaire d'OPAM pour Windows. OCPWin est une distribution binaire autonome d'OCaml pour Windows. Certaines fonctionnalités supplémentaires ont été ajoutées à OCaml pour une meilleure prise en charge de Windows, telles que la détection automatique de MSVC et la prise en charge de MSVC 9.0, 10.0, 11.0, 12.0 et 14.0 (VS2015). OCaml pour Windows fournit un référentiel OPAM expérimental et une version opam pour Windows. Voici quelques autres alternatives: La distribution source OCaml prend en charge directement de nombreux ports Windows différents. Vous devrez compiler à partir de la source. Consultez le fichier README. win32 inclus dans la distribution pour plus de détails. Utilisez Bash sur Windows et installez OCaml comme sur Ubuntu. Principales versions OCaml et OPAM. L'inconvénient de cette méthode est que vous ne construisez pas des binaires natifs de Windows mais des binaires Linux. Port à base de Cygwin. Nécessite Cygwin, vous pouvez les installer à l'aide de l'outil de configuration. Les compilateurs génèrent des exécutables qui nécessitent Cygwin (cygwin1.dll). Les pages suivantes permettent d'essayer directement des extraits de OCaml dans votre navigateur: From Source Téléchargez une version OCaml ou la version de développement et suivez les instructions qui y sont incluses. Exemples de code OCaml possède un système interactif. Appelé toploop, qui vous permet de taper le code OCaml et de le faire évaluer immédiatement. C'est une excellente façon d'apprendre la langue et d'expérimenter rapidement des idées. Ci-dessous, nous démontrons l'utilisation de la toploop pour illustrer les capacités de base de la langue. Quelques indications pour le code ci-dessous. L'invite à laquelle vous tapez est. Le code doit se terminer par (ce n'est qu'une indication pour le système interactif que l'entrée doit être évaluée et ne fait pas partie du code OCaml). La sortie du système est affichée dans cette couleur. Plus d'exemples de code sont disponibles sur les sites suivants: Fonctions élémentaires Définissons la fonction carrée et la fonction factorielle récursive. Ensuite, appliquons ces fonctions à des valeurs d'échantillon. Contrairement à la plupart des langues, OCaml utilise des parenthèses pour le regroupement mais pas pour les arguments d'une fonction. Gestion automatique de la mémoire Toutes les opérations d'allocation et de désallocation sont entièrement automatiques. Par exemple, considérons simplement des listes liées. Les listes sont prédéfinies dans OCaml. La liste vide est écrite. Le constructeur qui permet d'ajouter un élément à une liste est écrit. (Sous forme infix). Polymorphisme: listes de tri Le tri d'insertion est défini à l'aide de deux fonctions récursives. Notez que le type des éléments de la liste reste indéterminé: il est représenté par une variable de type 39a. Ainsi, sort peut être appliqué à la fois à une liste d'entiers et à une liste de chaînes. Caractéristiques impératives Codons les polynômes sous forme de tableaux de coefficients entiers. Ensuite, pour ajouter deux polynômes, nous allouons tout d'abord le tableau de résultats, puis remplissons ses fentes en utilisant deux boucles successives. OCaml propose des cellules de mémoire pouvant être mises à jour, appelées références. Ref init renvoie une nouvelle cellule avec le contenu initial init. Cell retourne le contenu actuel de la cellule. Et cellule: v écrit la valeur v dans la cellule. Nous pouvons redéfinir le fait en utilisant une cellule de référence et une boucle for: Fonctions d'ordre supérieur Il n'y a aucune restriction sur les fonctions, qui peuvent ainsi être passées comme arguments à d'autres fonctions. Définissons une fonction sigma qui renvoie la somme des résultats d'application d'une fonction f donnée à chaque élément d'une liste: Les fonctions anonymes peuvent être définies à l'aide de la construction fun ou function: Le polymorphisme et les fonctions d'ordre supérieur permettent de définir la composition de la fonction dans sa La forme la plus générale: La puissance des fonctions La puissance des fonctions ne peut être mieux illustrée que par la fonction puissance: La dérivée n e d'une fonction peut être calculée comme en mathématiques en élevant la fonction dérivée à la n ième puissance: Considérons des expressions symboliques simples composées d'entiers, de variables, de liaisons et d'opérateurs binaires. De telles expressions peuvent être définies comme un nouveau type de données, comme suit: L'évaluation de ces expressions implique un environnement qui mappe des identifiants à des valeurs, représenté comme une liste de paires. A titre d'exemple, nous évaluons l'expression let x 1 dans x x: La correspondance de modèles facilite la définition des fonctions fonctionnant sur des données symboliques, en donnant des définitions de fonction et des déclarations de type des formes similaires. En effet, notez la ressemblance étroite entre la définition de la fonction eval et celle du type d'expression. Débogage élémentaire Pour conclure, voici la façon la plus simple d'espionner les fonctions:


No comments:

Post a Comment