This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.

plot(cars)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

PRECIO Y SENSIBILIDAD DE UN BONO. EJERCICIO 4

Un bono con un nominal de 1000 eur, con plazo hasta el vencimiento de 15 years, cup´on anual del 5% y rentabilidad a vencimiento de 6%. Calcular el precio y la sensibilidad ante variaciones del tipo de interés.

bono <- bond(f=1000,r=0.05,c=1000,n=15,i=0.06,ic=1,cf=1,t=10,plot=TRUE)
bono
bono <- bond(f=1000,r=0.0515,c=1000,n=10,i=0.0263,ic=1,cf=1,t=10,plot=TRUE)
bono
bono <- bond(f=1000,r=0.09,c=1000,n=40,i=0.06,ic=1,cf=2,plot=TRUE)
bono
bono <- bond(f=1000,r=0.05,c=1000,n=15,i=0.07,ic=1,cf=1,plot=TRUE)
bono

#4) Un bono con un nominal de 1000 eur, con plazo hasta el vencimiento de 15 years, cup´on anual del 5% y rentabilidad a vencimiento de 6%. Calcular el precio y la sensibilidad ante variaciones del tipo de inter´es. library(FinancialMath)

bono <- bond(f=1000,r=0.05,c=1000,n=15,i=0.06,ic=1,cf=1,t=10,plot=TRUE)

row.names(bono)
 [1] "Price"         "Discount"      "Coupon"        "Eff Rate"     
 [5] "Years"         "MAC D"         "MOD D"         "MAC C"        
 [9] "MOD C"         "At Period 10:" "Price(t)"      "Write-Up"     
bono
              Bond Summary
Price           902.877510
Discount         97.122490
Coupon           50.000000
Eff Rate          0.060000
Years            15.000000
MAC D            10.657388
MOD D            10.054140
MAC C           139.450035
MOD C           133.595072
At Period 10:    10.000000
Price(t)        957.876362
Write-Up          7.049605

#Variaci´on del precio seg´un la duraci´on: aumentamos 100 pb el rendimiento exigido y lo guardamos en la variable que llamamos inc

Dur_Mac <- bono[6]
Dur_Mod <- bono[7]
inc <- 0.01 # aumento de 100 pb al rdto exigido
var_relativa <- -(Dur_Mod*inc);
cat("variaci\'on relativa por subida de 100 pb=",round(var_relativa,5))
variaci'on relativa por subida de 100 pb= -0.10054
P1 <- bono[1]*(1+var_relativa)
cat("Nuevo Precio aprox= ",round(P1,2),"euros")
Nuevo Precio aprox=  812.1 euros
bond(f=1000,r=.05,c=1000,n=15,i=0.06+inc,ic=1,cf=1,t=1,plot=TRUE)
             Bond Summary
Price          817.841720
Discount       182.158280
Coupon          50.000000
Eff Rate         0.070000
Years           15.000000
MAC D           10.410803
MOD D            9.729722
MAC C          135.024523
MOD C          127.028846
At Period 1:     1.000000
Price(t)       825.090640
Write-Up         7.248920

1 Bond Summary Price 817.841720 Discount 182.158280 Coupon 50.000000 Eff Rate 0.070000 Years 15.000000 MAC D 10.410803 MOD D 9.729722 MAC C 135.024523 MOD C 127.028846 At Period 1: 1.000000 Price(t) 825.090640 Write-Up 7.248920

Variaci´on del precio seg´un la convexidad

Conv <- 0.5*bono[8]*(inc)^2;
cat("Convexidad",round(Conv,5))
Convexidad 0.00697
P1 <- bono[1]+(var_relativa+Conv)*bono[1]
cat("Nuevo Precio aprox=",round(P1,2),"euros")
Nuevo Precio aprox= 818.4 euros

