Menganalisis pasar cryptocurrency dengan Python

Bagaimana perilaku pasar Bitcoin? Apa alasan kenaikan dan penurunan harga cryptocurrency secara tiba-tiba? Apakah ada hubungan erat yang tidak terpisahkan antara pasar altcoin atau mereka sebagian besar independen satu sama lain? Bagaimana kita dapat memprediksi apa yang akan terjadi di masa depan?

gambar

Pendekatan informasi-analitis untuk penalaran cryptocurrency


Artikel yang didedikasikan untuk cryptocurrency seperti Bitcoin dan Ethereum berlimpah dalam penalaran dan teori. Ratusan ahli memproklamirkan diri berpendapat untuk tren yang mereka yakini akan segera muncul. Apa yang banyak dari analisis semacam itu kurang pasti adalah fondasi yang kuat dalam bentuk data dan statistik yang dapat mendukung pernyataan tertentu.

Tujuan artikel ini adalah untuk memberikan pengantar sederhana untuk analisis cryptocurrency menggunakan Python. Di dalamnya, kita akan selangkah demi selangkah melihat skrip Python sederhana untuk menerima, menganalisis dan memvisualisasikan data pada berbagai cryptocurrency. Dalam perjalanan kerja, kita akan menemukan tren yang menarik dalam perilaku pasar yang bergejolak dan mencari tahu perubahan apa yang telah terjadi di dalamnya.

gambar

Posting ini tidak akan dikhususkan untuk menjelaskan apa cryptocurrency itu (jika Anda memerlukan penjelasan seperti itu, saya akan merekomendasikan Anda ulasan yang sangat baik ini ). Tidak akan ada diskusi tentang mata uang mana yang akan naik atau turun nilainya. Sebaliknya, panduan ini akan fokus pada mendapatkan akses ke data kasar dan mentah dan menemukan sejarah yang tersembunyi di bawah lapisan angka.

Tahap 1. Kami melengkapi laboratorium kami


Panduan ini ditujukan untuk beragam penggemar, insinyur, dan profesional pemrosesan data, terlepas dari tingkat profesionalisme mereka. Dari keterampilan yang Anda butuhkan hanya pemahaman dasar tentang Python dan keterampilan baris perintah minimum yang diperlukan untuk mengkonfigurasi proyek.

Versi lengkap dari pekerjaan yang dilakukan dan semua hasilnya tersedia di sini .

1.1 Pasang Anaconda


Cara termudah untuk menginstal dependensi dari awal untuk proyek ini adalah menggunakan Anaconda, ekosistem python dan manajer dependensi yang berisi semua paket yang diperlukan untuk bekerja dengan data dan menganalisisnya.

Untuk menginstal Anaconda, saya akan merekomendasikan menggunakan instruksi resmi yang tersedia di sini .

Jika Anda adalah pengguna tingkat lanjut, dan Anaconda tidak sesuai dengan keinginan Anda, maka menginstalnya tidak perlu. Dalam hal ini, saya pikir Anda tidak perlu bantuan dalam menginstal dependensi yang diperlukan, dan Anda dapat langsung menuju ke tahap kedua.

1.2 Menyiapkan Lingkungan Proyek di Anaconda


Segera setelah Anaconda diinstal, kami akan ingin menciptakan lingkungan baru untuk mengatur kerja dengan dependensi.

Masukkan perintah conda create --name cryptocurrency-analysis python=3 untuk membuat lingkungan Anaconda baru untuk proyek kami.

Selanjutnya, masukkan source activate cryptocurrency-analysis dan (di Linux / macOS) atau activate cryptocurrency-analysis (di Windows) untuk mengaktifkan lingkungan.

Dan akhirnya, conda install numpy pandas nb_conda jupyter plotly quandl menginstal dependensi yang diperlukan di lingkungan. Proses ini mungkin memakan waktu beberapa menit.

Mengapa kita menggunakan lingkungan? Jika Anda berencana untuk bekerja secara bersamaan dengan banyak proyek Python di komputer Anda, ada baiknya untuk menempatkan dependensi (pustaka dan paket perangkat lunak) secara terpisah untuk menghindari konflik. Dalam setiap proyek, Anaconda membuat direktori khusus untuk dependensi di lingkungan, yang memungkinkan Anda untuk memisahkannya dari dependensi proyek lain dan mengatur pekerjaan dengan mereka.

1.3 Meluncurkan Notebook Interaktif Jupyter


Setelah lingkungan dan dependensi diinstal, ketik jupyter notebook di konsol untuk memulai kernel iPython dan membuka http: // localhost: 8888 / tautan di browser. Buat buku catatan Python baru, verifikasi bahwa ia menggunakan kernel Python [conda env:cryptocurrency-analysis] .

gambar

1.4 Mengimpor dependensi ke bagian atas notebook


Segera setelah Anda melihat log Jupyter yang bersih, Anda harus terlebih dahulu mengimpor dependensi yang diperlukan.

 import os import numpy as np import pandas as pd import pickle import quandl from datetime import datetime 

Selain itu, Anda harus mengimpor Plotly dan mengaktifkan mode offline untuk itu.

 import plotly.offline as py import plotly.graph_objs as go import plotly.figure_factory as ff py.init_notebook_mode(connected=True) 

Tahap 2. Mendapatkan Data Harga Bitcoin


Sekarang setelah semua pengaturan selesai, kami siap untuk mulai menerima informasi untuk analisis. Pertama-tama, kita perlu meminta data harga Bitcoin menggunakan Quandl API Bitcoin gratis.

2.1 Menentukan fungsi pembantu Quandl


Untuk membantu dengan akuisisi data, kami akan mendefinisikan fungsi yang mengunduh dan cache set data dari Quandl.

 def get_quandl_data(quandl_id): '''Download and cache Quandl dataseries''' cache_path = '{}.pkl'.format(quandl_id).replace('/','-') try: f = open(cache_path, 'rb') df = pickle.load(f) print('Loaded {} from cache'.format(quandl_id)) except (OSError, IOError) as e: print('Downloading {} from Quandl'.format(quandl_id)) df = quandl.get(quandl_id, returns="pandas") df.to_pickle(cache_path) print('Cached {} at {}'.format(quandl_id, cache_path)) return df 

Untuk mengonversi data yang diunduh dan menyimpannya ke file, kami akan menggunakan pickle . Ini akan mencegah data yang sama diunduh lagi setiap kali kita menjalankan skrip. Fungsi ini akan mengembalikan data sebagai bingkai data Pandas . Jika Anda tidak terbiasa dengan bingkai data, Anda bisa menyajikannya dalam bentuk spreadsheet yang sangat kuat.

2.2 Kami mengambil data harga dari bursa Kraken


Untuk memulai, mari kita tarik data historis tentang nilai tukar Bitcoin dari pertukaran Kraken .

 # Pull Kraken BTC price exchange data btc_usd_price_kraken = get_quandl_data('BCHARTS/KRAKENUSD') 

Kita dapat memeriksa 5 baris pertama dari frame data menggunakan metode head() .

 btc_usd_price_kraken.head() 

gambar

Selanjutnya, mari kita buat grafik sederhana untuk verifikasi visual cepat tentang kebenaran data.

 # Chart the BTC pricing data btc_trace = go.Scatter(x=btc_usd_price_kraken.index, y=btc_usd_price_kraken['Weighted Price']) py.iplot([btc_trace]) 

gambar

Untuk visualisasi, Plotly digunakan di sini . Ini adalah pendekatan yang kurang tradisional dibandingkan dengan perpustakaan visualisasi python yang lebih otoritatif seperti Matplotlib , tetapi menurut saya, Plotly adalah pilihan yang sangat baik, karena memungkinkan Anda untuk membuat grafik sepenuhnya interaktif melalui penggunaan D3.js. Hasilnya, Anda bisa mendapatkan diagram visual yang bagus di output tanpa pengaturan apa pun. Selain itu, Plotly mudah dipelajari dan hasilnya mudah dimasukkan ke halaman web.

