Блог им. egenui
getSymbols('MICEX', from='2009-01-01', src='Finam', period='hour')
Давайте разберем несколько выдумманых гипотез относительно доходностей рынка в определенный период. MICEX_DAYILY <- to.daily(MICEX_HOUR)
MICEX_DAYILY$Return <- dailyReturn(MICEX_DAYILY)Далее среди всех дней выберем пятницы и построим гистограмму доходности а так же добавим на гистограмму такие показатели как среднее и стандартное отклонение
hist(MICEX_DAYILY[weekdays(index(MICEX_DAYILY)) %in% 'пятница']$Return *100, col='lightblue', border = "blue", main='MICEX Friday return 2009-2015 г.', xlab = 'Return %')
abline(v = sd(MICEX_DAYILY[weekdays(index(MICEX_DAYILY)) %in% 'пятница']$Return *100) , col='green') abline(v = sd(MICEX_DAYILY[weekdays(index(MICEX_DAYILY)) %in% 'пятница']$Return *100) *-1, col='red') abline(v = mean(MICEX_DAYILY[weekdays(index(MICEX_DAYILY)) %in% 'пятница']$Return *100), col='black')

hist(MICEX_DAYILY[endpoints(MICEX_DAYILY, on = 'quarters')]$Return *100,col = 'lightblue' , border = 'blue' ,breaks = 10, main = 'Last quarter day return 2009-2015', xlab = 'Return &')


> temp <- MICEX_HOUR[endpoints(MICEX_HOUR, on = 'quarters')] > temp[.indexhour(temp) %in% c(18)]Так как оказалось что данные с Финама по последним часам квартала за 2012-2013 год битые, брал данные только за 2014-2015
temp$Return <- Delt(temp$MICEX.Open, temp$MICEX.Close) temp <- temp['2014/2015']
MICEX.Open MICEX.High MICEX.Low MICEX.Close MICEX.Volume Return
2014-03-31 18:00:00 1359.89 1369.29 1359.70 1369.29 9358593897 0.0069123238
2014-06-30 18:00:00 1469.20 1476.38 1468.19 1476.38 4875800860 0.0048870133
2014-09-30 18:00:00 1415.32 1417.44 1411.07 1411.07 4106077578 -0.0030028545
2014-12-30 18:00:00 1393.77 1401.16 1392.30 1396.61 3107614804 0.0020376389
2015-03-31 18:00:00 1620.70 1626.18 1618.25 1626.18 2849980040 0.0033812550
2015-06-30 18:00:00 1644.90 1655.24 1644.90 1654.55 6319242715 0.0058666180
2015-09-30 18:00:00 1643.58 1644.27 1634.07 1642.97 4327525815 -0.0003711410
2015-11-13 18:00:00 1729.27 1731.09 1723.63 1728.17 5590636195 -0.0006361066
Данных для гистограммы слишком мало, поэтому просто выведу текстом
Error in data.frame(names, res, markets) :
arguments imply differing number of rows: 13006, 13008
install.packages(«rusquant», repos='http://R-Forge.R-project.org', type=«source»)
library(rusquant)
getSymbols('SBER', from='2015-01-01', src='Finam')
Можете порекомендовать хорошую книгу по R? Для начинающего?
r.psylab.info/library/
Нижеприведённый код сработал только после написания 'пятница' с заглавной буквы)