上一節(jié)我們通過TA-Lib庫拿到20+與幣價相關(guān)的指標(biāo),本節(jié)我們需要通過基礎(chǔ)的數(shù)據(jù)分析能力,篩選出一批會用于量化交易策略的指標(biāo) 數(shù)據(jù)概況 1、首先我們需要了解一下數(shù)據(jù)的情況 candles = load_my_pair_history(data_location,'ETH_USDT-5m-futures.json')print('Loaded ' + str(len(candles)) + f' rows of data for {pair} from {data_location}')candles.head() #展示部分?jǐn)?shù)據(jù) ![]() 從上圖可以直觀的看到我們除日期外,還有5個與幣價相關(guān)的字段 2、接著我們加入用于分析的相關(guān)指標(biāo)
![]() 檢查一下數(shù)據(jù)的完整性: df.info() ![]() 我們會發(fā)現(xiàn)有些指標(biāo)存在缺失值,比如:sar、tema等,行數(shù)不足9572. (ps:其實(shí)沒有問題,這個跟統(tǒng)計(jì)口徑相關(guān),后續(xù)抽空再講) 再看看數(shù)據(jù)的分布的情況:
![]() 這里展示了每個指標(biāo)的平均值、標(biāo)準(zhǔn)差、25%分位、50%分位、最大、最小值等。 獲得這些指標(biāo)有助于我們下一步的分析工作 特征關(guān)系挖掘 1、通過統(tǒng)計(jì)學(xué)的方法,我可以快速拿到特征(指標(biāo))與目標(biāo)值之間的關(guān)系 隨機(jī)森林回歸模型 #隨機(jī)森林回歸模型model_rf = RandomForestRegressor(n_estimators=50,random_state=315).fit(train_X, train_y)perm = PermutationImportance(model_rf, random_state=1).fit(val_X, val_y)eli5.show_weights(perm, feature_names = val_X.columns.tolist(),top=30) ![]() 我們可以得到tema指標(biāo)的權(quán)重是最高的 線性回歸模型:
![]() 通過線性回歸模型,我們接著篩選出一批相關(guān)性較高的指標(biāo):bb_middleband、bb_lowerband、bb_upperband、macd、tema等 那么以上指標(biāo)的相關(guān)性具體在哪,我們需要通過圖表來分析。 import matplotlib.pyplot as plt# 折線圖 y_close = df['close'][:1000]y_tema= df['tema'][:1000]y_middleband = df['bb_middleband'][:1000]y_lowerband = df['bb_lowerband'][:1000]y_upperband = df['bb_upperband'][:1000]x = df['date'][:1000]plt.figure(figsize=(20, 10))plt.plot(x,y_close,'',label='close') plt.plot(x,y_lowerband,'',label='low') plt.plot(x,y_upperband,'',label='up') plt.plot(x,y_tema,'',label='tema') plt.xlabel('date')plt.ylabel('close')plt.title('ETH/USDT')plt.legend()plt.show() ![]() 通過上面的圖表,我們可以明顯看到tema、upper、low與收盤價的走勢幾乎保持一致,也就是說我們可以利用這些指標(biāo)作為我們買入和賣出的信號 2、我們也需要利用一些強(qiáng)度信號,作為信息補(bǔ)充。這里推薦使用rsi ![]() 上圖是RSI和幣價的走勢圖,我們會發(fā)現(xiàn)RSI的高峰幾乎都對應(yīng)上了幣價的短期高點(diǎn),RSI的谷峰對應(yīng)了幣價的低點(diǎn)。 特征相關(guān)性熱力圖 那么特征之間的關(guān)系我們也需要了解分析一下,我們通過heatmap來繪制熱力圖:
![]() 通過上面的熱力圖我們得到4組比較強(qiáng)的關(guān)系特征組合: 1、bb_xxx 與 close的強(qiáng)關(guān)系 2、sar 與 close 的強(qiáng)關(guān)系 3、tema 與 bb_xxx 指標(biāo)的強(qiáng)關(guān)系 4、rsi 與 bb_percent指標(biāo)的強(qiáng)關(guān)系 OK,至此我們從27個指標(biāo)中初步篩選了一批與幣價具有相關(guān)性的指標(biāo)。 下一步我們需要利用這些篩選出來的指標(biāo)作為我們量化交易策略的指標(biāo),具體使用方式會在下一節(jié)中再詳解。 |
|