Tentu saja, Anda harus selalu ingat kebutuhan untuk membandingkan visualisasi yang dihasilkan dengan grafik harga cryptocurrency yang tersedia untuk umum (misalnya, di Coinbase) untuk verifikasi dasar tentang keandalan data yang diunduh.

2.3 Meminta data harga dari bursa BTC lainnya


Anda mungkin telah memperhatikan perbedaan dalam set ini: grafik melorot di beberapa tempat menjadi nol, terutama pada akhir 2014 dan awal 2016. Penurunan ini ditemukan dalam set data Kraken, dan kami jelas tidak ingin mereka tercermin dalam analisis harga akhir kami.

Sifat dari pertukaran bitcoin sedemikian rupa sehingga harga ditentukan oleh penawaran dan permintaan, dan oleh karena itu tidak ada dari pertukaran yang ada yang dapat mengklaim bahwa kuotasi tersebut mencerminkan harga Bitcoin “referensi” yang sebenarnya. Untuk memperhitungkan kelemahan ini, serta menghilangkan penurunan harga pada grafik, yang kemungkinan besar disebabkan oleh kesalahan teknis atau kumpulan data, kami juga akan mengumpulkan data dari tiga pertukaran bitcoin besar lainnya untuk menghitung indeks harga agregat untuk bitcoin.

Untuk memulai, mari unduh data dari setiap pertukaran ke kamus bingkai data.

 # Pull pricing data for 3 more BTC exchanges exchanges = ['COINBASE','BITSTAMP','ITBIT'] exchange_data = {} exchange_data['KRAKEN'] = btc_usd_price_kraken for exchange in exchanges: exchange_code = 'BCHARTS/{}USD'.format(exchange) btc_exchange_df = get_quandl_data(exchange_code) exchange_data[exchange] = btc_exchange_df 

2.4 Menggabungkan semua data harga dalam satu kerangka data


Selanjutnya, kita akan mendefinisikan fungsi sederhana yang menggabungkan kolom serupa dari setiap frame data ke dalam frame gabungan baru.

 def merge_dfs_on_column(dataframes, labels, col): '''Merge a single column of each dataframe into a new combined dataframe''' series_dict = {} for index in range(len(dataframes)): series_dict[labels[index]] = dataframes[index][col] return pd.DataFrame(series_dict) 

Sekarang, mari gabungkan semua frame data berdasarkan kolom Harga Tertimbang.

 # Merge the BTC price dataseries' into a single dataframe btc_usd_datasets = merge_dfs_on_column(list(exchange_data.values()), list(exchange_data.keys()), 'Weighted Price') 

Terakhir, perhatikan lima baris terakhir menggunakan metode tail() untuk memastikan bahwa hasil pekerjaan kami terlihat normal.

 btc_usd_datasets.tail() 

gambar

Harga terlihat seperti yang diharapkan: mereka berada dalam batas yang sama, tetapi ada sedikit perbedaan berdasarkan pada rasio penawaran / permintaan pada setiap pertukaran individu.

2.5 Visualisasikan dataset harga


Langkah logis berikutnya adalah memvisualisasikan perbandingan set data yang dihasilkan. Untuk melakukan ini, kami mendefinisikan fungsi bantu yang menyediakan kemampuan untuk menghasilkan grafik berdasarkan bingkai data menggunakan perintah baris tunggal.

 def df_scatter(df, title, seperate_y_axis=False, y_axis_label='', scale='linear', initial_hide=False): '''Generate a scatter plot of the entire dataframe''' label_arr = list(df) series_arr = list(map(lambda col: df[col], label_arr)) layout = go.Layout( title=title, legend=dict(orientation="h"), xaxis=dict(type='date'), yaxis=dict( title=y_axis_label, showticklabels= not seperate_y_axis, type=scale ) ) y_axis_config = dict( overlaying='y', showticklabels=False, type=scale ) visibility = 'visible' if initial_hide: visibility = 'legendonly' # Form Trace For Each Series trace_arr = [] for index, series in enumerate(series_arr): trace = go.Scatter( x=series.index, y=series, name=label_arr[index], visible=visibility ) # Add seperate axis for the series if seperate_y_axis: trace['yaxis'] = 'y{}'.format(index + 1) layout['yaxis{}'.format(index + 1)] = y_axis_config trace_arr.append(trace) fig = go.Figure(data=trace_arr, layout=layout) py.iplot(fig) 

