Với sự phát triển của giao dịch định lượng tài sản blockchain, ngày càng có nhiều nhà giao dịch tài sản blockchain đã công nhận công cụ giao dịch định lượng. Nhưng như một người mới bắt đầu trong vòng tròn này, anh ta hoặc cô ấy có thể rất nhầm lẫn về nhiều khái niệm, và bị nhầm lẫn bởi các thuật ngữ, phần mềm, thông tin, vv. Bài viết này sẽ đưa bạn hiểu và làm quen với các khái niệm phổ biến, và tìm hiểu về các thông tin hữu ích khác nhau trong giao dịch định lượng của tài sản blockchain từ các khía cạnh khác nhau. Bài viết này sẽ tóm tắt các khái niệm cơ bản đầu tiên, và sau đó đưa ra các ví dụ trên nền tảng giao dịch lượng tử FMZ tương ứng với các khái niệm cơ bản này.
Trước hết, chúng ta cần hiểu khái niệm giao dịch. Chúng ta cần giao dịch các tài sản blockchain để đầu cơ, đầu tư, v.v. Mỗi người trong số họ cần phải được thực hiện trên một sàn giao dịch. Hiện nay có nhiều sàn giao dịch: cao cấp, mới nổi, lớn và nhỏ. Đối với sàn giao dịch nào để tiến hành giao dịch theo chương trình và định lượng, cần phải tự lọc thông tin dựa trên các thông tin khác nhau.
Tài khoản trao đổi Tài khoản trao đổi, là một tài khoản được đăng ký và mở tại sàn giao dịch này. tài sản blockchain có thể được lưu trữ trong tài khoản này để giao dịch. Một số sàn giao dịch có thể tạo và thiết lậpCác tài khoản phụCác ứng dụng tài khoản phụ được tạo ra, cơ chế và sử dụng cho mỗi sàn giao dịch khác nhau. Vì vậy, bạn cần kiểm tra thông tin cụ thể trên trang web sàn giao dịch hoặc tham khảo dịch vụ khách hàng sàn giao dịch.
Sau khi đăng nhập với một tài khoản trên trang web trao đổi, thường bạn có thể thấy rằng nơi có thể lưu trữ tài sản blockchain được chia thành nhiều
Giao diện API với hệ thống trao đổi
Nhiều người dùng chưa sử dụng chức năng trao đổi này có thể hỏi: REST
giao diện giao thức vàWebSocket
giao diện giao thức.FIX
giao diện giao thức. những chỉ để hiểu, chủ yếu chúng tôi sử dụng cácREST
giao diện giao thức. các tài liệu giao diện này thường có thể được tìm thấy trong liên kết với từAPIdưới cùng của trang web chính thức của sàn giao dịch. Đôi khi cần phải kiểm tra các tài liệu này để tìm thông tin lỗi giao diện. Các hệ thống API của mỗi sàn giao dịch khá khác nhau, vì vậy bạn cần kiểm tra tài liệu cho các vấn đề cụ thể. Nếu bạn không phải là một nhà phát triển chiến lược, đây chỉ là để hiểu.
API KEY của tài khoản
API KEY của tài khoản phải được hiểu cẩn thận, bởi vì nó liên quan đến sự an toàn của tài sản blockchain được lưu trữ trong sàn giao dịch của bạn.
Điều trên đã nói rằng giao diện API là một kênh, sau đó API KEY có thể được hiểu làvượt quaVì kênh truy cập, bạn không thể cho phép truy cập vào bất kỳ chương trình nào, rất nguy hiểm. Do đó, cần xác minh, và API KEY được sử dụng để xác minh danh tính. Vì vậy, API KEY liên quan đến bảo mật tài sản của bạn và phải được lưu giữ đúng cách.
Thông thường API KEY của một sàn giao dịch được tạo ở góc trên bên phải của trang giao dịch, trên trang quản lý tài khoản (có thể cũng có một sàn giao dịch được đặt ở nơi khác trên trang web, tìm liên kết với từ khóa access key
, và chuỗi thứ hai thường được gọi làsecret key
. Có một số sàn giao dịch có API KEY có thông tin khác, ví dụ, giao diện OKEX V5 và V3 có mộtPassPhrase
, cũng là một chuỗi (một chuỗi cần phải được đặt bởi chính bạn để tăng cường xác minh bảo mật).
Khi thiết lập API KEY, thường cần thiết phải thiết lập quyền của API KEY này, nói chung, có quyền như
Các đối tượng trao đổi Khái niệm đối tượng trao đổi là khái niệm trên nền tảng giao dịch lượng tử FMZ (FMZ.COMNói một cách đơn giản, nó đề cập đến một đối tượng được hình thành bằng cách đóng gói giao diện trao đổi. Đối tượng này là trao đổi trong mã chiến lược FMZ, mà gọi cho chức năng trao đổi.GetTicker, thực sự nó gọi cho giao diện để truy cập dữ liệu thị trường trao đổi. Xem tài liệu API FMZ để biết chi tiết:https://www.fmz.com/api#exchangeMột sàn giao dịch có thể có một lĩnh vực tương lai và một lĩnh vực giao ngay. Vì đối tượng giao dịch tương lai và đối tượng giao dịch tức thời được xác định trên FMZ là các loại đối tượng giao dịch khác nhau, chúng được phân biệt (các đối tượng giao dịch tương lai có nhiều chức năng hơn đối tượng giao dịch tức thời, chẳng hạn như thiết lập chức năng đòn bẩy, truy vấn chức năng vị trí vv, hãy kiểm tra tài liệu để biết chi tiết). Vì vậy, lấy Binance trao đổi cho một ví dụ, bạn có thể thấy nó khi cấu hình trên FMZ:Ngoài ra còn có 2 Huobi.
Nếu chiến lược là hoạt động trên các đối tượng trao đổi tương lai, hãy thêm tương lai, và nếu bạn muốn hoạt động tại chỗ, hãy thêm tại chỗ. Lý do cho thiết kế này là sàn giao dịch có thể có tương lai và giao diện tại chỗ hoàn toàn khác nhau, và thậm chí địa chỉ cơ sở giao diện khác nhau, vì vậy chúng được đóng gói riêng biệt.
Trên nền tảng FMZ, trao đổi là một đối tượng trao đổi, đại diện cho một tài khoản trao đổi.https://www.fmz.com/api#exchanges
Thị trường giao dịch được đề cập ở đây đề cập đến một bot giao dịch cụ thể (hãy tưởng tượng một trang giao dịch), thường sàn giao dịch có nhiều lĩnh vực, chẳng hạn nhưgiao dịch tiền tệ, giao dịch đòn bẩy tiền tệ, giao dịch hợp đồng etc.
Các cặp giao dịch
Những gì chúng ta thường gọi là một cặp giao dịch đơn giản là những gì chúng ta mua và bán, ví dụ, chúng ta đi đến thị trường để mua bắp cải.
Địa điểmGiao dịch tiền tệ, giao dịch đòn bẩy tiền tệ, họ được phân loại là giao dịch tại chỗ.cặp giao dịchđể mô tả thị trường mà nó được giao dịch.
Ví dụ như sử dụng nền tảng giao dịch FMZ Quant, nếu bạn muốn tạo một cặp giao dịch BTC sang USDT, tiền tệ giao dịch là BTC và tiền tệ mệnh giá là USDT.
Chúng tôi sử dụng chức năng của nền tảng FMZexchange.SetCurrency("BTC_USDT")
để chuyển cặp giao dịch hiện tại sang:BTC_USDT
.
Đối vớiSetCurrency
Đối với những ai không hiểu, hãy tham khảo:https://www.fmz.com/api#exchange.setcurrency...
Đối vớiexchange
Đối với những ai không hiểu, hãy tham khảo:https://www.fmz.com/api#exchange
Các hợp đồng (thương tương lai, quyền chọn)
Có một sự khác biệt lớn giữa giao dịch hợp đồng và giao dịch tại chỗ.currency-based contracts
vàUSDT-based contracts
Đối với giao dịch theo chương trình và giao dịch định lượng, cần phải xác định không chỉ cặp giao dịch mà còn cả hợp đồng. Ví dụ, nếu chúng ta muốn giao dịch tiền tệ BTC, thì có nhiều hợp đồng tiền tệ BTC, bao gồm các hợp đồng hàng quý (được giao hàng mỗi quý), hợp đồng hàng tuần (được giao hàng vào thứ Sáu mỗi tuần), hợp đồng vĩnh viễn (không giao hàng) v.v. Nếu chỉ sử dụng một cặp giao dịch để xác định, loại hợp đồng nào được thực hiện? Do đó, cần có mã hợp đồng cụ thể để mô tả và xác định.
Bằng cách này, khi chúng tôi mô tả thị trường hợp đồng nào để giao dịch, chúng tôi cần mô tả loại tiền tệ (cặp giao dịch) và hợp đồng nào (mã hợp đồng).
Hợp đồng dựa trên tiền tệ
Các hợp đồng sử dụng tiền tệ làm ký quỹ (như các hợp đồng dựa trên tiền tệ BTC, sử dụng BTC làm ký quỹ, và lợi nhuận cũng là BTC), lợi nhuận là tiền tệ. Thông thường, tiền tệ mệnh giá của cặp giao dịch của hợp đồng ký quỹ bằng tiền tệ được thể hiện bằng USD (không cần phải đi sâu vào chi tiết, hầu hết các sàn giao dịch sử dụng biểu thức này). Vì vậy, cặp giao dịch là BTC_USD, và hợp đồng là hợp đồng hàng quý.BTC's currency-based quarterly contract
thị trường.
Trên nền tảng giao dịch FMZ Quant,exchange.SetCurrency("BTC_USD")
đặt cặp giao dịch, và sau đóexchange.SetContractType("quarter")
đặt hợp đồng hàng quý.BTC's currency-based quarterly contract
.
Hợp đồng dựa trên USDT
Các hợp đồng sử dụng USDT như ký quỹ (như các hợp đồng dựa trên USDT của BTCBTC's USDT-based perpetual contract
thị trường.
Trên nền tảng giao dịch FMZ Quant,exchange.SetCurrency("BTC_USDT")
đặt cặp giao dịch, và sau đóexchange.SetContractType("swap")
đặt hợp đồng vĩnh viễn. theo cách này, các loại giao dịch hiện tại làBTC's USDT-based perpetual contract
.
Các lệnh Điều răn này nói cụ thể về điều gì? Một lệnh là lệnh mà chúng ta gửi đến sàn giao dịch khi chúng ta mua hoặc bán trên sàn giao dịch. Các lệnh được chia thành lệnh thị trường, lệnh giới hạn, lệnh có điều kiện, v.v. Các thuộc tính cơ bản nhất của lệnh là: đối tượng của lệnh (đơn giản là mua hoặc bán gì), số lượng của lệnh (mua hoặc bán bao nhiêu), và giá của lệnh (mua hoặc bán ở mức giá nào). Nếu lệnh tiếp theo chỉ xác định số lượng mua và bán và mua hoặc bán bất kể số tiền là bao nhiêu, thì lệnh như vậy được gọi là lệnh thị trường. Tất nhiên, cũng có các lệnh có điều kiện (định lệnh dừng lỗ, lệnh băng trôi, v.v.), có liên quan đến sàn giao dịch. Một số sàn giao dịch cung cấp nó, trong khi một số sàn giao dịch không. Để biết chi tiết, bạn có thể kiểm tra tài liệu API của sàn giao dịch.
Địa điểm Danh sách giá thị trường của các lệnh giao ngay thường cần chú ý đến các lệnh mua. Số lượng đặt hàng của danh sách giá thị trường của các lệnh giao ngay không phải là số tiền tệ, mà là số tiền. Bởi vì lệnh thị trường không xác định giá, chỉ có số tiền có thể được sử dụng để xác định số tiền mua. Số lượng của lệnh bán thị trường là số tiền tệ, bởi vì ngay cả khi giá không chắc chắn, có thể xác định số tiền để bán.
Hợp đồng Số lượng đơn đặt hàng của hợp đồng là đặc biệt, thường là số lượng hợp đồng. Giao diện đơn đặt hàng hợp đồng của sàn giao dịch về cơ bản là số lượng hợp đồng, và không có giao diện nào lấy số lượng tiền tệ làm số lượng đơn đặt hàng. Các hợp đồng vĩnh cửu BTC dựa trên USDT của Binance có thể đặt hàng các hợp đồng vĩnh cửu BTC với số lượng 0,01, nhưng đó không phải là số lượng tiền tệ, đó là số lượng hợp đồng, và một hợp đồng chính xác là một BTC. Nói chung, số lượng lệnh là số lượng hợp đồng cho dù đó là lệnh thị trường hoặc lệnh giới hạn.
Người nhận, người tạo ra lệnh là gì? Một lệnh mua là một lệnh cung cấp thanh khoản, đơn giản nói, nó có nghĩa là giá mua thị trường hiện tại là 10 và giá bán là 11. tại thời điểm này, tôi đặt một lệnh mua với giá mua 9, hoặc một lệnh bán với giá bán 12, tại thời điểm này, tôi cung cấp một lệnh cho chiều sâu của đĩa, và lệnh này là người tạo ra.
Ví dụ, các chức năng đặt hàngexchange.Sell
vàexchange.Buy
Khi đặt lệnh, việc lệnh được phân loại là người nhận hay người tạo phụ thuộc vào giá của lệnh và thị trường tại thời điểm đó, và liệu lệnh của chúng tôi cung cấp thanh khoản hay giảm thanh khoản.
Khi giá được truyền vào -1 trên nền tảng giao dịch FMZ Quant, nó là để đặt một lệnh thị trường, lưu ý rằng số tiền đặt hàng của lệnh mua lệnh thị trường giao ngay là số tiền, sau đó lệnh thị trường chắc chắn là một sự giảm thanh khoản, và nó phải là một lệnh nhận.
Quyền trao đổi lệnh có điều kiện
Nhiều sàn giao dịch cũng hỗ trợ các lệnh có điều kiện, chẳng hạn nhưiceberg order
, stop-loss order
, take-profit order
, post_only: only maker order
, fok: complete the deal or cancel immediately
, ioc: deal immediately and cancel the remaining
, vv
Những lệnh này có thể sử dụngexchange.IO
chức năng trên nền tảng giao dịch FMZ Quant để truy cập trực tiếp vào giao diện lệnh trao đổi để xác định các thông số (chỉ định các lệnh có điều kiện để đặt) để đặt một lệnh.exchange.IO
chức năng, vui lòng tham khảo tài liệu API FMZ:https://www.fmz.com/api#exchange.io…
Một nền tảng giao dịch định lượng có thể được coi là một công cụ giao dịch định lượng, nó có thể là một hệ thống phần mềm trực tuyến, có thể là một trang web, có thể là một chương trình thực thi cục bộ, hoặc thậm chí nó có thể là một dự án mã nguồn mở trên Github.
Nền tảng giao dịch lượng tử FMZ FMZ Quant Trading Platform là một hệ thống phân phối trực tuyến. Để biết kiến thức ban đầu về nền tảng và hướng dẫn, vui lòng tham khảo:https://www.fmz.com/bbs-topic/9090
Hệ thống kiểm tra hậu quả cho các nền tảng giao dịch định lượng Hệ thống backtesting là gì? Nói một cách đơn giản, hệ thống backtesting là để xem lại dữ liệu lịch sử của một loại giao dịch nhất định, và để một chiến lược nhất định được bao gồm trong việc phát lại, và nhận được hiệu suất giao dịch của chiến lược này khi mô phỏng việc phát lại dữ liệu lịch sử. Hệ thống kiểm tra ngược trên nền tảng giao dịch lượng tử FMZ:
Tên | Loại | Mô tả |
---|---|---|
Bitfinex | Các đối tượng trao đổi tại chỗ | Hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USD, ETH_USD, LTC_USD vv, lưu ý rằng tiền tệ cặp giao dịch được mệnh giá là USD, vốn được mệnh giá bằng USD |
Binance | Các đối tượng trao đổi tại chỗ | Hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC v.v. |
Được rồi. | Các đối tượng trao đổi tại chỗ | vchẳng hạn như: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC vv |
Huobi | Các đối tượng trao đổi tại chỗ | Hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC v.v. |
Các hợp đồng tương lai OKEX | Các đối tượng trao đổi tương lai | Hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USD, ETH_USD vv, tiền tệ danh nghĩa cặp giao dịch là USD. Sau khi đặt mã hợp đồng cụ thể (xem hàm exchange.SetContractType), hợp đồng là hợp đồng dựa trên tiền tệ |
HuobiDM | Các đối tượng trao đổi tương lai | HuobiDM là tương lai Huobi (hợp đồng Huobi), hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USD,ETH_USD vv, tiền tệ danh nghĩa cặp giao dịch là USD. Sau khi đặt mã hợp đồng cụ thể (xem chức năng Exchange.SetContractType), hợp đồng là hợp đồng dựa trên tiền tệ |
BitMEX | Các đối tượng trao đổi tương lai | Cặp giao dịch là: XBT_USD. Sau khi đặt mã hợp đồng cụ thể (xem hàm exchange.SetContractType), hợp đồng là hợp đồng dựa trên tiền tệ |
Hợp đồng tương lai Binance | Các đối tượng trao đổi tương lai | Hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USDT, ETH_USDT vv, đồng tiền danh nghĩa cặp giao dịch là USDT. Sau khi đặt mã hợp đồng cụ thể (xem hàm exchange.SetContractType), hợp đồng là hợp đồng dựa trên USDT |
Các tùy chọn phái sinh | Các đối tượng trao đổi tùy chọn | Cặp giao dịch là: BTC_USD, ETH_USD. Sau khi đặt mã hợp đồng cụ thể (xem hàm exchange.SetContractType), hợp đồng là hợp đồng dựa trên tiền tệ |
API KEY của nền tảng giao dịch định lượng
Sàn giao dịch có giao diện API, và nền tảng giao dịch định lượng cũng có giao diện API.Extended API
, một số chức năng của nền tảng FMZ có thể được vận hành theo chương trình, ví dụ: tạo bot thực trong lô, khởi động bot thực trong lô, sửa đổi cấu hình của bot thực trong lô, vv, để biết chi tiết, vui lòng tham khảo:https://www.fmz.com/api#api-extension-of-fmz-platformAPI mở rộng cũng có thể được sử dụng để làm một cái gì đó thú vị, chẳng hạn nhưSử dụng API mở rộng nền tảng giao dịch FMZ Quant để thực hiện giao dịch tín hiệu báo động TradingView
Nói vậy, điều gì chính xác là kiểm soát tài khoản giao dịch của tôi để giao dịch tự động? Đây là hiện thân cụ thể của giao dịch lập trình và giao dịch định lượng - kịch bản giao dịch lập trình. Các chương trình bot thực sự này có thể được viết bằng nhiều ngôn ngữ khác nhau. Ví dụ, nền tảng giao dịch FMZ Quant hỗ trợ viết các chiến lược giao dịch bot thực sự bằng ngôn ngữ JavaScript, Python và C ++. Các chương trình kịch bản này thực hiện các hoạt động khác nhau như mua và bán tài khoản thông qua giao diện API của sàn giao dịch.
Thiết bị chạy kịch bản giao dịch theo chương trình
Các giao dịch định lượng thường triển khai chương trình bot thực trên máy chủ Alibaba Cloud ở Hồng Kông (tất nhiên, bạn cũng có thể sử dụng máy chủ từ các nơi khác, các nhà khai thác khác).timeout
sẽ được báo cáo.
Trên nền tảng FMZ, bạn thường có thể triển khai chương trình phần mềm của riêng bạn trên máy chủ đám mây Alibaba của Hồng Kông (phần mềm mang bot thực sự của nền tảng giao dịch lượng tử FMZ được gọi là [docker], và bot thực sự của giao dịch định lượng được chạy dựa trên phần mềm docker).
Lựa chọn ngôn ngữ kịch bản Có quá nhiều ngôn ngữ lập trình, và gần như tất cả chúng đều có thể được sử dụng để viết các chương trình kịch bản bot thực sự. Ở đây chúng ta cũng sẽ lấy nền tảng giao dịch lượng tử FMZ làm ví dụ để hiểu những lợi thế của các ngôn ngữ khác nhau.
JavaScript Nó dễ sử dụng, và nó gần như độc lập với môi trường thiết bị, nó hỗ trợ tiêu chuẩn ES6. Tốc độ thực hiện chương trình chiến lược chỉ đứng sau chiến lược C ++. (được khuyến cáo cho người mới bắt đầu trên nền tảng giao dịch FMZ Quant)
Python Nó phụ thuộc vào môi trường thiết bị ở một mức độ nhất định, và các thư viện khác nhau có thể được cài đặt, với khả năng mở rộng cao. (Được khuyến cáo cho sinh viên quen thuộc với nền tảng FMZ và Python)
C++
Chiến lược này có tốc độ thực hiện nhanh nhất, hiệu quả cao nhất, nhưng nó khó sử dụng hơn.
Sau khi quen thuộc với nó, các ngôn ngữ lập trình khác làso easy!
.
MyLanguage MyLanguage được hỗ trợ bởi nền tảng FMZ là lệnh cơ bản nhất.
Chiến lược ghép mô-đun thị giác Chiến lược tạo hình ảnh chỉ được sử dụng để tăng cường sự quan tâm và hiểu logic chương trình. Nó có thể được sử dụng để tạo ra một số logic đơn giản, nhưng nó không áp dụng khi chiến lược có chút phức tạp, bởi vì nó khó duy trì, mở rộng và thiết kế logic phức tạp.