Bitcoin x Ethereum

Histórico

O gráfico abaixo mostra o preço em US$ no fechamento do dia para as criptomoedas Bitcoin e Ethereum.

Preço em US$ no fechamento para Bitcoin e Ethereum
Preço em US$ no fechamento para Bitcoin e Ethereum

O gráfico abaixo mostra a autocorrelação para as criptomoedas Bitcoin e Ethereum.

Autocorrelação para as criptomoedas Bitcoin e Ethereum
Autocorrelação para as criptomoedas Bitcoin e Ethereum

Os gráficos de autocorrelação são uma ferramenta comumente usada para verificar a aleatoriedade em um conjunto de dados. Esta aleatoriedade é verificada pela computação de autocorrelações para valores de dados com defasagens de tempo (lag) variáveis. As linhas horizontais no gráfico correspondem a faixas de confiança de 95% e 99%.

Dados

Os dados foram obitidos na página Download historical data for cryptocurrencies. Easy & Reliable..

Programa

Abaixo está mostrado o código do programa, escrito em Python, que gera os gráficos.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Bitcoin x Ethereum

Data source: https://get-historical-data.com/

Created on Tue Dec  7 17:24:43 2021

@author: halley
"""

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os

# Directories
home_dir = os.path.expanduser("~")
data_dir = os.path.join(home_dir + "/R/cryptocurrency/")
img_dir = os.path.join(home_dir + "/doctec/static/img/cryptocurrency/")
# Read Bitcoin and Ethereum time series
btc = pd.read_csv(data_dir + "btcusd.csv")
eth = pd.read_csv(data_dir + "ethusd.csv")
# Print dataframes head and tail rows
print(pd.to_datetime(btc.timestamp, unit="s"))
print(pd.to_datetime(eth.timestamp, unit="s"))
# Merge Bitcoin and Ethereum dataframes
btc_eth = pd.merge(btc, eth, on="timestamp", suffixes=("_btc", "_eth"))
# Unix timestamp to datetime
btc_eth["Day"] = pd.to_datetime(btc_eth["timestamp"], unit="s")
# Index
btc_eth.index = btc_eth["Day"]
del btc_eth["Day"]
# Maximum values
max_date = max(btc_eth.index).strftime("%Y-%m-%d")
max_high_btc = max(btc_eth.high_btc)
row_max_high_btc = np.argmax(btc_eth.high_btc)
day_max_high_btc = pd.to_datetime(btc_eth.index[btc_eth['high_btc'] == max_high_btc])[0]
txt_max_high_btc = "All Time High Bitcoin Price: US$ "
txt_max_high_btc += f"{max_high_btc:.1f}"
txt_max_high_btc += " on "
txt_max_high_btc += day_max_high_btc.strftime("%Y-%m-%d")
max_high_eth = max(btc_eth.high_eth)
row_max_high_eth = np.argmax(btc_eth.high_eth)
day_max_high_eth = pd.to_datetime(btc_eth.index[btc_eth['high_eth'] == max_high_eth])[0]
txt_max_high_eth = "All Time High Ethereum Price: US$ "
txt_max_high_eth += f"{max_high_eth:.1f}"
txt_max_high_eth += " on "
txt_max_high_eth += day_max_high_eth.strftime("%Y-%m-%d")
# Plot Bitcoin x Ethereum
f = plt.figure()
f.set_figwidth(8)
f.set_figheight(4.5)
plt.style.use('seaborn')
plt.plot("close_btc", data=btc_eth, label="Bitcoin")
plt.plot("close_eth", data=btc_eth, label="Ethereum")
plt.title("Cryptocurrencies - Prices at Close until " + max_date)
plt.xlabel("Date")
plt.ylabel("US$")
plt.legend(loc="best")
plt.grid(True)
plt.text(btc_eth.index[0], 51000, txt_max_high_btc)
plt.text(btc_eth.index[0], 41000, txt_max_high_eth)
plt.text(btc_eth.index[0], 31000, "Data source: https://get-historical-data.com/")
plt.draw()
# plt.show()
plt.savefig(img_dir + "bitcoin_ethereum.png")
plt.close()
# Plot autocorrelation
title = "Cryptocurrencies Autocorrelation - " + max_date
plt.title(title)
btc_autocorrelation_plot = pd.plotting.autocorrelation_plot(
    btc["close"], label="Bitcoin"
)
btc_autocorrelation_plot.plot()
eth_autocorrelation_plot = pd.plotting.autocorrelation_plot(
    eth["close"], label="Ethereum"
)
eth_autocorrelation_plot.plot()
plt.draw()
# plt.show()
plt.savefig(img_dir + "bitcoin_ethereum_autocorr.png")
plt.close()
Referências
Termos de uso - Isenção de responsabilidade

O autor deste site não se responsabiliza, direta ou indiretamente, pela utilização de qualquer material apresentado. Este material é baseado na experiência pessoal do autor, obtida a partir de sites na Internet, pessoas, livros e outros materiais sobre este assunto, devendo ser visto apenas como material educacional, e não como um aconselhamento para investimentos, a partir do qual o leitor deve se aprofundar para desenvolver o seu próprio material. É recomendado a todos os leitores deste site estudarem bem o assunto antes de tomarem qualquer decisão porque, como se sabe, os riscos financeiros envolvidos no mercado de capitais podem ser bastante elevados.