Demi singkatnya, saya tidak akan menjelaskan secara rinci tentang pengoperasian fungsi bantu. Jika Anda tertarik untuk mempelajarinya lebih lanjut, lihat dokumentasi Pandas dan Plotly .

Kami dapat dengan mudah menghasilkan grafik untuk data harga bitcoin.

 # Plot all of the BTC exchange prices df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange') 

gambar

2.6 Membersihkan dan menggabungkan data harga


Kita bisa melihat bahwa terlepas dari kenyataan bahwa semua 4 rangkaian data berperilaku kira-kira dengan cara yang sama, ada beberapa penyimpangan dari norma di dalamnya yang perlu dihilangkan.

Mari kita hapus semua nilai nol dari frame, karena kita tahu bahwa harga bitcoin tidak pernah nol dalam periode waktu yang kita pertimbangkan.

 # Remove "0" values btc_usd_datasets.replace(0, np.nan, inplace=True) 

Setelah membangun bagan lagi, kami mendapatkan kurva yang lebih rapi, tanpa penurunan tajam.

 # Plot the revised dataframe df_scatter(btc_usd_datasets, 'Bitcoin Price (USD) By Exchange') 

gambar

Dan sekarang kita dapat menghitung kolom baru yang berisi harga bitcoin harian rata-rata berdasarkan data dari semua bursa.

 # Calculate the average BTC price as a new column btc_usd_datasets['avg_btc_price_usd'] = btc_usd_datasets.mean(axis=1) 

Kolom baru ini adalah indeks harga Bitcoin kami! Mari kita plot untuk memastikannya terlihat normal.

 # Plot the average BTC price btc_trace = go.Scatter(x=btc_usd_datasets.index, y=btc_usd_datasets['avg_btc_price_usd']) py.iplot([btc_trace]) 

gambar

Ya, itu terlihat bagus. Kami akan menggunakan seri harga gabungan di masa depan untuk mengkonversi nilai tukar mata uang digital lain ke dalam dolar AS.

Tahap 3. Mendapatkan data harga altcoin


Sekarang kami memiliki serangkaian harga waktu yang dapat diandalkan untuk bitcoin, mari minta beberapa data untuk cryptocurrency non-bitcoin, yang sering disebut altcoin.

3.1 Menentukan fungsi bantu untuk bekerja dengan API Poloniex


Untuk mendapatkan data altcoin, kami akan menggunakan API Poloniex . Dua fungsi tambahan yang mengunduh dan menyimpan data JSON yang diteruskan ke API ini akan membantu kami dalam hal ini.

Pertama, kami mendefinisikan get_json_data , yang akan mengunduh dan menyimpan data JSON di URL yang disediakan.

 def get_json_data(json_url, cache_path): '''Download and cache JSON data, return as a dataframe.''' try: f = open(cache_path, 'rb') df = pickle.load(f) print('Loaded {} from cache'.format(json_url)) except (OSError, IOError) as e: print('Downloading {}'.format(json_url)) df = pd.read_json(json_url) df.to_pickle(cache_path) print('Cached {} at {}'.format(json_url, cache_path)) return df 

Selanjutnya, kami mendefinisikan fungsi yang menghasilkan permintaan HTTP ke API Poloniex, dan kemudian memanggil get_json_data , yang, pada gilirannya, menyimpan data yang diminta.

 base_polo_url = 'https://poloniex.com/public?command=returnChartData&currencyPair={}&start={}&end={}&period={}' start_date = datetime.strptime('2015-01-01', '%Y-%m-%d') # get data from the start of 2015 end_date = datetime.now() # up until today pediod = 86400 # pull daily data (86,400 seconds per day) def get_crypto_data(poloniex_pair): '''Retrieve cryptocurrency data from poloniex''' json_url = base_polo_url.format(poloniex_pair, start_date.timestamp(), end_date.timestamp(), pediod) data_df = get_json_data(json_url, poloniex_pair) data_df = data_df.set_index('date') return data_df 

