使用線性回歸通道交易比特幣


什麼是線性回歸通道?

線性回歸線-最適合所有感興趣數據點的線。如果你熟悉機器學習,則這是一條標準線性回歸模型,具有最佳擬合線。
上通道線—一條與線性回歸線平行的線,通常在線性回歸線上方一到兩個標準偏差。在本例中,我剛剛在上面繪製了一個標準偏差,但如果你願意,可以輕鬆地將其調整為兩個。
下通道線——這條線平行於線性回歸線,通常在線性回歸線下方一到兩個標準差。在這個例子中,我只是在下面繪製了一個標準偏差,但如果你願意,它很容易調整為兩個。
解釋線性回歸通道

買入信號-價格跌破“下通道線”,預計趨勢將延續。
賣出信號——價格上漲至“上通道線”上方,預計趨勢將持續。

Python代碼演練

導入日期時間
導入請求
導入時間
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
來自sklearn 導入數據集,
來自sklearn.metrics 的線性模型導入mean_squared_error,r2_score
%matplotlib 內聯

def get_market_data(market,granularity):
resp = request.get(’ https://api.pro.coinbase.com/products/’+ market +’/ candles? granularity =’+ str(granularity))
如果是resp.status_code != 200:
raise Exception(format(resp.json()[‘message’]))
else:
df = pd.DataFrame(resp.json(), columns=[ ‘epoch’, ‘low’, ‘high’, ‘open’,’close’,’volume’])
df = df.iloc [::-1] .reset_index()
返回df

df = get_market_data(‘BTC-GBP’, 86400)

df.head()

13BFRxEMeCBHPM6UTguuhSg-1

sns.set(font_scale = 1.5)
plt.figure(figsize =(12,10))
sns.regplot(x = df.index,y =’close’,data = df,ci = None,color=”r”)

1not_dh0ROEkHNvZDaKVKiQ-1

圖片作者

sns.set(font_scale = 1.5)
plt.figure(figsize =(12,10))
rp = sns.regplot(x = df.index,y =’close’,data = df,ci = None,color=”r “)
y_rp = rp.get_lines()[0] .get_ydata()
x_rp = rp.get_lines()[0] .get_xdata()
sns.lineplot(x = x_rp,y = y_rp + np.std(y_rp),color=” b”)
sns.lineplot(x=x_rp, y=y_rp – np.std(y_rp), color=”b”)
tsidx = pd.DatetimeIndex(pd.to_datetime(df [‘epoch’],unit=”s”),dtype=”datetime64 [ns]”,freq =’D’)
rp.set_xticklabels(tsidx,rotation = 45)
plt.xlabel(”)
plt.ylabel(‘Price’)
plt.show()

1wE9imyyiQi0ZJl3LIRg9FQ-1

圖片作者這告訴我們什麼?

不全是壞事……

Total
0
Shares
Related Posts