网易首页 > 网易号 > 正文 申请入驻

如何使用CCXT交易数字货币现货

0
分享至

我们前期曾经分享过使用CCXT交易数字货币的姊妹篇,传送门: 。而做现货、合约套利的朋友,更多的希望能用同一个接口同时接入现货交易与合约交易,CCXT无疑是合适的工具。于是今天这篇文章我们将介绍:如何使用CCXT交易数字货币现货。

01

数字货币现货标准化接口

数字货币市场与股票、期货市场最大的不同点在于数字货币主流交易所数量很多。举个例子,如果我们需要交易螺纹钢期货(RB),我们只能选择上海期货交易所。然而,如果我们想交易比特币,有币安、欧易、火币、Coinbase、Bitmex、Bitfinix、FTX等等很多主流的数字货币交易所可供选择。

对于量化交易或程序交易者来说,数字货币市场最大的痛点在于,每一个数字货币交易所都有自己的API接口,尽管接口大致范式相似,但是细节上有很多不同点,如果交易10家交易所,我们就需要搞懂10个不同的API,并将其接入,这无疑是一件费时费力的事。那么,是否有一个统一的、通用的、标准化的接口,能让我们轻松接入几乎所有主流币圈交易所?

这时候,就需要引入一个 数字货币三方接口CCXT了,这个接口是一个支持多家主流数字货币交易所的标准化接口,CCXT在底层封装了支持主流交易所的现货API,并在表层用让用户可以同样的外接接口访问不同交易所的API,为我们开发多市场尤其是跨市场策略提供了极大的便利。

CCXT接口除了支持几乎所有主流交易所现货API的统一封装外,还支持部分交易所合约(如币安合约)交易的隐式封装,关于隐式封装的使用,大家可以参考我们的历史文章:。本文将重点介绍CCXT现货API的使用。

02

如何安装CCXT和使用帮助文档

安装CCXT

对于Python语言,安装CCXT与其他Python三分库的方式是一样的。使用语句pip install ccxt即可安装。

安装完成后,我们可以尝试使用import ccxt导入CCXT库,如果运行该语句没有报错,说明CCXT已经成功导入

CCXT Manual (帮助文档)

CCXT提供了详细的帮助文档,可以通过网址https://docs.ccxt.com/en/latest/manual.html#markets进行访问。帮助文档的侧边栏提供了不同API接口的分类,包括MarketAPI、Implicit API、Unified API、Public API、Private API等类别,方便用户根据自己的需要进行分类查询。

而对于每个API,CCXT不仅给出了调用函数名、参数、示例的说明,也给出了调用后的返回结构数据。图例是Market分类中Currency Structure的返回结构。

03

CCXT初始化

介绍完CCXT的安装以及如何查找帮助文档,接下来我们开始使用CCXT。CCXT的初始化可以分为三步,其中第三步可选,前两步必做。

第一步,加载ccxt模块

第二步,初始化,调用ccxt.交易所名称,其中交易所名称可以替换为任何想要的交易所

第三步,获取初始化交易所的交易市场及交易货币对(测试交易所是否加载成功)


# 加载ccxt模块import ccxtprint(ccxt.exchanges)
# market APIexchange = ccxt.binance()markets = exchange.load_markets()print(exchange.fetch_markets())print(exchange.fetchCurrencies())

运行结果:先打印CCXT支持的所有交易所,可以看到,CCXT支持的交易所数量很多,足以满足大部分量化交易员的日常开发。

然后我们以币安交易所现货为例,获取币安交易所现货支持的市场和币对。通过markets变量的总数我们可以看到,币安交易所的现货币对一共有2098个,并且这些币对的详细交易信息也由CCXT通过dict的数据格式反馈给我们了。

04

如何调用CCXT行情API

初始化CCXT后,接下来我们再尝试调用CCXT的现货行情API,获取各种各样的行情数据。CCXT帮我们封装好了从订单簿、ticker、到成交、K线的几乎所有能够在策略中用得到的行情数据,都可以用标准方法,一键调用。

我们通过一个循环,实现对所有币种行情数据调用查询,包括:

获取订单簿、获取公开成交数据、获取ticker数据、获取k线数据


# quote API# 设置间隔2秒delay = 0.5# 对币安所有交易的数字货币对循环for symbol in exchange.markets:# 打印当前数字货币对print(symbol)# 获取该数字货币对当前的订单簿,并打印print(exchange.fetch_order_book(symbol, 10))time.sleep(delay)print(exchange.fetch_trades(symbol, limit=5))time.sleep(delay)print(exchange.fetch_ticker(symbol))time.sleep(delay)print(exchange.fetch_ohlcv(symbol, '1d'))time.sleep(delay)

