SlideShare a Scribd company logo
1 of 26
Использование R для
 моделирования финансовых
          рынков




Пермский государственный             Арбузов Вячеслав
научно-исследовательский               arbuzov@prognoz.ru
университет                                    05.04.2013



Лаборатория финансового
моделирования и управления рисками
Необходимые
 знания в R
Выборка данных из матриц

  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),]

 Операторы
 и       &
 или    |
Распределения

                    Основные распределения в 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
Распределения


                        Построим плотность выбранного
                               распределения…


   x <- seq(-4, 4, length=100)
   dx <- d?????(x)
   plot(x, hx, type=“l”)


                             Сгенерируем СВ выбранного
                                  распределения…


    x<-rnorm(1000)
Распределения

                Каким распределением
                   описывается СВ?
  hist (?)
  density (?)




                  ?
Оценка параметров распределений

                               Оценим параметры
                           выбранного распределения….

    library(MASS)

    fitdistr(x,"normal")

    params<-fitdistr(x,"normal")$estimate

                              Сравним теоретическое и
                            эмпирическое распределения

    hist(x, freq = FALSE,ylim=c(0,0.4))

    curve(dnorm(x, params[1], params[2]), col = 2, add = TRUE)
Корреляции



   y<-rnorm(1000)
   cor(x,y)

   cor(x,y, ,method = ?????)

   acf(y)
Нелинейный МНК



  x<-seq(0,10,length=1000)


  y<-2*sin(3*x)+rnorm(1000,0,0.8)

  z<-rnorm(1,2,3)
           Как оценить параметры
                 уравнения?




  help(nls)


  nls(y ~ A*sin(B*x))


  nls(y ~ A*sin(B*x),start=list(A=1.8,B=3.1))
Продвинутая графика


                               Размещение в одном окне
                                 нескольких графиков


 par(mfrow=c(2,2))

 plot(rnorm(100),rbeta(100,12,1))

                              Добавление легенды на график


 legend("topright", inset=.05, title="legend",
  c("4","6","8"), horiz=TRUE)
Графика пакета lattice
                               library(lattice)




bwplot(sign(rnorm(30))~rnorm(30)|runif(3))           cloud(y~x*y)




xyplot(rnorm(100)~rnorm(100)|rnorm(4))            densityplot(rnorm(4))
Графика пакета ggplot2

                               library(ggplot2)
    qplot(rnorm(100))                          qplot(rnorm(100),geom='density')




                                                 qplot(rnorm(100),rnorm(100),
qplot(rnorm(100),rnorm(100))                       size=sign(rnorm(100))+1)
Загрузка данных

      Package quantmod                      Package rusquant


getSymbols("GOOG",src="yahoo",       getSymbols("SPFB.RTS", from="2011-01-
from = "2007-01-01“, to =           01", src="Finam“, period="hour"
Sys.Date())                         , auto.assign=FALSE)

                                    1min, 5min, 10min, 15min,
getSymbols("USD/EUR",src="oanda")   30min, hour, day, week, month
Работа с пакетом 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)
Загрузка данных

Package RODBC

library(RODBC)




odbcDriverConnect(“”)
channel <- odbcConnect("psu_schs",“student","Qwerty1")
sqlQuery(channel, “select * from LPPL_MODELS”)
Использование пакета RMiFIT


library(RMiFIT )


 getFinData(Symbols = "AFLT",period = “mins")

 getFinData(Symbols = "TGKI",from = "2010-04-01",
 to = "2010-04-01",period = "deals")

 getFinData(Symbols = "AFLT",from = "2012-12-14",
 to = "2012-12-14",src=“Finam” ,period = "tick")


 getFinData(Symbols = "AFLT", from = "2012-12-04",period = "orders")




www.r-group.mifit.ru
Практические
  задания
Практическое задание № 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
Практическое задание № 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)
Практическое задание № 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']
Практическое задание № 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']
Практическое задание № 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']
Практическое задание № 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
Практическое задание № 7. Расчет модели LPPL


ЗАДАНИЕ:
a. Загрузить данные индекса ММВБ c 2001 по 2009
b. Оценить параметры модели LPPL
c. Проделать оценку параметров для различных
   «окон» и сохранить параметры модели
d. Отбросить «неправильные» параметры

МОДЕЛЬ LPPL:




Команды в помощь:

help(nsl)
Практическое задание № 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
Вопросы?




arbuzov@prognoz.ru

More Related Content

What's hot

Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Mikhail Kurnosov
 
Метапрограммирование за гранью приличия
Метапрограммирование за гранью приличияМетапрограммирование за гранью приличия
Метапрограммирование за гранью приличияAlexander Schepanovski
 
Интерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадИнтерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадZheka Kozlov
 
Лекция 7: Бинарные кучи (пирамиды)
Лекция 7: Бинарные кучи (пирамиды)Лекция 7: Бинарные кучи (пирамиды)
Лекция 7: Бинарные кучи (пирамиды)Mikhail Kurnosov
 
Лекция 4. Стеки и очереди
Лекция 4. Стеки и очередиЛекция 4. Стеки и очереди
Лекция 4. Стеки и очередиMikhail Kurnosov
 
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10Mikhail Kurnosov
 
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)Mikhail Kurnosov
 
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Nikolay Grebenshikov
 
