Your SlideShare is downloading. ×
Seminar psu 05.04.2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Seminar psu 05.04.2013

1,924
views

Published on

Семинар по моделированию финансовых рынков, Пермь, 05.04.2013, Пермский государственный университет, Арбузов Вячеслав

Семинар по моделированию финансовых рынков, Пермь, 05.04.2013, Пермский государственный университет, Арбузов Вячеслав

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,924
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Использование R для моделирования финансовых рынковПермский государственный Арбузов Вячеславнаучно-исследовательский arbuzov@prognoz.ruуниверситет 05.04.2013Лаборатория финансовогомоделирования и управления рисками
  • 2. Необходимые знания в R
  • 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. Распределения Основные распределения в RBeta ?beta d – densityBinomial ?binom q – quantileCauchy ?cauchy r – randomChi-squared ?chisqExponential ?expF ?fGamma ?gammaGeometric ?geomHypergeometric ?hyperLog-normal ?lnormMultinomial ?multinomNegative binomial ?nbinomNormal ?normPoisson ?poisStudents t ?tUniform ?unifWeibull ?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 rusquantgetSymbols("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 RODBClibrary(RODBC)odbcDriverConnect(“”)channel <- odbcConnect("psu_schs",“student","Qwerty1")sqlQuery(channel, “select * from LPPL_MODELS”)
  • 16. Использование пакета RMiFITlibrary(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
  • 17. Практические задания
  • 18. Практическое задание № 1. Работа с данными ЗАДАНИЕ: a. Загрузить данные1. AFLT b. Построить графики2. GAZP c. Добавить индикаторы на графики3. RTKM d. Посчитать приросты цен4. ROSN e. Построить графики за 2008 год5. SBER6. SBERP7. HYDR8. 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. CHMF15. SNGS
  • 19. Практическое задание № 2. Распределение приростов цен1. AFLT2. GAZP ЗАДАНИЕ:3. RTKM a. Загрузить данные4. ROSN b. Построить приросты цен закрытия5. SBER c. Построить плотность распределения6. SBERP d. Оценить параметры выбранного распределения7. HYDR e. Построить на одном графике эмпирическое и8. LKOH теоретическое распределения9. VTBR10. GMKN11. SIBN Команды в помощь:12. PLZL13. 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. AFLT2. 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. Найти автокорреляцию приростов за период с 110. GMKN января 2013 по 1 апреля 201311. SIBN Команды в помощь:12. PLZL13. 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. Расчет VaR1. AFLT2. 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. VTBR10. GMKN11. SIBN Команды в помощь:12. PLZL13. MTSS quantile(x,0.95, na.rm=TRUE)14. CHMF15. SNGS AAPL[2007] AAPL[2007-03/2007] AAPL[/2007] AAPL[2007-01-03]
  • 22. Практическое задание № 5. Волатильность приростов1. AFLT2. GAZP ЗАДАНИЕ:3. RTKM a. Загрузить данные выбранного инструмента4. ROSN b. Посчитать дневные приросты5. SBER c. Отобразить кластеризацию волатильности6. SBERP d. Оценить модель garch7. HYDR e. garchFit(data=x) @sigma.t8. LKOH9. VTBR10. GMKN11. SIBN Команды в помощь:12. PLZL13. MTSS AAPL[2007]14. CHMF AAPL[2007-03/2007]15. SNGS AAPL[/2007] AAPL[2007-01-03]
  • 23. Практическое задание № 6. Оценка длинной памяти в потоке заявок1. AFLT2. GAZP ЗАДАНИЕ:3. RTKM a. Загрузить данные выбранного инструмента за 1 день4. ROSN b. Посчитать длинную память в потоке заявок5. SBER6. SBERP7. HYDR8. LKOH9. VTBR10. GMKN11. SIBN Команды в помощь:12. PLZL13. MTSS help (getFinData)14. CHMF15. SNGS
  • 24. Практическое задание № 7. Расчет модели LPPLЗАДАНИЕ:a. Загрузить данные индекса ММВБ c 2001 по 2009b. Оценить параметры модели LPPLc. Проделать оценку параметров для различных «окон» и сохранить параметры моделиd. Отбросить «неправильные» параметрыМОДЕЛЬ LPPL:Команды в помощь:help(nsl)
  • 25. Практическое задание № 8. Оптимизация портфеляЗАДАНИЕ: 1. AFLT 2. GAZPa. Загрузить данные по следующим инструментам: 3. RTKM 4. ROSNb. Построить график доходность - риск 5. SBER 6. SBERPc. Сформировать оптимальный портфель 7. HYDR использую функцию portfolio.optim из пакета 8. LKOH tseries 9. VTBR 10. GMKNd. Проанализировать выбранный портфель 11. SIBN 12. PLZLe. Оценить 10 дневный VaR у выбранного портфеля 13. MTSS 14. CHMF 15. SNGS
  • 26. Вопросы?arbuzov@prognoz.ru

×