我们再以BTCUSDT为例,来看获取后返回的数据结构。

订单簿(以获取10档盘口数据为例)

公开成交数据

ticker数据

k线数据(以日线为例)

05

如何调用CCXT交易API

在熟悉了行情API后,我们再来尝试使用CCTX的交易API。但使用交易API前必须注意的是,由于行情API是公有API,而交易API是私有API,所以我们必须调用CCXT的方法,把key传入刚才创建的交易所变量,才能实现调用私有API的权限,传入方法如下


api_key = "" # 币安的api keysecret_key = "" # 币安的secret keyexchange.apiKey = api_keyexchange.secret = secret_key

然后,我们可以开始执行一系列与私有API相关的操作,包括:

a. 资产查询

b. 订单查询(包括所有、未完成、已完成订单)

c. 成交查询

d. 报单(市价、限价、买报单、卖报单)

e. 撤单


# trade API# 资产查询exchange.fetch_balance()# 订单查询(依次是所有、未完成、已完成订单)exchange.fetchOrders(symbol)exchange.fetchOpenOrders(symbol)exchange.fetchClosedOrders(symbol)# 成交查询exchange.fetchMyTrades(symbol)# 报单(依次是市价、限价、买报单、卖报单)exchange.create_order(symbol, 'market', 'buy', amount)exchange.createLimitBuyOrder(symbol, amount, orderprice)exchange.createLimitSellOrder(symbol, amount, orderprice)exchange.createMarketBuyOrder(symbol, amount)exchange.createMarketSellOrder(symbol, amount)# 撤单exchange.cancel_order(order_id)

我们来看上述调用查询后的结果

资产查询

订单查询(所有,以symbol = BUSD/USDT为例)

成交查询(以symbol = BUSD/USDT为例)

对于报单、撤单,如果报单撤单成功,返回的信息是报单的order_id或撤单的order_id,如果错误,会返回相应错误代码及错误原因,在此不一一举例,详细可查询CCXT或交易所帮助文档错误代码描述部分。

06

如何调用CCXT交易API

最后,将我们刚才学习的CCXT初始化、调用行情API、调用交易API结合起来,就可以完成一个简单的从初始化交易所加载Key,到获取最新行情,再到按照该行情价格下单的一个小栗子。栗子虽小,但它打通了整个CCXT的现货API。


# 加载ccxt模块import ccxt# 加载Keyexchange = ccxt.binance()api_key = "" # 币安的api keysecret_key = "" # 币安的secret keyexchange.apiKey = api_keyexchange.secret = secret_keysymbol = 'BTC/USDT'# 获取最新行情orderbook = exchange.fetch_order_book(symbol)orderprice = orderbook['asks'][0][0] if len(orderbook['asks']) > 0 else None# 按照该行情价格下买单amount = 1exchange.createLimitBuyOrder(symbol, amount, orderprice)

值得一提的是,CCXT交易现货方便之处就在于,如果上述代码,我们不交易币安而是交易其他任何一个CCXT支持的现货交易所,我们只需要将exchange = ccxt.binance()语句ccxt.后面的交易所名称,换成其他交易所,而不改变其他任何代码,就能实现不同交易所交易的无缝切换了。CCXT交易多交易所现货的小技能,你Get到了吗?

想要更详细学习CCXT的朋友,可以加入数量技术宅的知识星球,我们在星球分享了更多CCXT的学习代码,包括:

1.如何使用CCXT库的各种函数和功能,包括获取市场数据、交易、订单管理和账户信息等

2.使用CCXT构建海龟自动交易策略的完整示例代码。

3.使用CCXT构建跨市场套利(搬砖)的完整示例代码。

还有每周一期超实用干货策略等着你,欢迎添加技术宅的个人微信sljsz01、sljsz05获取星球优惠名额。

限时优惠特价

优惠请扫描上方二维码

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
服了!一家7口全跑光,套现20亿,把公司卖给了散户!

服了!一家7口全跑光,套现20亿,把公司卖给了散户!

胡华成
2024-06-20 17:18:12
大龄失业者哀叹生活迷茫:几千块的劳务派遣也找过,任何工作都限制年龄!

大龄失业者哀叹生活迷茫:几千块的劳务派遣也找过,任何工作都限制年龄!

互联网大聪明
2024-06-21 21:46:03
高校女生称买2份饭拿6双筷子,被食堂员工指责偷窃?校方回应

高校女生称买2份饭拿6双筷子,被食堂员工指责偷窃?校方回应

极目新闻
2024-06-21 17:12:38
A股又闹出天大的笑话

A股又闹出天大的笑话

