# 量化交易学习（1）- 如何用python调用CoinGecko Api

By [鱼叔 UncleFish](https://paragraph.com/@unclefish) · 2021-12-29

---

hello，大家好，我是鱼叔，在今年的年度报告里，我提到想要在22年打造一个量化交易系统，因此会推出相关系列的偏技术文章「量化交易学习」 ，这类文章适合那些想要学习加密市场量化交易，同时对编程不抗拒的读者。试想一下，如果你能用计算机帮你去监控市场，那你是不是会有更多的时间去干一些更有意义的事。

> ### 先说一下，我个人有一定的编程基础，但是也是刚开始学习python，因此我和大家的起点其实是差不多的，这条学习之路需要你有兴趣有探索欲，我们可以互相探讨共同进步。

正文：
---

### 1\. 数据获取的重要性

在设计交易系统之前，我们先要获取市场上的数据，比如当前的价格、交易量、市场总值等等，在获取这些数据后，你才能可以基于此实施分析。

市面上很多平台都已经开放数据库供查询，这里我推荐的是CoinGecko，因为它的数据免费而且访问次数够个人使用，当然你有余力的话可以去尝试其他的平台，比如CoinMarketCap等。（注意，访问这类数据时要有「魔法」）

### 2\. 如何获取数据

这里主要是调用Coingecko提供的API，有两种方式，分别是requests库进行url访问来获取，和直接载入coingecko的库，这里我直接采用第二种，因为第二种方式更加快捷方便，事实上coingecko自带的库内嵌了request库，相当于帮你封装了一层。

### 3\. 实际操作方式

（1）搭建python开发环境。

这个我就不详述了，网上有太多的教程，推荐是python3.10和pycharm结合开发。

（2）安装coingecko的库。

安装库有两种方式，一种是用pip安装，另一种是直接在pycharm上安装，这里我推荐直接在pycharm的设置里添加「pycoingecko」 库。具体流程：

*   打开preference，点开Python Interpreter，里面会出现如下界面，点击「+」进行库的添加。
    

![image](https://storage.googleapis.com/papyrus_images/0b2928fe1acf1a7e1a3d2cda2fbb2617cded73ce1e3a11a9f608ae65b42e8432.png)

image

*   搜索「pycoingecko」，选中后点击左下角的「Install Package」
    

![image](https://storage.googleapis.com/papyrus_images/0a9058762e4fd952ce510f67c2cf280762f0038bf7d614954e81db2f079f2dae.png)

image

（3）在代码中进行调用

*   在顶部impot CoinGeckoAPI
    
*   在main函数中进行调用，官方给了很多的功能，这里只是展示了一个获取当前bitcoin的价位，并且用usd为价格表示的情况，最后返回的结果如下展示。
    

![image](https://storage.googleapis.com/papyrus_images/96adbccd84d4c5a4df4cfe12f68abf280c7e204799d67c28ab2ef5767e2d63a3.png)

image

![image](https://storage.googleapis.com/papyrus_images/556ef87cef5981142af8d235163d8d09515b0f1d60fd42e6cad403e36adece89.png)

image

（4）遇到链接超时问题怎么办

如果你在国外访问api可能不会有这样的问题，但是有些朋友需要用魔法上网的时候就需要在下载的库文件里添加一些代理：

*   找到库函数的位置，一般是在左侧python library里的site-package 文件夹中可以找到对应的「pycoingecko」文件夹，[打开里面的api.py](http://xn--api-282fu0mf91b153b4lj.py)
    

![image](https://storage.googleapis.com/papyrus_images/3add62382e48121bab57aa9c33b4f50d356586e2a5ed38357ac8815fef035639.png)

image

*   在api.py文件对应request的位置添加proxies的配置，注意proxies中的代理地址要为自己魔法提供商所提高的魔法地址，这个需要自己研究如何获取。
    

![image](https://storage.googleapis.com/papyrus_images/8081be208d7c194ab419a1758b01e10151ed61c45ee25791ded72057ff20a86c.png)

image

### 4\. 相关的一些链接

Github python 调取API的简单介绍：[https://github.com/man-c/pycoingecko](https://github.com/man-c/pycoingecko)

官方API 说明：[https://www.coingecko.com/en/api/documentation?](https://www.coingecko.com/en/api/documentation?)

* * *

我是鱼叔，一个理性的币圈投资和输出者。

【[2021 鱼叔的投资报告 语雀版](https://www.yuque.com/yushu-wt9ax/unclefish/xdwyhf)】 【[2021 鱼叔的投资报告 公众号版](https://mp.weixin.qq.com/s?__biz=MzUzNjY1NTEzMg==&mid=2247483778&idx=1&sn=54216433595bcf2fcfcc90bf07b46cbd&chksm=faf3a5f1cd842ce799cbc2732f5bbf0c67967ae714c60ff230f8a085e85306dccd09f5614772&payreadticket=HADAQ1uqClPR5PUHcqwHP5x3ie7f5wLId3Wkysk6erGPsyt03qpudhAwGGRYg5UK6_Bhheo#rd)】

有兴趣的朋友可以关注[鱼叔的持仓](https://www.yuque.com/yushu-wt9ax/unclefish/it097b) - 看看鱼叔都在买什么。

欢迎关注： [鱼叔的投资博客](https://www.yuque.com/yushu-wt9ax/unclefish) / [鱼叔的投资笔记](https://www.yuque.com/yushu-wt9ax/ues0xx) / 公众号【鱼叔的币圈江湖】

知乎 鱼叔， 币乎 UncleFish， 巴比特海盗号 鱼叔。

如果觉得我不错，欢迎加入[鱼叔的圈子](https://m.redring.cn/ex-group/16775?uid=1604526&f=1)

靠谱的交易所注册：[币安](https://accounts.binancezh.cz/zh-CN/register?ref=MV2918PM) ｜ [火币](https://www.huobi.bo/zh-cn/register/?invite_code=r6ak8&t=1628608311363) ｜[OKEX](https://www.ouyi.fit/join/5198227) ｜ [GATE](https://www.gate.ac/signup/3364676)

钱包网址：[TokenPocket](https://www.tokenpocket.pro/) ｜ [ImToken](https://token.im/)

---

*Originally published on [鱼叔 UncleFish](https://paragraph.com/@unclefish/1-python-coingecko-api)*
