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
  1. 建立虛擬環境
sudo python3 -m venv bot
  1. 啟用環境
source bot/bin/activate 
  1. 設定 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
  1. 實例化交易所,緩存市場數據
exchange = ccxt.binance({
    'apiKey': '',
    'secret': '',
    'enableRateLimit': True,
})
exchange.load_markets()
  1. 使用 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
  1. 用 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')
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。