PAI · AAMAI · 2026
Aktuaria
Indonesia
CF1 · Materi 5.3

Yield Rate and Coupon Calculations

2026-02-18 Calculation-Intensive Bobot: 10–20% Vaaler Bab 6, Kellison Bab 6
CF1MatematikaKeuanganBondsYieldRateYTMCouponRateInterpolation

📘 5.3 — Yield Rate and Coupon Calculations

Ringkasan Cepat

Topik: Yield Rate and Coupon Calculations | Bobot: ~10–20% | Difficulty: Calculation-Intensive Ref: Vaaler Bab 6, Kellison Bab 6 | Prereq: 5.1 Bond Pricing, 5.2 Book Value, Premium and Discount Amortization

Section 0 — Pemetaan Topik

Topik CF1Sub-topik IDSkill DiujiBobotDifficultyPrerequisiteConnected TopicsReferensi
Topik 5: Model Penentuan Harga Obligasi5.3Menghitung yield rate (YTM) dari harga obligasi yang diketahui; menghitung coupon rate yang diperlukan untuk mencapai harga tertentu; menghitung maturity nn dari harga dan coupon; interpolasi linear untuk solve yield; memahami current yield vs YTM10–20%Calculation-Intensive5.1 Bond Pricing, 5.2 Book Value, Premium and Discount Amortization5.1 Bond Pricing, 3.2 Yield Curve, 3.3 Duration (Macaulay and Modified)Vaaler 6, Kellison 6

Section 1 — Intuisi

Bayangkan kamu menemukan obligasi di pasar sekunder yang dijual seharga Rp 950.000, padahal face value-nya Rp 1.000.000 dan coupon rate-nya 8% per tahun dengan maturity 5 tahun. Pertanyaan alami: “Berapa return sesungguhnya yang akan saya dapatkan jika beli obligasi ini hari ini?” Ini adalah pertanyaan tentang Yield to Maturity (YTM)—return efektif yang memperhitungkan harga beli, semua coupon yang akan diterima, dan redemption value di akhir.

YTM berbeda dari coupon rate karena YTM memperhitungkan capital gain atau loss. Jika beli obligasi di bawah par (discount), kamu akan mendapat capital gain saat redemption—sehingga YTM lebih tinggi dari coupon rate. Sebaliknya, jika beli di atas par (premium), ada capital loss, sehingga YTM lebih rendah dari coupon rate. Inilah mengapa obligasi dengan coupon rate sama bisa punya YTM berbeda tergantung harga pasar.

Masalah inverse problem ini—mencari ii dari PP yang diketahui—tidak punya solusi closed-form algebrais. Berbeda dengan mencari PP dari ii (langsung substitusi), mencari ii dari PP membutuhkan iterasi atau interpolasi. Di ujian CF1, metode yang paling umum adalah linear interpolation antara dua trial rates. Selain YTM, soal CF1 juga menguji kemampuan mencari coupon rate rr yang membuat harga obligasi mencapai nilai tertentu (ini punya solusi langsung karena rr muncul linear dalam pricing formula), dan kadang mencari maturity nn (yang juga membutuhkan iterasi atau logaritma).

Section 2 — Definisi Formal

Definisi Matematis

Yield to Maturity (YTM) adalah rate ii yang memenuhi persamaan pricing:

P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n

di mana PP, FF, rr, CC, nn semua diketahui, dan ii adalah unknown.

Linear Interpolation untuk YTM:

ii1+P1PP1P2(i2i1)i \approx i_1 + \frac{P_1 - P}{P_1 - P_2} \cdot (i_2 - i_1)

di mana i1<i<i2i_1 < i < i_2 adalah dua trial rates, P1=f(i1)>P>P2=f(i2)P_1 = f(i_1) > P > P_2 = f(i_2).

Coupon Rate dari Target Price:

r=PCvnFanir = \frac{P - C \cdot v^n}{F \cdot a_{\overline{n}|i}}

(linear dalam rr, solvable directly)

Variabel & Parameter

