Data<-read.csv(file.choose())

EL el ETF The Organics, se dedica a exponerse a empresas de todo el mundo que puedan capitalizar el creciente deseo de generar alimentos, productos de belleza y cuidado personal derivados de formas naturales; incluyendo tambien las empresas que prestan servicios, producen, distribuyen, comercializan o venden alimentos, bebidas, cosmeticos, suplementos y envases organicos.

De aquí para muchos millenial, el vivir un estilo de vida amigable con el medio ambiente juega un papel importante en sus hábitos de consumo, ya que estan profundamente comprometidos a apoyar un sistema alimentario que sostenga y nutra el medio ambiente.
Informacion tomada de: “https://en-us.janushenderson.com/advisor/product/org-the-organics-etf/

ORG <- Data %>%  
  ggplot( aes(x=Data$Date, y=Data$Close)) +
  ggtitle("Precio de Cierre The Organics: Junio 2016 - agosto 2019") +
  geom_area(fill="skyblue", alpha=0.3) +
  geom_line(color="blue") +
  ylab("Precio de Cierre  ($MXN)") +
  xlab("Fecha")

ORG2 <- ggplotly(ORG)
## Warning: Removed 4 rows containing missing values (position_stack).
ORG2

Los datos de The Organic fueron tomados a partir del 2016-06-09, ya que antes de este periodo los precios de cotizacion eran demasiado bajos, debido a una falta de consolidacion del ETF, por lo que a partir de dicha fecha, The Organic empieza a cotizar de forma regular en la bolsa y conforme a la tendencia que maneja se puede observar que a partir del segundo bimestre del 2017 la accion empieza a levantar su precio, teniendo su maximo en 2018. A partir de este punto el ETF no ha podido mantener su alza, sino, todo lo contrario hasta la fecha.

years <- format(Data$Date, "%Y")
View(years)
tab <- table(years)
tab
## years
## 2016 2017 2018 2019 
##  143  251  251  168
mean(tab[1:(length(tab) - 1)])
## [1] 215

Desde que empezo su cotizacion de forma regular en la bolsa a partir del 2016 hasta la fecha, la media de dias que cotiza por año The Organic es de 215 días.

ORGdes <- ts(Data$Close, start = c(2016,06,09), frequency = 215) 
descorg<-decompose(ORGdes) 
autoplot(descorg)

En una primer instancia se hace una descomposicion de la serie con una ventana de 215, debido a la media de dias que cotiza por año.

ggseasonplot(ORGdes,year.labels=TRUE,year.labels.left=T) +
  ylab("Precio de cierre") +
  xlab("Componente estacional") +
  ggtitle("Gráfico estacional de The Organics por año")
## Warning: Removed 4 rows containing missing values (geom_path).
## Warning: Removed 1 rows containing missing values (geom_text).

En esta Grafica se puede observar la estacionalidad anual de esta serie.

Pronostico 1

ORGdes <- ts(Data$Close, start = c(2016,06,09), frequency = 215)
pronostico<-forecast(ORGdes)
View(pronostico)

datos_pronosticados<-data.frame(pronostico) 
View(datos_pronosticados)
autoplot(pronostico) + geom_forecast(h=50) + 
  ylab("Precio de cierre") +
  xlab("Tiempo") +
  ggtitle("Pronóstico The Organics a 50 días")
## Warning: Removed 4 rows containing missing values (geom_path).

subcojunto <- window(ORGdes, start = 2017)
autoplot(subcojunto) + geom_forecast(h=100)+
  ggtitle("Pronóstico de Peñoles a 100 días, w= 215")
## Warning: Removed 4 rows containing non-finite values (stat_forecast).

Pronostico 2

pron2 <- ts(Data$Close, start = c(2016,06,09), frequency = 220)
descorg2<-decompose(pron2) 
autoplot(descorg2)

pronostico2<-forecast(pron2)
View(pronostico2)