Программирование. Лекция 3
Программирование. Лекция 3Программирование. Лекция 3
Программирование. Лекция 3Andrei V, Zhuravlev
 
Лекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиЛекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиMikhail Kurnosov
 
Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Theoretical mechanics department
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Sergey Tihon
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНСit-people
 
Лекция 8. Графы. Обходы графов
Лекция 8. Графы. Обходы графовЛекция 8. Графы. Обходы графов
Лекция 8. Графы. Обходы графовMikhail Kurnosov
 
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
 

What's hot (20)

Scala #3
Scala #3Scala #3
Scala #3
 
msumobi2. Лекция 1
msumobi2. Лекция 1msumobi2. Лекция 1
msumobi2. Лекция 1
 
Векторизация кода (семинар 3)
Векторизация кода (семинар 3)Векторизация кода (семинар 3)
Векторизация кода (семинар 3)
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Метапрограммирование за гранью приличия
Метапрограммирование за гранью приличияМетапрограммирование за гранью приличия
Метапрограммирование за гранью приличия
 
Интерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадИнтерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монад
 
Лекция 7: Бинарные кучи (пирамиды)
Лекция 7: Бинарные кучи (пирамиды)Лекция 7: Бинарные кучи (пирамиды)
Лекция 7: Бинарные кучи (пирамиды)
 
Лекция 4. Стеки и очереди
Лекция 4. Стеки и очередиЛекция 4. Стеки и очереди
Лекция 4. Стеки и очереди
 
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10
Лекция 12 (часть 2): Языки программирования семейства PGAS: IBM X10
 
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)
Лекция 7: Очереди с приоритетами. Бинарные кучи (пирамиды)
 
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
 
Программирование. Лекция 3
Программирование. Лекция 3Программирование. Лекция 3
Программирование. Лекция 3
 
Лекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимостиЛекция 10: Графы. Остовные деревья минимальной стоимости
Лекция 10: Графы. Остовные деревья минимальной стоимости
 
Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование Python. Объектно-ориентированное программирование
Python. Объектно-ориентированное программирование
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.
 
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
«Память и Python. Что надо знать для счастья?» Алексей Кузьмин, ЦНС
 
Лекция 8. Графы. Обходы графов
Лекция 8. Графы. Обходы графовЛекция 8. Графы. Обходы графов
Лекция 8. Графы. Обходы графов
 
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
Лекция 6. Фибоначчиевы кучи (Fibonacci heaps)
 
Метод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёлМетод искусственной пчелиной колонии, алгоритм пчёл
Метод искусственной пчелиной колонии, алгоритм пчёл
 

Viewers also liked

Financial market simulation based on zero intelligence models
Financial market simulation based on zero intelligence modelsFinancial market simulation based on zero intelligence models
Financial market simulation based on zero intelligence modelsVyacheslav Arbuzov
 
Изменение финансового поведения в условиях нестабильности внешней среды
Изменение финансового поведения в условиях нестабильности внешней средыИзменение финансового поведения в условиях нестабильности внешней среды
Изменение финансового поведения в условиях нестабильности внешней средыNAFI Analytical Center
 
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...Финансовая грамотность россиян и потребительское поведение на рынке финансовы...
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...NAFI Analytical Center
 