SimbolMaknaUnit / Range
PPBond price (known, market price)Mata uang
FFFace valueMata uang
CCRedemption valueMata uang
rrCoupon rate per periodDecimal (unknown or known)
FrFrCoupon payment per periodMata uang
iiYield rate / YTM (unknown or known)Decimal
nnNumber of periods to maturityInteger (unknown or known)
vvDiscount factor =1/(1+i)= 1/(1+i)0<v<10 < v < 1
ania_{\overline{n}\|i}PV annuity-immediate factor(1vn)/i(1-v^n)/i
i1,i2i_1, i_2Trial rates for interpolationi1<itrue<i2i_1 < i_{\text{true}} < i_2
P1,P2P_1, P_2Bond prices at trial ratesP1>P>P2P_1 > P > P_2 (since PP decreasing in ii)

Rumus Utama

P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n

Label: Pricing equation — the fundamental equation to solve for unknown parameter.

ii1+P1PP1P2(i2i1)i \approx i_1 + \frac{P_1 - P}{P_1 - P_2} \cdot (i_2 - i_1)

Label: Linear interpolation for YTM (approximate, valid when i2i1i_2 - i_1 small).

r=PCvnFanir = \frac{P - C \cdot v^n}{F \cdot a_{\overline{n}|i}}

Label: Coupon rate given price, yield, and maturity (direct solution).

Fr=PCvnaniFr = \frac{P - C \cdot v^n}{a_{\overline{n}|i}}

Label: Coupon payment given price, yield, and maturity (direct solution).

Current Yield=FrP\text{Current Yield} = \frac{Fr}{P}

Label: Current yield (simpler measure, ignores capital gain/loss and time value).

Asumsi Eksplisit

  • Constant Yield: YTM diasumsikan konstan selama life of bond (flat term structure).
  • Coupons Reinvested at YTM: Implicit assumption bahwa coupon payments di-reinvest di rate ii (YTM).
  • No Default: Issuer membayar semua cash flows sesuai jadwal.
  • Linear Interpolation Accuracy: Interpolasi linear adalah approximation—semakin kecil interval [i1,i2][i_1, i_2], semakin akurat.

Section 3 — Jembatan Logika

Dari Time Diagram ke Equation of Value

Pricing equation P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n adalah nonlinear dalam ii karena ania_{\overline{n}|i} dan vnv^n keduanya bergantung pada ii secara nonlinear.

Mengapa tidak ada solusi algebrais untuk ii? Substitusi ani=(1vn)/ia_{\overline{n}|i} = (1-v^n)/i menghasilkan:

P=Fr1vni+CvnP = Fr \cdot \frac{1 - v^n}{i} + C \cdot v^n

Dengan v=1/(1+i)v = 1/(1+i), ini adalah polynomial equation derajat n+1n+1 dalam vv (atau ii). Untuk n5n \geq 5, tidak ada formula closed-form (Abel-Ruffini theorem). Solusi numerik diperlukan.

Mengapa rr punya solusi langsung? rr muncul linear dalam pricing equation:

P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n

Jika ii dan nn diketahui, ania_{\overline{n}|i} dan vnv^n adalah konstanta. Solve untuk FrFr:

Fr=PCvnaniFr = \frac{P - C \cdot v^n}{a_{\overline{n}|i}}

Lalu r=Fr/Fr = Fr/F.

Focal Date

Focal date di t=0t=0 (saat pembelian). Semua cash flows di-discount ke t=0t=0 menggunakan yield ii yang dicari.

Derivasi Interpolation Formula:

Pricing function f(i)=Frani+Cvnf(i) = Fr \cdot a_{\overline{n}|i} + C \cdot v^n adalah strictly decreasing dalam ii (karena higher discount rate → lower PV).

Jika P1=f(i1)>P>P2=f(i2)P_1 = f(i_1) > P > P_2 = f(i_2) dengan i1<i2i_1 < i_2, maka true ii berada di antara i1i_1 dan i2i_2.

Linear interpolation mengasumsikan ff linear di interval [i1,i2][i_1, i_2]:

ii1i2i1f(i1)Pf(i1)f(i2)=P1PP1P2\frac{i - i_1}{i_2 - i_1} \approx \frac{f(i_1) - P}{f(i_1) - f(i_2)} = \frac{P_1 - P}{P_1 - P_2}

Solve untuk ii:

ii1+P1PP1P2(i2i1)i \approx i_1 + \frac{P_1 - P}{P_1 - P_2} \cdot (i_2 - i_1)

