Không tốn kém, nhanh chóng xây dựng nền tảng giao dịch định lượng đa người dùng riêng của bạn

Tác giả:Giấc mơ nhỏ, Tạo: 2018-04-14 14:30:55, Cập nhật: 2019-07-31 17:42:26

Không tốn kém, nhanh chóng xây dựng nền tảng giao dịch định lượng đa người dùng riêng của bạn

Bất cứ ai cũng có thể xây dựng một nền tảng giao dịch định lượng bằng cách sử dụng API mở rộng định lượng của nhà phát minh. Dự án thí dụ này cho thấy việc xây dựng một nền tảng giao dịch định lượng đầy đủ chức năng bằng cách sử dụng Python và API mở rộng định lượng của nhà phát minh.

  • Tích hợp với hệ thống hiện có

    Theo dự án DEMO này, bạn có thể tham khảo viết mã cục bộ, thêm trang đầu để tích hợp các hệ thống diễn đàn, blog, cộng đồng và các hệ thống khác. Để có thể dễ dàng tiếp cận với các nhóm người dùng hiện tại, và các nhóm người dùng hiện tại không hoàn toàn trải nghiệm sự hỗ trợ kỹ thuật cơ sở được định lượng bởi các nhà phát minh, người dùng sử dụng đơn giản và dễ dàng hơn.

  • Hỗ trợ thị trường

    • Tiền tương lai hàng hóa CTP (các cửa hàng có thời hạn cuối, cửa hàng bán lẻ, cửa hàng lớn, trung tâm)
    • Các sàn giao dịch ngoại hối (các sàn giao dịch tương lai nước ngoài lớn như CME, CBOT)
    • Giao dịch trên hơn 30 nền tảng giao dịch tài sản blockchain trên toàn cầu
  • Xây dựng nền tảng định lượng của riêng mình

    • Thiết kế chiến lược tự do cao

      Sử dụng ngôn ngữ Python, JavaScript, C++ để viết chiến lược giao dịch định lượng, tự do tùy chỉnh, có thể thực hiện ý tưởng giao dịch của mình trong thế giới giao dịch định lượng.

    • Hệ thống kiểm tra hiệu quả và mạnh mẽ

      Từ đó, việc thu thập dữ liệu không còn khó khăn nữa, và công cụ hệ thống tìm kiếm nội bộ được dễ dàng cấu hình bằng một lệnh, liên kết:https://github.com/fmzquant/backtest_python

    • Kiến trúc đơn giản

      Chỉ cần viết một vài trang đầu tiên, một chương trình HTTP server side có thể dễ dàng được xây dựng.

  • Dự án DEMO

    • Tên: Inventor Quantify Demonstrates How To Build Your Own Asset Management Quantification Platform Using Inventor Quantify Extension API (tạm dịch: Làm thế nào để xây dựng nền tảng quản lý tài sản của riêng bạn bằng cách sử dụng API của Inventor Quantify)

    • Dự án DEMO này được cài đặt

      • Đầu tiên là clone.

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

        alt

      • Chuyển sang thư mục này, thực hiện pip cài đặt

        img

        pip install -r requirements.txt 
        

        img

        Lưu ý: Nếu được nhắc permission denied, bạn cần sudo pip install -r requirements.txt để thực hiện pip, nhập mật khẩu hệ điều hành theo yêu cầu.

      • Sau khi cài đặt xong, cấu hình các chương trình bên máy chủ để sử dụng Số lượng nhà phát minh API KEY của tài khoản

        Nhà phát minh định lượng Sử dụng API KEY mở rộng Xem thêm Tài liệu API của nhà phát minh định lượng:https://www.fmz.com/api

        Tạo ra Các nhà phát minh định lượng API KEY

        img

        Bạn chỉ cần viết API KEY,app.pyCác chương trình bên máy chủ.

        img

    • DEMO này chạy lệnh trên máy chủ

      python app.py
      
      • Chạy cho thấy:

        img

        Sau khi chạy chương trình bên máy chủ, hãy mở trang địa phương trong trình duyệt:http://127.0.0.1:5000

        img

      • Trang đăng ký thử nghiệm

        img

        Dự án DEMO Quantification Platform đã hoạt động, hãy đăng ký tài khoản của nền tảng thử nghiệm này (được lưu trữ dữ liệu cục bộ), đăng nhập và cấu hình API KEY của sàn giao dịch như người dùng nền tảng này.

        img

        img

        Hiện tại, cấu hình như sau:

        img

        Ba chính sách được hiển thị trên trang chỉ là UI hiển thị, những điều này cũng cần các quản trị viên của nền tảng quản lý tài sản định lượng được thiết kế cụ thể để thực hiện, chỉ dùng để giới thiệu ở đây.

      • Thiết lập một chính sách thử nghiệm Trong dự án DEMO này, máy chủ sẽ phát hiện ra rằng một nút khởi động được nhấn để kích hoạt một chiến lược tìm kiếm trong tài khoản định lượng của nhà phát minh có chứa từ khóa "main" và sử dụng chiến lược đó để ràng buộc robot chạy. Vì vậy, chúng tôi đã tạo ra một chiến lược gọi là lợi nhuận thử nghiệm chính.

        Có thể bạn có thể sử dụng các công cụ này để tìm kiếm lợi nhuận.

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

        img

        Sau khi chỉnh sửa mã, bấm Save.

        Lưu ý: Bạn phải đảm bảo có một người quản lý trực tuyến trước khi chạy.https://www.fmz.com/bbs-topic/463

      • Nhấp vào một nút để khởi động nút, sẽ tự động tạo ra một robot chạy, robot này sẽ gắn một chính sách trình bày chỉ xuất ra một số lượng ngẫu nhiên như một số lượng thu nhập hiển thị.

        Một robot mới được tạo ra được hiển thị trên trung tâm điều khiển được định lượng bởi nhà phát minh:img

        DEMO cũng hiển thị các số lượng ngẫu nhiên tương ứng trên trang webimg

      • Máy robot chạy trên thiết kế của nhà phát minh được xác định bởi appId cho người dùng đăng nhập vào nền tảng DEMO hiện tại

        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)
        

        Bạn có thể thấy trong mã settings là tạo thông tin cấu hình của robot, appid là sử dụng để đánh dấu người dùng.

  • Cập nhật

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

