Начало работы с Python для финансов:
Мы извлечем различные цены на криптовалюту из Yahoo Finance. Давайте начнем с импорта библиотек.
import warnings warnings.filterwarnings('ignore') # Скрыть предупреждения import datetime as dt import pandas as pd pd.core.common.is_list_like = pd.api.types.is_list_like import pandas_datareader.data as web import numpy as np import matplotlib.pyplot as plt import seaborn as sns import matplotlib.dates as mdates
import plotly.express as px
start = dt.datetime(2021, 1, 1) end = dt.datetime(2021,5,29)
Мы устанавливаем начальную и конечную даты данных.
btc = web.DataReader("BTC-USD", 'yahoo', start, end) # Collects data btc.reset_index(inplace=True)
Биткойн
«BTC-USD» указывает цены на биткойны в долларах США. Итак, мы извлекаем цены на биткойны.
#bitcoin crypto= btc[['Date','Adj Close']] crypto= crypto.rename(columns = {'Adj Close':'BTC'})
# 7-дневная скользящая средняя crypto[ 'BTC_7DAY_MA' ] = crypto.BTC.rolling( 7).mean()
Скользящее среднее или скользящее среднее – это способ анализа точек данных путем создания серии средних значений данных, уже имеющихся в данных. Здесь мы рассчитываем средние цены на основе данных о цене биткойнов за предыдущие 7 дней. Скользящие средние часто используются в техническом анализе.
Ethereum
Далее мы пробуем Ethereum. Ethereum – вторая по величине криптовалюта по рыночной капитализации после биткойна. Ethereum был запущен 30 июля 2015 года с 72 миллионами монет.
#Ethereum eth = web.DataReader("ETH-USD", 'yahoo', start, end) # Collects data eth.reset_index(inplace=True) crypto["ETH"]= eth["Adj Close"] # 7-дневная скользящая средняя crypto[ 'ETH_7DAY_MA' ] = crypto.ETH.rolling( 7).mean()
Dogecoin
Далее идет Dogecoin. Мы уже обсуждали Dogecoin. Он был представлен 6 декабря 2013 года.
#doge coin doge = web.DataReader("DOGE-USD", 'yahoo', start, end) # Collects data doge.reset_index(inplace=True) crypto["DOGE"]= doge["Adj Close"] # 7-дневная скользящая средняя crypto[ 'DOGE_7DAY_MA' ] = crypto.DOGE.rolling( 7).mean()
BinanceCoin
Далее мы переходим к Binance Coin. Binance был запущен в июле 2017 года и основан на сети Ethereum. Но у Binance есть собственный блокчейн, цепочка Binance.
#BinanceCoin bnb = web.DataReader("BNB-USD", 'yahoo', start, end) # Collects data bnb.reset_index(inplace=True) crypto["BNB"]= bnb["Adj Close"] # 7-дневная скользящая средняя crypto[ 'BNB_7DAY_MA' ] = crypto.BNB.rolling( 7).mean()
Cardano
Далее берем Cardano. Cardano – это общедоступная блокчейн-платформа, и одноранговые транзакции поддерживаются ее криптовалютой ADA. Он был запущен в сентябре 2017 года.
#Cardano ada = web.DataReader("ADA-USD", 'yahoo', start, end) # Collects data ada.reset_index(inplace=True) crypto["ADA"]= ada["Adj Close"] # 7-дневная скользящая средняя crypto[ 'ADA_7DAY_MA' ] = crypto.ADA.rolling( 7).mean()
Ripple – это платежная система и платформа для обмена валют, которую можно использовать для обработки транзакций по всему миру. XRP вычитается как небольшая комиссия всякий раз, когда пользователи совершают транзакцию с помощью Ripple.
#XRP xrp = web.DataReader("XRP-USD", 'yahoo', start, end) # Collects data xrp.reset_index(inplace=True) crypto["XRP"]= xrp["Adj Close"] # 7-дневная скользящая средняя crypto[ 'XRP_7DAY_MA' ] = crypto.XRP.rolling( 7).mean()
Dash
Dash – это криптовалюта с открытым исходным кодом. Он был разветвлен из протокола Биткойн. Он был запущен в январе 2014 года.
#Dash dash = web.DataReader("DASH-USD", 'yahoo', start, end) # Collects data dash.reset_index(inplace=True) crypto["DASH"]= dash["Adj Close"] # 7-дневное скользящее среднее crypto[ ‘DASH_7DAY_MA’ ] = crypto.DASH.rolling( 7).mean()
Теперь, имея под рукой данные, форматируем даты.
#получение дат crypto.set_index("Date", inplace=True)
Теперь давайте посмотрим на данные.
crypto[['BTC','ETH','DOGE','BNB','ADA','XRP','DASH']].head()
Как мы видим, все данные были извлечены правильно.
Теперь давайте проверим корреляцию между данными.
crypto[['BTC','ETH','DOGE','BNB','ADA','XRP','DASH']].corr()
Теперь у нас есть несколько интересных открытий. Все точки данных имеют высокую корреляцию друг с другом. Давайте просто сравним биткойн с другими, даже самая низкая корреляция с DOGE составляет 0,237, что является довольно хорошим значением. Dash, разветвленный из BTC, имеет самую высокую корреляцию с BTC на уровне 0,77.
Глядя на другие точки данных, BNB и XRP имеют высокую корреляцию 0,93, что является чрезвычайно высоким показателем. Как будто они одного и того же значения.
Теперь давайте разберемся, почему? Что ж, это просто. Рынок криптографии следует тенденциям. Когда биткойн и Dogecoin росли, другие монеты также росли в цене. В основном это было связано с общественным мнением относительно криптовалюты. Кто не хочет круто выглядеть перед друзьями, говоря, что они принесли криптовалюту?
Точно так же, когда упали значения BTC и DOGE, упали и другие. Это было похоже на цепную реакцию.
Давайте посмотрим на тепловую карту корреляции.
#Тепловая карта plt.figure(figsize = (10,10)) sns.heatmap(crypto[['BTC','ETH','DOGE','BNB','ADA','XRP','DASH']].corr(),annot=True, cmap='Blues')
Тепловая карта четко показывает высокую корреляцию между ценами на все криптовалюты.
Построим данные с помощью Plotly Express.
fig = px.line(crypto, y=["BTC",'ETH','DOGE','BNB','ADA','XRP','DASH'] ) fig.show()
Что ж, ясен только обвал BTC в середине мая 2021 года. Но давайте посмотрим на значения 7-дневной скользящей средней BTC.
fig = px.line(crypto, y=['BTC_7DAY_MA'] ) fig.show()
В Plotly интересно то, что мы можем взаимодействовать с Plot и получать точные значения, как в Power BI.
Здесь хорошо видно, что цена BTC внезапно выросла в феврале 2021 года после всех этих твитов и шума в социальных сетях. И вдруг в мае 2021 года все рухнуло.
Давайте попробуем Ethereum.
fig = px.line(crypto, y=['ETH'] ) fig.show()
И очевидно, что ETH также следует аналогичной схеме. В конце апреля 2021 года все увидели резкий рост цен на BTC и DOGE и купили ETH. Это привело к внезапному росту цены ETH.
Значения скользящего среднего:
fig = px.line(crypto, y=['ETH_7DAY_MA'] ) fig.show()
Гора падала так же быстро, как и поднималась. Люди, купившие по высокой цене, понесли огромные убытки.
DOGE:
fig = px.line(crypto, y=['DOGE'] ) fig.show()
Взлеты и падения DOGE также интересны. В январе 2021 года DOGE была ничем, а в начале мая 2021 года она сильно выросла. И его падение тоже было внезапным.
Значения скользящего среднего:
fig = px.line(crypto, y=['DOGE_7DAY_MA'] ) fig.show()
Код для построения всех остальных данных почти такой же.
Вывод
Теперь мы в значительной степени понимаем, что вызвало сбой. Кажется, что весь рынок криптовалют связаны друг с другом. Люди видят, как кто-то покупает BTC, они идут покупать ETH. Кто-то продает DOGE, они также продают свои BTC. Все взаимосвязано.
Рынок криптовалют очень волатилен, различные факторы приводят к бешеной распродаже. Одна из крупнейших криптовалютных бирж в мире, Coinbase, столкнулась с перебоями в обслуживании во время этой распродажи. Многие инвесторы в криптовалюту инвестировали, потому что они думали, что Тесла и Илон Маск были в биткойнах, и думали об этом как о следующем шаге в области финансов и валюты.
Многие критики говорят, что отсутствие регулирования и манипуляции ценами делают криптовалюту рискованной для новых инвесторов, и многие люди этой осенью потеряли свои деньги.
Начало: