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 với tư cách là một thành viên mới của vòng tròn này, bạn rất nhầm lẫn về nhiều khái niệm, nhầm lẫn bởi các thuật ngữ, phần mềm, thông tin, v.v. 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à hiểu nhiều thông tin hữu ích khác nhau trong giao dịch định lượng các tài sản blockchain từ các khía cạnh khác nhau. Bài viết này đầu tiên tóm tắt các khái niệm cơ bản, và sau đó đưa ra các ví dụ trên nền tảng FMZ Quant Trading 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 nền tảng. Chúng ta cần đầu tư và đầu tư vào tài sản blockchain trong tay chúng ta trên các nền tảng. Hiện có nhiều nền tảng, cao cấp, đang nổi lên, quy mô lớn và quy mô nhỏ. Đối với nền tảng nào để tiến hành giao dịch theo chương trình và định lượng, bạn cần tự chọn dựa trên các thông tin khác nhau.
Tài khoản nền tảng Một tài khoản nền tảng là một tài khoản được đăng ký và mở trên nền tảng. Tài sản blockchain có thể được lưu trữ trong tài khoản này để giao dịch. Một số tài khoản nền tảng có thể tạo và thiết lậpCác tài khoản phụdưới tài khoản chính để tạo điều kiện cho các giao dịch riêng biệt và đầu cơ tài sản. Ứng dụng, cơ chế và sử dụng tài khoản phụ cho mỗi nền tảng là khác nhau. Bạn cần kiểm tra thông tin trên trang web nền tảng cụ thể. Hoặc tham khảo dịch vụ khách hàng của nền tảng.
Sau khi đăng nhập với một tài khoản trên trang web nền tảng, bạn thường có thể thấy rằng nơi có thể lưu trữ tài sản blockchain được chia thành nhiều
API hệ thống nền tảng
Nhiều sinh viên chưa từng sử dụng chức năng trên nền tảng có thể hỏi:
API nền tảng được chia thành các loại giao diện khác nhau; thường cóREST
giao diện giao thức vàWebSocket
Một số nền tảng cũng cung cấpFIX
giao diện giao thức. chúng ta chỉ cần có sự hiểu biết về các giao diện đó. giao diện được sử dụng phổ biến nhất là giao thức REST. Tài liệu của các giao diện này thường có thể được tìm thấy trong liên kết với từAPIở cuối trang web chính thức của các nền tảng đó. Đôi khi, để truy vấn một số thông tin lỗi giao diện, bạn vẫn cần kiểm tra tài liệu giao diện. Hệ thống API của mỗi nền tảng khác nhau, và sự khác biệt tương đối lớn. Đối với các vấn đề cụ thể, bạn cần kiểm tra tài liệu của họ. 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 Tài khoản API KEY phải được hiểu cẩn thận, bởi vì điều này liên quan đến bảo mật của tài sản blockchain được lưu trữ trong nền tảng bạn sử dụng. Nó được cho là giao diện API là một kênh, sau đó API KEY có thể được hiểu làvượt quaNếu có một kênh truy cập, không phải tất cả các chương trình có thể được phép truy cập, vì nó nguy hiểm. Do đó, xác minh là cần thiết, và API KEY được sử dụng để xác minh danh tính. Do đó, API KEY liên quan đến bảo mật tài sản của bạn, vì vậy nó phải được giữ đúng cách.
Thông thường, APIKEY của một nền tảng được tạo ở góc trên bên phải của trang nền tảng, trên trang quản lý tài khoản (có thể cũng có các nền tảng đặt nó ở 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
. Ngoài ra còn có các nền tảng mà API KEY cũng có thông tin khác. Ví dụ, giao diện OKEX V5 và V3 cũng 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ư
Đối tượng trao đổi
Khái niệm đối tượng trao đổi là khái niệm trên FMZ Quant Trading Platform (FMZ.COMNói một cách đơn giản, nó đề cập đến một đối tượng được tạo ra bởi việc đóng gói giao diện nền tảng.
Đối tượng này là
Nếu chiến lược là để vận hành các đối tượng trao đổi tương lai, thêm tương lai, và nếu bạn muốn vận hành các đối tượng trao đổi tại chỗ, thêm tại chỗ. Lý do cho thiết kế này là một nền tảng 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,
Thị trường giao dịch được đề cập ở đây đề cập đến một tình huống thị trường giao dịch cụ thể (hãy tưởng tượng một trang giao dịch), thường giao dịch trong nhiều mô-đun.giao dịch tiền tệ, giao dịch ký quỹ tại chỗ, giao dịch hợp đồng, vv
Cặp giao dịch
Điều chúng ta thường có nghĩa là "cặp giao dịch" đơn giản là những gì chúng ta mua và bán, chẳng hạn như khi chúng ta đi đến thị trường để mua bắp cải.
Địa điểmgiao dịch tiền tệvàgiao dịch ký quỹ tại chỗgiao dịch tại chỗ chỉ cần xác địnhcặp giao dịchđể mô tả thị trường mà nó được giao dịch.
Ví dụ, khi bạn sử dụng nó trên FMZ Quant, nếu bạn muốn thực hiện một cặp giao dịch trao đổi BTC cho USDT.
Chúng ta sử dụng hàmexchange.SetCurrency("BTC_USDT")
trên nền tảng FMZexchange.SetCurrency("BTC_USDT")
để chuyển cặp giao dịch hiện tại sang:BTC_USDT
.
Đối với những học sinh không hiểuSetCurrency
, bạn có thể tham khảo:https://www.fmz.com/api#exchange.setcurrency.
Đối với những học sinh không hiểuexchange
, bạn có thể tham khảo:https://www.fmz.com/api#exchange.
Hợp đồng (tiền tương lai và tùy chọn)
Giao dịch hợp đồng rất khác với giao dịch tại chỗ.crypto-margined contracts
vàUSDT-margined contracts
Đối với giao dịch theo chương trình và giao dịch định lượng, cần xác định không chỉ cặp giao dịch mà còn loại hợp đồng. Ví dụ, nếu chúng ta muốn giao dịch với BTC, thì có nhiều hợp đồng BTC, bao gồm các hợp đồng hàng quý (đưa khi hết hạn mỗi quý), hợp đồng hàng tuần (đưa khi hết hạn mỗi thứ sáu), hợp đồng vĩnh viễn (không giao), vv. Sau đó nếu chỉ sử dụng một cặp giao dịch để xác định, loại hợp đồng nào sẽ được sử dụng? Do đó, cần có mã hợp đồng cụ thể để mô tả và xác định điều đó.
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ả biểu tượng tiền tệ (cặp giao dịch) và loại hợp đồng nào (mã hợp đồng).
Hợp đồng ký quỹ ký quỹ
Các hợp đồng sử dụng tiền điện tử như ký quỹ (như hợp đồng BTC crypto-margined, sử dụng BTC như ký quỹ, và lợi nhuận cũng là BTC), lợi nhuận của chúng cũng là tiền điện tử. Thông thường, đồng tiền báo giá của cặp giao dịch của hợp đồng crypto-margined được thể hiện bằng USD (không cần phải đi sâu vào điều đó, hầu hết các nền tảng sử dụng nó để thể hiện). Vì vậy, cặp giao dịch là BTC_USD, và hợp đồng là một hợp đồng hàng quý.BTC crypto-margined quarterly contract
thị trường.
Trên FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USD")
đặt cặp giao dịch, và sau đóexchange.SetContractType("quarter")
đặt hợp đồng hàng quý.BTC crypto-margined quarterly contract
.
Hợp đồng ký quỹ USDT
Các hợp đồng sử dụng USDT như ký quỹ (như hợp đồng vĩnh cửu BTC USDT, sử dụng USDT như ký quỹ, và lợi nhuận cũng là USDT), lợi nhuận của họ cũng là USDT. Thông thường, đồng tiền báo giá của cặp giao dịch của hợp đồng ký quỹ USDT được thể hiện bằng USDT. Do đó, cặp giao dịch là BTC_USDT, và hợp đồng là một hợp đồng vĩnh cửu.BTC USDT-margined perpetual contract
thị trường.
Trên FMZ Quant Trading Platform,exchange.SetCurrency("BTC_USDT")
đặt cặp giao dịch, và sau đóexchange.SetContractType("swap")
đặt hợp đồng vĩnh cửu. theo cách này, biểu tượng giao dịch hiện tại làBTC USDT-margined perpetual contract
.
Trật tự Một lệnh chính xác nghĩa là gì? Một đơn đặt hàng là đơn đặt hàng mà chúng ta gửi đến một nền tảng khi chúng ta mua hoặc bán trên nền tảng. Các đơn đặt hàng được chia thành các đơn đặt hàng thị trường, đơn đặt hàng giới hạn, đơn đặt hàng có điều kiện, v.v. Các thuộc tính cơ bản nhất của một đơn đặt hàng là: chủ đề của đơn đặt hàng (đơn giản là, mua hoặc bán gì), số tiền đặt hàng (mua hoặc bán bao nhiêu), và giá đơn đặt hàng (mua hoặc bán ở mức giá nào). Nếu đơn đặt hàng tiếp theo không quan trọng là bao nhiêu, nó chỉ xác định số tiền mua hoặc bán và mua hoặc bán gì, thì đơn đặt hàng như vậy được gọi là đơn đặt hàng thị trường. Tất nhiên, cũng có các đơn đặt hàng có điều kiện (đặt hàng dừng lỗ, đơn đặt hàng tảng băng, v.v.), có liên quan đến các nền tảng. Một số nền tảng cung cấp các đơn đặt hàng có điều kiện, và một số không. Để biết chi tiết, bạn có thể kiểm tra tài liệu API của FMZ.
Địa điểm Spot order và market order thường cần phải chú ý đến buy order. Số tiền đặt hàng của buy spot market orders không phải là số tiền biểu tượng 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ố tiền đặt hàng bán thị trường là số tiền biểu tượng tiền tệ, bởi vì ngay cả khi giá không chắc chắn, số tiền biểu tượng tiền tệ được bán có thể được xác định.
Hợp đồng Số tiền đặt hàng của một hợp đồng là đặc biệt, thường là số tiền hợp đồng. Giao diện đặt hàng hợp đồng của một nền tảng về cơ bản là số tiền hợp đồng, và không có giao diện nào lấy số tiền biểu tượng tiền tệ làm số tiền đặt hàng. Các hợp đồng vĩnh cửu BTC được ký quỹ bởi Binance USDT có thể đặt hàng các hợp đồng vĩnh cửu BTC với số tiền 0,01, nhưng không phải là số tiền biểu tượng tiền tệ, mà là số tiền hợp đồng, ngoại trừ việc một hợp đồng xảy ra là một BTC. Nói chung,cho dù đó là lệnh thị trường hay lệnh giới hạn, số tiền lệnh là số tiền hợp đồng.
Đơn đặt hàng của người nhận & lệnh của người tạo Một lệnh mua là một lệnh cung cấp thanh khoản. Nói một cách đơn giản, nó có nghĩa là giá thị trường hiện tại là 10 để mua một và 11 để bán một. Tại thời điểm này, tôi đang chờ một lệnh mua với giá mua 9, hoặc một lệnh bán với giá bán 12. Sau đó, tôi cung cấp một lệnh cho chiều sâu trong thị trường.
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á lệnh và thị trường hiện tại, và liệu lệnh cung cấp thanh khoản hay giảm thanh khoản.
Lưu ý rằng số tiền đặt hàng của lệnh mua thị trường giao ngay là số tiền, sau đó lệnh thị trường chắc chắn làm giảm thanh khoản, và nó phải là một lệnh nhận.
Trình tự có điều kiện
Nhiều nền tảng cũng hỗ trợ các lệnh có điều kiện, chẳng hạn nhưiceberg order
, stop loss order
, stop profit order
, post_only: only place maker order
, fok: all executed or canceled immediately
, ioc: executed immediately or cancel the rest
, vv
Những lệnh này có thể sử dụngexchange.IO
chức năng trên FMZ Quant để trực tiếp truy cập giao diện lệnh nền tảng để xác định các thông số được thiết lập (chỉ định lệnh có điều kiện nào để đặ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, một trang web, hoặc một chương trình thực thi cục bộ, hoặc thậm chí là một dự án mã nguồn mở trên GITHUB.
Nền tảng giao dịch lượng tử FMZ Nền tảng FMZ Quant Trading là một hệ thống phân tán trực tuyến; để làm quen với nền tảng và hướng dẫn, bạn có thể tham khảo:https://www.fmz.com/bbs-topic/4145
Hệ thống kiểm tra lại của nền tảng giao dịch lượng tử FMZ Hệ thống backtest là gì? Nói một cách đơn giản, hệ thống backtest là để chơi lại dữ liệu lịch sử của một biểu tượng giao dịch nhất định, và để một chiến lược nhất định được bao gồm trong việc chơi lại, và nhận được hiệu suất giao dịch của chiến lược khi mô phỏng việc chơi lại dữ liệu lịch sử.
FMZ Quant Trading Backtest System:
Tên | Loại | Hướng dẫn |
---|---|---|
Bitfinex | đố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 và LTC_USD, v.v. (lưu ý tiền tệ báo giá của các cặp giao dịch là USD đô la) |
Binance | đố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 và LTC_BTC, v.v. |
Được rồi. | đố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 và LTC_BTC, v.v. |
Huobi | đố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 và LTC_BTC, v.v. |
Các hợp đồng tương lai OKEX | đối tượng giao dịch tương lai | hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USD và ETH_USD, v.v.; tiền tệ báo giá của các cặp giao dịch là USD; sau khi đặt mã hợp đồng cụ thể (vui lòng tham khảo chức năng exchange.SetContractType), hợp đồng là hợp đồng ký quỹ mật mã; các mã hợp đồng được hỗ trợ bao gồm: this_week, next_week, quarter và swap |
HuobiDM | đối tượng giao dịch tương lai | HuobiDM là Huobi Futures (Huobi Contract), hỗ trợ các cặp giao dịch giới hạn, chẳng hạn như: BTC_USD và ETH_USD, vv; tiền tệ báo giá của các cặp giao dịch là USD; sau khi đặt mã hợp đồng cụ thể (làm ơn tham khảo chức năng exchange.SetContractType), hợp đồng là hợp đồng ký quỹ; các mã hợp đồng được hỗ trợ bao gồm: this_week, next_week, quarter và swap. |
BitMEX | đối tượng giao dịch tương lai | Cặp giao dịch là XBT_USD; sau khi đặt mã hợp đồng cụ thể (vui lòng tham khảo chức năng exchange.SetContractType), hợp đồng là hợp đồng ký quỹ; mã hợp đồng được hỗ trợ là: XBTUSD |
Binance Futures | đối tượng giao dịch tương lai | hỗ trợ các cặp giao dịch hạn chế, chẳng hạn như: BTC_USDT và ETH_USDT, v.v.; tiền tệ báo giá của các cặp giao dịch là USD; sau khi thiết lập mã hợp đồng cụ thể (làm ơn tham khảo chức năng exchange.SetContractType), hợp đồng là hợp đồng ký quỹ USDT; mã hợp đồng được hỗ trợ là swap |
Các tùy chọn Deribit | đối tượng giao dịch tương lai | Các cặp giao dịch là: BTC_USD và ETH_USD; sau khi đặt mã hợp đồng cụ thể (vui lòng tham khảo chức năng exchange.SetContractType), hợp đồng là một hợp đồng ký quỹ mật mã; các mã hợp đồng tùy chọn cụ thể cần được đặt |
API KEY của giao dịch định lượng
Tất cả các nền tảng đều 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ụ: thêm bot trong lô, khởi động bot trong lô, sửa đổi cấu hình bot trong lô, v.v. Để biết chi tiết, vui lòng tham khảo:https://www.fmz.com/api#fmz平台扩展api.
API mở rộng cũng có thể được sử dụng để làm một cái gì đó thú vị, ví dụSử dụng API mở rộng trên FMZ Quant để nhận ra
Điều gì chính xác là tự động kiểm soát tài khoản nền tảng của tôi để giao dịch? Đó là hiện thân cụ thể của giao dịch chương trình và giao dịch định lượng - kịch bản giao dịch được lập trình. Các chương trình thời gian thực 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 thời gian thực 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 nền tảng.
Thiết bị mà trên đó các kịch bản giao dịch được lập trình chạy
Một chương trình kịch bản của bot phải có một thiết bị mang (tóm lại, bot phải có một nơi để nó chạy). Thương mại định lượng trong vòng tròn tiền điện tử thường triển khai một chương trình bot đế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 FMZ Quant, 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ủ Alibaba Cloud ở Hồng Kông (phần mềm mang bot của FMZ Quant được gọi là
Tùy chọn ngôn ngữ kịch bản Có rất nhiều ngôn ngữ lập trình, và về cơ bản tất cả chúng đều có thể được sử dụng để viết các chương trình kịch bản của robot. Ở đây chúng ta cũng sẽ lấy nền tảng giao dịch FMZ Quant làm ví dụ để làm cho bạn hiểu những lợi thế của các ngôn ngữ khác nhau.
JavaScript Nó đơn giản và dễ sử dụng, hầu như không phụ thuộc vào môi trường thiết bị, và hỗ trợ tiêu chuẩn ES6. Tốc độ thực hiện chương trình chiến lược của nó chỉ sau chiến lược C ++.
Python Python phụ thuộc vào môi trường thiết bị đến một mức độ nhất định, và các thư viện khác nhau có thể được cài đặt, vì vậy khả năng mở rộng của nó là mạnh mẽ. (được khuyến cáo cho sinh viên quen thuộc với nền tảng FMZ và quen thuộc với Python).
C++
Các chiến lược của C ++ có tốc độ thực thi nhanh nhất, hiệu quả cao nhất, và cũng khó sử dụng hơn.
Sau khi bạn làm chủ ngôn ngữ, bạn sẽ tìm ra những người khácso easy!
Mylanguage Mylanguage được hỗ trợ bởi FMZ chỉ dành cho các lệnh cơ bản nhất.
Mô-đun hiển thị Chiến lược hợp nhất Tạo ra các chiến lược theo cách trực quan chỉ để quan tâm, cải thiện và hiểu về 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 phù hợp để thiết kế một chiến lược hơi phức tạp, bởi vì nó khó duy trì và mở rộng, và khó hơn là thiết kế logic phức tạp.