如何在一个时间序列中找到一定幅度的股市走势?

时间:2013-07-11 17:34:07

标签: r time-series quantmod quantitative-finance

我正在用R弄湿我的脚,经过我目前的任务经过多次反复试验后,我仍然陷入困境。我有股票代码的价格数据。我试图在我的数据中找到熊市,定义为定价数据点<= 20%,低于之前的点(但不是太早)。这是一个时间序列任务吗?我希望这不是太模糊;我还在学习这些能力,所以这是我所知道的最好,最简洁的方式。

提前致谢..

2 个答案:

答案 0 :(得分:3)

这是一个版本,可以检测价格比以前的价格小一些比例的天数(例如,20%) 对于一些回顾期(例如,60天)。

## Some prices
set.seed(321)
prices    <- cumprod(1 + rnorm(300, 0.005, 0.05))

## Detection of "bear" periods
threshold <- 0.2
lookback  <- 60  # Set to length(prices) for no lookback restriction
is.bear   <- sapply(1:length(prices),
                    function(i, prices, threshold = 0.2, lookback = length(prices)){
                        (prices[i] / max(tail(prices[1:i], lookback))) < (1 - threshold)
                    },
                    prices = prices, threshold = threshold, lookback = lookback)
## Result
plot(prices, type = "l")
rug(which(is.bear), col = "red", lwd = 2)

enter image description here

答案 1 :(得分:1)

看看PerformanceAnalytics,特别是DrawdownPeak,它可能就是你要找的东西