
Dalam artikel sebelumnya, kami meneroka fenomena biasa dalam pasaran mata wang kripto: kebanyakan mata wang kripto, terutamanya yang mengikuti turun naik harga Bitcoin dan Ethereum, sering menunjukkan trend naik dan turun bersama-sama. Fenomena ini mendedahkan korelasi tinggi mereka dengan mata wang arus perdana. Walau bagaimanapun, tahap korelasi antara mata wang kripto yang berbeza berbeza-beza. Jadi, bagaimanakah perbezaan dalam korelasi ini mempengaruhi prestasi pasaran setiap mata wang? Dalam artikel ini, kami akan meneroka isu ini menggunakan pasaran kenaikan harga pada separuh kedua 2023 sebagai contoh.
Pasaran mata wang kripto terkenal dengan ketidaktentuan dan ketidaktentuannya. Bitcoin dan Ethereum, sebagai dua gergasi dalam pasaran, sering memainkan peranan utama dalam aliran harga. Untuk mengekalkan daya saing pasaran dan aktiviti perdagangan, kebanyakan mata wang digital kecil atau sedang muncul cenderung untuk mengekalkan tahap tertentu penyegerakan harga dengan mata wang arus perdana ini, terutamanya mata wang yang mana pihak projek membuat pasaran. Penyegerakan ini mencerminkan jangkaan psikologi dan strategi dagangan peserta pasaran, yang merupakan pertimbangan penting dalam reka bentuk strategi dagangan kuantitatif.
Dalam bidang perdagangan kuantitatif, pengukuran korelasi dicapai melalui kaedah statistik. Ukuran yang paling biasa digunakan ialah pekali korelasi Pearson, yang mengukur tahap perkaitan linear antara dua pembolehubah. Berikut adalah beberapa konsep teras dan kaedah pengiraan:
Pekali korelasi Pearson (ditandakan \(r\)) berjulat dari -1 hingga +1, di mana +1 menunjukkan korelasi positif sempurna, -1 menunjukkan korelasi negatif sempurna, dan 0 menunjukkan tiada korelasi linear. Pekali dikira seperti berikut:
\(r = \frac{\sum_{i=1}^{n} (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum_{i=1}^{n} (X_i - \bar{X})^2} \sqrt{\sum_{i=1}^{n} (Y_i - \bar{Y})^2}}\)
Di sini, \(X_i\) dan \(Y_i\) ialah nilai yang diperhatikan bagi dua pembolehubah rawak, dan \(\bar{X}\) dan \(\bar{Y}\) ialah min bagi dua pembolehubah rawak, masing-masing. Menggunakan pakej berkaitan pengkomputeran saintifik Python, adalah sangat mudah untuk mengira korelasi.
Artikel ini mengumpulkan data 4j K-line Binance untuk sepanjang tahun 2023 dan memilih 144 mata wang yang disenaraikan pada 1 Januari. Kod data muat turun khusus adalah seperti berikut:
import requests
from datetime import date,datetime
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
ticker = requests.get('https://fapi.binance.com/fapi/v1/ticker/24hr')
ticker = ticker.json()
sort_symbols = [k['symbol'][:-4] for k in sorted(ticker, key=lambda x :-float(x['quoteVolume'])) if k['symbol'][-4:] == 'USDT']
def GetKlines(symbol='BTCUSDT',start='2020-8-10',end='2023-8-10',period='1h',base='fapi',v = 'v1'):
Klines = []
start_time = int(time.mktime(datetime.strptime(start, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000
end_time = min(int(time.mktime(datetime.strptime(end, "%Y-%m-%d").timetuple()))*1000 + 8*60*60*1000,time.time()*1000)
intervel_map = {'m':60*1000,'h':60*60*1000,'d':24*60*60*1000}
while start_time < end_time:
time.sleep(0.5)
mid_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
url = 'https://'+base+'.binance.com/'+base+'/'+v+'/klines?symbol=%s&interval=%s&startTime=%s&endTime=%s&limit=1000'%(symbol,period,start_time,mid_time)
res = requests.get(url)
res_list = res.json()
if type(res_list) == list and len(res_list) > 0:
start_time = res_list[-1][0]+int(period[:-1])*intervel_map[period[-1]]
Klines += res_list
if type(res_list) == list and len(res_list) == 0:
start_time = start_time+1000*int(period[:-1])*intervel_map[period[-1]]
if mid_time >= end_time:
break
df = pd.DataFrame(Klines,columns=['time','open','high','low','close','amount','end_time','volume','count','buy_amount','buy_volume','null']).astype('float')
df.index = pd.to_datetime(df.time,unit='ms')
return df
start_date = '2023-01-01'
end_date = '2023-11-16'
period = '4h'
df_dict = {}
for symbol in sort_symbols:
print(symbol)
df_s = GetKlines(symbol=symbol+'USDT',start=start_date,end=end_date,period=period)
if not df_s.empty:
df_dict[symbol] = df_s
df_close = pd.DataFrame(index=pd.date_range(start=start_date, end=end_date, freq=period),columns=df_dict.keys())
for symbol in symbols:
df_s = df_dict[symbol]
df_close[symbol] = df_s.close
df_close = df_close.dropna(how='any',axis=1)
Pertama, selepas menormalkan data, kami mengira purata kenaikan dan penurunan harga indeks Kita dapat melihat bahawa terdapat dua gelombang keadaan pasaran pada tahun 2023, satu daripadanya adalah peningkatan yang besar pada awal tahun, dan satu lagi adalah. kenaikan besar bermula pada bulan Oktober Titik tinggi indeks.
df_norm = df_close/df_close.fillna(method='bfill').iloc[0] #归一化
total_index = df_norm.mean(axis=1)
total_index.plot(figsize=(15,6),grid=True);

Panda datang dengan pengiraan korelasi terbina dalam Korelasi dengan harga BTC adalah seperti yang ditunjukkan dalam rajah di bawah dianggap sebagai anomali dalam pasaran mata wang digital.

corr_symbols = df_norm.corrwith(df_norm.BTC).sort_values().index
Di sini kita secara longgar membahagikan mata wang kepada dua kumpulan Kumpulan pertama terdiri daripada 40 mata wang yang paling berkorelasi dengan harga BTC, dan kumpulan kedua terdiri daripada mata wang yang paling kurang berkorelasi dengan harga BTC kedudukan dalam kumpulan pertama dan kedudukan pendek dalam kumpulan kedua Hubungan antara turun naik harga dan korelasi dengan BTC boleh dikira. Kod dan keputusan adalah seperti berikut:
(df_norm[corr_symbols[-40:]].mean(axis=1)-df_norm[corr_symbols[:40]].mean(axis=1)).plot(figsize=(15,6),grid=True);

Keputusan menunjukkan bahawa mata wang dengan korelasi yang lebih kukuh dengan harga BTC mempunyai pertumbuhan yang lebih baik, dan mata wang pendek dengan korelasi rendah juga memainkan peranan lindung nilai yang baik. Bahagian yang tidak tepat di sini ialah data masa hadapan digunakan untuk mengira korelasi Seterusnya, data dibahagikan kepada dua kumpulan, satu untuk mengira korelasi dan satu lagi untuk mengira pulangan selepas lindung nilai kesimpulannya masih sama.
Sebagai peneraju pasaran, pergerakan harga Bitcoin dan Ethereum selalunya memberi impak yang besar kepada keseluruhan pasaran. Apabila harga bitcoin ini meningkat, sentimen pasaran biasanya menjadi optimistik dan ramai pelabur cenderung mengikuti arah aliran pasaran. Pelabur mungkin melihat ini sebagai isyarat bahawa keseluruhan pasaran meningkat dan mula membeli mata wang lain. Syiling yang sangat berkorelasi dengan mata wang utama mungkin mengalami kenaikan harga yang sama disebabkan oleh tingkah laku kolektif peserta pasaran. Pada masa ini, jangkaan pasaran untuk arah aliran harga kadangkala boleh menjadi ramalan yang memenuhi sendiri. Mata wang dengan korelasi negatif dengan Bitcoin adalah unik Ada kemungkinan bahawa asas mereka telah merosot atau mereka tidak lagi dalam pandangan pelabur arus perdana Malah mungkin terdapat pasaran yang menghisap darah untuk Bitcoin - pasaran telah meninggalkan mereka kejar syiling yang boleh bersaing dengan keuntungan.
corr_symbols = (df_norm.iloc[:1500].corrwith(df_norm.BTC.iloc[:1500])-df_norm.iloc[:1500].corrwith(total_index[:1500])).sort_values().index

Artikel ini menggunakan pekali korelasi Pearson untuk mendedahkan tahap korelasi antara mata wang. Artikel menunjukkan cara mendapatkan data untuk mengira korelasi antara mata wang dan menggunakan data ini untuk menilai arah aliran pasaran. Ia mendedahkan bahawa penyegerakan turun naik harga dalam pasaran mata wang digital bukan sahaja mencerminkan psikologi dan strategi pasaran, tetapi juga boleh dikira dan diramal melalui kaedah saintifik. Ini amat penting untuk reka bentuk strategi perdagangan kuantitatif.
Terdapat banyak bidang di mana idea dalam artikel ini boleh dikembangkan, seperti mengira korelasi bergolek, mengira korelasi semasa kenaikan dan penurunan secara berasingan, dan sebagainya, untuk menganalisis maklumat yang lebih berkesan.