Conv <- 0.5bono[8](inc)^2; cat(“Convexidad”,round(Conv,5)) Convexidad 0.00697 P1 <- bono[1]+(var_relativa+Conv)*bono[1] cat(“Nuevo Precio aprox=”,round(P1,2),“euros”) Nuevo Precio aprox= 818.4 euros

#CALCULAR LA TIR DE UN BONO A 5 AÑOS - precio=_ 1191.87 i= 9%

CF0 <-1191.87
i<- 0.09
CUPON <- 1000*i
cf<- c(rep (CUPON,5),1000)
times <- c(1,2,3,4,5,5)
TIR <- IRR(CF0,cf,times,plot=TRUE); TIR

#Calcular el precio de un bono emitido a 10 a˜nos con un valor nominal de 1.000 euros, un cupón anual del 5,15% y una rentabilidad requerida del 2,63%.

bono <- bond(f=1000,r=0.0515,c=1000,n=10,i=0.0263,ic=1,cf=1,plot=TRUE)
bono

#Ejercicio 7 Supongamos un bono emitido a 20 a˜nos con un cup´on del 9% nominal. El pago de cupones es semianual. Calcular el precio si se desea el rendimiento al vencimiento del 6%, la duraci´on y la convexidad del bono. Sol: 135.94; 22.05 semestres; 678.07 (C).


bono <- bond(f=100,r=0.09,c=100,n=20,i=0.06,ic=1,cf=2,plot=TRUE)
bono

#Sea un bono de nominal de 1000 euros, con vencimiento a 10 años, cupón anual del 2.5% y rentabilidad a vencimiento de 2%.

Responder a las siguientes cuestiones, usando R y Excel cuando sea posible, indicando las fórmulas utilizadas:

bono <- bond(f=1000,r=0.025,c=1000,n=10,i=0.02,ic=1,cf=1,plot=TRUE)

bono
         Bond Summary
Price     1044.912925
Premium     44.912925
Coupon      25.000000
Eff Rate     0.020000
Years       10.000000
MAC D        8.997807
MOD D        8.821380
MAC C       86.399156
MOD C       91.692583

¿Cual es el precio del bono? 1044,912 ¿Cual es la duraci´on del bono? DMac= 8,99 años - DModificada = 8.8213

¿Que variaci´on relativa del precio del bono pronostica la duración si la rentabilidad del mercado es de 3%?

con una rentabilidad de mercado de 3%

bono <- bond(f=1000,r=0.025,c=1000,n=10,i=0.03,ic=1,cf=1,plot=FALSE)
bono
         Bond Summary
Price      957.348986
Discount    42.651014
Coupon      25.000000
Eff Rate     0.030000
Years       10.000000
MAC D        8.943357
MOD D        8.682871
MAC C       85.708987
MOD C       89.218912

¿Que precio del bono pronostica la duración si el rendimiento es del 3%?

bono <- bond(f=1000,r=0.03,c=1000,n=10,i=0.02,ic=1,cf=1,plot=FALSE)
bono
         Bond Summary
Price     1089.825850
Premium     89.825850
Coupon      30.000000
Eff Rate     0.020000
Years       10.000000
MAC D        8.846931
MOD D        8.673461
MAC C       84.351594
MOD C       89.579512

Calcular la convexidad del bono

¿Que precio aproximado del bono se obtendr´ıa si usamos la duración y la convexidad con rendimiento del 3%? ¿Cual es el precio del bono si se vende 6 años después de su emisión?

bono <- bond(f=1000,r=0.05,c=1000,n=15,i=0.07,ic=1,cf=1,plot=FALSE)
bono
bono <- bond(f=1000,r=0.09,c=1000,n=40,i=0.06,ic=1,cf=2,plot=FALSE)
bono
         Bond Summary
Price    1.359356e+03
Premium  3.593565e+02
Coupon   4.500000e+01
Eff Rate 6.000000e-02
i^(2)    5.912603e-02
Periods  4.000000e+01
Years    2.000000e+01
MAC D    2.204680e+01
MOD D    2.141374e+01
MAC C    6.780666e+02
MOD C    6.604844e+02
bono <- bond(f=10000,r=0.08,c=10000,n=3,i=0.06,ic=1,cf=1,plot=FALSE)
bono
         Bond Summary
