Data diambil dari Pasardana
bond <- read_excel("data/data240126.xlsx")
bond$`Tanggal Terbit` <- as.Date(bond$`Tanggal Terbit`, "%y-%m-%d")
## Warning in as.POSIXlt.POSIXct(x, tz = tz): unknown timezone '%y-%m-%d'
bond$`Jatuh Tempo` <- as.Date(bond$`Jatuh Tempo`, "%y-%m-%d")
## Warning in as.POSIXlt.POSIXct(x, tz = tz): unknown timezone '%y-%m-%d'
bond
## # A tibble: 50 × 19
## Kode Nama `Tanggal Terbit` Emiten Sektor `Sub Sektor` Industri
## <chr> <chr> <date> <chr> <chr> <chr> <chr>
## 1 FR0037 Obligasi Negara … 2006-05-19 INDO Produ… Obligasi Obligasi
## 2 FR0040 Obligasi Negara … 2006-09-22 INDO Produ… Obligasi Obligasi
## 3 FR0042 Obligasi Negara … 2007-01-26 INDO Produ… Obligasi Obligasi
## 4 FR0044 Obligasi Negara … 2007-04-20 INDO Produ… Obligasi Obligasi
## 5 FR0045 Obligasi Negara … 2007-05-25 INDO Produ… Obligasi Obligasi
## 6 FR0047 Obligasi Negara … 2007-08-31 INDO Produ… Obligasi Obligasi
## 7 FR0050 Obligasi Negara … 2008-01-25 INDO Produ… Obligasi Obligasi
## 8 FR0052 Obligasi Negara … 2009-08-21 INDO Produ… Obligasi Obligasi
## 9 FR0054 Obligasi Negara … 2010-07-23 INDO Produ… Obligasi Obligasi
## 10 FR0056 Obligasi Negara … 2010-09-24 INDO Produ… Obligasi Obligasi
## # ℹ 40 more rows
## # ℹ 12 more variables: `Sub Industri` <chr>, Denominasi <chr>, Rating <chr>,
## # Syariah <chr>, Kupon <dbl>, `Jatuh Tempo` <date>, `Harga (%)` <dbl>,
## # TTM <dbl>, YTM <dbl>, `Current Yield` <dbl>, `Total Val` <dbl>,
## # `Outstanding Amount` <dbl>
bond_viz <- bond %>%
filter(YTM >0) %>%
mutate(Kupon = Kupon*100, YTM = YTM *100) %>%
ggplot(aes(x = TTM,
y = Kupon,
# size = `Outstanding Amount`,
# text = Kode,
color = YTM
))+
# geom_text_repel(aes(label = Kode))+
# geom_point(aes(shape = Syariah), size = 0.5)+
geom_point(size = 0.5)+
geom_text(aes(label = Kode))+
scale_color_gradient(low = "red", high = "blue")+
scale_x_discrete(limits = c(0,5,10,15,20))+
theme_bw() +
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
geom_vline(xintercept = c(5, 10, 15, 20), linetype="dotted", size = 0.05)+
geom_hline(yintercept = c(6, 8, 10, 12), linetype="dotted", size = 0.05)+
labs(title = "Grafik Kupon, TTM dan YTM SBN - edisi 29 Januari 2024")
## Warning: Continuous limits supplied to discrete scale.
## ℹ Did you mean `limits = factor(...)` or `scale_*_continuous()`?
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
ggplotly(bond_viz)