Construisez rapidement votre propre plateforme de négociation quantitative multi-utilisateurs à bas prix

Auteur:Le petit rêve, Créé: 2018-04-14 14:30:55, Mis à jour: 2019-07-31 17:42:26

Construisez rapidement votre propre plateforme de négociation quantitative multi-utilisateurs à bas prix

Tout le monde peut construire une plate-forme de trading quantitative avec l'API d'extension quantitative des inventeurs, et ce projet d'exemple montre comment construire une plate-forme de trading quantitative puissante avec Python et l'API d'extension quantitative des inventeurs.

  • Intégrer le système existant

    Selon ce projet, il est possible d'écrire du code serveur, d'ajouter des pages avant pour intégrer des forums, des blogs, des communautés, etc. Pour permettre un accès flexible aux groupes d'utilisateurs existants, et les groupes d'utilisateurs existants ne peuvent pas entièrement expérimenter le support technique de base quantifié par les inventeurs, l'utilisation des utilisateurs est plus simple et facile à utiliser.

  • Soutenir le marché

    • CTP Commodity Futures (commerces à terme, boutiques, supermarchés, centres financiers)
    • Les marchés à long terme (CME, CBOT et autres marchés à terme à l'étranger)
    • Plus de 30 plateformes d'échange d'actifs blockchain sont utilisées dans le monde entier
  • Créer sa propre plateforme de quantification

    • Des stratégies pour une grande liberté

      Écrire des stratégies de négociation quantitatives, librement personnalisées, en utilisant Python, JavaScript et C++ pour réaliser ses propres idées de négociation dans un monde de négociation quantitative.

    • Un système de retouche puissant et efficace

      Il n'est plus nécessaire de rassembler des données difficilement, et le moteur de système de retouche local est facilement configuré avec une seule commande, le lien:https://github.com/fmzquant/backtest_python

    • Une architecture simplifiée

      En écrivant seulement quelques pages de front-end, un programme HTTP peut être facilement construit.

  • Projet DEMO

    • Nom: Inventors Quantify démontre comment construire sa propre plateforme de gestion d'actifs en utilisant l'API d'extension Inventors Quantify

    • Ce projet de démonstration est installé

      • Tout d'abord, cloner ce projet de démonstration

        git clone https://github.com/fmzquant/fmz_extend_api_demo.git
        

        alt

      • Passez à ce répertoire, exécutez pip et installez

        img

        pip install -r requirements.txt 
        

        img

        Remarque: si vous êtes invité à supprimer Permission denied, exécutez pip comme suit: sudo pip install -r requirements.txt.

      • Une fois l'installation terminée, configurez le programme de serveur à utiliser Quantité d'inventeur API KEY du compte

        Quantifier les inventeurs L'utilisation de l'API KEY pour l'extension Voir la documentation de l'API de quantifier les inventeurs:https://www.fmz.com/api

        Création de l'API KEY par les inventeurs

        img

        Vous devez écrire la clé de l'API,app.pyLes programmes du serveur.

        img

    • Exécuter des commandes sur le serveur pour ce projet DEMO

      python app.py
      
      • Il s'agit de:

        img

        Une fois que vous avez lancé le programme du serveur, ouvrez la page locale dans votre navigateur:http://127.0.0.1:5000

        img

      • Testez la page d'inscription

        img

        Le projet DEMO Quantitative Platform est en cours d'exécution. Enregistrez-vous avec le compte de la plateforme de test (qui stocke des données locales), connectez-vous et configurez l'API KEY de l'échange en tant qu'utilisateur de la plateforme.

        img

        img

        Le système est maintenant configuré comme suit:

        img

        Les trois stratégies affichées sur la page sont uniquement affichées par l'interface utilisateur, mais elles nécessitent également que les administrateurs de la plate-forme de gestion des actifs soient conçus spécifiquement pour les implémentations, ici pour une démonstration uniquement.

      • Configurez une stratégie de test Dans ce projet de démonstration, le serveur détecte une stratégie de recherche contenant le mot-clé "main" dans le compte de quantification des inventeurs en appuyant sur le bouton de démarrage et en utilisant cette stratégie pour lier le robot à l'exécution. Nous avons donc créé une stratégie appelée le test principal de profit.

        Le code de la stratégie main Test profit est le suivant:

        function main() {
            while(true) {
            LogProfit(Math.random()*100);
                Sleep(1000);
            }
        }
        

        img

        Une fois le code édité, cliquez sur enregistrer.

        Attention: il faut s'assurer qu'il y a un gestionnaire en ligne avant le lancement.https://www.fmz.com/bbs-topic/463

      • En cliquant sur le bouton de démarrage, un robot est automatiquement créé pour exécuter une stratégie de démonstration qui n'affiche que des résultats aléatoires.

        Un robot nouvellement créé est affiché sur le centre de contrôle quantifié par l'inventeur:img

        La page DEMO affiche également les valeurs aléatoires correspondantes.img

      • Un robot fonctionnant sur la mesure de l'inventeur Identifié par appId par l'utilisateur connecté à la plateforme DEMO actuelle

        img

        def robot_run(robotId, appId, exchanges):
            strategyId = -1
            # 从策略库里选出一个包含main字符串的策略运行, 也可以预定义
            for ele in api("GetStrategyList")['data']['result']['strategies']:
                if 'main' in ele['name']:
                    strategyId = ele['id']
            if strategyId < 0:
                raise u"not found strategy"
            settings = {
                    "name":"robot for %s" % (appId, ),
                    "args": [], # our custom arguments for this strategey
                    "appid": appId, # 为该机器人设置标签,关联到本用户
                    "period": 60,
                    "strategy": strategyId,
                    "exchanges": [],
                    }
            for e in exchanges:
                settings["exchanges"].append({"eid": e.eid, "pair": get_default_stock(e.eid), "meta" :{"AccessKey": e.accessKey, "SecretKey": e.secretKey}})
            if robotId > 0:
                return api('RestartRobot', robotId, settings)
            else:
                return api('NewRobot', settings)
        

        Comme vous pouvez le voir dans le code, les paramètres sont la création de l'information de configuration du robot, l'appid est utilisé pour marquer l'utilisateur.

  • Mise à jour

    # Github 地址更新:  https://github.com/fmzquant/fmz_extend_api_demo
    

Plus de

L'investissement en nature est quantifiéL'environnement de configuration n'a pas toujours été correct. Veuillez demander quelle version de Python est nécessaire?

Il y en a deux.Une plateforme de quantification construite de cette façon, 1 est-ce que les autres utilisateurs enregistrés ne peuvent voir que les stratégies créées par l'administrateur? Est-ce que le code source peut être vu?

Je suis Lizza.L'ambition est grande, la clé est la capacité d'être ambitieux.

JeLa plateforme que vous avez créée ne peut voir et contrôler que le fonctionnement des robots, ne peut pas écrire des stratégies et ajouter des robots.

Le petit rêveIl s'agit d'une DEMO, qui est open source et dont le code source peut être vu directement.

Il y en a deux.Ça va, merci.

Le petit rêveJe ne sais pas. En outre, comment ajouter ces fonctionnalités au forum? Je ne sais pas. Ce démo signifie simplement que vous pouvez créer un site vous-même, puis utiliser le service de disque dur de FMZ via l'API étendue de FMZ.

Il y en a deux.Le coût d'exploitation des utilisateurs est-il également 0.05 $ / heure?

Le petit rêveVous pouvez concevoir des stratégies qui permettent aux utilisateurs de voir et de configurer leurs propres paramètres. Tout cela est basé sur votre conception de produit (le service sous-jacent est FMZ).

Le petit rêveIl n'y a pas d'interface de rédaction de stratégies (peut-être plus tard), d'autres fonctionnalités sont disponibles (par exemple, créer des robots, etc.), et des outils de débogage sont également pris en charge.