Los conceptos pueden verse en el libro “Introducción al riesgo financiero” que puede obtenerse en https://1drv.ms/b/s!Aj-hHTVbsx01h4JmNiA9O57JQuANWg?e=l4IFbm
Los datos corresponen al precio del dolar durante 62 días(apertura,máximo,mínimo, cierre).
Se pueden bajar los datos desde
https://1drv.ms/x/s!Aj-hHTVbsx01hvQU5ABlORR8-FPOvg?e=hbcz8a
str(dolar)
## 'data.frame': 62 obs. of 5 variables:
## $ Fecha: chr "2019-05-06" "2019-05-07" "2019-05-08" "2019-05-09" ...
## $ Open : num 3260 3270 3300 3302 3269 ...
## $ High : num 3263 3302 3311 3319 3288 ...
## $ Low : num 3247 3270 3276 3273 3260 ...
## $ Close: num 3254 3302 3292 3276 3273 ...
nrow(dolar)
## [1] 62
attach(dolar)
a<-zoo(dolar[,2:5], dolar$Fecha)
b<-as.xts(a, as.Date(dolar$Fecha))
D<-as.quantmod.OHLC(b,c("Open","High","Low","Close"))
chartSeries(D,type="line",theme=chartTheme("white"),pch=16,line.type="l")
chartSeries(D,type="bars",theme = chartTheme("white"),show.grid=TRUE)
chartSeries(D,type="candlesticks",theme = chartTheme("white"),show.grid=TRUE)
addSMA(n = 10,on = 1, overlay = TRUE, col = "red")
addEMA(n = 10,on = 1, overlay = TRUE, col = "blue")
addWMA(n = 10,on = 1, overlay = TRUE, col = "orange")
addDEMA(n = 10,on = 1, overlay = TRUE, col = "black")
addDEMA(n = 10,on = 1, overlay = TRUE, col = "black")
A1<-data.frame(C2,sma,ema,wma,dema)
head(A1,20)
## C2 sma ema wma dema
## 1 3254.00 NA NA NA NA
## 2 3301.50 NA NA NA NA
## 3 3292.00 NA NA NA NA
## 4 3276.20 NA NA NA NA
## 5 3272.70 NA NA NA NA
## 6 3303.60 NA NA NA NA
## 7 3291.95 NA NA NA NA
## 8 3283.80 NA NA NA NA
## 9 3298.00 NA NA NA NA
## 10 3321.99 3289.574 3289.574 3295.252 NA
## 11 3351.78 3299.352 3300.884 3306.562 NA
## 12 3342.95 3303.497 3308.533 3314.489 NA
## 13 3335.00 3307.797 3313.345 3320.217 NA
## 14 3378.30 3318.007 3325.155 3333.035 NA
## 15 3358.25 3326.562 3331.172 3340.352 NA
## 16 3376.10 3333.812 3339.341 3349.359 NA
## 17 3353.00 3339.917 3341.824 3352.848 NA
## 18 3364.45 3347.982 3345.938 3357.309 NA
## 19 3380.00 3356.182 3352.131 3363.130 3379.473
## 20 3291.75 3353.158 3341.153 3351.415 3354.541
H<-High
L<-Low
P<-(H+L+C2)/3
R1<-2*P-L
S1<-2*P-H
R2<-P+H-L
S2<-P-H+L
R3<-H+2*(P-L)
S3<-L-2*(H-P)
plot(C2,type="l",lwd=2)
lines(S3,lwd=1,lty=2)
lines(R3,lwd=1,lty=2)
A2<-data.frame(S1,C2,R1)
head(A2,15)
## S1 C2 R1
## 1 3246.533 3254.00 3262.133
## 2 3280.500 3301.50 3312.000
## 3 3274.700 3292.00 3310.100
## 4 3259.773 3276.20 3305.813
## 5 3259.133 3272.70 3287.133
## 6 3288.867 3303.60 3313.517
## 7 3278.300 3291.95 3301.350
## 8 3274.200 3283.80 3302.950
## 9 3284.233 3298.00 3306.883
## 10 3310.030 3321.99 3327.970
## 11 3321.120 3351.78 3371.320
## 12 3327.933 3342.95 3361.033
## 13 3321.500 3335.00 3351.000
## 14 3360.550 3378.30 3390.500
## 15 3349.067 3358.25 3368.367
addBBands(n=10,sd=2,maType = "SMA")
ifr<-RSI(C2,n=7);ifr
## [1] NA NA NA NA NA NA NA 61.73228
## [9] 66.14813 72.42079 78.25748 72.92078 68.04655 77.57242 66.81231 70.99161
## [17] 59.65037 63.06276 67.42735 37.83024 42.20680 37.95495 33.80352 31.81713
## [25] 32.55390 36.99124 36.69567 40.14212 48.22289 35.31088 30.75571 20.25979
## [33] 26.47614 23.75937 22.63796 31.04111 40.39585 39.59143 34.01768 44.65460
## [41] 48.55449 48.75447 40.97998 37.50007 33.52603 32.71598 42.44971 33.27641
## [49] 29.34566 27.28054 33.16433 45.74522 53.82217 66.16348 75.02271 85.02340
## [57] 87.13889 73.73888 83.26451 87.21666 91.32844 80.06192
addRSI(n = 7, maType = "EMA", wilder = TRUE)
A3<-data.frame(C2,ifr)
head(A3,15)
## C2 ifr
## 1 3254.00 NA
## 2 3301.50 NA
## 3 3292.00 NA
## 4 3276.20 NA
## 5 3272.70 NA
## 6 3303.60 NA
## 7 3291.95 NA
## 8 3283.80 61.73228
## 9 3298.00 66.14813
## 10 3321.99 72.42079
## 11 3351.78 78.25748
## 12 3342.95 72.92078
## 13 3335.00 68.04655
## 14 3378.30 77.57242
## 15 3358.25 66.81231
mome<-momentum(C2,n=10);mome
## [1] NA NA NA NA NA NA NA NA NA
## [10] NA 97.78 41.45 43.00 102.10 85.55 72.50 61.05 80.65
## [19] 82.00 -30.24 -46.98 -55.95 -66.60 -119.00 -97.50 -107.25 -85.00
## [28] -91.20 -93.85 -35.55 -62.80 -93.88 -64.90 -68.85 -75.70 -71.85
## [37] -56.20 -63.35 -89.65 -44.02 -23.50 25.68 2.75 9.54 7.45
## [46] -6.00 -11.80 -24.60 -19.01 -38.98 -40.70 -29.70 -8.15 17.01
## [55] 46.00 94.50 102.05 98.50 164.21 210.80 279.00 240.40
addMomentum(n=10)
roc<-ROC(C2,n=10,type="discrete");roc
## [1] NA NA NA NA NA
## [6] NA NA NA NA NA
## [11] 0.0300491703 0.0125548993 0.0130619684 0.0311641536 0.0261404956
## [16] 0.0219457561 0.0185452391 0.0245599610 0.0248635537 -0.0091029774
## [21] -0.0140164331 -0.0167367146 -0.0199700150 -0.0352248172 -0.0290329785
## [26] -0.0317674240 -0.0253504324 -0.0271069566 -0.0277662722 -0.0107997266
## [31] -0.0190026628 -0.0285609979 -0.0198568107 -0.0211241678 -0.0232155179
## [36] -0.0219802071 -0.0171970624 -0.0193538532 -0.0272811649 -0.0135188256
## [41] -0.0072486120 0.0080422909 0.0008584361 0.0029901738 0.0023390528
## [46] -0.0018767595 -0.0036739523 -0.0076637901 -0.0059471297 -0.0121350609
## [51] -0.0126456424 -0.0092270411 -0.0025419103 0.0053156416 0.0144087706
## [56] 0.0296145409 0.0318906250 0.0309233039 0.0516791556 0.0664313627
## [61] 0.0877965888 0.0753817692
addROC(n = 10, type = c("discrete","continuous"), col = "red")
macd<-MACD(C2,26,12,9,maType="SMA")
addMACD(fast = 12, slow = 26, signal = 9, type = "EMA", histogram = TRUE)
A3<-data.frame(D,ifr,mome,roc,macd)
head(A3,20)
## b.Open b.High b.Low b.Close ifr mome roc macd
## 2019-05-06 3259.9 3262.80 3247.20 3254.00 NA NA NA NA
## 2019-05-07 3270.0 3301.50 3270.00 3301.50 NA NA NA NA
## 2019-05-08 3300.0 3310.90 3275.50 3292.00 NA NA NA NA
## 2019-05-09 3302.0 3319.00 3272.96 3276.20 NA NA NA NA
## 2019-05-10 3268.6 3288.00 3260.00 3272.70 NA NA NA NA
## 2019-05-13 3300.0 3308.70 3284.05 3303.60 NA NA NA NA
## 2019-05-14 3295.0 3297.10 3274.05 3291.95 NA NA NA NA
## 2019-05-15 3310.0 3312.50 3283.75 3283.80 61.73228 NA NA NA
## 2019-05-16 3285.0 3302.00 3279.35 3298.00 66.14813 NA NA NA
## 2019-05-17 3310.0 3321.99 3304.05 3321.99 72.42079 NA NA NA
## 2019-05-20 3310.0 3360.20 3310.00 3351.78 78.25748 97.78 0.030049170 NA
## 2019-05-21 3342.0 3364.10 3331.00 3342.95 72.92078 41.45 0.012554899 NA
## 2019-05-22 3330.0 3353.50 3324.00 3335.00 68.04655 43.00 0.013061968 NA
## 2019-05-23 3355.0 3384.95 3355.00 3378.30 77.57242 102.10 0.031164154 NA
## 2019-05-24 3359.9 3369.30 3350.00 3358.25 66.81231 85.55 0.026140496 NA
## 2019-05-28 3365.0 3382.00 3346.00 3376.10 70.99161 72.50 0.021945756 NA
## 2019-05-29 3385.0 3393.00 3352.50 3353.00 59.65037 61.05 0.018545239 NA
## 2019-05-30 3357.0 3367.00 3346.70 3364.45 63.06276 80.65 0.024559961 NA
## 2019-05-31 3393.0 3398.00 3369.00 3380.00 67.42735 82.00 0.024863554 NA
## 2019-06-04 3330.0 3335.90 3287.10 3291.75 37.83024 -30.24 -0.009102977 NA
## signal
## 2019-05-06 NA
## 2019-05-07 NA
## 2019-05-08 NA
## 2019-05-09 NA
## 2019-05-10 NA
## 2019-05-13 NA
## 2019-05-14 NA
## 2019-05-15 NA
## 2019-05-16 NA
## 2019-05-17 NA
## 2019-05-20 NA
## 2019-05-21 NA
## 2019-05-22 NA
## 2019-05-23 NA
## 2019-05-24 NA
## 2019-05-28 NA
## 2019-05-29 NA
## 2019-05-30 NA
## 2019-05-31 NA
## 2019-06-04 NA
Paquetes utilizados
library(quantmod)
library(TTR)
.