流苏晚晴
2024-06-21 20:01:42
中央依法惩治“台独”顽固分子,《意见》发布施行,吴钊燮萧美琴等已上清单

中央依法惩治“台独”顽固分子,《意见》发布施行,吴钊燮萧美琴等已上清单

海峡导报社
2024-06-21 15:46:04
山东省公安厅原党委书记、厅长孟庆丰同志逝世

山东省公安厅原党委书记、厅长孟庆丰同志逝世

鲁中晨报
2024-06-21 22:11:06
“都别好过!”广西计生局6名员工被砍,凶手:8万超生费缴不起!

“都别好过!”广西计生局6名员工被砍,凶手:8万超生费缴不起!

史说历史
2024-06-20 15:00:13
陈妍希已摘下婚戒!和小19岁塌房男星甜蜜互动,评论区沦陷!

陈妍希已摘下婚戒!和小19岁塌房男星甜蜜互动,评论区沦陷!

古希腊掌管月桂的神
2024-06-21 11:46:00
菲对华挑衅之际,她宣布退出马科斯内阁

菲对华挑衅之际,她宣布退出马科斯内阁

直新闻
2024-06-21 18:14:21
康辉:我高考分数远超清北,却被人暗中顶替,依靠父亲查明真相!

康辉:我高考分数远超清北,却被人暗中顶替,依靠父亲查明真相!

清欢渡语
2024-06-20 21:44:56
已致38人遇难,还有2人失联!省委书记前往现场督导

已致38人遇难,还有2人失联!省委书记前往现场督导

政知新媒体
2024-06-21 20:12:24
金钱战胜感情!克莱官宣加盟!水花兄弟成绝唱,库里已经仁至义尽

金钱战胜感情!克莱官宣加盟!水花兄弟成绝唱,库里已经仁至义尽

张家大院趣说天下事
2024-06-21 11:50:02
又跌!“飞天”又降价,茅台1935渠道价格已倒挂

又跌!“飞天”又降价,茅台1935渠道价格已倒挂

中国基金报
2024-06-21 16:03:19
南方医科大学这一决定,张玉振校长的原则坚守,为何被众人赞正确

南方医科大学这一决定,张玉振校长的原则坚守,为何被众人赞正确

解说阿洎
2024-06-21 19:10:19
决赛在即!方舟子再捶姜萍,称有几十页聊天记录!不让安心决赛

决赛在即!方舟子再捶姜萍,称有几十页聊天记录!不让安心决赛

冒泡泡的鱼儿
2024-06-21 19:02:03
曝一家牛肉面馆收税务局通知:调取2021-2023年账簿,进行税务检查

曝一家牛肉面馆收税务局通知:调取2021-2023年账簿,进行税务检查

西游日记
2024-06-21 16:59:29
台湾知名学者:俄朝现在结盟,西方对中国敢怒不敢言

台湾知名学者:俄朝现在结盟,西方对中国敢怒不敢言

天择杂谈
2024-06-21 00:12:06
蔡斌下课!历史上第一个,主动认输日本的主教练

蔡斌下课!历史上第一个,主动认输日本的主教练

体坛狗哥
2024-06-21 12:23:26
经济学家:税务倒查30年强烈冲击市场信心,不能见小利而忘大义,惊扰企业

经济学家:税务倒查30年强烈冲击市场信心,不能见小利而忘大义,惊扰企业

可达鸭面面观
2024-06-21 11:17:49
突发:俄罗斯多地遭袭击

突发:俄罗斯多地遭袭击

环球时报新闻
2024-06-21 16:52:01
2024-06-21 23:12:49
数量技术宅
数量技术宅
爱好数据分析量化投资的技术宅
253文章数 206关注度
往期回顾 全部

科技要闻

一文看懂纯血鸿蒙,自主可控操作系统来了

头条要闻

西安银行副行长狄浩离世 曾自掏近80万增持该行21万股

头条要闻

西安银行副行长狄浩离世 曾自掏近80万增持该行21万股

体育要闻

1-0"吊打"意大利 西班牙这就叫冠军相?

娱乐要闻

陈晓惹争议!被曝婚变离家出走冷暴力

财经要闻

专访尹艳林:市场上的钱都流向了哪里?

汽车要闻

领克纯电 来得不晚

态度原创

亲子
手机
旅游
房产
公开课

亲子要闻

为什么不要随便请人请吃东西?网友分享都是血泪教训,别入坑了!

手机要闻

纯血鸿蒙真的来了!Mate 70 系列或首发搭载

旅游要闻

强降雨天气来袭:桂林部分景点关闭 酒店启动退改

房产要闻

上海新房不再集中公示!最新一批11个新盘官宣

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版