Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.60 KB | None | 0 0
  1. install.packages("bizdays")
  2. library(bizdays)
  3. dados<- as.data.frame(bizseq('2011-08-01', '2013-08-01', cal = "Brazil/ANBIMA"))
  4. names(dados)<- c("data")
  5.  
  6. ivol<- as.data.frame(c("21.28711","23.56743","27.32514","28.54277","29.76039","38.40667","47.05294",
  7. "27.75004","33.76601","24.37536","28.58706","28.50753","28.42801","28.34848",
  8. "28.26896","34.54205","28.226","31.71554","27.61506","26.99005","26.2452",
  9. "27.02077","26.57059","25.27205","25.62745","30.41709","30.28928","32.27394","34.2586","36.24326","36.41168",
  10. "29.67935","29.76384","28.98926","27.79914","26.60903","32.7296","38.85017","41.72757","42.45641","35.48816",
  11. "33.4138","33.17446","38.66989","44.16533","29.40715","38.68258","34.65883","31.78003","28.90124","35.86376",
  12. "30.09062","30.2993","26.5146","27.6774","28.84019","30.93672","29.43715","27.37192","26.24751","25.50525",
  13. "25.58114","22.27847","24.53868","29.56798","25.89955","25.62683","25.14079","27.00007","28.85935","28.65313",
  14. "28.4469","24.9024","29.67527","29.18929","24.76481","35.90339","29.26105","31.60401","30.04701","31.86597",
  15. "25.35371","29.55908","24.25097","27.24362","26.0865","27.92838","26.58823","37.58755","25.83994","30.78934",
  16. "28.63408","26.47881","25.92757","28.11764","27.20345","25.35408","25.29016","25.76206","24.50687","23.52267",
  17. "24.56973","25.61678","26.66384","23.14008","23.132","23.12393","23.17977","23.72229","23.1107","21.90203",
  18. "24.00631","20.12761","23.41764","22.58384","23.15579","21.61337","22.57287","22.19599","21.0872","19.83334",
  19. "18.18826","19.44424","19.73723","20.03022","18.87538","21.83447","19.94553","19.30423","20.12327","20.31634",
  20. "22.5208","18.95442","17.88235","21.26344","21.56118","19.39781","19.76489","20.49098","20.05735","20.25546",
  21. "19.42526","17.62972","19.64706","20.71675","19.38761","20.96161","19.54165","21.21596","21.3454","23.25998",
  22. "22.7128","21.86852","20.76671","18.82955","18.40445","18.39674","20.23708","20.07432","19.06276","19.61001",
  23. "22.36438","19.94096","20.45359","16.62309","18.38752","21.30607","20.14841","19.75784","19.36288","22.72852",
  24. "23.30168","19.04908","24.26608","24.14334","23.68773","23.38313","18.41681","24.86972","23.11208","19.85312",
  25. "22.99611","22.91279","21.61691","23.89977","21.60447","19.39232","21.9426","21.50965","19.49969","18.71056",
  26. "19.46965","19.32327","22.63971","22.113","20.61101","21.01649","27.54151","28.96247","25.58761","26.32041","28.63712",
  27. "24.06426","22.23268","34.27249","31.41806","24.22399","32.14149","28.24585","26.57704","23.55219","28.61884","24.66197",
  28. "20.94144","27.0632","24.98184","27.34932","26.38455","29.07777","24.41478","25.91706","23.47051","22.43838","23.24079",
  29. "22.41391","23.02232","25.72487","26.26527","25.10686","30.60878","26.01148","23.09491","21.65578","21.44434","22.24085",
  30. "23.53456","25.41174","27.28891","22.63747","18.35763","24.23522","21.33616","24.65956","23.20137","23.39885","22.76095",
  31. "22.12304","23.16902","25.51094","17.30929","27.56798","25.01272","23.84245","26.11669","28.9215","23.04916","23.33632",
  32. "21.58664","22.78128","25.99777","22.36353","23.82258","22.38859","22.6706","23.87853","24.92409","23.10635","23.45014",
  33. "24.09447","22.24359","24.38719","23.31092","22.23465","25.48968","27.21431","24.76347","25.36156","25.58649","22.7045",
  34. "25.42561","22.20385","23.62826","25.47909","25.87671","23.38551","21.71917","22.81986","22.20451","21.6723","20.83679",
  35. "22.77583","23.89389","20.59727","22.82012","25.02949","24.43143","24.28433","24.25042","21.27869","20.82378","23.63432",
  36. "24.12969","23.81493","24.06198","22.52014","24.60091","20.61036","22.46888","23.03237","23.60265","23.09116","24.44142",
  37. "24.17373","22.85317","23.36192","22.47905","23.79545","22.642","21.38135","20.92037","22.56495","21.52126","23.30794",
  38. "24.23245","22.79641","25.48476","25.30342","22.87122","23.17207","23.47292","19.94111","21.79934","21.09003","23.71056",
  39. "23.20562","22.62287","21.44512","22.12571","22.54461","23.16875","23.07137","23.11263","21.11079","18.45346","22.02743",
  40. "22.18733","22.16706","22.14679","21.1788","21.36772","22.0525","20.35522","20.61244","20.86966","21.57509","22.28053",
  41. "21.47767","20.67481","18.50791","21.24009","18.85158","20.86887","20.04319","19.76428","20.57738","19.73062","18.80244",
  42. "20.47401","18.27169","17.81884","20.38176","20.41285","16.90357","19.77132","20.19383","20.61634","18.8055","18.62108",
  43. "16.27306","20.52252","21.5628","21.04483","20.41759","19.91348","19.86341","18.50267","19.28119","19.4508","19.45208",
  44. "19.94868","19.80569","20.0529","19.51828","18.75703","19.93031","18.72769","18.18218","19.17099","18.09319","18.63018",
  45. "19.54754","18.59208","18.45659","18.67694","18.89729","19.11765","18.89925","19.7338","19.73766","21.42095","19.85507",
  46. "20.10499","20.51085","20.58047","19.84328","19.15041","18.33888","18.84041","19.34194","19.84347","20.34499","20.84652",
  47. "21.34805","20.45468","21.28042","19.86063","21.49564","23.13064","21.013","22.05263","21.97945","22.73436","21.76791",
  48. "21.16098","21.49375","20.58698","21.69745","21.27429","21.2697","22.36205","22.00988","18.99451","20.18173","20.75463",
  49. "20.38411","21.68759","20.3392","21.78222","20.39415","19.17879","19.82962","17.29045","20.04898","21.35839","21.70304",
  50. "19.20146","20.40494","19.09858","20.58075","22.71482","21.68574","22.76031","23.22045","24.75409","25.10623","23.6726",
  51. "26.27497","29.42851","27.17491","27.28767","26.9298","26.85252","28.11517","29.68584","30.51626","30.91683","30.15717",
  52. "27.39766","26.24382","24.01179","25.19244","27.26174","26.24734","24.85707","27.99068","25.31346","25.16461","25.01576",
  53. "22.98344","23.63146","25.66155","24.72497","25.06169","24.30915","23.4451","22.94747","22.97816","23.49057","22.04397",
  54. "22.82086","25.198","23.09666","24.13238","23.86527"))
  55.  
  56. names(ivol)<- c("retivol")
  57.  
  58. #fazendo retorno do ivol
  59. ivolnumeric<- as.numeric(ivol$retivol)
  60. ivoln1=c(NA, diff(log(ivolnumeric)))
  61.  
  62. #criando a base
  63. base<- as.data.frame(dados)
  64. base$rivoln <-ivoln1
  65. base_sna<- na.omit(base)
  66.  
  67.  
  68.  
  69. qtl.rank2<-function(x,obs.1=1,obs.t=252,qtl.intl=20)
  70. {
  71. #x: list;
  72. #obs.1: calibragem, 1a obs;
  73. #obs.t: calibragem, última obs;
  74. #qtl.intl: quantidade de intervalos.
  75.  
  76. x.length<-length(x) #tamanho da lista
  77. i<-t #contador dos quantis
  78. j<-1 #contador
  79. qtl.width<-100/qtl.intl #tamanho do intervalo
  80. pi<-0 #inicializa variável que armazena o quantil
  81. pi.vec<-matrix(0,nrow=qtl.intl,ncol=1) #matriz para armazenar os percentis
  82.  
  83. calibration.list<-list(0,obs.t)
  84.  
  85. matriz.resultados<-matrix(0,nrow=(x.length-obs.t),2)
  86.  
  87. for(i in obs.1:(x.length-obs.t))
  88. {
  89. calibration.list <- x[i:(i+obs.t-1)]
  90. pctl<-quantile(calibration.list,1:qtl.intl*qtl.width/100)
  91. pi.vec<-as.matrix(pctl)
  92. rownames(pi.vec)<-rownames(as.matrix(pctl))
  93. colnames(pi.vec)<-"Percentis"
  94.  
  95. new.pi.vec<-matrix(c(pi.vec,0),nrow=qtl.intl+1,ncol=1)
  96.  
  97. new.pi.vec[qtl.intl+1,]<-x[i+obs.t]
  98.  
  99. o<-order(new.pi.vec, decreasing=FALSE)
  100. new.pi.vec<-as.matrix(new.pi.vec[o,])
  101.  
  102. res<-c(x[i+obs.t],which(new.pi.vec[,1]==x[i+obs.t],arr.ind=TRUE))
  103. num_aval<-res[1]
  104. qtl.order<-res[2]
  105.  
  106. if(qtl.order==1)
  107. {
  108. print(calibration.list)
  109. if(num_aval<min(calibration.list))
  110. {
  111. qtl.order<-0
  112. }
  113.  
  114. res<-c(num_aval,qtl.order)
  115.  
  116. }
  117.  
  118. matriz.resultados[i,1]<-res[1]
  119. matriz.resultados[i,2]<-res[2]
  120.  
  121. if(i<x.length-(obs.t+1)){print(matriz.resultados[i+1,])}
  122.  
  123. print(c(i,res))
  124.  
  125. }
  126. return(matriz.resultados)
  127. }
  128.  
  129. a<- qtl.rank2(base_sna$rivoln)
  130. finaldatabase<- subset(base_sna, data> "2012-07-31",
  131. select=c(data, rivoln))
  132. finaldatabase$rankfixo<- a[,2]
  133.  
  134. print(finaldatabase)
  135.  
  136. data rivoln rankfixo
  137. 254 2012-08-01 0.239298992 16
  138. 255 2012-08-02 0.140876149 15
  139. 256 2012-08-03 -0.565759343 3
  140. 257 2012-08-06 0.097091124 14
  141. 258 2012-08-07 -0.473568695 3
  142. 259 2012-08-08 0.320010960 17
  143. 260 2012-08-09 0.473627760 18
  144. 261 2012-08-10 -0.587786665 3
  145. 262 2012-08-13 0.352947074 18
  146. 263 2012-08-14 -0.343687748 4
  147. 264 2012-08-15 0.066840018 14
  148. 265 2012-08-16 0.286603905 17
  149. 266 2012-08-17 0.115983503 15
  150. 267 2012-08-20 -0.288643149 5
  151. 268 2012-08-21 0.102278849 14
  152. 269 2012-08-22 0.092781733 14
  153. 270 2012-08-23 -0.403884080 4
  154. 271 2012-08-24 0.447234521 18
  155. 272 2012-08-27 -0.164303051 7
  156. 273 2012-08-28 -0.292455351 5
  157. 274 2012-08-29 0.571168754 18
  158. 275 2012-08-30 0.112362968 14
  159. 276 2012-08-31 -0.191055237 6
  160. 277 2012-09-03 0.065086617 13
  161. 278 2012-09-04 0.024358444 12
  162. 279 2012-09-05 -0.473217344 3
  163. 280 2012-09-06 0.454323394 18
  164. 281 2012-09-10 -0.577485679 3
  165. 282 2012-09-11 0.365855970 17
  166. 283 2012-09-12 0.214350799 16
  167. 284 2012-09-13 0.039952051 12
  168. 285 2012-09-14 -0.299060751 5
  169. 286 2012-09-17 -0.428618413 4
  170. 287 2012-09-18 0.272705618 16
  171. 288 2012-09-19 -0.160342650 7
  172. 289 2012-09-20 -0.139761942 7
  173. 290 2012-09-21 -0.295117051 5
  174. 291 2012-09-24 0.582799123 18
  175. 292 2012-09-25 0.255933374 16
  176. 293 2012-09-26 -0.916290732 2
  177. 294 2012-09-27 0.676886660 18
  178. 295 2012-09-28 0.363617998 17
  179. 296 2012-10-01 -0.055651255 10
  180. 297 2012-10-02 -0.015174798 11
  181. 298 2012-10-03 -0.009216655 11
  182. 299 2012-10-04 -0.743790913 2
  183. 300 2012-10-05 -0.146603474 8
  184. 301 2012-10-08 0.810094445 19
  185. 302 2012-10-09 0.058458200 12
  186. 303 2012-10-10 -0.038589997 10
  187. 304 2012-10-11 0.029081209 12
  188. 305 2012-10-15 -0.346715604 4
  189. 306 2012-10-16 0.417405548 17
  190. 307 2012-10-17 -0.991769193 2
  191. 308 2012-10-18 0.565313809 18
  192. 309 2012-10-19 0.143706721 14
  193. 310 2012-10-22 0.153025187 14
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement