随着区块链资产量化交易的发展,越来越多的区块链资产交易者认识到了量化交易这个工具。
但是作为这个圈子的萌新成员,对于很多概念甚是迷惑。被各种名词、软件、信息等弄的晕头转向。本篇就带你一起认识、熟悉常见的概念,从多方面了解区块链资产量化交易中的各种有用的信息。
本篇先概括基本概念,然后对应这些基本概念在FMZ量化交易平台上举例说明。
首先我们要认识交易所这个概念,我们需要交易手中的区块链资产进行投机、投资等需要在交易所进行。目前交易所有很多,资深的、新兴的、规模大的、规模小的。对于在哪个交易所进行程序化、量化交易这些需要根据方方面面的信息自行筛选。
REST协议接口、WebSocket协议接口。很少的交易所也提供FIX协议接口。这些只做了解,我们用的最多的还是REST协议的接口,这些接口文档通常都可以在交易所官网最下部有API字样的链接中找到。有时候查询一些接口报错信息,还是需要到这些文档中查看的。每家交易所的API系统都各不相同,差异化比较大,对于具体问题就要具体查看文档。如果你不是一个策略开发者,那么这些内容可以仅作为了解。access key,第二串通常叫做secret key。也有交易所的API KEY还具有其他信息,例如OKEX V5和V3接口还有一个PassPhrase,也是一个字符串(需要自己设置的字符串,用于加强安全验证)。


在FMZ平台上,exchange就是一个交易所对象,就代表一个交易所账户,具体说明参看:https://www.fmz.com/api#exchanges
这里所说的交易市场就是指具体的交易盘面(脑补某个交易页面),通常交易所有多个板块。例如:币币交易,币币杠杆交易,合约交易等。
exchange.SetCurrency(\"BTC_USDT\")就切换当前交易对为:BTC_USDT了。SetCurrency不明白的可以看:https://www.fmz.com/api#exchange.setcurrency…exchange不明白的可以看:https://www.fmz.com/api#exchange币本位合约、USDT本位合约,对于程序化交易、量化交易不仅要确定交易对、还要确定合约。比如要做的是BTC这个币种,那么BTC这个币种合约有很多,有季度合约(每个季度到期交割)、当周合约(每周5到期交割)、永续合约(不交割)等。那如果只用一个交易对标识,具体是做那种合约呢?所以就还需要具体的合约代码来描述确定。BTC的币本位季度合约市场。exchange.SetCurrency(\"BTC_USD\")设置交易对,然后exchange.SetContractType(\"quarter\")设置季度合约。这样当前的交易品种就是BTC的币本位季度合约了。BTC的USDT本位永续合约市场。exchange.SetCurrency(\"BTC_USDT\")设置交易对,然后exchange.SetContractType(\"swap\")设置永续合约。这样当前的交易品种就是BTC的USDT本位永续合约了。exchange.Sell、exchange.Buy封装的是普通的限价单、市价单接口。下单时订单归为taker还是maker,具体要看下单价格和当时的盘口,要看我们的这个订单是提供了流动性,还是减少了流动性。比如冰山委托、止损单, 止盈单, post_only:只做maker单,fok:全部成交或立即取消,ioc:立即成交并取消剩余等。exchange.IO函数直接访问交易所下单接口指定要设置的参数(指定下那种条件订单)去下单。对于exchange.IO函数使用可以参看FMZ API文档:https://www.fmz.com/api#exchange.io…量化交易平台可以看做是一个量化交易工具,可能是一个线上软件系统,可能是一个网站,可能是一个本地可执行程序,甚至可能是一个GITHUB上的开源项目。简单来说你可以把它看做是一个做量化交易的工具。
| 名称 | 类型 | 说明 |
|---|---|---|
| Bitfinex | 现货交易所对象 | 支持有限的交易对例如:BTC_USD,ETH_USD,LTC_USD等,注意交易对计价币为USD是美元计价 |
| 币安 | 现货交易所对象 | 支持有限的交易对例如:BTC_USDT,ETH_USDT,ETH_BTC,LTC_BTC等 |
| OKEX | 现货交易所对象 | 支持有限的交易对例如:BTC_USDT,ETH_USDT,ETH_BTC,LTC_BTC等 |
| 火必 | 现货交易所对象 | 支持有限的交易对例如:BTC_USDT,ETH_USDT,ETH_BTC,LTC_BTC等 |
| OKEX期货 | 期货交易所对象 | 支持有限的交易对例如:BTC_USD,ETH_USD等,交易对计价币为USD,设置具体合约代码(参看exchange.SetContractType函数)后,合约为币本位合约 |
| HuobiDM | 期货交易所对象 | HuobiDM即为火必期货(火必合约),支持有限的交易对例如:BTC_USD,ETH_USD等,交易对计价币为USD,设置具体合约代码(参看exchange.SetContractType函数)后,合约为币本位合约 |
| BitMEX | 期货交易所对象 | 交易对为:XBT_USD,设置具体合约代码(参看exchange.SetContractType函数)后,合约为币本位合约 |
| 币安期货 | 期货交易所对象 | 支持有限的交易对例如:BTC_USDT,ETH_USDT等,交易对计价币为USDT,设置具体合约代码(参看exchange.SetContractType函数)后,合约为USDT本位合约 |
| Deribit期权 | 期权交易所对象 | 交易对为:BTC_USD,ETH_USD,设置具体合约代码(参看exchange.SetContractType函数)后,合约为币本位合约 |
扩展API。可以程序化操作FMZ平台的一些功能。例如批量创建实盘、批量启动实盘、批量修改实盘配置等,具体可以参看:https://www.fmz.com/api#fmz平台扩展api说了那么多,那具体是什么在自动化控制我的交易所账户进行交易买卖呢?
这就是程序化交易、量化交易的具体体现了–程序化交易脚本。这些实盘程序可以用各种语言编写,例如FMZ量化交易平台上就支持用JavaScript、Python、C++语言编写实盘交易策略。这些脚本程序通过交易所的API接口对某个账户进行买卖等各种操作。
timeout。so easy!。买好币上币库:https://www.kucoin.com/r/1f7w3