Dia mengambil string yang menunjukkan pasangan cryptocurrency (misalnya, BTC_ETH) dan mengembalikan bingkai data yang berisi data historis dengan nilai tukarnya.

3.2 Mengunduh data perdagangan dengan Poloniex


Sebagian besar altcoin tidak dapat dibeli langsung dengan dolar AS. Untuk mendapatkannya, orang sering membeli bitcoin dan menukarnya dengan altcoin di bursa. Oleh karena itu, kami mengunduh nilai tukar BTC untuk setiap koin dan menggunakan data dengan harga BTC untuk menghitung biaya altcoin dalam USD.

Kami mengunduh data stok untuk sembilan cryptocurrency paling populer - Ethereum , Litecoin , Ripple , Ethereum Classic , Stellar , Dashcoin , Siacoin , Monero dan NEM .

 altcoins = ['ETH','LTC','XRP','ETC','STR','DASH','SC','XMR','XEM'] altcoin_data = {} for altcoin in altcoins: coinpair = 'BTC_{}'.format(altcoin) crypto_price_df = get_crypto_data(coinpair) altcoin_data[altcoin] = crypto_price_df 

Sekarang kami memiliki kamus 9 bingkai data, yang masing-masing berisi data historis tentang pasangan rata-rata harga harian pertukaran altcoin dan bitcoin.
Sekali lagi, kami akan memeriksa lima baris terakhir dari tabel harga Ethereum untuk memastikan bahwa semuanya sesuai dengannya.

 altcoin_data['ETH'].tail() 

gambar

3,3 konversi harga menjadi dolar AS


Sekarang kita dapat membandingkan data pada pasangan harga dengan indeks harga bitcoin kami untuk secara langsung mendapatkan data historis tentang nilai altcoin dalam dolar AS.

 # Calculate USD Price as a new column in each altcoin dataframe for altcoin in altcoin_data.keys(): altcoin_data[altcoin]['price_usd'] = altcoin_data[altcoin]['weightedAverage'] * btc_usd_datasets['avg_btc_price_usd'] 

Dengan menggunakan kode ini, kami membuat kolom baru dalam kerangka data setiap altcoin dengan harga koin dolar.

Selanjutnya, kita dapat menggunakan kembali fungsi merge_dfs_on_column didefinisikan sebelumnya untuk membuat bingkai data yang berisi harga dolar untuk setiap cryptocurrency.

 # Merge USD price of each altcoin into single dataframe combined_df = merge_dfs_on_column(list(altcoin_data.values()), list(altcoin_data.keys()), 'price_usd') 

Seperti itu saja. Sekarang, mari kita juga menambahkan harga bitcoin ke kolom terakhir dari frame data gabungan.

 # Add BTC price to the dataframe combined_df['BTC'] = btc_usd_datasets['avg_btc_price_usd'] 

Dan sekarang kami memiliki satu frame berisi harga dolar harian untuk sepuluh cryptocurrency yang sedang kami pelajari.

Mari kita gunakan kembali fungsi df_scatter telah ditetapkan sebelumnya untuk menggambar grafik komparatif dari perubahan harga cryptocurrency.

 # Chart all of the altocoin prices df_scatter(combined_df, 'Cryptocurrency Prices (USD)', seperate_y_axis=False, y_axis_label='Coin Value (USD)', scale='log') 

gambar

Hebat! Grafik ini memungkinkan Anda untuk mengevaluasi dengan sangat jelas dinamika nilai tukar setiap mata uang digital selama beberapa tahun terakhir.

Harap dicatat bahwa kami menggunakan skala ordinat logaritmik, karena itu memungkinkan kami untuk mencocokkan semua mata uang pada satu grafik. Tetapi jika Anda mau, Anda dapat mencoba nilai parameter yang berbeda (seperti scale='linear' ) untuk melihat data dari perspektif yang berbeda.

3.4 Analisis Korelasi