Thêm nữa

Nature định lượng đầu tưCác môi trường được cấu hình là không đúng. Bạn cần phiên bản đó của python?

churchillxyMột nền tảng định lượng được xây dựng theo cách này, 1 người dùng khác đăng ký, chỉ có thể nhìn thấy chính sách được tạo bởi người quản lý? Có thể nhìn thấy mã nguồn không? 2 người dùng có thể dựa trên chính sách của người quản lý, cấu hình API sàn giao dịch của người dùng, chạy ổ đĩa thực của người dùng?

Lizza.Zero là một tham vọng lớn, điều quan trọng là có khả năng tham vọng.

JMột nền tảng tự xây dựng chỉ có thể xem và kiểm soát hoạt động của robot, không thể viết chiến lược và thêm robot, phải không?

Giấc mơ nhỏĐây là một DEMO, là nguồn mở, bạn có thể trực tiếp xem mã nguồn.https://github.com/fmzquant/fmz_extend_api_demo.git

churchillxyTốt, cảm ơn.

Giấc mơ nhỏ`` Ngoài ra, làm thế nào để thêm các tính năng này vào diễn đàn? `` Những điều này có thể được phát triển cụ thể. DEMO đơn giản là bạn có thể tự xây dựng một trang web, sau đó sử dụng dịch vụ đĩa thực của FMZ thông qua API mở rộng của FMZ.

churchillxyBạn có phải là người sử dụng hoặc là bạn có phải là người sử dụng 0.05 đô la / giờ?

Giấc mơ nhỏBạn có thể thiết kế cho người dùng thấy các chính sách, cho phép người dùng cấu hình các tham số của riêng họ. Tất cả đều dựa trên thiết kế sản phẩm của bạn (phương tiện cơ sở là FMZ).

Giấc mơ nhỏHiện tại, không có giao diện viết chính sách mở (có thể sẽ mở sau), các chức năng khác có sẵn (ví dụ: tạo robot, v.v.), Công cụ gỡ lỗi.