Vi propongo di seguito un'analisi che mostra dal 2018 ad oggi il prezzo del BTC e il suo rendimento annuo calcolato in continuo.
Negli ultimi anni si nota abbastanza stabile rispetto al passato intorno al 100%-150% annuo circa):
Codice Python usato per calcolarlo:
# Creazione del grafico prezzo BTC
display_date4 = '2018-01-01'
stocks_2 = stocks.loc[stocks.index >= display_date4]
plt.figure(figsize=(12, 6))
plt.plot(stocks_2.index, stocks_2['BTC-USD'], label='BTC Price', color='blue', linewidth=1)
# Personalizzazione del grafico
plt.title('BTC Price', fontsize=16)
plt.xlabel('Data', fontsize=12)
plt.ylabel('Price ($)', fontsize=12)
plt.legend(loc='upper left', fontsize=12)
plt.grid(alpha=0.4)
# Mostrare il grafico
plt.tight_layout()
# Calcolo dei rendimenti rolling annualizzati (365 giorni)
rol_window2 = 365 # Impostare 365 per rendimento annuale, 30 per mensile, 7 per settimanale,...
ptf_3 = pd.DataFrame()
ptf_3['Roll_Return_Btc'] = (
(1 + btc_returns).rolling(window=rol_window2).apply(lambda x: x.prod(), raw=True) - 1
)
ptf_3 = ptf_3.loc[ptf_3.index >= display_date4].dropna()
# Creazione del grafico
plt.figure(figsize=(12, 6))
plt.plot(ptf_3.index, ptf_3['Roll_Return_Btc'], label='Bitcoin', color='green', linewidth=1)
# Personalizzazione del grafico
plt.title('Rendimenti rolling Bitcoin', fontsize=16)
plt.xlabel('Data', fontsize=12)
plt.ylabel('Rendimento', fontsize=12)
plt.axhline(0, color='red', linestyle='--', linewidth=1, label='Zero')
plt.legend(loc='upper left', fontsize=12)
plt.grid(alpha=0.4)
# Mostrare il grafico
plt.tight_layout()
plt.show()