OZON.ru подвел итоги 2016 года
OZON.ru подвел итоги 2016 годаOZON.ru подвел итоги 2016 года
OZON.ru подвел итоги 2016 годаИгорь Назаров
 
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньги
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньгиЖизнь в сети. Как россияне покупают, платят и зарабатывают деньги
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньгиИгорь Назаров
 
Extent3 prognoz practical_approach_lppl_model_2012
Extent3 prognoz practical_approach_lppl_model_2012Extent3 prognoz practical_approach_lppl_model_2012
Extent3 prognoz practical_approach_lppl_model_2012extentconf Tsoy
 
How Pinterest Scaled To Build The World's Catalog of 100+ Billion Ideas
How Pinterest Scaled To Build The World's Catalog of 100+ Billion IdeasHow Pinterest Scaled To Build The World's Catalog of 100+ Billion Ideas
How Pinterest Scaled To Build The World's Catalog of 100+ Billion IdeasRomit Jadhwani
 
Performance marketing в России - 2017
Performance marketing в России - 2017Performance marketing в России - 2017
Performance marketing в России - 2017Data Insight
 
The Critical KPI to drive Manufacturing Productivity
The Critical KPI to drive Manufacturing ProductivityThe Critical KPI to drive Manufacturing Productivity
The Critical KPI to drive Manufacturing ProductivityJason Corder
 
Рынок e-commerce в России: итоги 2016 года
Рынок e-commerce в России: итоги 2016 годаРынок e-commerce в России: итоги 2016 года
Рынок e-commerce в России: итоги 2016 годаИгорь Назаров
 
Net Promoter Score Pitfalls to Avoid
Net Promoter Score Pitfalls to AvoidNet Promoter Score Pitfalls to Avoid
Net Promoter Score Pitfalls to AvoidAureus Analytics
 

Viewers also liked (14)

Seminar PSU 10.10.2014 mme
Seminar PSU 10.10.2014 mmeSeminar PSU 10.10.2014 mme
Seminar PSU 10.10.2014 mme
 
Banking Congress in Russia
Banking Congress in RussiaBanking Congress in Russia
Banking Congress in Russia
 
HPC in R
HPC in RHPC in R
HPC in R
 
Financial market simulation based on zero intelligence models
Financial market simulation based on zero intelligence modelsFinancial market simulation based on zero intelligence models
Financial market simulation based on zero intelligence models
 
Изменение финансового поведения в условиях нестабильности внешней среды
Изменение финансового поведения в условиях нестабильности внешней средыИзменение финансового поведения в условиях нестабильности внешней среды
Изменение финансового поведения в условиях нестабильности внешней среды
 
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...Финансовая грамотность россиян и потребительское поведение на рынке финансовы...
Финансовая грамотность россиян и потребительское поведение на рынке финансовы...
 
OZON.ru подвел итоги 2016 года
OZON.ru подвел итоги 2016 годаOZON.ru подвел итоги 2016 года
OZON.ru подвел итоги 2016 года
 
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньги
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньгиЖизнь в сети. Как россияне покупают, платят и зарабатывают деньги
Жизнь в сети. Как россияне покупают, платят и зарабатывают деньги
 
Extent3 prognoz practical_approach_lppl_model_2012
Extent3 prognoz practical_approach_lppl_model_2012Extent3 prognoz practical_approach_lppl_model_2012
Extent3 prognoz practical_approach_lppl_model_2012
 
How Pinterest Scaled To Build The World's Catalog of 100+ Billion Ideas
How Pinterest Scaled To Build The World's Catalog of 100+ Billion IdeasHow Pinterest Scaled To Build The World's Catalog of 100+ Billion Ideas
How Pinterest Scaled To Build The World's Catalog of 100+ Billion Ideas
 
Performance marketing в России - 2017
Performance marketing в России - 2017Performance marketing в России - 2017
Performance marketing в России - 2017
 
The Critical KPI to drive Manufacturing Productivity
The Critical KPI to drive Manufacturing ProductivityThe Critical KPI to drive Manufacturing Productivity
The Critical KPI to drive Manufacturing Productivity
 
Рынок e-commerce в России: итоги 2016 года
Рынок e-commerce в России: итоги 2016 годаРынок e-commerce в России: итоги 2016 года
Рынок e-commerce в России: итоги 2016 года
 
Net Promoter Score Pitfalls to Avoid
Net Promoter Score Pitfalls to AvoidNet Promoter Score Pitfalls to Avoid
Net Promoter Score Pitfalls to Avoid
 

