Kostenlos, schnell und exklusiv Ihre eigene Multi-User Quantitative Trading Plattform zu erstellen

Schriftsteller:Kleine Träume, Erstellt: 2018-04-14 14:30:55, Aktualisiert: 2019-07-31 17:42:26

Kostenlos, schnell und exklusiv Ihre eigene Multi-User Quantitative Trading Plattform zu erstellen

Jeder kann eine Quantitative Trading Plattform mit der Inventor Quantitative Expansion API erstellen. Dieses Beispiel zeigt, wie man eine leistungsstarke Quantitative Trading Plattform mit Python und der Inventor Quantitative Expansion API erstellt.

  • Einbettung in bestehende Systeme

    Nach dem DEMO-Projekt kann man Server-Code schreiben, Front-End-Seiten hinzufügen, um bestehende Foren, Blogs, Communities und andere Systeme zu integrieren. Um einen flexiblen Zugang zu den aktuellen Benutzergruppen zu ermöglichen, und die aktuellen Benutzergruppen nicht vollständig die von den Erfindern quantifizierte technische Unterstützung erfahren, ist die Nutzung von Benutzern einfacher und einfacher zu bedienen.

  • Unterstützung des Marktes

    • CTP-Kommoditäts-Futures (ausgelaufene Geschäfte, Kaufhäuser, Großhandelsgeschäfte, Zinsen)
    • E-Exchange (CME, CBOT und andere wichtige ausländische Futures-Börsen)
    • Über 30 Blockchain-Asset-Plattformen weltweit
  • Er baut seine eigene Quantitationsplattform

    • Strategie für hohe Freiheit

      Mit Hilfe von Python, JavaScript, C++ schreiben Sie eine quantitative Handelsstrategie, die frei angepasst werden kann, um Ihre eigenen Handelsideen in der Welt der quantitativen Transaktionen zu realisieren.

    • Ein starkes und effizientes Retestsystem

      Seitdem müssen die Daten nicht mehr mühsam gesammelt werden, sondern die lokalen Retargeting-System-Engines können einfach mit einem einzigen Befehl konfiguriert werden:https://github.com/fmzquant/backtest_python

    • Einfache Struktur

      Ein HTTP-Server kann leicht erstellt werden, indem nur ein paar Frontend-Seiten geschrieben werden.

  • Das DEMO-Projekt

    • Name: Erfinder quantifizieren Demonstration, wie man seine eigene Asset Management-Qualitätsplattform mit Erfinder-Qualitäts-Erweiterungs-API baut

    • Das DEMO-Projekt installiert

      • Zuerst klonen wir dieses DEMO-Projekt.

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

        alt

      • Wechseln Sie zu diesem Verzeichnis, führen Sie Pip aus und installieren Sie

        img

        pip install -r requirements.txt 
        

        img

        Hinweis: Wenn Permission denied angezeigt wird, muss sudo pip install -r requirements.txt ausgeführt werden.

      • Nach der Installation konfigurieren Sie Serverprogramme, die Sie verwenden möchten, Erfinderquantifizieren, API KEY für Konten

        Erfinderquantifizierung Erweiterung mit API KEY Weitere Informationen finden Sie in der Erfinderquantifizierung API Dokumentation:https://www.fmz.com/api

        Erstellen Erfinder Quantisieren API KEY

        img

        Schreiben Sie die API KEY, die für die DEMO verwendet wird.app.pyDie Server-End-Programme.

        img

    • Befehle für die Ausführung des DEMO-Projekts auf der Serverseite

      python app.py
      
      • Das Programm zeigt:

        img

        Nach dem Ausführen des Serverprogramms öffnen Sie in Ihrem Browser die lokale Seite:http://127.0.0.1:5000

        img

      • Testregistrierungsseite

        img

        Die DEMO-Quantifizierungsplattform des Projekts ist bereits in Betrieb. Registrieren Sie sich mit dem Konto der Testplattform, loggen Sie ein und konfigurieren Sie als Benutzer der Plattform die API KEY der Börse.

        img

        img

        Die Konfigurierung ist wie folgt:

        img

        Die drei Strategien, die auf der Seite angezeigt werden, sind nur UI-Anzeigen, die auch für Administratoren der Asset Management Quantitative Plattform entwickelt wurden.

      • Konfiguration einer Teststrategie In diesem DEMO-Projekt erkennt die Server-Domain, dass die Start-Knopf-Taste gedrückt wird, um eine Suche nach einer Inventor-Quantitäts-Konto-Politik auszulösen, die das Schlüsselwort "main" enthält, und verwendet diese Politik, um den Roboter zu binden. Also haben wir eine Strategie entwickelt, die wir "Main Test Profit" nennen.

        Der Code für die Strategie "Main Test profit" lautet:

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

        img

        Nach der Bearbeitung des Codes klicken Sie auf Speichern.

        Bitte beachten Sie, dass Sie vor dem Start sicherstellen müssen, dass ein Trustee online ist.https://www.fmz.com/bbs-topic/463

      • Klicken Sie auf die Start-Knopf-Taste, die automatisch einen Roboter erstellt, der eine Demonstrationspolitik bindet, die nur zufällig Zahlen als Ertragswerte anzeigt.

        Ein neu erstellter Roboter wird in einem von den Erfindern quantifizierten Kontrollzentrum angezeigt:img

        Die DEMO-Seite zeigt auch die entsprechenden Zufallswerte.img

      • Roboter, die auf der Erfinder-Quantifizierung betrieben werden, werden durch appId identifiziert, wenn der Benutzer auf der aktuellen DEMO-Plattform angemeldet ist

        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)
        

        Sie können sehen, dass die Einstellungen im Code die Konfigurationsinformationen für den Roboter erstellen und die Appid die Benutzer kennzeichnen.

  • Aktualisiert

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

