Perkembangan mata wang dan Bitcoin

Penulis:Rumput, Dicipta: 2023-11-16 16:53:56, Dikemas kini: 2023-11-17 21:36:53

img

Dalam artikel sebelum ini, kami telah membincangkan satu fenomena yang umum di pasaran mata wang digital: kebanyakan mata wang digital, terutamanya yang mengikuti turun naik harga Bitcoin dan Ethereum, sering menunjukkan trend yang sama. Fenomena ini mendedahkan bahawa mereka sangat berkaitan dengan mata wang utama. Tetapi, tahap hubungan antara mata wang digital yang berbeza juga berbeza. Jadi, bagaimana perbezaan hubungan ini mempengaruhi prestasi pasaran masing-masing mata wang?

Asal-usul sinkronisasi pasaran mata wang digital

Pasaran mata wang digital terkenal dengan ketidaktentuan dan ketidakpastiannya. Bitcoin dan Ethereum, sebagai dua gergasi di pasaran, sering memainkan peranan utama dalam pergerakan harga. Kebanyakan mata wang digital kecil atau baru muncul, untuk mengekalkan daya saing pasaran dan daya tarikan perdagangan, sering mengekalkan tahap sinkronisasi harga dengan mata wang utama ini, terutama mata wang yang menjadi pasaran projek. Sinkronisasi ini mencerminkan jangkaan psikologi dan strategi perdagangan para peserta pasaran, yang merupakan pertimbangan penting dalam reka bentuk strategi perdagangan kuantitatif.

Rumus dan kaedah pengiraan kaitan

Dalam bidang perdagangan kuantitatif, pengukuran kaitan dicapai melalui kaedah statistik. Kaitan yang paling biasa digunakan adalah kaitan Pearson, yang mengukur tahap kaitan linear antara dua pembolehubah. Berikut adalah beberapa konsep dan kaedah pengiraan teras:

Koefisien Pearson (dicatatkan sebagai $r$) berkisar antara -1 hingga +1, di mana +1 menunjukkan hubungan positif sepenuhnya, -1 menunjukkan hubungan negatif sepenuhnya, dan 0 menunjukkan tiada hubungan linear. Formula pengiraan untuk koefisien ini adalah sebagai 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 mana $X_i$ dan $Y_i$ adalah nilai pemerhatian dua pembolehubah rawak, dan $\bar{X}$ dan $\bar{Y}$ adalah purata kedua-dua pembolehubah rawak tersebut. Dengan menggunakan pakej perbandingan sains Python, perbandingan dapat dihitung dengan mudah.

Pengumpulan data

Artikel ini mengumpul data 4hK untuk tahun penuh 2023, dengan 144 mata wang yang akan dikeluarkan pada 1 Januari; kod untuk memuat turun data adalah sebagai 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)

Kembali ke Kembali

Pertama, dengan mengintegrasikan data dan mengira indeks penurunan harga purata, anda dapat melihat bahawa terdapat dua gelombang pasaran pada tahun 2023, di mana gelombang pertama meningkat pada awal tahun, dan gelombang besar yang bermula pada bulan Oktober, pada dasarnya berada di puncak 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);

img

Analisis perkaitan

Pandas sendiri menggunakan perbandingan perbandingan, dengan perbandingan harga BTC dan yang paling lemah seperti yang ditunjukkan di bawah. Kebanyakan mata wang mempunyai perbandingan positif, yang bermaksud mereka mengikuti harga BTC, dan ada juga beberapa mata wang yang mempunyai perbandingan negatif, yang merupakan satu perbandingan yang luar biasa dalam pasaran mata wang digital.

img

corr_symbols = df_norm.corrwith(df_norm.BTC).sort_values().index

Kesan dan kenaikan harga

Di sini tidak teliti membahagikan mata wang kepada dua kumpulan, kumpulan pertama adalah 40 mata wang yang paling berkaitan dengan harga BTC, dan kumpulan kedua adalah mata wang yang paling tidak berkaitan dengan harga BTC, menggunakan indeks harga kumpulan pertama dikurangkan indeks kumpulan kedua, mewakili purata melakukan lebih banyak kumpulan pertama kosong kumpulan kedua, anda boleh mengira hubungan penurunan harga dengan hubungan BTC; kod dan hasilnya adalah sebagai berikut:

(df_norm[corr_symbols[-40:]].mean(axis=1)-df_norm[corr_symbols[:40]].mean(axis=1)).plot(figsize=(15,6),grid=True);

img

Hasilnya menunjukkan bahawa mata wang yang lebih berkaitan dengan harga BTC meningkat dengan lebih baik, dan mata wang yang kurang berkaitan juga mempunyai kesan lindung nilai yang baik. Di sini, yang tidak ketat adalah menggunakan data masa depan untuk mengira hubungan, dan kemudian membahagikan data ke dalam dua kumpulan, satu kumpulan untuk mengira hubungan, dan satu lagi untuk mengira keuntungan selepas lindung nilai, dan hasilnya tetap sama, seperti yang ditunjukkan di bawah.

Bitcoin dan Ethereum sebagai pemimpin pasaran, pergerakan harga mereka sering mempunyai kesan besar ke atas keseluruhan pasaran. Sentimen pasaran biasanya menjadi optimistik apabila harga bitcoin ini naik, dan banyak pelabur cenderung untuk mengikuti trend pasaran. Pelabur mungkin melihat ini sebagai isyarat kenaikan keseluruhan pasaran dan mula membeli mata wang lain. Mata wang yang sangat berkaitan dengan mata wang utama mungkin mengalami kenaikan harga yang sama kerana tindakan kolektif para peserta pasaran.

corr_symbols = (df_norm.iloc[:1500].corrwith(df_norm.BTC.iloc[:1500])-df_norm.iloc[:1500].corrwith(total_index[:1500])).sort_values().index 

img

Ringkasan

Koefisien Pearson ini menunjukkan tahap hubungan antara mata wang. Artikel ini menunjukkan bagaimana mendapatkan data untuk mengira hubungan antara mata wang dan menggunakan data ini untuk menilai trend pasaran. Artikel ini menunjukkan bahawa sinkronisasi pergerakan harga di pasaran mata wang digital bukan sahaja mencerminkan psikologi dan strategi pasaran, tetapi juga dapat diukur dan diramalkan dengan kaedah saintifik.

Terdapat banyak lagi ruang untuk memperluas idea ini, seperti mengira kaitan gulungan, kaitan kenaikan dan penurunan, dan lain-lain, untuk menganalisis lebih banyak maklumat yang berguna.


Lebih lanjut

mztcoinBaiklah, analisis kaitan boleh digabungkan dengan strategi sebelum ini untuk melakukan lebih tinggi dan lebih rendah.