datos_pronosticados2<-data.frame(pronostico2) 
View(datos_pronosticados2)
autoplot(pronostico2) + geom_forecast(h=50) + 
  ylab("Precio de cierre") +
  xlab("Tiempo") +
  ggtitle("Pronóstico The Organics a 50 días")
## Warning: Removed 4 rows containing missing values (geom_path).

subcojunto2 <- window(pron2, start = 2017)
autoplot(subcojunto2) + geom_forecast(h=100)+
  ggtitle("Pronóstico de Peñoles a 100 días, w= 220")
## Warning: Removed 4 rows containing non-finite values (stat_forecast).

Pronosticos 3

pron3<- ts(Data$Close, start = c(2016,06,09), frequency = 210)
descorg3<-decompose(pron3) 
autoplot(descorg3)

pronostico3<-forecast(pron3)
View(pronostico3)

datos_pronosticados3<-data.frame(pronostico3) 
View(datos_pronosticados3)
autoplot(pronostico3) + geom_forecast(h=50) + 
  ylab("Precio de cierre") +
  xlab("Tiempo") +
  ggtitle("Pronóstico The Organics a 50 días")
## Warning: Removed 4 rows containing missing values (geom_path).

subcojunto3 <- window(pron3, start = 2017)
autoplot(subcojunto3) + geom_forecast(h=100)+
  ggtitle("Pronóstico de Peñoles a 100 días, w= 210")
## Warning: Removed 4 rows containing non-finite values (stat_forecast).

Pronostico 4

pron4 <- ts(Data$Close, start = c(2016,06,09), frequency = 213)
descorg4<-decompose(pron4) 
autoplot(descorg4)

pronostico4<-forecast(pron4)
View(pronostico4)

datos_pronosticados4<-data.frame(pronostico4) 
View(datos_pronosticados4)
autoplot(pronostico4) + geom_forecast(h=50) + 
  ylab("Precio de cierre") +
  xlab("Tiempo") +
  ggtitle("Pronóstico The Organics a 50 días")
## Warning: Removed 4 rows containing missing values (geom_path).

subcojunto4 <- window(pron4, start = 2017)
autoplot(subcojunto4) + geom_forecast(h=100)+
  ggtitle("Pronóstico de Peñoles a 100 días, w= 213")
## Warning: Removed 4 rows containing non-finite values (stat_forecast).

Pronostico 5

pron5<- ts(Data$Close, start = c(2016,06,09), frequency = 217)
descorg5<-decompose(pron5)
autoplot(descorg5)

pronostico5<-forecast(pron5)
View(pronostico5)

datos_pronosticados5<-data.frame(pronostico5) 
View(datos_pronosticados5)
autoplot(pronostico5) + geom_forecast(h=50) + 
  ylab("Precio de cierre") +
  xlab("Tiempo") +
  ggtitle("Pronóstico The Organics a 50 días")
## Warning: Removed 4 rows containing missing values (geom_path).

subcojunto5 <- window(pron5, start = 2017)
autoplot(subcojunto5) + geom_forecast(h=100)+
  ggtitle("Pronóstico de Peñoles a 100 días, w= 217")
## Warning: Removed 4 rows containing non-finite values (stat_forecast).

A partir de los analisi echos, se puede concluir que el pronostico numero 3 se ajusta mayormente a nuestros datos reales de los dias 3,4 y 5 de septiembre, esto a un corto plazo; a pesar de que esta ventana me provoca un corte de datos mayor a los anteriores y un pequeño desfase en los subconjuntos, debido a las pocas fluctaciones que sufre este etf a lo largo del tiempo. Por lo que con este pronostico podriamos empezar a tomar decisiones de compra sobre este ETF.

Con lo ya antes mencionado y a partir del pronostico 3, podriamos tomar la decision de no comprar el activo ya que se puede esperar un precio más bajo, para aprovechar las fluctuaciones del mecado.

Para finalizar se muestran las comparaciones de los pronosticos con lo real y el diferencial del pronostico3 vs el real.

Dif<-read.csv(file.choose())

View(Dif)