Mehr

Investitionen von NatureDie Umgebung, in der Sie konfiguriert wurden, war immer falsch.

KirchillxyIst die Quantifizierungsplattform, die auf dieser Weise erstellt wurde, 1 ein anderer Benutzer, der sich registriert hat, kann nur die von dem Administrator erstellten Strategien sehen? Kann der Quellcode gesehen werden? 2 Kann der Benutzer auf der Grundlage der Strategien des Administrators die Börsen-API des Benutzers konfigurieren und die eigene Festplatte des Benutzers ausführen?

Lizza, bitte.Zero ist sehr ambitioniert, aber es ist wichtig, dass man es kann.

JDiese Plattform, die ich selbst gebaut habe, kann nur sehen und steuern, wie Roboter funktionieren, kann keine Strategie schreiben und Roboter hinzufügen.

Kleine TräumeDies ist eine DEMO, eine Open Source-Demo, die den Quellcode direkt anzeigt.

KirchillxyGut, vielen Dank.

Kleine TräumeIch weiß. Wie kann man diese Funktionen auch in das Forum integrieren? Ich weiß. Diese können speziell entwickelt werden. Das DEMO ist einfach so, dass Sie eine Website selbst erstellen können, und dann über FMZs Erweiterungs-API, FMZs Festplatten-Service verwenden.

KirchillxyDie Kosten für die Nutzung des Forums sind 0,05 US-Dollar pro Stunde.

Kleine TräumeSie können Strategien entwerfen, die Benutzer sehen lassen, die Benutzer ihre eigenen Parameter konfigurieren lassen. Diese basieren auf Ihrem Produktdesign (die Basisdienstleistung ist FMZ).

Kleine TräumeDie Schreibpolitik-Schnittstelle ist momentan nicht verfügbar (möglicherweise später), andere Funktionen sind verfügbar (z. B. Bots erstellen usw.), Debugger-Tools werden ebenfalls unterstützt.