skka3134

skka3134

email
telegram

机器学习和量化投资:1.ccxt下载数据

1. 使用 WSL
2. 安装 python pip venv,pip 用来安装包 ,venv 用来创建虚拟环境

sudo apt update
sudo apt upgrade
sudo apt install python3
sudo apt install python3-pip
sudo apt install python3-venv

3. 创建虚拟环境

sudo python3 -m venv bot

4. 激活环境

source bot/bin/activate 

5. 配置 vscode

which python

/home/skka3134/folder/bot/bin/python
6. 选择解释器,ctrl+shift+p,选择刚才创建的环境 bot
image
7. 安装 python 扩展
image
8. 安装 ccxt,ccxt 封装了全世界绝大多数的交易所 API,我们可以用他来下载数据,发起交易

sudo /home/skka3134/folder/bot/bin/python -m pip install ccxt

9. 实例化交易所,缓存市场数据

exchange = ccxt.binance({
    'apiKey': '',
    'secret': '',
    'enableRateLimit': True,
})
exchange.load_markets()

11. 使用 exchange.fetch_ohlcv 拿到烛线数据,其中 ohlcv 分别代表了 o(open, 开盘价),h(high, 最高价)I (low, 最低价),c(close, 收盘价),v(volume, 交易量)。symbol , 设置要查询的加密货币对,time_interval 设置数据频率为 1 天,start 为起始时间

symbol = 'BTC/USDT' 
time_interval = '1d' 
start = exchange.parse8601('2020-01-01T00:00:00') 
data = exchange.fetch_ohlcv(symbol=symbol, timeframe=time_interval,since=start)

image
12. 转换数据格式方便查看,安装 pandas

sudo /home/skka3134/folder/bot/bin/python -m pip install pandas

13. 用 DataFrame 转换数据,DataFrame 是一个表格型的数据结构

import pandas as pd
data = pd.DataFrame(data, dtype=float) 
data.columns = ['Time','Open','High','Low','Close','Volume']
data['Time'] = pd.to_datetime(data['Time'], unit='ms') 

image
14. 将新的数据保存

data.to_csv('data.csv')
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。