Ключ здесь - сначала правильно рассчитать наклон и точку пересечения, а затем использовать geom_ribbon
и geom_abline
. Поэтому, если вы хотите sh вычислить наклон в 0,1, я предлагаю вам рассчитать соотношение между шагом y и шагом x в интервале x = 0,9 и x = 0,11, то есть:
xincrement <- 0.02
yincrement <- prc_yld[10, 2] - prc_yld[8, 2]
slope <- yincrement/xincrement
Тогда перехват:
intercept <- 100-slope*0.1
С этими значениями мы можем вычислить y
значения касательной линии:
yvalues <- slope*prc_yld$prc_yld + intercept
Теперь, давайте объединим все вместе:
prc_yld <- as.data.frame(cbind(prc_yld, yvalues))
Теперь сюжет:
ggplot(prc_yld, aes(x=prc_yld, y = price)) +
geom_ribbon(data = prc_yld, aes(x = prc_yld, ymax = price, ymin = yvalues), fill = "green") +
geom_line(color = "red", size = 1) +
labs(title ="Price/YTM Relationship",x="Yield", y= "Value") +
geom_abline(slope = slope, intercept = intercept, color = "blue", size = 1)