iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0

首先要先去cmd安裝bta-lib

pip install bta-lib

讓我們嘗試用庫計算相同的移動平均線作為比較

sma = btalib.sma(btc_df.close)
print(sma.df)

請注意,bta-lib 將返回一個對象到我們的 sma 變數。若要訪問其中包含的數據幀,只需在變數名稱后鍵入即可。.df

默認情況下,該庫使用 30 週期移動平均線。

我們可以複製我們之前的相同函數,並計算20條移動平均線,並將其作為列附加到我們原來的DataFrame上,就像這樣。

btc_df['sma'] = btalib.sma(btc_df.close, period=20).df
print(btc_df.tail())

讓我們再創建幾個指標。
以下是我們使用bta-lib庫計算RSI的方法。

rsi = btalib.rsi(btc_df, period=14)

以下是我們如何計算bta-lib中比特幣的MACD。

macd = btalib.macd(btc_df, pfast=20, pslow=50, psignal=13)

最後,我們將把RSI和MACD值加入到我們的原始比特幣價格DataFrame中。

btc_df = btc_df.join([rsi.df, macd.df])
print(btc_df.tail())

這邊附上完整的程式碼

import btalib
import pandas as pd

# load DataFrame
btc_df = pd.read_csv('binance_demo.csv', index_col=0)
btc_df.set_index(['date'], inplace=True)
btc_df.index = pd.to_datetime(btc_df.index, unit='ms')
btc_df['20sma'] = btc_df.close.rolling(20).mean()
btc_df['sma'] = btalib.sma(btc_df.close, period=20).df

rsi = btalib.rsi(btc_df, period=14)

macd = btalib.macd(btc_df, pfast=20, pslow=50, psignal=13)

btc_df = btc_df.join([rsi.df, macd.df])
print(btc_df.tail())

上一篇
Day10 開始實作-技術指標1
下一篇
Day12 開始實作-建立現貨交易訂單
系列文
Python之虛擬貨幣API實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言