Intuisi: Kita interpolate secara proporsional. Jika PP lebih dekat ke P1P_1, maka ii lebih dekat ke i1i_1.

Monotonicity of Bond Price:

dPdi=FrdanidiCnvn+1<0\frac{dP}{di} = -Fr \cdot \frac{d a_{\overline{n}|i}}{di} - C \cdot n \cdot v^{n+1} < 0

Karena dP/di<0dP/di < 0, fungsi P(i)P(i) strictly decreasing. Ini menjamin:

  • i1<itrueP1>Pi_1 < i_{\text{true}} \Leftrightarrow P_1 > P
  • i2>itrueP2<Pi_2 > i_{\text{true}} \Leftrightarrow P_2 < P
Dilarang
  1. Menggunakan current yield sebagai YTM: Current yield =Fr/P= Fr/P mengabaikan capital gain/loss dan time value. Selalu berbeda dari YTM kecuali P=CP = C.
  2. Interpolasi dengan interval terlalu besar: Jika i2i1>2%|i_2 - i_1| > 2\%, error interpolasi bisa signifikan. Gunakan interval 1%\leq 1\% untuk akurasi exam.
  3. Lupa bahwa PP decreasing dalam ii: Jika trial rate i1i_1 menghasilkan P1<PP_1 < P (bukan P1>PP_1 > P), maka i1i_1 terlalu tinggi—turunkan trial rate.

Section 4 — Contoh Soal

Soal A — Fundamental

Obligasi dengan face value Rp 1.000.000, coupon rate 8% annually, maturity 5 tahun, redeemed at par. Obligasi dijual seharga Rp 960.000. Hitunglah: (a) Apakah YTM lebih besar atau lebih kecil dari 8%? (b) Gunakan trial rates i1=9%i_1 = 9\% dan i2=10%i_2 = 10\% untuk estimate YTM dengan linear interpolation.

Data yang diberikan:

  • F=C=1.000.000F = C = 1.000.000
  • r=0.08r = 0.08, Fr=80.000Fr = 80.000
  • n=5n = 5
  • P=960.000P = 960.000 (market price)
Solusi Soal A

1. Identifikasi Variabel

  • Fr=80.000Fr = 80.000, C=1.000.000C = 1.000.000, n=5n = 5
  • P=960.000P = 960.000 (given, market price)
  • Trial rates: i1=0.09i_1 = 0.09, i2=0.10i_2 = 0.10
  • Dicari: ii (YTM)

2. Time Diagram

t=0         t=1       t=2       t=3       t=4       t=5
|-----------|---------|---------|---------|---------|
P=960,000   80,000    80,000    80,000    80,000    80,000 + 1,000,000

Investor bayar 960,000 < par → discount → YTM > coupon rate

3. Equation of Value (pada Focal Date t=0t = 0)

960.000=80.000a5i+1.000.000v5960.000 = 80.000 \cdot a_{\overline{5}|i} + 1.000.000 \cdot v^5

Interpolation:

ii1+P1PP1P2(i2i1)i \approx i_1 + \frac{P_1 - P}{P_1 - P_2} \cdot (i_2 - i_1)

4. Eksekusi Aljabar

(a) Direction of YTM:

P=960.000<C=1.000.000P = 960.000 < C = 1.000.000 → discount bond → r<ir < i → YTM >8%> 8\%

(b) Compute P1P_1 at i1=9%i_1 = 9\%:

v15=(1.09)5=1/(1.53862)=0.649931v_1^5 = (1.09)^{-5} = 1/(1.53862) = 0.649931 a50.09=10.6499310.09=0.3500690.09=3.88967a_{\overline{5}|0.09} = \frac{1 - 0.649931}{0.09} = \frac{0.350069}{0.09} = 3.88967 P1=80.000×3.88967+1.000.000×0.649931P_1 = 80.000 \times 3.88967 + 1.000.000 \times 0.649931 P1=311.174+649.931=961.105P_1 = 311.174 + 649.931 = 961.105

Compute P2P_2 at i2=10%i_2 = 10\%:

v25=(1.10)5=0.620921v_2^5 = (1.10)^{-5} = 0.620921 a50.10=10.6209210.10=3.79079a_{\overline{5}|0.10} = \frac{1 - 0.620921}{0.10} = 3.79079 P2=80.000×3.79079+1.000.000×0.620921P_2 = 80.000 \times 3.79079 + 1.000.000 \times 0.620921 P2=303.263+620.921=924.184P_2 = 303.263 + 620.921 = 924.184

