用Python投資加密貨幣:爬蟲下載歷史數據 (Part 2)

這個單元,我們分享如何獲取比特幣歷史價格!

可以打開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,另一個是 USDTBTCUSDT 代表:BTC 的價格,以 USDT 為單位,這邊為什麼我們要用 USDT 呢?因為他是跟 USD 是美元是表兄弟,USDT 是一種跟 USD 約略 1:1 兌換的穩定虛擬貨幣,USDT 的好處是:

在交易時,假如用 加密貨幣 和 法定貨幣(美元)來回交易,這種方式交易,手續費會非常高昂,例如我們以 Maicoin 買入跟賣出手續費約高達 1%。

今天我們假如使用 BTCUSDT pair 來交易,由於同樣是加密貨幣,所以手續費算是大幅的降低,目前手續費在各平台,一般的標準是0.1%,根據平台的優惠、交易量可以打折,成本算是低很多!

交易對(trading pair)的相關介紹

那廢話不多說,趕快來下載歷史資料吧!

使用幫大家寫好的函式庫

我們可以使用:
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 的方式存起來,方便你用 excelmulticharts 等程式來打開。

你也可以輸入不同的 trading pair 名稱,可以binance官網查找!

下一步,我們會分享:
怎麼用 Python 回測一個簡單的交易策略

FinLab - 韓承佑

嗨大家好,我是韓承佑,FinLab創辦人,畢業於巴黎第十一大學資工博士,目前擔任臺灣量化交易協會 學術顧問、台北商業大學 創新育成中心 創業技術顧問與上市科技公司 量化交易顧問。當初,我喜歡寫程式、無意間因為軟體比賽接觸Fintech,從此開始了財經跟程式的學習之路。我們成立 FinLab 量化投資部落格,用自己研發的軟體,對台灣股市做大量快速的實驗。希望可以在量化投資的路上,當大家的「武器製造商」!