Как нарисовать линию на графике chartSeries с помощью Quantmod?

Я хотел бы создать такой сюжет https://stat.ethz.ch/pipermail/r-sig-finance/attachments/20110826/19da3834/attachment.png , используя квант мод.

Я немного разочарован, наверное, очень простой задачей. Я хотел бы иметь возможность рисовать линию на графике с помощью Quantmod. После нескольких дней попыток я ни к чему не пришел. Я не вижу примера того, как это сделать с помощью функции Quantmod :: addLines (это единственный подобный вопрос, который я нашел, но не смог найти на него ответа http://r.789695.n4.nabble.com /quantmod-plot-trendline-td894632.html)

Моя проблема заключается в следующем: я хотел бы построить горизонтальную линию в указанную дату / время / столбец и значение y. Эта строка может иметь длину n (например, 5) полосок, начиная с некоторой определенной полосы (дополнительно я также хотел бы добавить текст чуть выше строки указанного значения y).

Я пробовал несколько вещей:

getSymbols("SPY")

lines.SPY <- (Hi(SPY) + Lo(SPY))/2
names(lines.SPY) <- c("lines")
lines.SPY$BuySell <- ifelse(lag(lines.SPY$lines) > lines.SPY$lines, 1, -1)

chartSeries(SPY, subset="2011-08::", theme=chartTheme('white',
up.col='blue', dn.col='red'))
addTA(lines.SPY$lines[lines.SPY$BuySell == -1,], type='p', col='darkred', pch="_", on=1, cex = 2.5)
addTA(lines.SPY$lines[lines.SPY$BuySell == 1,], type='p', col='green4', pch="_", on=1, cex = 2.5)

Но на самом деле это не строки ... И я не знаю, как добавить текст ...

Затем я попробовал это.

getSymbols("SPY")

subset = "2011-03::"

dev.new()
chartSeries(SPY, subset=subset, theme="white")
test <- xts(rep(coredata(last(Cl(SPY))), 20), order.by=index(last(SPY, n=20)))
addTA(test, on=1, col="red", legend=NULL, lwd=3)

Опять же, добавление текста не является возможный. Другая проблема с этим подходом заключается в том, что я не могу избавиться от легенды вверху. Поскольку я хочу нарисовать десятки или сотни таких линий на одной диаграмме, легенда не должна отображаться ...

Заранее спасибо за ваши идеи / примеры кода / ...

С уважением, Само.

8
задан 42- 28 August 2011 в 05:52
поделиться