Verify bracket: P1=961.105>P=960.000>P2=924.184P_1 = 961.105 > P = 960.000 > P_2 = 924.184

Linear Interpolation:

i0.09+961.105960.000961.105924.184×(0.100.09)i \approx 0.09 + \frac{961.105 - 960.000}{961.105 - 924.184} \times (0.10 - 0.09) i0.09+1.10536.921×0.01i \approx 0.09 + \frac{1.105}{36.921} \times 0.01 i0.09+0.02993×0.01=0.09+0.0002990.09030i \approx 0.09 + 0.02993 \times 0.01 = 0.09 + 0.000299 \approx 0.09030

YTM 9.03%\approx 9.03\% per tahun

5. Verification

Cek direction: YTM 9.03%>r=8%9.03\% > r = 8\% ✓ (discount bond)

Cek bracket: P(9%)=961.105>960.000>P(10%)=924.184P(9\%) = 961.105 > 960.000 > P(10\%) = 924.184

Logika finansial: Investor bayar Rp 960.000 untuk obligasi yang bayar Rp 80.000/tahun + Rp 1.000.000 di akhir. Capital gain Rp 40.000 (dari 960k ke 1000k) plus coupon stream memberikan total return ~9.03% per tahun.

[!WARNING] Exam Tips — Soal A Target waktu: 4–5 menit. Common trap: Salah arah interpolation—ingat PP decreasing dalam ii, jadi P1>PP_1 > P harus correspond ke i1<ii_1 < i. Shortcut: Jika PP sangat dekat ke P1P_1, YTM ≈ i1i_1 (no need for full interpolation).


Soal B — Exam-Typical

Obligasi dengan face value Rp 2.000.000, maturity 8 tahun, redeemed at par, yield rate 7% annually. Investor ingin membeli obligasi ini seharga tepat Rp 2.100.000 (premium). Hitunglah coupon rate rr (annual) yang harus dimiliki obligasi agar harga tersebut terpenuhi.

Data yang diberikan:

  • F=C=2.000.000F = C = 2.000.000
  • n=8n = 8
  • i=0.07i = 0.07
  • Target P=2.100.000P = 2.100.000
  • Dicari: rr (coupon rate)
Solusi Soal B

1. Identifikasi Variabel

  • F=C=2.000.000F = C = 2.000.000
  • i=0.07i = 0.07, n=8n = 8
  • P=2.100.000P = 2.100.000
  • Unknown: rr (dan Fr=FrFr = F \cdot r)

2. Time Diagram

t=0         t=1       ...       t=8
|-----------|---------|---------|
2,100,000   Fr        ...       Fr + 2,000,000

P > C → premium bond → r > i = 7%

3. Equation of Value (pada Focal Date t=0t = 0)

P=Fra80.07+Cv8P = Fr \cdot a_{\overline{8}|0.07} + C \cdot v^8

Solve untuk FrFr:

Fr=PCv8a80.07Fr = \frac{P - C \cdot v^8}{a_{\overline{8}|0.07}}

4. Eksekusi Aljabar

Hitung annuity factor dan discount factor:

v8=(1.07)8=1/(1.71819)=0.582009v^8 = (1.07)^{-8} = 1/(1.71819) = 0.582009 a80.07=10.5820090.07=0.4179910.07=5.97130a_{\overline{8}|0.07} = \frac{1 - 0.582009}{0.07} = \frac{0.417991}{0.07} = 5.97130

Hitung Cv8C \cdot v^8:

Cv8=2.000.000×0.582009=1.164.018C \cdot v^8 = 2.000.000 \times 0.582009 = 1.164.018

Solve FrFr:

Fr=2.100.0001.164.0185.97130=935.9825.97130=156.749Fr = \frac{2.100.000 - 1.164.018}{5.97130} = \frac{935.982}{5.97130} = 156.749

Coupon rate:

r=FrF=156.7492.000.000=0.0783757.84%r = \frac{Fr}{F} = \frac{156.749}{2.000.000} = 0.078375 \approx 7.84\%

5. Verification

Cek direction: r=7.84%>i=7%r = 7.84\% > i = 7\% → premium bond ✓ (consistent dengan P>CP > C)

