Блог им. SciFi

Создание красивых графиков на R для RIM6

    • 11 июня 2016, 14:58
    • |
    • SciFi
  • Еще
На R можно не только делать полезные расчеты, но и представлять их в красивом виде. 

Посчитал изменения цен за 5 минут (закрытие минус открытие) для RIM6 и графически представил, насколько цена бегает в среднем и может бегать в течение этих 5 минут. Это я уже делал и показывал, но на этот раз я добавил диаграмму плотности распределения и диаграмму размаха. Ниже под графиком есть другой график — пояснение к диаграмме размаха. 

Диаграмма размаха дает представление о том, какой будет размер тела свечи с вероятностью 50% — 60 пунктов и какой размер с вероятностью более 95% — не более примерно 250 пунктов. Видно также, что цена может теоретически улететь на 800 пунктов за 5 минут. 

Данные взял за последние 10 дней. Если взять за последние 30, можно увидеть выброс на 1600 пунктов.

Также это можно использовать для расстановки заявок в стакане, если вы используете математическую модель для предсказания цены.

Графики

* нажмите на картинку, чтобы увеличить и более четко увидеть текст и цифры
* синие горизонтальные линии на втором графике — это ± 1 сигма и 2 сигмы.

Создание красивых графиков на R для RIM6

Пояснение


Создание красивых графиков на R для RIM6
Эта картинка из википедии из статьи Квантиль.

Текстовая часть выдачи кода

> source("D://Dropbox//R//earnings-RTS.r")
[1] "sdT =  110.317631956078"
[1] "meanT - 2 * sdT =  -218.883720702279"
[1] "meanT - 1 * sdT =  -108.566088746201"
[1] "meanT + 1 * sdT =  112.069175165954"
[1] "meanT + 2 * sdT =  222.386807122032"


Код на R

#install.packages("tseries")
#install.packages("rusquant", repos="http://R-Forge.R-project.org")
# Установка пакетов. Она не требуется, если уже все установлено.

library(tseries)
library(rusquant)
# Подключение библиотек

if (length (RIM6) == 0) {
  getSymbols("RIM6", src = "Finam", from = Sys.Date() - 10, period = "5min")
}
# Получение данных, если их нет

abs.returns <- Cl(RIM6) - Op(RIM6)
# Абсолютные доходности

dev.off()
# Очистка графика через выключение графического устройства R

par(mfrow=c(3,1))
# Создаем график с 3 строками и 1 столбцом

hist(abs.returns, breaks=100, col = "blue", border = "gray",
     xlab = "Absolute Returns", ylab = "Frequency",
     main = "Histogram of absolute returns for RIM6 (5 min)")
# Гистограмма размеров свечей

axis(1, at = seq(-800, 800, by = 100), las = 1)
# Корректируем значения x-координат

d <- density(abs.returns)
# Функция плотности распределения

plot(d, main = "Density of absolute returns")
# Диаграмма плотности распределения

polygon(d, col="red", border="blue", lwd = 2)
# Закрашиваем диаграмму

axis(1, at = seq(-800, 800, by = 100), las = 1)
# Корректируем значения x-координат

meanT <- as.numeric(mean(abs.returns, na.rm=TRUE))
sdT <- as.numeric(sd(abs.returns, na.rm=TRUE))
abline(v = meanT + 1 * sdT, col = "blue", lwd = 2)
abline(v = meanT + 2 * sdT, col = "blue", lwd = 2)
abline(v = meanT - 1 * sdT, col = "blue", lwd = 2)
abline(v = meanT - 2 * sdT, col = "blue", lwd = 2)

print (paste("sdT = ",sdT))
print (paste("meanT - 2 * sdT = ",meanT - 2 * sdT))
print (paste("meanT - 1 * sdT = ",meanT - 1 * sdT))
print (paste("meanT + 1 * sdT = ",meanT + 1 * sdT))
print (paste("meanT + 2 * sdT = ",meanT + 2 * sdT))

v.abs.returns <- as.vector(abs.returns)
# Получение вектора

boxplot(v.abs.returns , xlab="Absolute returns" , 
        col="green", horizontal = TRUE, outline = TRUE, staplewex = 1)
# Диаграмма размаха, содержит медиану, верхний и нижний квантили, наблюдаемые максимум и минимум и выбросы

axis(1, at = seq(-800, 800, by = 100), las = 1)
# Корректируем значения x-координат

text(x = fivenum(v.abs.returns), labels = fivenum(v.abs.returns), y = 1.3)
# Добавление текста

Список источников

Polygon Drawing

Set or Query Graphical Parameters

How to specify the actual x axis values to plot as x axis ticks in R

Квантиль

Box Plots

320 | ★14
2 комментария
Статья про Р? Плюсую не глядя
avatar
РТС это развод, развод это, разведут вас и всех… все индексы это развод, как хотят так и торгуются, сегодня он копирует сбер завтра газ, через 3 дня нефть, через 4 бакс… неугадайка.
РТС большой… нет не так… огромный любитель рисовать ДИВЕРЫ в огромных количествах

на всех таймфреймах
avatar

Читайте на SMART-LAB:
Фото
🧠 Ресейл и поколение Z: почему молодёжь выбирает разумное потребление
📱 Поколение Z относится к потреблению прагматичнее, чем остальные. Для них важны не громкие слова и статус, а понятная ценность покупки —...
5 идей в российских акциях. Индекс МосБиржи снова на грани 2700
Индекс МосБиржи опять торгуется на грани значимого уровня 2700 п. Сейчас не исключен очередной отскок от указанного уровня. Кроме того, рынок...
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 13 января 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
Хэдхантер. Ситуация на рынке труда в декабре идет ко дну - хуже не было никогда
Вышла статистика рынка труда за декабрь 2025 года, которую Хедхантер публикует ежемесячно, что же там интересного: Динамика...

теги блога SciFi

....все тэги



UPDONW
Новый дизайн