Anda mungkin telah memperhatikan bahwa nilai tukar cryptocurrency, terlepas dari nilai dan volatilitasnya yang sangat berbeda, terlihat seperti ada beberapa korelasi di antara mereka. Terutama jika Anda melihat interval setelah lonjakan Agustus, bahkan fluktuasi kecil terjadi dengan token yang berbeda seolah-olah serempak.

Tetapi firasat yang didasarkan pada kemiripan eksternal tidak lebih baik dari perkiraan sederhana sampai kita dapat mendukungnya dengan data statistik.

Kami dapat menguji hipotesis korelasi kami menggunakan metode corr() dari koleksi Pandas, menggunakannya untuk menghitung koefisien korelasi Pearson dari semua kolom dari frame sehubungan dengan satu sama lain.

Koreksi tertanggal 22/08/2017 - Bagian dari pekerjaan ini telah direvisi. Sekarang, untuk menghitung koefisien korelasi, alih-alih nilai harga absolut, nilai persentase dari perubahan harian mereka digunakan.

Perhitungan korelasi langsung antara deret waktu non-stasioner (seperti data harga mentah) dapat menyebabkan hasil yang bias. Kami akan memperbaiki cacat ini dengan menerapkan metode pct_change() , yang mengubah nilai setiap sel bingkai dari nilai absolut ke persentase perubahan hariannya.

Untuk mulai dengan, kami menghitung korelasinya pada tahun 2016.

 # Calculate the pearson correlation coefficients for cryptocurrencies in 2016 combined_df_2016 = combined_df[combined_df.index.year == 2016] combined_df_2016.pct_change().corr(method='pearson') 

gambar

Sekarang kami memiliki peluang di mana-mana. Nilai yang mendekati 1 atau -1 mengatakan bahwa di antara deret waktu ada korelasi maju atau mundur yang kuat. Koefisien mendekati nol berarti bahwa nilai tidak berkorelasi, dan berbeda secara independen satu sama lain.

Untuk memvisualisasikan hasil, kita perlu membuat fungsi visualisasi tambahan lainnya.

 def correlation_heatmap(df, title, absolute_bounds=True): '''Plot a correlation heatmap for the entire dataframe''' heatmap = go.Heatmap( z=df.corr(method='pearson').as_matrix(), x=df.columns, y=df.columns, colorbar=dict(title='Pearson Coefficient'), ) layout = go.Layout(title=title) if absolute_bounds: heatmap['zmax'] = 1.0 heatmap['zmin'] = -1.0 fig = go.Figure(data=[heatmap], layout=layout) py.iplot(fig) 

 correlation_heatmap(combined_df_2016.pct_change(), "Cryptocurrency Correlations in 2016") 

gambar

Sel-sel merah gelap pada grafik menunjukkan korelasi yang kuat (dan masing-masing mata uang jelas akan berkorelasi dengan dirinya sendiri sebanyak mungkin), biru tua - korelasi terbalik yang kuat. Semua warna biru, oranye, abu-abu, pasir di antara mereka menunjukkan tingkat korelasi lemah yang berbeda atau tidak adanya.

Apa yang diceritakan bagan ini kepada kita? Bahkan, itu menunjukkan bahwa hubungan yang signifikan secara statistik antara fluktuasi harga berbagai cryptocurrency pada 2016 kecil.

Dan sekarang, untuk menguji hipotesis kami bahwa cryptocurrency telah menjadi lebih berkorelasi dalam beberapa bulan terakhir, mari kita ulangi tes yang sama dengan menggunakan data yang sudah ada untuk 2017.

 combined_df_2017 = combined_df[combined_df.index.year == 2017] combined_df_2017.pct_change().corr(method='pearson') 

gambar

Koefisien yang diperoleh menunjukkan adanya korelasi yang lebih signifikan. Apakah dia cukup kuat untuk mengambil keuntungan dari fakta ini untuk investasi? Jelas tidak.

Tetapi kita harus memperhatikan fakta bahwa hampir semua cryptocurrency secara keseluruhan menjadi lebih saling berkorelasi.

 correlation_heatmap(combined_df_2017.pct_change(), "Cryptocurrency Correlations in 2017") 