Verify price:

P=156.749×5.97130+2.000.000×0.582009P = 156.749 \times 5.97130 + 2.000.000 \times 0.582009 =935.982+1.164.018=2.100.000= 935.982 + 1.164.018 = 2.100.000 \quad \checkmark

Logika finansial: Untuk obligasi dijual premium (Rp 2.1M > par Rp 2M), coupon rate harus lebih tinggi dari yield (7.84% > 7%). Investor mau bayar lebih karena coupon yang diterima lebih besar dari “fair” coupon.

Exam Tips — Soal B

Target waktu: 3–4 menit. Common trap: Mencoba solve rr dengan interpolation (tidak perlu—rr adalah linear!). Shortcut: Gunakan Makeham form: P=C+(FrCi)aniP = C + (Fr - Ci) \cdot a_{\overline{n}|i}Fr=Ci+(PC)/aniFr = Ci + (P-C)/a_{\overline{n}|i}.


Soal C — Challenging

Obligasi dengan face value Rp 3.000.000, coupon rate 6% annually, redeemed at par. Obligasi dijual seharga Rp 2.750.000. Yield rate yang diinginkan investor adalah 8% annually.

(a) Berapa maturity nn yang diperlukan agar harga obligasi tepat Rp 2.750.000 pada yield 8%? (b) Gunakan trial values n1=8n_1 = 8 dan n2=10n_2 = 10 untuk estimate nn dengan interpolation. (c) Jika maturity harus integer, pilih n=8n = 8 atau n=10n = 10? Jelaskan.

Data yang diberikan:

  • F=C=3.000.000F = C = 3.000.000
  • r=0.06r = 0.06, Fr=180.000Fr = 180.000
  • i=0.08i = 0.08
  • Target P=2.750.000P = 2.750.000
  • Dicari: nn
Solusi Soal C

1. Identifikasi Variabel

  • Fr=180.000Fr = 180.000, C=3.000.000C = 3.000.000, i=0.08i = 0.08
  • P=2.750.000P = 2.750.000
  • Trial values: n1=8n_1 = 8, n2=10n_2 = 10
  • Unknown: nn

2. Time Diagram

t=0         t=1       ...       t=n
|-----------|---------|---------|
2,750,000   180,000   ...       180,000 + 3,000,000

P < C → discount bond → r < i ✓ (6% < 8%)
Longer maturity → lower price (more discounting of redemption)

3. Equation of Value (pada Focal Date t=0t = 0)

2.750.000=180.000an0.08+3.000.000vn2.750.000 = 180.000 \cdot a_{\overline{n}|0.08} + 3.000.000 \cdot v^n

Interpolation in nn:

nn1+PP1P2P1(n2n1)n \approx n_1 + \frac{P - P_1}{P_2 - P_1} \cdot (n_2 - n_1)

Note: For discount bonds, PP is increasing in nn (longer maturity → more coupons received, but also more discounting of redemption; net effect for discount bonds: price increases with nn).

4. Eksekusi Aljabar

Compute P1P_1 at n1=8n_1 = 8:

v8=(1.08)8=1/(1.85093)=0.540269v^8 = (1.08)^{-8} = 1/(1.85093) = 0.540269 a80.08=10.5402690.08=0.4597310.08=5.74664a_{\overline{8}|0.08} = \frac{1 - 0.540269}{0.08} = \frac{0.459731}{0.08} = 5.74664 P1=180.000×5.74664+3.000.000×0.540269P_1 = 180.000 \times 5.74664 + 3.000.000 \times 0.540269 P1=1.034.395+1.620.807=2.655.202P_1 = 1.034.395 + 1.620.807 = 2.655.202

Compute P2P_2 at n2=10n_2 = 10:

v10=(1.08)10=1/(2.15892)=0.463193v^{10} = (1.08)^{-10} = 1/(2.15892) = 0.463193 a100.08=10.4631930.08=0.5368070.08=6.71009a_{\overline{10}|0.08} = \frac{1 - 0.463193}{0.08} = \frac{0.536807}{0.08} = 6.71009 P2=180.000×6.71009+3.000.000×0.463193P_2 = 180.000 \times 6.71009 + 3.000.000 \times 0.463193 P2=1.207.816+1.389.579=2.597.395P_2 = 1.207.816 + 1.389.579 = 2.597.395

