获取CoinMarketCap列出货币的价格历史记录
cmctestingthree的Python项目详细描述
CoinMarketCap历史刮刀
内容
以csv格式获取coinmarketcap所列加密货币的CoinMarketCapUSD price history数据。
将此库用作命令行脚本以动态获取历史加密货币数据,或导入库以获取程序的加密货币数据。
安装
下载zip文件或导航到所需的安装目录并运行:
$ git clone https://github.com/Alescontrela/coinmarketcap-history.git
要安装所需的依赖项,请导航到repo并运行:
$ pip install -r requirements.txt
用法
命令行
除此之外,这对美国的税务报告非常有用。如果你想知道交易(或通过采矿获得的硬币)的成本基础,国税局要求你以美元计价。如果是代币交易(如用BTC购买ETH),则需要知道交易时的美元:BTC汇率。
令人惊讶的是,截至2017年10月,在网上任何地方以机器可读格式获取这些数据都不容易。
美国国税局的标准(至少在类似的情况下是w/股票)是使用股票当天的高、低价格的平均值,而不是在交易的确切时刻得到汇率,这通常是不可行的。coinmarketcap没有提供这个数字,但是这个工具计算这个数字并将其包含在输出中。
命令行用法
在终端中,导航到repo目录并运行:
$ python coinmarketcap.py <currency1> <start_date> <end_date>
其中:
currency
是coinmarketcap上显示的货币/标记的(不区分大小写)名称,用破折号代替空格start_date
是以yyyy-mm-dd
格式获取数据的范围的开始。例如,2017-10-01(2017年10月10日)end_year
是以yyyy-mm-dd
格式获取数据的范围的末尾。您可以在将来使用日期来获取最新数据。格式与开始日期相同。
多种加密货币的数据可通过以下方式获得:
$ python coinmarketcap.py <currency_1,currency_2,...,currency_n> <start_date> <end_date>
注意:货币必须用逗号分隔,中间不能有空格。
也可以通过运行以下命令找到上述信息:
$ python coinmarketcap.py -h
通过运行将输出写入文件:
$ coinmarketcap.py <currency> <start_date> <end_date> > <output_filename>
命令行示例
为一种加密货币收集数据:
$ python coinmarketcap.py bitcoin 2017-01-01 2017-12-31
为多种加密货币收集数据:
$ python coinmarketcap.py bitcoin,ripple,ethereum 2017-01-01 2017-12-31
将输出写入文件:
$ python coinmarketcap.py bitcoin 2017-01-01 2017-12-31 > bitcoin_prices.csv
将多个加密货币的输出写入文件:
$ python coinmarketcap.py bitcoin,ripple,ethereum 2017-01-01 2017-12-31 > bitcoin_ripple_ethereum_prices.csv
模块
您还可以将coinmarketcap.py
用作其他python模块中的模块,以获取具有加密货币历史记录的pandas数据帧。
首先,您可能需要通过如下命令添加到sys.path
中coinmarketcap_usd_history.py
的路径:
sys.path.append(<path_to_coinmarketcap_usd_history.py_parent_folder>)
(或者,只需将coinmarketcap_usd_history.py
文件移动到include模块的目录即可。)
其次,导入模块:
import coinmarketcap_usd_history
最后执行此操作以获取数据帧:
df=coinmarketcap_usd_history.main(['bitcoin','2017-01-01','2017-12-31','--dataframe'])
如果您只想将csv输出作为字符串返回到另一个python模块,只需省略'--dataframe'
参数。