Price    10534.602390
Premium    534.602390
Coupon     800.000000
Eff Rate     0.060000
Years        3.000000
MAC D        2.789130
MOD D        2.631255
MAC C        8.088934
MOD C        9.681438
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gCgpUcnkgZXhlY3V0aW5nIHRoaXMgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpSdW4qIGJ1dHRvbiB3aXRoaW4gdGhlIGNodW5rIG9yIGJ5IHBsYWNpbmcgeW91ciBjdXJzb3IgaW5zaWRlIGl0IGFuZCBwcmVzc2luZyAqQ3RybCtTaGlmdCtFbnRlciouIAoKYGBge3J9CnBsb3QoY2FycykKYGBgCgpBZGQgYSBuZXcgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpJbnNlcnQgQ2h1bmsqIGJ1dHRvbiBvbiB0aGUgdG9vbGJhciBvciBieSBwcmVzc2luZyAqQ3RybCtBbHQrSSouCgpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4KClRoZSBwcmV2aWV3IHNob3dzIHlvdSBhIHJlbmRlcmVkIEhUTUwgY29weSBvZiB0aGUgY29udGVudHMgb2YgdGhlIGVkaXRvci4gQ29uc2VxdWVudGx5LCB1bmxpa2UgKktuaXQqLCAqUHJldmlldyogZG9lcyBub3QgcnVuIGFueSBSIGNvZGUgY2h1bmtzLiBJbnN0ZWFkLCB0aGUgb3V0cHV0IG9mIHRoZSBjaHVuayB3aGVuIGl0IHdhcyBsYXN0IHJ1biBpbiB0aGUgZWRpdG9yIGlzIGRpc3BsYXllZC4KCgojICBQUkVDSU8gWSBTRU5TSUJJTElEQUQgREUgVU4gQk9OTy4gRUpFUkNJQ0lPIDQKVW4gYm9ubyBjb24gdW4gbm9taW5hbCBkZSAxMDAwIGV1ciwgY29uIHBsYXpvIGhhc3RhIGVsIHZlbmNpbWllbnRvIGRlCjE1IHllYXJzLCBjdXDCtG9uIGFudWFsIGRlbCA1JSB5IHJlbnRhYmlsaWRhZCBhIHZlbmNpbWllbnRvIGRlIDYlLiBDYWxjdWxhciBlbCBwcmVjaW8geSBsYSBzZW5zaWJpbGlkYWQgYW50ZSB2YXJpYWNpb25lcyBkZWwgdGlwbyBkZSBpbnRlcsOpcy4KYGBge3J9CmJvbm8gPC0gYm9uZChmPTEwMDAscj0wLjA1LGM9MTAwMCxuPTE1LGk9MC4wNixpYz0xLGNmPTEsdD0xMCxwbG90PVRSVUUpCmJvbm8KYGBgCmBgYHtyfQpib25vIDwtIGJvbmQoZj0xMDAwLHI9MC4wNTE1LGM9MTAwMCxuPTEwLGk9MC4wMjYzLGljPTEsY2Y9MSx0PTEwLHBsb3Q9VFJVRSkKYm9ubwpgYGAKYGBge3J9CmJvbm8gPC0gYm9uZChmPTEwMDAscj0wLjA5LGM9MTAwMCxuPTQwLGk9MC4wNixpYz0xLGNmPTIscGxvdD1UUlVFKQpib25vCmBgYApgYGB7cn0KYm9ubyA8LSBib25kKGY9MTAwMCxyPTAuMDUsYz0xMDAwLG49MTUsaT0wLjA3LGljPTEsY2Y9MSxwbG90PVRSVUUpCmJvbm8KYGBgCgoKCiM0KSBVbiBib25vIGNvbiB1biBub21pbmFsIGRlIDEwMDAgZXVyLCBjb24gcGxhem8gaGFzdGEgZWwgdmVuY2ltaWVudG8gZGUgMTUgeWVhcnMsIGN1cMK0b24gYW51YWwgZGVsIDUlIHkgcmVudGFiaWxpZGFkIGEgdmVuY2ltaWVudG8gZGUgNiUuIENhbGN1bGFyIGVsIHByZWNpbyB5IGxhIHNlbnNpYmlsaWRhZCBhbnRlIHZhcmlhY2lvbmVzIGRlbCB0aXBvIGRlIGludGVywrRlcy4KbGlicmFyeShGaW5hbmNpYWxNYXRoKQpgYGB7cn0KYm9ubyA8LSBib25kKGY9MTAwMCxyPTAuMDUsYz0xMDAwLG49MTUsaT0wLjA2LGljPTEsY2Y9MSx0PTEwLHBsb3Q9VFJVRSkKcm93Lm5hbWVzKGJvbm8pCmJvbm8KYGBgCgoKI1ZhcmlhY2nCtG9uIGRlbCBwcmVjaW8gc2VnwrR1biBsYSBkdXJhY2nCtG9uOiBhdW1lbnRhbW9zIDEwMCBwYiBlbCByZW5kaW1pZW50byBleGlnaWRvIHkgbG8gZ3VhcmRhbW9zIGVuIGxhIHZhcmlhYmxlIHF1ZSBsbGFtYW1vcyBpbmMKCmBgYHtyfQpEdXJfTWFjIDwtIGJvbm9bNl0KRHVyX01vZCA8LSBib25vWzddCmluYyA8LSAwLjAxICMgYXVtZW50byBkZSAxMDAgcGIgYWwgcmR0byBleGlnaWRvCnZhcl9yZWxhdGl2YSA8LSAtKER1cl9Nb2QqaW5jKTsKYGBgCgoKYGBge3J9CmNhdCgidmFyaWFjaVwnb24gcmVsYXRpdmEgcG9yIHN1YmlkYSBkZSAxMDAgcGI9Iixyb3VuZCh2YXJfcmVsYXRpdmEsNSkpCgpgYGAKYGBge3J9ClAxIDwtIGJvbm9bMV0qKDErdmFyX3JlbGF0aXZhKQpjYXQoIk51ZXZvIFByZWNpbyBhcHJveD0gIixyb3VuZChQMSwyKSwiZXVyb3MiKQpgYGAKCmBgYHtyfQpib25kKGY9MTAwMCxyPS4wNSxjPTEwMDAsbj0xNSxpPTAuMDYraW5jLGljPTEsY2Y9MSx0PTEscGxvdD1UUlVFKQoKYGBgCgoKCjEKQm9uZCBTdW1tYXJ5ClByaWNlIDgxNy44NDE3MjAKRGlzY291bnQgMTgyLjE1ODI4MApDb3Vwb24gNTAuMDAwMDAwCkVmZiBSYXRlIDAuMDcwMDAwClllYXJzIDE1LjAwMDAwMApNQUMgRCAxMC40MTA4MDMKTU9EIEQgOS43Mjk3MjIKTUFDIEMgMTM1LjAyNDUyMwpNT0QgQyAxMjcuMDI4ODQ2CkF0IFBlcmlvZCAxOiAxLjAwMDAwMApQcmljZSh0KSA4MjUuMDkwNjQwCldyaXRlLVVwIDcuMjQ4OTIwCgpWYXJpYWNpwrRvbiBkZWwgcHJlY2lvIHNlZ8K0dW4gbGEgY29udmV4aWRhZApgYGB7cn0KQ29udiA8LSAwLjUqYm9ub1s4XSooaW5jKV4yOwpjYXQoIkNvbnZleGlkYWQiLHJvdW5kKENvbnYsNSkpCgpQMSA8LSBib25vWzFdKyh2YXJfcmVsYXRpdmErQ29udikqYm9ub1sxXQpjYXQoIk51ZXZvIFByZWNpbyBhcHJveD0iLHJvdW5kKFAxLDIpLCJldXJvcyIpCmBgYAoKPiBDb252IDwtIDAuNSpib25vWzhdKihpbmMpXjI7Cj4gY2F0KCJDb252ZXhpZGFkIixyb3VuZChDb252LDUpKQpDb252ZXhpZGFkIDAuMDA2OTcKPiBQMSA8LSBib25vWzFdKyh2YXJfcmVsYXRpdmErQ29udikqYm9ub1sxXQo+IGNhdCgiTnVldm8gUHJlY2lvIGFwcm94PSIscm91bmQoUDEsMiksImV1cm9zIikKTnVldm8gUHJlY2lvIGFwcm94PSA4MTguNCBldXJvcwoKI0NBTENVTEFSIExBIFRJUiBERSBVTiBCT05PIEEgNSBBw5FPUyAtIHByZWNpbz1fIDExOTEuODcgICBpPSA5JQoKCmBgYHtyfQpDRjAgPC0xMTkxLjg3Cmk8LSAwLjA5CkNVUE9OIDwtIDEwMDAqaQpjZjwtIGMocmVwIChDVVBPTiw1KSwxMDAwKQp0aW1lcyA8LSBjKDEsMiwzLDQsNSw1KQpUSVIgPC0gSVJSKENGMCxjZix0aW1lcyxwbG90PVRSVUUpOyBUSVIKCmBgYAoKI0NhbGN1bGFyIGVsIHByZWNpbyBkZSB1biBib25vIGVtaXRpZG8gYSAxMCBhy5xub3MgY29uIHVuIHZhbG9yIG5vbWluYWwgZGUgMS4wMDAgZXVyb3MsIHVuIGN1cMOzbiBhbnVhbCBkZWwgNSwxNSUgeSB1bmEgcmVudGFiaWxpZGFkIHJlcXVlcmlkYSBkZWwgMiw2MyUuCmBgYHtyfQpib25vIDwtIGJvbmQoZj0xMDAwLHI9MC4wNTE1LGM9MTAwMCxuPTEwLGk9MC4wMjYzLGljPTEsY2Y9MSxwbG90PVRSVUUpCmJvbm8KCmBgYAojRWplcmNpY2lvIDcgClN1cG9uZ2Ftb3MgdW4gYm9ubyBlbWl0aWRvIGEgMjAgYcucbm9zIGNvbiB1biBjdXDCtG9uIGRlbCA5JQpub21pbmFsLiBFbCBwYWdvIGRlIGN1cG9uZXMgZXMgc2VtaWFudWFsLiBDYWxjdWxhciBlbCBwcmVjaW8gc2kgc2UKZGVzZWEgZWwgcmVuZGltaWVudG8gYWwgdmVuY2ltaWVudG8gZGVsIDYlLCBsYSBkdXJhY2nCtG9uIHkgbGEKY29udmV4aWRhZCBkZWwgYm9uby4KU29sOiAxMzUuOTQ7IDIyLjA1IHNlbWVzdHJlczsgNjc4LjA3IChDKS4KCmBgYHtyfQoKYm9ubyA8LSBib25kKGY9MTAwLHI9MC4wOSxjPTEwMCxuPTIwLGk9MC4wNixpYz0xLGNmPTIscGxvdD1UUlVFKQpib25vCmBgYAoKI1NlYSB1biBib25vIGRlIG5vbWluYWwgZGUgMTAwMCBldXJvcywgY29uIHZlbmNpbWllbnRvIGEgMTAgYcOxb3MsIGN1cMOzbiBhbnVhbCBkZWwgMi41JSB5IHJlbnRhYmlsaWRhZCBhIHZlbmNpbWllbnRvIGRlIDIlLiAKClJlc3BvbmRlciBhIGxhcyBzaWd1aWVudGVzIGN1ZXN0aW9uZXMsIHVzYW5kbyBSIHkgRXhjZWwgY3VhbmRvIHNlYSBwb3NpYmxlLCBpbmRpY2FuZG8gbGFzIGbDs3JtdWxhcyB1dGlsaXphZGFzOgpgYGB7cn0KYm9ubyA8LSBib25kKGY9MTAwMCxyPTAuMDI1LGM9MTAwMCxuPTEwLGk9MC4wMixpYz0xLGNmPTEscGxvdD1UUlVFKQpib25vCmBgYAoKCsK/Q3VhbCBlcyBlbCBwcmVjaW8gZGVsIGJvbm8/CjEwNDQsOTEyCsK/Q3VhbCBlcyBsYSBkdXJhY2nCtG9uIGRlbCBib25vPwpETWFjPSA4LDk5IGHDsW9zICAtICBETW9kaWZpY2FkYSAgPSAgOC44MjEzCgrCv1F1ZSB2YXJpYWNpwrRvbiByZWxhdGl2YSBkZWwgcHJlY2lvIGRlbCBib25vIHByb25vc3RpY2EgbGEKZHVyYWNpw7NuIHNpIGxhIHJlbnRhYmlsaWRhZCBkZWwgbWVyY2FkbyBlcyBkZSAzJT8KCmNvbiB1bmEgcmVudGFiaWxpZGFkIGRlIG1lcmNhZG8gZGUgMyUKYGBge3J9CmJvbm8gPC0gYm9uZChmPTEwMDAscj0wLjAyNSxjPTEwMDAsbj0xMCxpPTAuMDMsaWM9MSxjZj0xLHBsb3Q9RkFMU0UpCmJvbm8KYGBgCgoKwr9RdWUgcHJlY2lvIGRlbCBib25vIHByb25vc3RpY2EgbGEgZHVyYWNpw7NuIHNpIGVsIHJlbmRpbWllbnRvCmVzIGRlbCAzJT8KYGBge3J9CmJvbm8gPC0gYm9uZChmPTEwMDAscj0wLjAzLGM9MTAwMCxuPTEwLGk9MC4wMixpYz0xLGNmPTEscGxvdD1GQUxTRSkKYm9ubwpgYGAKCkNhbGN1bGFyIGxhIGNvbnZleGlkYWQgZGVsIGJvbm8KCsK/UXVlIHByZWNpbyBhcHJveGltYWRvIGRlbCBib25vIHNlIG9idGVuZHLCtMSxYSBzaSB1c2Ftb3MgbGEKZHVyYWNpw7NuIHkgbGEgY29udmV4aWRhZCBjb24gcmVuZGltaWVudG8gZGVsIDMlPwrCv0N1YWwgZXMgZWwgcHJlY2lvIGRlbCBib25vIHNpIHNlIHZlbmRlIDYgYcOxb3MgZGVzcHXDqXMgZGUgc3UKZW1pc2nDs24/CgoKCgoKYGBge3J9CmJvbm8gPC0gYm9uZChmPTEwMDAscj0wLjA1LGM9MTAwMCxuPTE1LGk9MC4wNyxpYz0xLGNmPTEscGxvdD1GQUxTRSkKYm9ubwpgYGAKCmBgYHtyfQpib25vIDwtIGJvbmQoZj0xMDAwLHI9MC4wOSxjPTEwMDAsbj00MCxpPTAuMDYsaWM9MSxjZj0yLHBsb3Q9RkFMU0UpCmJvbm8KYGBgCgpgYGB7cn0KYm9ubyA8LSBib25kKGY9MTAwMDAscj0wLjA4LGM9MTAwMDAsbj0zLGk9MC4wNixpYz0xLGNmPTEscGxvdD1GQUxTRSkKYm9ubwpgYGAKCgoK