Check direction: For discount bonds, as nn increases, price decreases (redemption value discounted more heavily). So P1>P2P_1 > P_2, and we need P=2.750.000>P1=2.655.202P = 2.750.000 > P_1 = 2.655.202. This means n<n1=8n < n_1 = 8.

Let’s try n1=5n_1 = 5 and n2=8n_2 = 8:

Compute PP at n=5n = 5:

v5=(1.08)5=0.680583v^5 = (1.08)^{-5} = 0.680583 a50.08=10.6805830.08=3.99271a_{\overline{5}|0.08} = \frac{1 - 0.680583}{0.08} = 3.99271 P(n=5)=180.000×3.99271+3.000.000×0.680583P(n=5) = 180.000 \times 3.99271 + 3.000.000 \times 0.680583 =718.688+2.041.749=2.760.437= 718.688 + 2.041.749 = 2.760.437

Verify bracket: P(n=5)=2.760.437>P=2.750.000>P(n=8)=2.655.202P(n=5) = 2.760.437 > P = 2.750.000 > P(n=8) = 2.655.202

Linear Interpolation:

n5+2.750.0002.760.4372.655.2022.760.437×(85)n \approx 5 + \frac{2.750.000 - 2.760.437}{2.655.202 - 2.760.437} \times (8 - 5) n5+10.437105.235×3=5+0.09919×3=5+0.2985.30n \approx 5 + \frac{-10.437}{-105.235} \times 3 = 5 + 0.09919 \times 3 = 5 + 0.298 \approx 5.30

True n5.3n \approx 5.3 years (non-integer, so we must choose integer)

(c) Integer Maturity Choice:

  • n=5n = 5: P(5)=2.760.437>2.750.000P(5) = 2.760.437 > 2.750.000 (obligasi lebih mahal dari target)
  • n=6n = 6: Compute to confirm
v6=(1.08)6=0.630170v^6 = (1.08)^{-6} = 0.630170 a60.08=10.6301700.08=4.62288a_{\overline{6}|0.08} = \frac{1 - 0.630170}{0.08} = 4.62288 P(6)=180.000×4.62288+3.000.000×0.630170=831.918+1.890.510=2.722.428P(6) = 180.000 \times 4.62288 + 3.000.000 \times 0.630170 = 831.918 + 1.890.510 = 2.722.428

P(6)=2.722.428<2.750.000P(6) = 2.722.428 < 2.750.000

Jika investor ingin harga tidak melebihi Rp 2.750.000, pilih n=6n = 6 (harga Rp 2.722.428 < target).

Jika investor ingin harga tidak kurang dari Rp 2.750.000, pilih n=5n = 5 (harga Rp 2.760.437 > target).

5. Verification

Cek discount: r=6%<i=8%r = 6\% < i = 8\% → discount bond ✓

Cek monotonicity: P(5)>P(6)>P(8)P(5) > P(6) > P(8) → price decreasing in nn for discount bond ✓

Logika finansial: Untuk discount bond (coupon < yield), semakin panjang maturity, semakin lama investor harus menunggu redemption value yang “mengkompensasi” coupon yang terlalu kecil. Sehingga harga turun seiring maturity meningkat.

Exam Tips — Soal C

Target waktu: 6–7 menit. Common trap: Mengasumsikan harga selalu naik dengan maturity—untuk discount bonds, harga TURUN dengan maturity (opposite dari premium bonds). Shortcut: Cek dulu apakah premium atau discount untuk tentukan arah monotonicity sebelum interpolasi.

Section 5 — Verifikasi & Sanity Check

YTM Direction
  1. Discount bond (P<CP < C): YTM >r> r (coupon rate). Capital gain compensates low coupon.
  2. Premium bond (P>CP > C): YTM <r< r (coupon rate). Capital loss offsets high coupon.
  3. Par bond (P=CP = C): YTM =r= r exactly.
Interpolation Bracket
  1. Verify bracket: P1>P>P2P_1 > P > P_2 dengan i1<i2i_1 < i_2 (karena PP decreasing in ii).
  2. Interpolated ii in range: i1<iinterpolated<i2i_1 < i_{\text{interpolated}} < i_2 always.
  3. Accuracy check: Substitute interpolated ii back into pricing formula—should give PP close to target.
