- 使用 WSL
- 安裝 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
- 建立虛擬環境
sudo python3 -m venv bot
- 啟用環境
source bot/bin/activate
- 設定 vscode
which python
/home/skka3134/folder/bot/bin/python
6. 選擇解譯器,ctrl+shift+p,選擇剛剛建立的環境 bot
7. 安裝 python 擴展
8. 安裝 ccxt,ccxt 封裝了全世界絕大多數的交易所 API,我們可以用它來下載數據,發起交易
sudo /home/skka3134/folder/bot/bin/python -m pip install ccxt
- 實例化交易所,緩存市場數據
exchange = ccxt.binance({
'apiKey': '',
'secret': '',
'enableRateLimit': True,
})
exchange.load_markets()
- 使用 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)
12. 轉換數據格式方便查看,安裝 pandas
sudo /home/skka3134/folder/bot/bin/python -m pip install pandas
- 用 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')
14. 將新的數據儲存
data.to_csv('data.csv')