gambar

Dan ini pengamatan yang agak menarik.

Mengapa ini terjadi?


Pertanyaan yang bagus Saya tidak bisa mengatakannya dengan pasti.

Pikiran pertama yang terlintas dalam pikiran: alasannya adalah bahwa hedge fund baru-baru ini mulai berdagang secara terbuka di pasar cryptocurrency. [ 1 ] [ 2 ] Dana tersebut memiliki jumlah modal yang jauh lebih besar daripada pedagang rata-rata, dan jika mereka melindungi diri dari risiko dengan menyemprotkan dana mereka di berbagai cryptocurrency dan menggunakan strategi perdagangan yang serupa untuk masing-masing dari mereka, berdasarkan pada variabel independen (seperti yang mereka lakukan , misalnya, di pasar saham), maka konsekuensi logis dari pendekatan ini adalah munculnya tren peningkatan korelasi.

Analisis mendalam: XRP dan STR


Sebagai contoh, salah satu tren secara tidak langsung menegaskan alasan di atas. XRP (token riak) paling tidak berkorelasi dengan altcoin lainnya. Tetapi ada satu pengecualian penting - STR (token Stellar, yang resmi disebut "Lumens"), yang koefisien korelasinya dengan XRP adalah 0,62.

Menariknya, baik Stellar maupun Ripple adalah platform fintech yang hampir serupa yang kegiatannya bertujuan menyederhanakan proses pembayaran antar bank internasional.

Saya melihat situasi yang sangat nyata di mana beberapa pemain kaya dan dana lindung nilai menggunakan strategi yang sama untuk dana perdagangan yang diinvestasikan di Stellar dan Ripple, karena kedua layanan di balik token ini sangat mirip. Asumsi ini dapat menjelaskan mengapa XRP jauh lebih berkorelasi dengan STR daripada dengan cryptocurrency lainnya.

Giliranmu


Namun, penjelasan ini sebagian besar merupakan kesimpulan spekulatif. Tapi mungkin Anda bisa lebih baik? Fondasi yang kami letakkan dalam pekerjaan ini memungkinkan kami untuk melanjutkan studi data dalam berbagai arah.

Berikut adalah beberapa ide untuk diperiksa:

  • Tambahkan data untuk cryptocurrency lebih ke analisis.
  • Perbaiki kerangka waktu dan tingkat rincian analisis korelasi, dengan mempertimbangkan tren secara lebih rinci, atau sebaliknya, secara lebih umum.
  • Cari tren dalam volume perdagangan dan / atau set data untuk penambangan blockchain. Rasio penjualan / pembelian lebih cocok untuk memprediksi fluktuasi harga daripada data harga mentah.
  • Tambahkan data harga untuk stok, komoditas dan bahan baku, mata uang kertas untuk mengetahui aset mana yang berkorelasi dengan cryptocurrency. (Tapi selalu ingat pepatah lama yang baik, "Korelasi belum menyiratkan sebab-akibat.")
  • Hitung jumlah hype di sekitar cryptocurrency individual menggunakan Event Registry , GDELT dan Google Trends .
  • Menggunakan pembelajaran mesin, latih sebuah program untuk menganalisis data untuk memprediksi tren harga. Jika ambisi memungkinkan, Anda bahkan mungkin mencoba melakukannya dengan jaringan saraf berulang.
  • Gunakan analisis Anda untuk membuat perdagangan pedagang bot otomatis di situs-situs seperti Poloniex dan Coinbase menggunakan API yang sesuai. Tapi hati-hati: bot perdagangan yang kurang optimal dapat dengan cepat merampas semua dana yang tersedia.
  • Bagikan temuan Anda! Fitur terbaik Bitcoin dan cryptocurrency lainnya secara umum adalah sifat desentralisasi mereka membuat mereka lebih bebas dan demokratis, dibandingkan dengan hampir semua aset lainnya. , , , -.

HTML- python- .

, , - , , , .

, , , - , . - , Github- .

, , , . , , , .

gambar

Source: https://habr.com/ru/post/id406363/


All Articles