Coupon Rate Calculation
  1. Direction check: If P>CP > C, then r>ir > i (premium). If P<CP < C, then r<ir < i (discount).
  2. Verify: Substitute computed rr back into P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n—should recover target PP.

Metode Alternatif

Makeham Form untuk Solve Coupon:

P=C+(FrCi)aniP = C + (Fr - Ci) \cdot a_{\overline{n}|i}

Solve untuk FrFr:

Fr=Ci+PCaniFr = Ci + \frac{P - C}{a_{\overline{n}|i}}

Lebih efisien karena langsung isolate FrFr.

Newton-Raphson untuk YTM [BEYOND CF1]:

ik+1=ikf(ik)f(ik)i_{k+1} = i_k - \frac{f(i_k)}{f'(i_k)}

di mana f(i)=P(i)Ptargetf(i) = P(i) - P_{\text{target}} dan f(i)=dP/dif'(i) = dP/di. Converges faster than interpolation but requires calculus.

Approximate YTM Formula [Shortcut]:

iFr+(CP)/n(P+C)/2i \approx \frac{Fr + (C - P)/n}{(P + C)/2}

Rough approximation: (annual coupon + annual capital gain/loss) / (average of price and redemption). Useful for quick sanity check, not for exact answer.

Section 6 — Visualisasi Mental

Bond Price vs Yield (P-i curve):

Grafik dengan sumbu X = yield rate ii, sumbu Y = bond price PP.

Kurva convex, strictly decreasing:

  • Saat i=ri = r (coupon rate): P=CP = C (par)
  • Saat i<ri < r: P>CP > C (premium)
  • Saat i>ri > r: P<CP < C (discount)

Interpolation visualization:

  • Plot dua titik (i1,P1)(i_1, P_1) dan (i2,P2)(i_2, P_2) pada kurva
  • Tarik garis lurus (chord) antara dua titik
  • Interpolated ii adalah titik di mana chord memotong horizontal line P=PtargetP = P_{\text{target}}
  • True ii adalah titik di mana kurva memotong P=PtargetP = P_{\text{target}}
  • Karena kurva convex, interpolated ii sedikit underestimate true ii (chord di bawah kurva)

Bond Price vs Maturity (P-n curve):

Grafik dengan sumbu X = maturity nn, sumbu Y = bond price PP.

  • Premium bond (r>ir > i): Kurva menurun dari P0>CP_0 > C menuju CC saat nn \to \infty
  • Discount bond (r<ir < i): Kurva menurun dari P0<CP_0 < C menuju… wait, actually for discount bonds, as nn increases, price decreases toward CC from below
  • Par bond: Horizontal line di P=CP = C

Untuk discount bond: semakin panjang maturity, semakin banyak “kerugian” dari coupon yang terlalu kecil, sehingga harga semakin rendah.

Hubungan Visual ↔ Rumus

Slope P-i curve:

dPdi=ddi[Frani+Cvn]<0\frac{dP}{di} = -\frac{d}{di}\left[Fr \cdot a_{\overline{n}|i} + C \cdot v^n\right] < 0

Negative slope → interpolation dengan P1>P>P2P_1 > P > P_2 corresponds ke i1<i<i2i_1 < i < i_2.

Convexity of P-i curve:

d2Pdi2>0\frac{d^2P}{di^2} > 0

Positive convexity → linear interpolation underestimates true ii (chord below curve).

Section 7 — Jebakan Umum

Kesalahan Unit Waktu

Contoh Salah: Obligasi semiannual, maturity 5 tahun. Menggunakan n=5n = 5 (years) instead of n=10n = 10 (semesters) dalam interpolation.

Benar: Semua calculations dalam per-period units. YTM per semester × 2 = annual YTM (nominal, convertible semiannually).

Kesalahan Konseptual
  1. Current yield = YTM (SALAH): Current yield =Fr/P= Fr/P hanya memperhitungkan coupon, bukan capital gain/loss atau time value. YTM selalu berbeda dari current yield kecuali P=CP = C.
  2. Interpolation exact (SALAH): Linear interpolation adalah approximation karena P-i curve nonlinear (convex). Semakin besar interval, semakin besar error.
  3. Maturity solve sama dengan yield solve: Untuk discount bonds, PP decreasing dalam nn (longer maturity → lower price). Untuk premium bonds, PP juga decreasing dalam nn. Jangan asumsikan P increasing dalam nn.
  4. Coupon rate solve butuh iterasi (SALAH): Coupon rate rr muncul linear dalam pricing equation—solve langsung tanpa iterasi.
Kesalahan Interpretasi Soal

Ambiguitas: “Yield” bisa berarti YTM, current yield, atau yield per period (jika semiannual).

Klarifikasi: Di CF1, “yield rate” atau “yield to maturity” = ii dalam pricing formula. “Current yield” = Fr/PFr/P (simpler, different concept). Selalu check konteks soal.

Red Flags
  • “Find the yield rate”: Trigger untuk interpolation. Setup bracket [i1,i2][i_1, i_2] dengan P1>P>P2P_1 > P > P_2.
  • “Find the coupon rate”: Direct solve—rr adalah linear. Gunakan Fr=(PCvn)/aniFr = (P - C \cdot v^n)/a_{\overline{n}|i}.
  • “Find the maturity”: Interpolation dalam nn. Cek dulu arah monotonicity (premium vs discount).
  • “Nominal yield convertible semiannually”: YTM per semester × 2, bukan YTM per semester.

Section 8 — Ringkasan Eksekutif

Must-Remember
  1. Pricing equation (fundamental): P=Frani+CvnP = Fr \cdot a_{\overline{n}|i} + C \cdot v^n
  2. Linear interpolation for YTM: ii1+P1PP1P2(i2i1),P1>P>P2,  i1<i2i \approx i_1 + \frac{P_1 - P}{P_1 - P_2} \cdot (i_2 - i_1), \quad P_1 > P > P_2, \; i_1 < i_2
  3. Coupon rate (direct solve): Fr=PCvnani,r=FrFFr = \frac{P - C \cdot v^n}{a_{\overline{n}|i}}, \quad r = \frac{Fr}{F}
  4. YTM direction: P<Ci>r(discount),P>Ci<r(premium)P < C \Rightarrow i > r \quad (\text{discount}), \quad P > C \Rightarrow i < r \quad (\text{premium})
  5. Approximate YTM (quick check): iFr+(CP)/n(P+C)/2i \approx \frac{Fr + (C-P)/n}{(P+C)/2}

Kapan Digunakan

  • Trigger keywords: “find the yield,” “yield to maturity,” “what coupon rate,” “find the maturity,” “interpolation,” “what rate of return.”
  • Tipe skenario soal:
    • Hitung YTM dari market price (interpolation).
    • Hitung coupon rate untuk achieve target price (direct solve).
    • Hitung maturity untuk achieve target price (interpolation in nn).
    • Compare YTM vs current yield.
    • Determine if bond is premium/discount/par from YTM vs coupon rate.

Kapan TIDAK Boleh Digunakan

Quick Decision Tree

graph TD
    A["Bond problem:<br>what is unknown?"] --> B["Price P?"]
    A --> C["Yield rate i?"]
    A --> D["Coupon rate r?"]
    A --> E["Maturity n?"]
    B --> F["Direct: P = Fr*a(n,i) + C*v^n<br>See 5.1 Bond Pricing"]
    C --> G["Interpolation needed<br>(nonlinear in i)"]
    D --> H["Direct solve:<br>Fr = (P - C*v^n) / a(n,i)"]
    E --> I["Interpolation needed<br>(nonlinear in n)"]
    G --> J["Choose i1 < i2<br>Compute P1 and P2"]
    J --> K["Verify P1 > P > P2"]
    K --> L["i = i1 + (P1-P)/(P1-P2) * (i2-i1)"]
    I --> M["Check: premium or discount?"]
    M --> N["Both: P decreasing in n<br>Choose bracket accordingly"]

Follow-up Options
  1. “Berikan contoh soal variasi YTM dengan semiannual coupons”
  2. “Jelaskan hubungan 5.3 Yield Rate and Coupon Calculations dengan 3.2 Yield Curve
  3. “Buat flashcard 1-halaman untuk topik ini”

📖 Ref: Vaaler Bab 6, Kellison Bab 6 | 🗓️ 2026-02-18 | #CF1 #YieldRate #YTM #CouponRate #Interpolation