2 votos

R: la Búsqueda de picos en el precio de una acción gráfico

Me gustaría hacer es lo que yo pensaba que al ser una simple tarea: encontrar la ubicación de los picos para un determinado stock, y la marca de los picos en un gráfico.

Me sorprendió por la falta de ejemplos en internet. Por ejemplo, la descripción de findPeaks función de quantmod paquete no puede ni siquiera explicar lo que el segundo argumento (thresh) representar. Podría alguien por favor explicarme?

Así que, esto es lo que he conseguido:

library(quantmod)    
APL <- getSymbols("AAPL", src = "yahoo", auto.assign = FALSE)

aapl.price <-AAPL$AAPL.Close

p <- findPeaks(aapl.price, 10)

plot(aapl.price, type = 'l')
points(aapl.price[p],index(aapl.price)[p], col = "red")

Esto viene de arriba:code output

Obviamente, hay diferentes maneras de definir los picos, pero de cualquier forma el resultado no es lo que uno quiere ver. Podría alguien por favor proporcione la orientación?

También, por favor, hágamelo saber si esto se hace mejor uso de algún otro paquete

2voto

BigCanOfTuna Puntos 210

Como usted ha mencionado, existen diferentes maneras de definir los picos.

Un método es implementado en función de streaks en el paquete PMwR. La función de buscar para las fases de movimientos arriba o abajo que no se ve interrumpido por contramovimientos de un tamaño especificado. Los picos y las depresiones son entonces los puntos extremos de las fases.

He aquí un ejemplo:

library("quantmod")    
library("zoo")    
library("PMwR")    

AAPL <- getSymbols("AAPL", src = "yahoo", auto.assign = FALSE)
aapl.price <- window(as.zoo(AAPL$AAPL.Close),
                     start = as.Date("2010-1-1"))


plot(aapl.price)

streaks <- streaks(aapl.price)
streaks
##        start        end state     return
## 1 2010-01-04 2010-02-04  <NA> -0.1026120
## 2 2010-02-04 2012-09-19    up  2.6558188
## 3 2012-09-19 2013-04-19  down -0.4437687
## 4 2013-04-19 2015-02-23    up  1.3839397
## 5 2015-02-23 2016-05-12  down -0.3207519
## 6 2016-05-12 2018-10-03    up  1.5688512
## 7 2018-10-03 2019-01-03  down -0.3872969
## 8 2019-01-03 2020-02-12    up  1.3011464
## 9 2020-02-12 2020-03-13  down -0.1504585

abline(v = streaks$end)

AAPL chart (Revelación: yo soy el mantenedor de PMwR.)

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X