Los datos se obtienen de KAGGLE, una fuente libre de datos historicos de lo que deseen.
## # A tibble: 1 x 13
## slug symbol name date ranknow open high low close volume market
## <chr> <chr> <chr> <date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 bitc… BTC Bitc… 2013-04-28 1 135. 136. 132. 134. 0 1.49e9
## # … with 2 more variables: close_ratio <dbl>, spread <dbl>
## slug symbol name date ranknow open high low close volume
## 1 bitcoin BTC Bitcoin 2013-04-28 1 135.30 135.98 132.10 134.21 0
## 2 bitcoin BTC Bitcoin 2013-04-29 1 134.44 147.49 134.00 144.54 0
## 3 bitcoin BTC Bitcoin 2013-04-30 1 144.00 146.93 134.05 139.00 0
## market close_ratio spread
## 1 1488566728 0.5438 3.88
## 2 1603768865 0.7813 13.49
## 3 1542813125 0.3843 12.88
## symbol date ranknow close
## 1 BTC 2013-04-28 1 134.21
## 2 BTC 2013-04-29 1 144.54
## 3 BTC 2013-04-30 1 139.00
## 4 BTC 2013-05-01 1 116.99
## 5 BTC 2013-05-02 1 105.21
## 6 BTC 2013-05-03 1 97.75
## symbol n
## 1 BCH 495
## 2 BTC 2042
## 3 EOS 517
## 4 ETH 1211
## 5 XLM 1578
## 6 XRP 1944
Bitcoin es una criptomoneda inventada en 2008 por una persona desconocida o un grupo de personas que usa el nombre Satoshi Nakamoto y comenzó en 2009 cuando se lanzó su implementación como software de código abierto
## date BTC
## 1 2015-12-31 430.57
## 2 2016-01-01 434.33
## 3 2016-01-02 433.44
ETH es una criptomoneda. Es escaso el dinero digital que puede usar en Internet, similar a Bitcoin.
## date ETH
## 1 2015-12-31 0.933542
## 2 2016-01-01 0.948024
## 3 2016-01-02 0.937124
Es el símbolo ticker de Stellar Lumens, una criptomoneda popular. Stellar es una infraestructura de pagos distribuidos que es completamente de código abierto.
Es como otras monedas digitales en la forma en que usa la tecnología blockchain pero se ejecuta en una red especialmente creada
## date XLM
## 1 2015-12-31 0.001751
## 2 2016-01-01 0.001748
## 3 2016-01-02 0.001741
Ripple es un sistema de liquidación bruta en tiempo real, cambio de moneda y red de remesas creado por Ripple Labs Inc., una compañía de tecnología con sede en los Estados Unidos. Lanzado en 2012,
Ripple se basa en un protocolo de código abierto distribuido y admite tokens que representan moneda fiduciaria, criptomoneda, productos u otras unidades de valor, como millas de viajero frecuente o dispositivos móviles.
## date XRP
## 1 2015-12-31 0.006040
## 2 2016-01-01 0.005955
## 3 2016-01-02 0.006065
## date XRP XLM ETH BTC
## 1 2015-12-31 0.006040 0.001751 0.933542 430.57
## 2 2016-01-01 0.005955 0.001748 0.948024 434.33
## 3 2016-01-02 0.006065 0.001741 0.937124 433.44
## [1] "data.frame"
symbols1 <- c("XRP", "XLM", "ETH","BTC")
crypto_returns_tq_builtin <- CRYPTO_FOLIO_df %>%
gather(asset, CRYPTO_FOLIO_df, -date) %>%
group_by(asset) %>%
tq_transmute(mutate_fun = periodReturn,
period = "monthly",
type = "log") %>%
spread(asset, monthly.returns) %>%
select(date, symbols1) %>%
slice(-1)
## Note: Using an external vector in selections is ambiguous.
## ℹ Use `all_of(symbols1)` instead of `symbols1` to silence this message.
## ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
head(crypto_returns_tq_builtin,3)
## # A tibble: 3 x 5
## date XRP XLM ETH BTC
## <date> <dbl> <dbl> <dbl> <dbl>
## 1 2016-01-31 0.0577 0.0142 0.906 -0.155
## 2 2016-02-29 0.214 0.0930 1.01 0.171
## 3 2016-03-31 -0.0695 0.0392 0.587 -0.0491
highchart(type = "stock") %>%
hc_title(text = "Monthly Log Returns") %>%
hc_add_series(crypto_returns_tq_builtin$XRP,
name = symbols1[1]) %>%
hc_add_series(crypto_returns_tq_builtin$XLM,
name = symbols1[2]) %>%
hc_add_series(crypto_returns_tq_builtin$ETH,
name = symbols1[3]) %>%
hc_add_series(crypto_returns_tq_builtin$BTC,
name = symbols1[4]) %>%
hc_add_theme(hc_theme_flat()) %>%
hc_navigator(enabled = FALSE) %>%
hc_scrollbar(enabled = FALSE) %>%
hc_exporting(enabled = TRUE) %>%
hc_legend(enabled = TRUE)
hc_hist_XRP <- hist(crypto_returns_tq_builtin$XRP,
breaks = 50,
plot = TRUE)
hc_hist_XLM <- hist(crypto_returns_tq_builtin$XLM,
breaks = 50,
plot = TRUE)
hchart(hc_hist_XRP, color = "cornflowerblue")
asset1 <-crypto_returns_tq_builtin[2]
asset2 <-crypto_returns_tq_builtin[3]
asset3 <-crypto_returns_tq_builtin[4]
asset4 <-crypto_returns_tq_builtin[5]
## date returns
## 1 2016-01-31 0.20574860
## 2 2016-02-29 0.37189320
## 3 2016-03-31 0.12684324
## 4 2016-04-30 -0.08913130
## 5 2016-05-31 0.06978795
## 6 2016-06-30 0.14928779
Con este graico vemos el comportamiento del portafolio elegido en el tiempo
highchart(type = "stock") %>%
hc_title(text = "Portfolio Monthly Returns") %>%
hc_add_series(crypto_portfolio_returns_byhand$returns,
name = "Rebalanced Monthly",
color = "cornflowerblue") %>%
hc_add_theme(hc_theme_flat()) %>%
hc_navigator(enabled = FALSE) %>%
hc_scrollbar(enabled = FALSE) %>%
hc_legend(enabled = TRUE) %>%
hc_exporting(enabled = TRUE)
hc_portfolio <-
hist(crypto_portfolio_returns_byhand$returns,
breaks = 50,
plot = FALSE)
hchart(hc_portfolio,
color = "cornflowerblue",
name = "Portfolio") %>%
hc_title(text = "Portfolio Returns Distribution") %>%
hc_add_theme(hc_theme_flat()) %>%
hc_exporting(enabled = TRUE)
crypto_portfolio_returns_byhand %>%
ggplot(aes(x = date, y = returns)) +
geom_point(colour = "cornflowerblue")+
xlab("date") +
ylab("monthly return") +
theme_update(plot.title = element_text(hjust = 0.5)) +
ggtitle("Portfolio Returns Scatter") +
scale_x_date(breaks = pretty_breaks(n=6))
crypto_portfolio_returns_byhand %>%
ggplot(aes(x = returns)) +
geom_histogram(binwidth = .005,
fill = "cornflowerblue",
color = "cornflowerblue") +
ggtitle("Portfolio Returns Distribution") +
theme_update(plot.title = element_text(hjust = 0.5))
El riesgo financiero, hace referencia a la posibilidad de pérdida o incertidumbre que se tiene sobre el rendimiento de una inversión
El riesgo, se calcula con la desviación estándar,asimetría y curtosis de los rendimientos de la cartera. La desviación estándar funciona como la medida principal del riesgo de cartera. selección de cartera y diversificación eficiente de inversiones,
En resumen, la desviación estándar mide como los retornos de una cartera se dispersan alrededor de su media. Si vuelve están más dispersos, la cartera tiene una desviación estándar más alta y se ve como más riesgoso o más volátil.
También veremos la asimetría y la curtosis, dos indicadores de cómo un portafolio se distribuyen los retornos.
Ambos se suman a la historia del riesgo y nos hacen saber sobre la dispersión de nuestros retornos. Los flujos de código para asimetría y curtosis son similares que para la desviación estándar.
La desviación estándar es una medida estadística que mide cuánto se dispersan los valores en torno a su promedio.
En el contexto de la teoría de la cartera moderna, la desviación estándar se ha convertido en sinónimo de riesgo. Un activo cuya rentabilidad tiene una desviación estándar más alta es más volátil, y se considera más arriesgado que un activo con una volatilidad más baja.
Dado que el mercado generalmente ofrece una remuneración según el riesgo soportado, una mayor volatilidad se traduce en un mayor rendimiento esperado.
crypto_portfolio_sd_builtin_percent <-
crypto_portfolio_returns_byhand %>%
tq_performance(Ra = returns,
Rb = NULL,
performance_fun = table.Stats) %>%
select(Stdev) %>%
mutate(tq_sd = round(Stdev, 4) * 100)
head(crypto_portfolio_sd_builtin_percent,3)
## # A tibble: 1 x 2
## Stdev tq_sd
## <dbl> <dbl>
## 1 0.398 39.8
sd_roll_24 <-
rollify(sd, window = window)