Similar to Seminar psu 05.04.2013

Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Mikhail Kurnosov
 
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...Yandex
 
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageAlexander Granin
 
Haskell
HaskellHaskell
HaskellDevDay
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Yandex
 
13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма SparkRoman Brovko
 
Time series data in a relational database. TimescaleDB and PipelineDB extensi...
Time series data in a relational database. TimescaleDB and PipelineDB extensi...Time series data in a relational database. TimescaleDB and PipelineDB extensi...
Time series data in a relational database. TimescaleDB and PipelineDB extensi...Ivan Muratov
 
SAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationSAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationNikolay Samokhvalov
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...Ontico
 
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++ Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++ Sergey Platonov
 
Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3Яковенко Кирилл
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. SparkTechnopark
 
статический анализ кода
статический анализ кодастатический анализ кода
статический анализ кодаAndrey Karpov
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода Pavel Tsukanov
 
Hadoop implementation in Wikimart
Hadoop implementation in WikimartHadoop implementation in Wikimart
Hadoop implementation in WikimartRoman Zykov
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2Vladimir Krylov
 
Tech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMTech Talks @NSU
 

Similar to Seminar psu 05.04.2013 (20)

Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Progr labrab-4-2013-c++
Progr labrab-4-2013-c++Progr labrab-4-2013-c++
Progr labrab-4-2013-c++
 
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
Евгений Крутько — Опыт внедрения технологий параллельных вычислений для повыш...
 
Haskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell languageHaskell Lite - presentation for DevDay about Haskell language
Haskell Lite - presentation for DevDay about Haskell language
 
Haskell
HaskellHaskell
Haskell
 
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
 
13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark13 - Hadoop. Парадигма Spark
13 - Hadoop. Парадигма Spark
 
Time series data in a relational database. TimescaleDB and PipelineDB extensi...
Time series data in a relational database. TimescaleDB and PipelineDB extensi...Time series data in a relational database. TimescaleDB and PipelineDB extensi...
Time series data in a relational database. TimescaleDB and PipelineDB extensi...
 
SAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentationSAMag2007 Conference: PostgreSQL 8.3 presentation
SAMag2007 Conference: PostgreSQL 8.3 presentation
 
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...Netmap (by luigi rizzo)   простой и удобный opensource фреймворк для обработк...
Netmap (by luigi rizzo) простой и удобный opensource фреймворк для обработк...
 
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++ Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
Юрий Ефимочев, Компилируемые в реальном времени DSL для С++
 
Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3Лекция #5. Введение в язык программирования Python 3
Лекция #5. Введение в язык программирования Python 3
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
статический анализ кода
статический анализ кодастатический анализ кода
статический анализ кода
 
Статический анализ кода
Статический анализ кода Статический анализ кода
Статический анализ кода
 
Hadoop implementation in Wikimart
Hadoop implementation in WikimartHadoop implementation in Wikimart
Hadoop implementation in Wikimart
 
Apache spark
Apache sparkApache spark
Apache spark
 
!Predictive analytics part_2
!Predictive analytics part_2!Predictive analytics part_2
!Predictive analytics part_2
 
Tech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVMTech Talks @NSU: Как приручить дракона: введение в LLVM
Tech Talks @NSU: Как приручить дракона: введение в LLVM
 
Как приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVMКак приручить дракона: введение в LLVM
Как приручить дракона: введение в LLVM
 

More from Vyacheslav Arbuzov

Seminar psu 21.10.2013 financial bubble diagnostics based on log-periodic p...
Seminar psu 21.10.2013   financial bubble diagnostics based on log-periodic p...Seminar psu 21.10.2013   financial bubble diagnostics based on log-periodic p...
Seminar psu 21.10.2013 financial bubble diagnostics based on log-periodic p...Vyacheslav Arbuzov
 
Lppl models MiFIT 2013: Vyacheslav Arbuzov
Lppl models MiFIT 2013: Vyacheslav ArbuzovLppl models MiFIT 2013: Vyacheslav Arbuzov
Lppl models MiFIT 2013: Vyacheslav ArbuzovVyacheslav Arbuzov
 
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavSeminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavVyacheslav Arbuzov
 
