ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
lab_127.ipynb
(105204B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "# Monte Carlo Simulation of Prices of Coupon-Bearing Bond using CIR\n",
8 "\n",
9 "As we have seen in the previous sessions, if we are fully funded, the best way to ensure that you will remain fully funded and be able to meet your liabilities is to build a portfolio of immunized bonds that are designed to match the future liability cash flows.\n",
10 "\n",
11 "In practice, few of us, both in a Pension Fund context and even more so in a Personal Investment context, already have the assets to fund all future liabilities. Other than in cases where 100% funding ratios are mandated by law, the far more common situation is that we typically do not have the assets we need to fully fund our future liabilities.\n",
12 "\n",
13 "That is where we need to allocate the wealth that we do have between the Performance Seekeng Component, and the Goal Hedging Component that we have already seen.\n",
14 "\n",
15 "Therefore the next steps for us are to allocate our capital across two assets: the PSP and the GHP. The PSP, or Performance Seeking Portfolio, is where we consciously take some risk in the hope that the extra risk is well rewarded - in other words, a high Sharpe Ratio portfolio. The GHP or Goal Hedging Portfolio is the immnized bond portfolio that designed to protect us in case the worst case happens and we do not get the returns that we hope for from the PSP.\n",
16 "\n",
17 "This of course raises the question of how much to allocate to the PSP and how much to the GHP. Clearly, allocating more to the PSP entails a higher expected return but a higher degree of risk. On the other hand, allocating too little to the PSP means less risk, but lower expected return. Thus, the decision of how much to allocate to the PSP vs the GHP is essentially a risk budgeting exercise.\n",
18 "\n",
19 "We'll start out by developing the framework and in the next few lab sessions, examine different risk budgeting options.\n",
20 "\n",
21 "First, we'll need to make a choice of the PSP. For now, we'll start with something fairly simple, which is the Geometric Brownian Motion based random stock portfolios. Much of the second MOOC in this series is focused on how to build good PSPs in practice.\n",
22 "\n",
23 "However, we'll also need to pick a GHP. We can use Zero Coupon Bonds driven by random changes in interest rates using the CIR model. Since these are Zero Coupon, they are already immunized against interest rates if they are held to maturity. In practice, we've seen that even if we arent able to buy Zero Coupon bonds, we can construct bond portfolios that are designed to be insensitive to interest rates through duration matching.\n",
24 "\n",
25 "In this section, we'll develop the code necessary to simulate bond prices of coupon-bearing bonds and see how their prices change as interest rates fluctuate. We'll limit ourselves to Treasury Bonds and ignore credit risk (i.e. the risk of default on the Bond)."
26 ]
27 },
28 {
29 "cell_type": "code",
30 "execution_count": 1,
31 "metadata": {},
32 "outputs": [],
33 "source": [
34 "import numpy as np\n",
35 "import pandas as pd\n",
36 "import edhec_risk_kit_127 as erk\n",
37 "%matplotlib inline\n",
38 "%load_ext autoreload\n",
39 "%autoreload 2\n"
40 ]
41 },
42 {
43 "cell_type": "markdown",
44 "metadata": {},
45 "source": [
46 "Note that when interest rates rise, it is a fallacy that holding an allocation to bonds will give you the benefit of that increase. In fact, the opposite happens since the price of the bond will fall, and as a result your account sill suffer a capital loss.\n",
47 "\n",
48 "Let's examine what happens to your wealth when you use a portfolio of stocks and bonds over a 5 year period.\n",
49 "\n",
50 "For simplicity, we'll assume you are holding a bond that has a maturity of 5 years and for simplicity with avoiding intra-coupon caclulations, let's assume it pays a 5% coupon and the coupon is paid out each month and interest rates change from 3% to 3.2%\n"
51 ]
52 },
53 {
54 "cell_type": "code",
55 "execution_count": 2,
56 "metadata": {},
57 "outputs": [
58 {
59 "data": {
60 "text/plain": [
61 "0 109.275393\n",
62 "dtype: float64"
63 ]
64 },
65 "execution_count": 2,
66 "metadata": {},
67 "output_type": "execute_result"
68 }
69 ],
70 "source": [
71 "erk.bond_price(5,100,.05,12,.03)"
72 ]
73 },
74 {
75 "cell_type": "code",
76 "execution_count": 3,
77 "metadata": {},
78 "outputs": [
79 {
80 "data": {
81 "text/plain": [
82 "0 108.306703\n",
83 "dtype: float64"
84 ]
85 },
86 "execution_count": 3,
87 "metadata": {},
88 "output_type": "execute_result"
89 }
90 ],
91 "source": [
92 "erk.bond_price(5,100,.05,12,.032)"
93 ]
94 },
95 {
96 "cell_type": "markdown",
97 "metadata": {},
98 "source": [
99 "Now, let's compute the bond price with our simulated rates. We'll need to slightly generalize our `bond_prices` code to support vectors ..."
100 ]
101 },
102 {
103 "cell_type": "markdown",
104 "metadata": {},
105 "source": [
106 "```python\n",
107 "erk.bond_price(5,100,.05,12, rates.iloc[0]) ### returns an error\n",
108 "# because of this:\n",
109 "def discount(t, r):\n",
110 " \"\"\"\n",
111 " Compute the price of a pure discount bond that pays a dollar at time t where t is in years and r is the annual interest rate\n",
112 " \"\"\"\n",
113 " return (1+r)**(-t)\n",
114 "# error\n",
115 "discount(r.index, r) \n",
116 "```\n",
117 "\n",
118 "Instead, we'll modify `discount` to return a DataFrame by iterating over all given interest rates. Note that this is not a time series of interest rates, or a yield curve - it's just a vector of interest rates and the discount factor is recomputed for each interest rate\n"
119 ]
120 },
121 {
122 "cell_type": "code",
123 "execution_count": 4,
124 "metadata": {},
125 "outputs": [],
126 "source": [
127 "def discount(t, r):\n",
128 " \"\"\"\n",
129 " Compute the price of a pure discount bond that pays a dollar at time period t\n",
130 " and r is the per-period interest rate\n",
131 " returns a |t| x |r| Series or DataFrame\n",
132 " r can be a float, Series or DataFrame\n",
133 " returns a DataFrame indexed by t\n",
134 " \"\"\"\n",
135 " discounts = pd.DataFrame([(r+1)**-i for i in t])\n",
136 " discounts.index = t\n",
137 " return discounts"
138 ]
139 },
140 {
141 "cell_type": "markdown",
142 "metadata": {},
143 "source": [
144 "Next, we also need to update the Present Value code to support DataFrames\n",
145 "\n",
146 "```python\n",
147 "def pv(flows, r):\n",
148 " \"\"\"\n",
149 " Compute the present value of a sequence of cash flows given by the time (as an index) and amounts\n",
150 " r can be a scalar, or a Series or DataFrame with the number of rows matching the num of rows in flows\n",
151 " \"\"\"\n",
152 " dates = flows.index\n",
153 " discounts = discount(dates, r)\n",
154 " return (discounts*flows).sum()\n",
155 "```\n",
156 "needs to be replaced by\n",
157 "\n",
158 "```python\n",
159 "def pv(flows, r):\n",
160 " \"\"\"\n",
161 " Compute the present value of a sequence of cash flows given by the time (as an index) and amounts\n",
162 " r can be a scalar, or a Series or DataFrame with the number of rows matching the num of rows in flows\n",
163 " \"\"\"\n",
164 " dates = flows.index\n",
165 " discounts = discount(dates, r)\n",
166 " return discounts.multiply(flows, axis='rows').sum()\n",
167 "\n",
168 "```\n",
169 "\n",
170 "(Note: This will impact other functions that use `erk.discount()` such as `erk.macaulay_duration`, which I have also updated in the library, but it won't be used in this lab session)"
171 ]
172 },
173 {
174 "cell_type": "code",
175 "execution_count": 5,
176 "metadata": {},
177 "outputs": [
178 {
179 "data": {
180 "text/plain": [
181 "0 109.275393\n",
182 "dtype: float64"
183 ]
184 },
185 "execution_count": 5,
186 "metadata": {},
187 "output_type": "execute_result"
188 }
189 ],
190 "source": [
191 "erk.bond_price(5,100,.05,12, .03)"
192 ]
193 },
194 {
195 "cell_type": "markdown",
196 "metadata": {},
197 "source": [
198 "We'll generate interest rates using the CIR model:"
199 ]
200 },
201 {
202 "cell_type": "code",
203 "execution_count": 6,
204 "metadata": {},
205 "outputs": [],
206 "source": [
207 "rates, zc_prices = erk.cir(10, 500, b=0.03, r_0 = 0.03)"
208 ]
209 },
210 {
211 "cell_type": "markdown",
212 "metadata": {},
213 "source": [
214 "When we start out, all rates are at 3% and so the prices are all the same:"
215 ]
216 },
217 {
218 "cell_type": "code",
219 "execution_count": 7,
220 "metadata": {},
221 "outputs": [
222 {
223 "data": {
224 "text/plain": [
225 "1 109.275393\n",
226 "2 109.275393\n",
227 "3 109.275393\n",
228 "dtype: float64"
229 ]
230 },
231 "execution_count": 7,
232 "metadata": {},
233 "output_type": "execute_result"
234 }
235 ],
236 "source": [
237 "erk.bond_price(5,100,.05,12, rates.iloc[0][[1,2,3]])"
238 ]
239 },
240 {
241 "cell_type": "code",
242 "execution_count": 8,
243 "metadata": {},
244 "outputs": [
245 {
246 "data": {
247 "text/html": [
248 "<div>\n",
249 "<style scoped>\n",
250 " .dataframe tbody tr th:only-of-type {\n",
251 " vertical-align: middle;\n",
252 " }\n",
253 "\n",
254 " .dataframe tbody tr th {\n",
255 " vertical-align: top;\n",
256 " }\n",
257 "\n",
258 " .dataframe thead th {\n",
259 " text-align: right;\n",
260 " }\n",
261 "</style>\n",
262 "<table border=\"1\" class=\"dataframe\">\n",
263 " <thead>\n",
264 " <tr style=\"text-align: right;\">\n",
265 " <th></th>\n",
266 " <th>1</th>\n",
267 " <th>2</th>\n",
268 " <th>3</th>\n",
269 " </tr>\n",
270 " </thead>\n",
271 " <tbody>\n",
272 " <tr>\n",
273 " <th>0</th>\n",
274 " <td>0.030000</td>\n",
275 " <td>0.030000</td>\n",
276 " <td>0.030000</td>\n",
277 " </tr>\n",
278 " <tr>\n",
279 " <th>1</th>\n",
280 " <td>0.023616</td>\n",
281 " <td>0.031029</td>\n",
282 " <td>0.029823</td>\n",
283 " </tr>\n",
284 " <tr>\n",
285 " <th>2</th>\n",
286 " <td>0.022432</td>\n",
287 " <td>0.029429</td>\n",
288 " <td>0.032733</td>\n",
289 " </tr>\n",
290 " <tr>\n",
291 " <th>3</th>\n",
292 " <td>0.020284</td>\n",
293 " <td>0.032947</td>\n",
294 " <td>0.034317</td>\n",
295 " </tr>\n",
296 " <tr>\n",
297 " <th>4</th>\n",
298 " <td>0.020958</td>\n",
299 " <td>0.032647</td>\n",
300 " <td>0.034667</td>\n",
301 " </tr>\n",
302 " </tbody>\n",
303 "</table>\n",
304 "</div>"
305 ],
306 "text/plain": [
307 " 1 2 3\n",
308 "0 0.030000 0.030000 0.030000\n",
309 "1 0.023616 0.031029 0.029823\n",
310 "2 0.022432 0.029429 0.032733\n",
311 "3 0.020284 0.032947 0.034317\n",
312 "4 0.020958 0.032647 0.034667"
313 ]
314 },
315 "execution_count": 8,
316 "metadata": {},
317 "output_type": "execute_result"
318 }
319 ],
320 "source": [
321 "rates[[1,2,3]].head()"
322 ]
323 },
324 {
325 "cell_type": "markdown",
326 "metadata": {},
327 "source": [
328 "At t=0 interest rates are the same across all scenarios. However at the first step, we see that (i) the maturity decreases and (ii) interest rates change, and so the bond prices diverge:"
329 ]
330 },
331 {
332 "cell_type": "code",
333 "execution_count": 9,
334 "metadata": {},
335 "outputs": [
336 {
337 "data": {
338 "text/plain": [
339 "1 112.236037\n",
340 "2 108.640439\n",
341 "3 109.216814\n",
342 "dtype: float64"
343 ]
344 },
345 "execution_count": 9,
346 "metadata": {},
347 "output_type": "execute_result"
348 }
349 ],
350 "source": [
351 "erk.bond_price(5-1/12,100,.05,12, rates.iloc[1][[1,2,3]])"
352 ]
353 },
354 {
355 "cell_type": "markdown",
356 "metadata": {},
357 "source": [
358 "Therefore, we can now generate the bond prices at time 0:"
359 ]
360 },
361 {
362 "cell_type": "code",
363 "execution_count": 10,
364 "metadata": {},
365 "outputs": [
366 {
367 "data": {
368 "text/plain": [
369 "495 109.275393\n",
370 "496 109.275393\n",
371 "497 109.275393\n",
372 "498 109.275393\n",
373 "499 109.275393\n",
374 "dtype: float64"
375 ]
376 },
377 "execution_count": 10,
378 "metadata": {},
379 "output_type": "execute_result"
380 }
381 ],
382 "source": [
383 "erk.bond_price(5, 100, .05, 12, rates.iloc[0]).tail()"
384 ]
385 },
386 {
387 "cell_type": "markdown",
388 "metadata": {},
389 "source": [
390 "And at time t=1"
391 ]
392 },
393 {
394 "cell_type": "code",
395 "execution_count": 11,
396 "metadata": {},
397 "outputs": [
398 {
399 "data": {
400 "text/plain": [
401 "495 109.062533\n",
402 "496 108.461397\n",
403 "497 108.832193\n",
404 "498 108.973715\n",
405 "499 109.427393\n",
406 "dtype: float64"
407 ]
408 },
409 "execution_count": 11,
410 "metadata": {},
411 "output_type": "execute_result"
412 }
413 ],
414 "source": [
415 "erk.bond_price(5-1/12, 100, .05, 12, rates.iloc[1]).tail()"
416 ]
417 },
418 {
419 "cell_type": "markdown",
420 "metadata": {},
421 "source": [
422 "### Simulating Prices of a Coupon-bearing Bond\n",
423 "\n",
424 "Now that we have the rates over time and the ability to compute bond prices from rates, we can stitch together the prices of a bond over time:\n",
425 "\n",
426 "```python\n",
427 "def bond_price(maturity, principal=100, coupon_rate=0.03, coupons_per_year=12, discount_rate=0.03):\n",
428 " \"\"\"\n",
429 " Computes the price of a bond that pays regular coupons until maturity\n",
430 " at which time the principal and the final coupon is returned\n",
431 " This is not designed to be efficient, rather,\n",
432 " it is to illustrate the underlying principle behind bond pricing!\n",
433 " \"\"\"\n",
434 " cash_flows = bond_cash_flows(maturity, principal, coupon_rate, coupons_per_year)\n",
435 " return pv(cash_flows, discount_rate/coupons_per_year)\n",
436 "```\n",
437 "\n",
438 "to\n",
439 "\n",
440 "```python\n",
441 "def bond_price(maturity, principal=100, coupon_rate=0.03, coupons_per_year=12, discount_rate=0.03):\n",
442 " \"\"\"\n",
443 " Computes the price of a bond that pays regular coupons until maturity\n",
444 " at which time the principal and the final coupon is returned\n",
445 " This is not designed to be efficient, rather,\n",
446 " it is to illustrate the underlying principle behind bond pricing!\n",
447 " If discount_rate is a DataFrame, then this is assumed to be the rate on each coupon date\n",
448 " and the bond value is computed over time.\n",
449 " i.e. The index of the discount_rate DataFrame is assumed to be the coupon number\n",
450 " \"\"\"\n",
451 " if isinstance(discount_rate, pd.DataFrame):\n",
452 " pricing_dates = discount_rate.index\n",
453 " prices = pd.DataFrame(index=pricing_dates, columns=discount_rate.columns)\n",
454 " for t in pricing_dates:\n",
455 " prices.loc[t] = bond_price(maturity-t/coupons_per_year, principal, coupon_rate, coupons_per_year,\n",
456 " discount_rate.loc[t])\n",
457 " return prices\n",
458 " else: # base case ... single time period\n",
459 " if maturity <= 0: return principal+principal*coupon_rate/coupons_per_year\n",
460 " cash_flows = bond_cash_flows(maturity, principal, coupon_rate, coupons_per_year)\n",
461 " return pv(cash_flows, discount_rate/coupons_per_year)\n",
462 "```\n"
463 ]
464 },
465 {
466 "cell_type": "code",
467 "execution_count": 12,
468 "metadata": {},
469 "outputs": [
470 {
471 "data": {
472 "text/plain": [
473 "<matplotlib.axes._subplots.AxesSubplot at 0x7f77abdd0588>"
474 ]
475 },
476 "execution_count": 12,
477 "metadata": {},
478 "output_type": "execute_result"
479 },
480 {
481 "data": {
482 "image/png": "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\n",
483 "text/plain": [
484 "<Figure size 864x432 with 1 Axes>"
485 ]
486 },
487 "metadata": {
488 "needs_background": "light"
489 },
490 "output_type": "display_data"
491 }
492 ],
493 "source": [
494 "erk.bond_price(10, 100, .05, 12, rates[[1,2,3,4]]).plot(legend=False, figsize=(12,6))"
495 ]
496 },
497 {
498 "cell_type": "code",
499 "execution_count": 13,
500 "metadata": {},
501 "outputs": [
502 {
503 "data": {
504 "text/html": [
505 "<div>\n",
506 "<style scoped>\n",
507 " .dataframe tbody tr th:only-of-type {\n",
508 " vertical-align: middle;\n",
509 " }\n",
510 "\n",
511 " .dataframe tbody tr th {\n",
512 " vertical-align: top;\n",
513 " }\n",
514 "\n",
515 " .dataframe thead th {\n",
516 " text-align: right;\n",
517 " }\n",
518 "</style>\n",
519 "<table border=\"1\" class=\"dataframe\">\n",
520 " <thead>\n",
521 " <tr style=\"text-align: right;\">\n",
522 " <th></th>\n",
523 " <th>1</th>\n",
524 " <th>2</th>\n",
525 " <th>3</th>\n",
526 " <th>4</th>\n",
527 " </tr>\n",
528 " </thead>\n",
529 " <tbody>\n",
530 " <tr>\n",
531 " <th>0</th>\n",
532 " <td>117.26</td>\n",
533 " <td>117.26</td>\n",
534 " <td>117.26</td>\n",
535 " <td>117.26</td>\n",
536 " </tr>\n",
537 " <tr>\n",
538 " <th>1</th>\n",
539 " <td>123.306</td>\n",
540 " <td>116.176</td>\n",
541 " <td>117.303</td>\n",
542 " <td>115.326</td>\n",
543 " </tr>\n",
544 " <tr>\n",
545 " <th>2</th>\n",
546 " <td>124.307</td>\n",
547 " <td>117.546</td>\n",
548 " <td>114.501</td>\n",
549 " <td>115.098</td>\n",
550 " </tr>\n",
551 " <tr>\n",
552 " <th>3</th>\n",
553 " <td>126.268</td>\n",
554 " <td>114.204</td>\n",
555 " <td>112.98</td>\n",
556 " <td>118.412</td>\n",
557 " </tr>\n",
558 " <tr>\n",
559 " <th>4</th>\n",
560 " <td>125.393</td>\n",
561 " <td>114.368</td>\n",
562 " <td>112.579</td>\n",
563 " <td>120.567</td>\n",
564 " </tr>\n",
565 " </tbody>\n",
566 "</table>\n",
567 "</div>"
568 ],
569 "text/plain": [
570 " 1 2 3 4\n",
571 "0 117.26 117.26 117.26 117.26\n",
572 "1 123.306 116.176 117.303 115.326\n",
573 "2 124.307 117.546 114.501 115.098\n",
574 "3 126.268 114.204 112.98 118.412\n",
575 "4 125.393 114.368 112.579 120.567"
576 ]
577 },
578 "execution_count": 13,
579 "metadata": {},
580 "output_type": "execute_result"
581 }
582 ],
583 "source": [
584 "prices = erk.bond_price(10, 100, .05, 12, rates[[1,2,3,4]])\n",
585 "prices.head()"
586 ]
587 },
588 {
589 "cell_type": "markdown",
590 "metadata": {},
591 "source": [
592 "You might be tempted to think that since we have bond prices, we can generate returns as usual, by using `.pct_change().dropna()`."
593 ]
594 },
595 {
596 "cell_type": "code",
597 "execution_count": 14,
598 "metadata": {},
599 "outputs": [
600 {
601 "data": {
602 "text/plain": [
603 "1 -0.015387\n",
604 "2 -0.015387\n",
605 "3 -0.015387\n",
606 "4 -0.015387\n",
607 "dtype: float64"
608 ]
609 },
610 "execution_count": 14,
611 "metadata": {},
612 "output_type": "execute_result"
613 }
614 ],
615 "source": [
616 "br = prices.pct_change().dropna()\n",
617 "erk.annualize_rets(br, 12)"
618 ]
619 },
620 {
621 "cell_type": "markdown",
622 "metadata": {},
623 "source": [
624 "The reason a 3% interest rate regime is yielding a -1.5% return in these 4 scenarios is that this is the _price return_. Because the interest rate at the time we bought it was less than the coupon rate, we bought it at a premium, taking a capital loss when we sold it at the end. We need to compute the Total Return of a bond, which is the price return PLUS the dividend:\n",
625 "\n",
626 "```python\n",
627 "def bond_total_return(monthly_prices, principal, coupon_rate, coupons_per_year):\n",
628 " \"\"\"\n",
629 " Computes the total return of a Bond based on monthly bond prices and coupon payments\n",
630 " Assumes that dividends (coupons) are paid out at the end of the period (e.g. end of 3 months for quarterly div)\n",
631 " and that dividends are reinvested in the bond\n",
632 " \"\"\"\n",
633 " coupons = pd.DataFrame(data = 0, index=monthly_prices.index, columns=monthly_prices.columns)\n",
634 " t_max = monthly_prices.index.max()\n",
635 " pay_date = np.linspace(12/coupons_per_year, t_max, int(coupons_per_year*t_max/12), dtype=int)\n",
636 " coupons.iloc[pay_date] = principal*coupon_rate/coupons_per_year\n",
637 " total_returns = (monthly_prices + coupons)/monthly_prices.shift()-1\n",
638 " return total_returns.dropna()\n",
639 "```\n"
640 ]
641 },
642 {
643 "cell_type": "code",
644 "execution_count": 15,
645 "metadata": {},
646 "outputs": [
647 {
648 "data": {
649 "text/plain": [
650 "1 0.028916\n",
651 "2 0.034664\n",
652 "3 0.038812\n",
653 "4 0.030323\n",
654 "dtype: float64"
655 ]
656 },
657 "execution_count": 15,
658 "metadata": {},
659 "output_type": "execute_result"
660 }
661 ],
662 "source": [
663 "p = erk.bond_price(10, 100, .05, 12, rates[[1,2,3,4]])\n",
664 "btr = erk.bond_total_return(p, 100, .05, 12)\n",
665 "erk.annualize_rets(btr, 12)"
666 ]
667 },
668 {
669 "cell_type": "markdown",
670 "metadata": {},
671 "source": [
672 "Which gives us the approximately 3% return we expected, because that was the prevailing rate when we bought it. We also assumed that we reinvested the coupon in the bond and that is why we did not get the exact same return in each case, since we would observe prices based on the then-prevalent interest rates."
673 ]
674 },
675 {
676 "cell_type": "markdown",
677 "metadata": {},
678 "source": [
679 "## Putting it all together: Monte Carlo Simulation of Asset Allocation\n",
680 "\n",
681 "Now that we have a way to generate prices from which to derive returns, we can experiment with allocating across the different Asset Classes.\n",
682 "\n",
683 "Let's start by examining the performance of a 70-30 allocation to Stocks and Bonds. Assume Stocks return an average of 7% per year with a 15% vol and use the CIR model to generate bond prices for a 10 year and 30 year bond that pays a 5% coupon. For simplicity, assume the coupon is paid monthly to avoid having to deal with partial coupons. Assume the Bond Portfolio consists of 60% in the 10 year bond and 40% in the 30 year bond."
684 ]
685 },
686 {
687 "cell_type": "code",
688 "execution_count": 16,
689 "metadata": {},
690 "outputs": [
691 {
692 "data": {
693 "text/html": [
694 "<div>\n",
695 "<style scoped>\n",
696 " .dataframe tbody tr th:only-of-type {\n",
697 " vertical-align: middle;\n",
698 " }\n",
699 "\n",
700 " .dataframe tbody tr th {\n",
701 " vertical-align: top;\n",
702 " }\n",
703 "\n",
704 " .dataframe thead th {\n",
705 " text-align: right;\n",
706 " }\n",
707 "</style>\n",
708 "<table border=\"1\" class=\"dataframe\">\n",
709 " <thead>\n",
710 " <tr style=\"text-align: right;\">\n",
711 " <th></th>\n",
712 " <th>1</th>\n",
713 " <th>2</th>\n",
714 " <th>3</th>\n",
715 " </tr>\n",
716 " </thead>\n",
717 " <tbody>\n",
718 " <tr>\n",
719 " <th>116</th>\n",
720 " <td>100.931</td>\n",
721 " <td>99.6971</td>\n",
722 " <td>99.7447</td>\n",
723 " </tr>\n",
724 " <tr>\n",
725 " <th>117</th>\n",
726 " <td>100.728</td>\n",
727 " <td>99.5892</td>\n",
728 " <td>99.8878</td>\n",
729 " </tr>\n",
730 " <tr>\n",
731 " <th>118</th>\n",
732 " <td>100.534</td>\n",
733 " <td>99.848</td>\n",
734 " <td>99.8859</td>\n",
735 " </tr>\n",
736 " <tr>\n",
737 " <th>119</th>\n",
738 " <td>100.257</td>\n",
739 " <td>99.8723</td>\n",
740 " <td>99.9098</td>\n",
741 " </tr>\n",
742 " <tr>\n",
743 " <th>120</th>\n",
744 " <td>100.417</td>\n",
745 " <td>100.417</td>\n",
746 " <td>100.417</td>\n",
747 " </tr>\n",
748 " </tbody>\n",
749 "</table>\n",
750 "</div>"
751 ],
752 "text/plain": [
753 " 1 2 3\n",
754 "116 100.931 99.6971 99.7447\n",
755 "117 100.728 99.5892 99.8878\n",
756 "118 100.534 99.848 99.8859\n",
757 "119 100.257 99.8723 99.9098\n",
758 "120 100.417 100.417 100.417"
759 ]
760 },
761 "execution_count": 16,
762 "metadata": {},
763 "output_type": "execute_result"
764 }
765 ],
766 "source": [
767 "price_10 = erk.bond_price(10, 100, .05, 12, rates)\n",
768 "price_10[[1,2,3]].tail()"
769 ]
770 },
771 {
772 "cell_type": "code",
773 "execution_count": 17,
774 "metadata": {},
775 "outputs": [
776 {
777 "data": {
778 "text/html": [
779 "<div>\n",
780 "<style scoped>\n",
781 " .dataframe tbody tr th:only-of-type {\n",
782 " vertical-align: middle;\n",
783 " }\n",
784 "\n",
785 " .dataframe tbody tr th {\n",
786 " vertical-align: top;\n",
787 " }\n",
788 "\n",
789 " .dataframe thead th {\n",
790 " text-align: right;\n",
791 " }\n",
792 "</style>\n",
793 "<table border=\"1\" class=\"dataframe\">\n",
794 " <thead>\n",
795 " <tr style=\"text-align: right;\">\n",
796 " <th></th>\n",
797 " <th>1</th>\n",
798 " <th>2</th>\n",
799 " <th>3</th>\n",
800 " </tr>\n",
801 " </thead>\n",
802 " <tbody>\n",
803 " <tr>\n",
804 " <th>116</th>\n",
805 " <td>145.978</td>\n",
806 " <td>89.1367</td>\n",
807 " <td>90.7392</td>\n",
808 " </tr>\n",
809 " <tr>\n",
810 " <th>117</th>\n",
811 " <td>148.297</td>\n",
812 " <td>81.556</td>\n",
813 " <td>94.4565</td>\n",
814 " </tr>\n",
815 " <tr>\n",
816 " <th>118</th>\n",
817 " <td>154.329</td>\n",
818 " <td>89.1988</td>\n",
819 " <td>91.737</td>\n",
820 " </tr>\n",
821 " <tr>\n",
822 " <th>119</th>\n",
823 " <td>151.583</td>\n",
824 " <td>82.7959</td>\n",
825 " <td>87.4065</td>\n",
826 " </tr>\n",
827 " <tr>\n",
828 " <th>120</th>\n",
829 " <td>148.36</td>\n",
830 " <td>88.0787</td>\n",
831 " <td>85.945</td>\n",
832 " </tr>\n",
833 " </tbody>\n",
834 "</table>\n",
835 "</div>"
836 ],
837 "text/plain": [
838 " 1 2 3\n",
839 "116 145.978 89.1367 90.7392\n",
840 "117 148.297 81.556 94.4565\n",
841 "118 154.329 89.1988 91.737\n",
842 "119 151.583 82.7959 87.4065\n",
843 "120 148.36 88.0787 85.945"
844 ]
845 },
846 "execution_count": 17,
847 "metadata": {},
848 "output_type": "execute_result"
849 }
850 ],
851 "source": [
852 "price_30 = erk.bond_price(30, 100, .05, 12, rates)\n",
853 "price_30[[1,2,3]].tail()"
854 ]
855 },
856 {
857 "cell_type": "code",
858 "execution_count": 18,
859 "metadata": {},
860 "outputs": [],
861 "source": [
862 "rets_30 = erk.bond_total_return(price_30, 100, .05, 12)\n",
863 "rets_10 = erk.bond_total_return(price_10, 100, .05, 12)"
864 ]
865 },
866 {
867 "cell_type": "markdown",
868 "metadata": {},
869 "source": [
870 "Now we can assume monthly rebalancing and compute the monthly returns of the bond portfolio:"
871 ]
872 },
873 {
874 "cell_type": "code",
875 "execution_count": 19,
876 "metadata": {},
877 "outputs": [
878 {
879 "data": {
880 "text/html": [
881 "<div>\n",
882 "<style scoped>\n",
883 " .dataframe tbody tr th:only-of-type {\n",
884 " vertical-align: middle;\n",
885 " }\n",
886 "\n",
887 " .dataframe tbody tr th {\n",
888 " vertical-align: top;\n",
889 " }\n",
890 "\n",
891 " .dataframe thead th {\n",
892 " text-align: right;\n",
893 " }\n",
894 "</style>\n",
895 "<table border=\"1\" class=\"dataframe\">\n",
896 " <thead>\n",
897 " <tr style=\"text-align: right;\">\n",
898 " <th></th>\n",
899 " <th>Annualized Return</th>\n",
900 " <th>Annualized Vol</th>\n",
901 " <th>Skewness</th>\n",
902 " <th>Kurtosis</th>\n",
903 " <th>Cornish-Fisher VaR (5%)</th>\n",
904 " <th>Historic CVaR (5%)</th>\n",
905 " <th>Sharpe Ratio</th>\n",
906 " <th>Max Drawdown</th>\n",
907 " </tr>\n",
908 " </thead>\n",
909 " <tbody>\n",
910 " <tr>\n",
911 " <th>0</th>\n",
912 " <td>0.036232</td>\n",
913 " <td>0.003762</td>\n",
914 " <td>0.158128</td>\n",
915 " <td>3.309178</td>\n",
916 " <td>-0.001248</td>\n",
917 " <td>-0.000813</td>\n",
918 " <td>1.61248</td>\n",
919 " <td>0.0</td>\n",
920 " </tr>\n",
921 " </tbody>\n",
922 "</table>\n",
923 "</div>"
924 ],
925 "text/plain": [
926 " Annualized Return Annualized Vol Skewness Kurtosis \\\n",
927 "0 0.036232 0.003762 0.158128 3.309178 \n",
928 "\n",
929 " Cornish-Fisher VaR (5%) Historic CVaR (5%) Sharpe Ratio Max Drawdown \n",
930 "0 -0.001248 -0.000813 1.61248 0.0 "
931 ]
932 },
933 "execution_count": 19,
934 "metadata": {},
935 "output_type": "execute_result"
936 }
937 ],
938 "source": [
939 "rets_bonds = .6*rets_10 + .4*rets_30\n",
940 "mean_rets_bonds = rets_bonds.mean(axis='columns')\n",
941 "erk.summary_stats(pd.DataFrame(mean_rets_bonds))"
942 ]
943 },
944 {
945 "cell_type": "code",
946 "execution_count": 20,
947 "metadata": {},
948 "outputs": [
949 {
950 "data": {
951 "text/plain": [
952 "(121, 500)"
953 ]
954 },
955 "execution_count": 20,
956 "metadata": {},
957 "output_type": "execute_result"
958 }
959 ],
960 "source": [
961 "price_eq = erk.gbm(n_years=10,n_scenarios=500,mu=0.07, sigma=0.15)\n",
962 "price_eq.shape"
963 ]
964 },
965 {
966 "cell_type": "code",
967 "execution_count": 21,
968 "metadata": {},
969 "outputs": [
970 {
971 "data": {
972 "text/plain": [
973 "(120, 500)"
974 ]
975 },
976 "execution_count": 21,
977 "metadata": {},
978 "output_type": "execute_result"
979 }
980 ],
981 "source": [
982 "rets_eq = price_eq.pct_change().dropna()\n",
983 "rets_eq.shape"
984 ]
985 },
986 {
987 "cell_type": "code",
988 "execution_count": 22,
989 "metadata": {},
990 "outputs": [
991 {
992 "data": {
993 "text/plain": [
994 "(120, 500)"
995 ]
996 },
997 "execution_count": 22,
998 "metadata": {},
999 "output_type": "execute_result"
1000 }
1001 ],
1002 "source": [
1003 "rets_bonds.shape"
1004 ]
1005 },
1006 {
1007 "cell_type": "code",
1008 "execution_count": 23,
1009 "metadata": {},
1010 "outputs": [
1011 {
1012 "data": {
1013 "text/html": [
1014 "<div>\n",
1015 "<style scoped>\n",
1016 " .dataframe tbody tr th:only-of-type {\n",
1017 " vertical-align: middle;\n",
1018 " }\n",
1019 "\n",
1020 " .dataframe tbody tr th {\n",
1021 " vertical-align: top;\n",
1022 " }\n",
1023 "\n",
1024 " .dataframe thead th {\n",
1025 " text-align: right;\n",
1026 " }\n",
1027 "</style>\n",
1028 "<table border=\"1\" class=\"dataframe\">\n",
1029 " <thead>\n",
1030 " <tr style=\"text-align: right;\">\n",
1031 " <th></th>\n",
1032 " <th>Annualized Return</th>\n",
1033 " <th>Annualized Vol</th>\n",
1034 " <th>Skewness</th>\n",
1035 " <th>Kurtosis</th>\n",
1036 " <th>Cornish-Fisher VaR (5%)</th>\n",
1037 " <th>Historic CVaR (5%)</th>\n",
1038 " <th>Sharpe Ratio</th>\n",
1039 " <th>Max Drawdown</th>\n",
1040 " </tr>\n",
1041 " </thead>\n",
1042 " <tbody>\n",
1043 " <tr>\n",
1044 " <th>0</th>\n",
1045 " <td>0.058481</td>\n",
1046 " <td>0.004743</td>\n",
1047 " <td>-0.122342</td>\n",
1048 " <td>3.134724</td>\n",
1049 " <td>-0.002462</td>\n",
1050 " <td>-0.001897</td>\n",
1051 " <td>5.844109</td>\n",
1052 " <td>0.0</td>\n",
1053 " </tr>\n",
1054 " </tbody>\n",
1055 "</table>\n",
1056 "</div>"
1057 ],
1058 "text/plain": [
1059 " Annualized Return Annualized Vol Skewness Kurtosis \\\n",
1060 "0 0.058481 0.004743 -0.122342 3.134724 \n",
1061 "\n",
1062 " Cornish-Fisher VaR (5%) Historic CVaR (5%) Sharpe Ratio Max Drawdown \n",
1063 "0 -0.002462 -0.001897 5.844109 0.0 "
1064 ]
1065 },
1066 "execution_count": 23,
1067 "metadata": {},
1068 "output_type": "execute_result"
1069 }
1070 ],
1071 "source": [
1072 "rets = .70*rets_eq + 0.3*rets_bonds\n",
1073 "rets_mean = rets.mean(axis='columns')\n",
1074 "erk.summary_stats(pd.DataFrame(rets_mean))"
1075 ]
1076 }
1077 ],
1078 "metadata": {
1079 "kernelspec": {
1080 "display_name": "Python 3",
1081 "language": "python",
1082 "name": "python3"
1083 },
1084 "language_info": {
1085 "codemirror_mode": {
1086 "name": "ipython",
1087 "version": 3
1088 },
1089 "file_extension": ".py",
1090 "mimetype": "text/x-python",
1091 "name": "python",
1092 "nbconvert_exporter": "python",
1093 "pygments_lexer": "ipython3",
1094 "version": "3.8.8"
1095 }
1096 },
1097 "nbformat": 4,
1098 "nbformat_minor": 2
1099 }