這個單元,我們分享如何用爬蟲獲取比特幣歷史價格!
可以打開colab線上編輯python,跟著我們一起做實驗吧!
colab 是 google 提供,線上運行 python 的平台,打開後,新增一個notebook
直接一步步貼上下面的代碼,程式就會順利運行了!
獲取 python 函式庫
首先,我們要先獲取幫大家寫好的 package,可以到github上下載:
!git clone https://github.com/koreal6803/crypto_backtrader.git
%cd crypto_backtrader
上面的指令,會先將預先寫好的程式從 github 上下載下來,並且將目錄切換到 crypto_backtrader,也就是下載下來的資料夾中。
安裝一些必要的packages
接下來我們來安裝一些必要的 dependencies,這樣等會才能順利執行程式:
!pip install python-binance
!pip install bitmex
!pip install Backtesting
!pip install backtrader
加密貨幣命名方法
這篇文章中,我們爬取 BTCUSDT
的價格,BTCUSDT
這個 symbol 可以拆逞兩個部分:一個是 BTC
,另一個是 USDT
。BTCUSDT
代表:BTC
的價格,以 USDT
為單位,這邊為什麼我們要用 USDT
呢?因為他是跟 USD
是美元是表兄弟,USDT
是一種跟 USD
約略 1:1 兌換的穩定虛擬貨幣,USDT
的好處是:
在交易時,假如用 加密貨幣 和 法定貨幣(美元)來回交易,這種方式交易,手續費會非常高昂,例如我們以 Maicoin 買入跟賣出手續費約高達 1%。
今天我們假如使用 BTCUSDT
pair 來交易,由於同樣是加密貨幣,所以手續費算是大幅的降低,目前手續費在各平台,一般的標準是0.1%,根據平台的優惠、交易量可以打折,成本算是低很多!
那廢話不多說,趕快來下載歷史資料吧!
使用幫大家寫好的加密貨幣爬蟲函式庫
我們可以使用:from finlab import crypto
將一些好用的 function 給叫進來!
然後用:crypto.get_all_binance
這個 function,
來獲取交易對(trading pair)。
from finlab import crypto
df = crypto.get_all_binance('BTCUSDT', '4h')
df.head()
上述這個 get_all_binance
,除了幫你整理好下載資料外,還會將這些資料資料,存在 crypto_backtrader/history/crypto/
當中,以 csv
的方式存起來,方便你用 excel
、multicharts
等程式來打開。
你也可以輸入不同的 trading pair 名稱,可以binance官網查找!
下一步,我們會分享:
怎麼用 Python 回測一個簡單的交易策略!
如果喜歡我們的文章,也歡迎參考我們最新募資的線上課程「用 Python 理財:打造加密貨幣實戰策略」,在線上課程中,我們會更有系統、更完整地教您如何從無到有,打造10種加密貨幣實戰策略,並且能夠自動化雲端交易!有興趣的話,可以點此觀看課程介紹影片喔!