peRm R group. Review of packages for r for market data downloading and analysis
peRm R group. Review of packages for r for market data downloading and analysispeRm R group. Review of packages for r for market data downloading and analysis
peRm R group. Review of packages for r for market data downloading and analysisVyacheslav Arbuzov
 

More from Vyacheslav Arbuzov (6)

Perm winter school 2014.01.31
Perm winter school 2014.01.31Perm winter school 2014.01.31
Perm winter school 2014.01.31
 
Seminar psu 21.10.2013 financial bubble diagnostics based on log-periodic p...
Seminar psu 21.10.2013   financial bubble diagnostics based on log-periodic p...Seminar psu 21.10.2013   financial bubble diagnostics based on log-periodic p...
Seminar psu 21.10.2013 financial bubble diagnostics based on log-periodic p...
 
Seminar psu 20.10.2013
Seminar psu 20.10.2013Seminar psu 20.10.2013
Seminar psu 20.10.2013
 
Lppl models MiFIT 2013: Vyacheslav Arbuzov
Lppl models MiFIT 2013: Vyacheslav ArbuzovLppl models MiFIT 2013: Vyacheslav Arbuzov
Lppl models MiFIT 2013: Vyacheslav Arbuzov
 
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov VyacheslavSeminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
Seminar PSU 09.04.2013 - 10.04.2013 MiFIT, Arbuzov Vyacheslav
 
peRm R group. Review of packages for r for market data downloading and analysis
peRm R group. Review of packages for r for market data downloading and analysispeRm R group. Review of packages for r for market data downloading and analysis
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
  • 5. Распределения Построим плотность выбранного распределения… x <- seq(-4, 4, length=100) dx <- d?????(x) plot(x, hx, type=“l”) Сгенерируем СВ выбранного распределения… x<-rnorm(1000)
  • 6. Распределения Каким распределением описывается СВ? hist (?) density (?) ?
  • 7. Оценка параметров распределений Оценим параметры выбранного распределения…. library(MASS) fitdistr(x,"normal") params<-fitdistr(x,"normal")$estimate Сравним теоретическое и эмпирическое распределения hist(x, freq = FALSE,ylim=c(0,0.4)) curve(dnorm(x, params[1], params[2]), col = 2, add = TRUE)
  • 8. Корреляции y<-rnorm(1000) cor(x,y) cor(x,y, ,method = ?????) acf(y)
  • 9. Нелинейный МНК x<-seq(0,10,length=1000) y<-2*sin(3*x)+rnorm(1000,0,0.8) z<-rnorm(1,2,3) Как оценить параметры уравнения? help(nls) nls(y ~ A*sin(B*x)) nls(y ~ A*sin(B*x),start=list(A=1.8,B=3.1))
  • 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)
  • 11. Графика пакета lattice library(lattice) bwplot(sign(rnorm(30))~rnorm(30)|runif(3)) cloud(y~x*y) xyplot(rnorm(100)~rnorm(100)|rnorm(4)) densityplot(rnorm(4))
  • 12. Графика пакета ggplot2 library(ggplot2) qplot(rnorm(100)) qplot(rnorm(100),geom='density') qplot(rnorm(100),rnorm(100), qplot(rnorm(100),rnorm(100)) size=sign(rnorm(100))+1)
  • 13. Загрузка данных Package quantmod Package rusquant getSymbols("GOOG",src="yahoo", getSymbols("SPFB.RTS", from="2011-01- from = "2007-01-01“, to = 01", src="Finam“, period="hour" Sys.Date()) , auto.assign=FALSE) 1min, 5min, 10min, 15min, getSymbols("USD/EUR",src="oanda") 30min, hour, day, week, month
  • 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)
  • 15. Загрузка данных Package RODBC library(RODBC) odbcDriverConnect(“”) channel <- odbcConnect("psu_schs",“student","Qwerty1") sqlQuery(channel, “select * from LPPL_MODELS”)
  • 16. Использование пакета RMiFIT library(RMiFIT ) getFinData(Symbols = "AFLT",period = “mins") getFinData(Symbols = "TGKI",from = "2010-04-01", to = "2010-04-01",period = "deals") getFinData(Symbols = "AFLT",from = "2012-12-14", to = "2012-12-14",src=“Finam” ,period = "tick") getFinData(Symbols = "AFLT", from = "2012-12-04",period = "orders") www.r-group.mifit.ru
  • 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