peRm R group. Review of packages for r for market data downloading and analysis
Seminar psu 05.04.2013
1. Использование R для
моделирования финансовых
рынков
Пермский государственный Арбузов Вячеслав
научно-исследовательский arbuzov@prognoz.ru
университет 05.04.2013
Лаборатория финансового
моделирования и управления рисками
3. Выборка данных из матриц
x <- matrix(0,50,2)
x[,1]
x[1,]
x[,1]<-rnorm(50)
x
x[1,]<-rnorm(2)
x
x <- matrix(rnorm(100),50,2)
x[which(x[,1]>0),]
Операторы
и &
или |
4. Распределения
Основные распределения в R
Beta ?beta d – density
Binomial ?binom q – quantile
Cauchy ?cauchy r – random
Chi-squared ?chisq
Exponential ?exp
F ?f
Gamma ?gamma
Geometric ?geom
Hypergeometric ?hyper
Log-normal ?lnorm
Multinomial ?multinom
Negative binomial ?nbinom
Normal ?norm
Poisson ?pois
Student's t ?t
Uniform ?unif
Weibull ?weibull
10. Продвинутая графика
Размещение в одном окне
нескольких графиков
par(mfrow=c(2,2))
plot(rnorm(100),rbeta(100,12,1))
Добавление легенды на график
legend("topright", inset=.05, title="legend",
c("4","6","8"), horiz=TRUE)
14. Работа с пакетом quantmod
Визуализация данных Добавление технических
индикаторов
barChart(AAPL)
candleChart(AAPL,multi.col=TRUE,theme="white") addMACD()
chartSeries(AAPL,up.col='white',dn.col='blue') addBBands()
Управление
Преобразование
данными
данных
AAPL['2007']
to.weekly(AAPL)
AAPL['2007-03/2007']
AAPL['/2007'] to.monthly(AAPL)
AAPL['2007-01-03'] dailyReturn(AAPL)
weeklyReturn(AAPL)
monthlyReturn(AAPL)
18. Практическое задание № 1. Работа с данными
ЗАДАНИЕ:
a. Загрузить данные
1. AFLT
b. Построить графики
2. GAZP
c. Добавить индикаторы на графики
3. RTKM
d. Посчитать приросты цен
4. ROSN
e. Построить графики за 2008 год
5. SBER
6. SBERP
7. HYDR
8. LKOH Команды в помощь:
9. VTBR barChart(AAPL)
10. GMKN chartSeries(AAPL,up.col='white',dn.col='blue')
11. SIBN AAPL['2007-03/2007']
12. PLZL
addMACD()
13. MTSS
dailyReturn(AAPL)
14. CHMF
15. SNGS
19. Практическое задание № 2. Распределение приростов цен
1. AFLT
2. GAZP ЗАДАНИЕ:
3. RTKM a. Загрузить данные
4. ROSN b. Построить приросты цен закрытия
5. SBER c. Построить плотность распределения
6. SBERP d. Оценить параметры выбранного распределения
7. HYDR e. Построить на одном графике эмпирическое и
8. LKOH теоретическое распределения
9. VTBR
10. GMKN
11. SIBN Команды в помощь:
12. PLZL
13. MTSS getSymbols("AFLT",
14. CHMF src="Finam", period="day" , auto.assign=FALSE)
15. SNGS
library(MASS)
fitdistr(x,"normal")
hist(x)
density(x)
curve(dnorm(x, params[1], params[2]), col = 2, add = TRUE)
20. Практическое задание № 3. Оценка корреляций
1. AFLT
2. GAZP ЗАДАНИЕ:
3. RTKM a. Загрузить данные индекса ММВБ (MICEX)
4. ROSN b. Загрузить данные выбранного инструмента
5. SBER c. Посчитать дневные приросты
6. SBERP d. Найти корреляцию за весь период
7. HYDR e. Найти корреляцию за 2012 год
8. LKOH f. Найти корреляцию за 2008 год
9. VTBR g. Найти автокорреляцию приростов за период с 1
10. GMKN января 2013 по 1 апреля 2013
11. SIBN Команды в помощь:
12. PLZL
13. MTSS getSymbols(" MICEX ",
14. CHMF src="Finam", period="day" , auto.assign=FALSE)
15. SNGS
AAPL['2007']
AAPL['2007-03/2007']
AAPL['/2007']
AAPL['2007-01-03']
21. Практическое задание № 4. Расчет VaR
1. AFLT
2. GAZP ЗАДАНИЕ:
3. RTKM a. Загрузить данные выбранного инструмента
4. ROSN b. Посчитать дневные приросты
5. SBER c. Найти исторический VaR у инструмента
6. SBERP d. Найти параметрический VaR у инструмента
7. HYDR e. library(PerformanceAnalytics)
8. LKOH f. help(VaR)
9. VTBR
10. GMKN
11. SIBN Команды в помощь:
12. PLZL
13. MTSS quantile(x,0.95, na.rm=TRUE)
14. CHMF
15. SNGS AAPL['2007']
AAPL['2007-03/2007']
AAPL['/2007']
AAPL['2007-01-03']
22. Практическое задание № 5. Волатильность приростов
1. AFLT
2. GAZP ЗАДАНИЕ:
3. RTKM a. Загрузить данные выбранного инструмента
4. ROSN b. Посчитать дневные приросты
5. SBER c. Отобразить кластеризацию волатильности
6. SBERP d. Оценить модель garch
7. HYDR e. garchFit(data=x) @sigma.t
8. LKOH
9. VTBR
10. GMKN
11. SIBN Команды в помощь:
12. PLZL
13. MTSS AAPL['2007']
14. CHMF AAPL['2007-03/2007']
15. SNGS AAPL['/2007']
AAPL['2007-01-03']
23. Практическое задание № 6. Оценка длинной памяти в потоке заявок
1. AFLT
2. GAZP ЗАДАНИЕ:
3. RTKM a. Загрузить данные выбранного инструмента за 1 день
4. ROSN b. Посчитать длинную память в потоке заявок
5. SBER
6. SBERP
7. HYDR
8. LKOH
9. VTBR
10. GMKN
11. SIBN Команды в помощь:
12. PLZL
13. MTSS help (getFinData)
14. CHMF
15. SNGS
24. Практическое задание № 7. Расчет модели LPPL
ЗАДАНИЕ:
a. Загрузить данные индекса ММВБ c 2001 по 2009
b. Оценить параметры модели LPPL
c. Проделать оценку параметров для различных
«окон» и сохранить параметры модели
d. Отбросить «неправильные» параметры
МОДЕЛЬ LPPL:
Команды в помощь:
help(nsl)
25. Практическое задание № 8. Оптимизация портфеля
ЗАДАНИЕ: 1. AFLT
2. GAZP
a. Загрузить данные по следующим инструментам: 3. RTKM
4. ROSN
b. Построить график доходность - риск 5. SBER
6. SBERP
c. Сформировать оптимальный портфель 7. HYDR
использую функцию portfolio.optim из пакета 8. LKOH
tseries 9. VTBR
10. GMKN
d. Проанализировать выбранный портфель 11. SIBN
12. PLZL
e. Оценить 10 дневный VaR у выбранного портфеля 13. MTSS
14. CHMF
15. SNGS