Skip to content

Instantly share code, notes, and snippets.

@michaelHL
Last active November 19, 2018 10:54
Show Gist options
  • Save michaelHL/4409c5ede0fb49fe1bdd51b1b6bd726a to your computer and use it in GitHub Desktop.
Save michaelHL/4409c5ede0fb49fe1bdd51b1b6bd726a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python Homework 5: Financial Credit Rating"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=\"blue\"><b>Instruction:</b> Please upload your jupyter notebook on GauchoSpace with filename \"PythonHW5_<i>YOURPERMNUMBER</i>.ipynb\".</font>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Mathematical Finance, Markov chains are typically used to model the default risk of a company or country (more specifically, the default of a company's or country's liability like a corporate or government bond - see PSTAT 171 and PSTAT 170). \n",
"\n",
"Rating agencies (like <i>Standard & Poor’s</i>, <i>Moody’s</i>, <i>Fitch</i>) rate the financial stability of a company and classify them according to different classes. A possible classification may range from 'AAA' for debitors with a very good credit rating to 'CCC' for debitors which are very likely to delay in paying a debt; and 'D' for those debitors which can't satisfy their financial liabilities anymore (in other words, they are default). \n",
"\n",
"The yearly credit rating of a company can be modeled as a Markov chain $(X_n)_{n=0,1,2,\\ldots}$ with state space\n",
"\n",
"\n",
"$$ \\mathcal{S} = \\{ AAA,\\, AA,\\, A,\\, BBB,\\, BB,\\, B,\\, CCC,\\, D \\} $$\n",
"\n",
"where $X_n$ represents the credit rating class of a company at the $n$-th year. The transition probabilities are given by\n",
"\n",
"\\begin{equation*}\n",
"\\begin{array}{ccccccccc}\n",
" & AAA & AA & A & BBB & BB & B & CCC & D \\\\\n",
" AAA & 92,07 & 7,09 & 0,63 & 0,15 & 0,06 & 0,00 & 0,00 & 0,00 \\\\ \n",
" AA & 0,62 & 90,84 & 7,76 & 0,59 & 0,06 & 0,10 & 0,02 & 0,01 \\\\\n",
" A & 0,05 & 2,09 & 91,38 & 5,79 & 0,44 & 0,16 & 0,04 & 0,05 \\\\\n",
" BBB & 0,03 & 0,21 & 4,10 & 89,37 & 4,82 & 0,86 & 0,24 & 0,37 \\\\\n",
" BB & 0,03 & 0,08 & 0,40 & 5,54 & 83,24 & 8,15 & 1,11 & 1,45 \\\\\n",
" B & 0,00 & 0,08 & 0,27 & 0,34 & 5,39 & 82,41 & 4,92 & 6,59 \\\\\n",
" CCC & 0,10 & 0,00 & 0,29 & 0,58 & 1,55 & 10,54 & 52,80 & 34,14 \\\\\n",
" D & 0,00 & 0,00 & 0,00 & 0,00 & 0,00 & 0,00 & 0,00 & 100,0\n",
"\\end{array} \n",
"\\end{equation*}\n",
"\n",
"<i>Remark</i>: For your implementations below, you can label the different states from $0$ to $7$, where $0$ represents state $AAA$, $1$ represents state $AA$, and so on."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As usual, we start with loading some packages:"
]
},
{
"cell_type": "code",
"execution_count": 421,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import math\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import csv\n",
"\n",
"# Allows to render plots directly within the notebook\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 1 (2 points)\n",
"\n",
"We start with loading the matrix from the accompanying external .csv-file."
]
},
{
"cell_type": "code",
"execution_count": 422,
"metadata": {},
"outputs": [],
"source": [
"csvFile = 'CreditRatingTransMatrixP.csv' # specify the path to your csv file\n",
"\n",
"P = []\n",
"with open(csvFile, 'r') as file:\n",
" reader = csv.reader(file)\n",
" for row in reader:\n",
" P.append([float(prob) / 100 for prob in row])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"P is a list representing the transition probability matrix. In particular, $P[i][j]$ gives you the probabilities from state $i$ to $j$, for $i,j\\in\\{0,1,2,\\dots, 7\\}$. There are many other ways to read and store the transition matrix, e.g., you could also try 'pandas'."
]
},
{
"cell_type": "code",
"execution_count": 423,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.9207\t0.0709\t0.0063\t0.0015\t0.0006\t0.0000\t0.0000\t0.0000\n",
"0.0062\t0.9084\t0.0776\t0.0059\t0.0006\t0.0010\t0.0002\t0.0001\n",
"0.0005\t0.0209\t0.9138\t0.0579\t0.0044\t0.0016\t0.0004\t0.0005\n",
"0.0003\t0.0021\t0.0410\t0.8937\t0.0482\t0.0086\t0.0024\t0.0037\n",
"0.0003\t0.0008\t0.0040\t0.0554\t0.8324\t0.0815\t0.0111\t0.0145\n",
"0.0000\t0.0008\t0.0027\t0.0034\t0.0539\t0.8241\t0.0492\t0.0659\n",
"0.0010\t0.0000\t0.0029\t0.0058\t0.0155\t0.1054\t0.5280\t0.3414\n",
"0.0000\t0.0000\t0.0000\t0.0000\t0.0000\t0.0000\t0.0000\t1.0000\n"
]
}
],
"source": [
"# Check if you uploaded matrix P correctly\n",
"for row in P:\n",
" print('\\t'.join(['{:.4f}'.format(ele) for ele in row]))"
]
},
{
"cell_type": "code",
"execution_count": 424,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.0000\n",
"1.0000\n",
"1.0000\n",
"1.0000\n",
"1.0000\n",
"1.0000\n",
"1.0000\n",
"1.0000\n"
]
}
],
"source": [
"# Check the probabilities sum up to 1...\n",
"for row in P:\n",
" print('{:.4f}'.format(sum(row)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>Question:</b> Use suitable Matrix operations to <u>compute the probability</u> that a company which is rated with 'AAA' today will <u>not</u> default during the next 8 years. Give a short explanation to your answer!"
]
},
{
"cell_type": "code",
"execution_count": 425,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.5239, 0.3113, 0.1215, 0.0308, 0.007 , 0.0032, 0.0006, 0.0018],\n",
" [0.0278, 0.4979, 0.3405, 0.0964, 0.0186, 0.0099, 0.0018, 0.0071],\n",
" [0.0048, 0.0932, 0.5523, 0.2469, 0.0554, 0.0239, 0.0043, 0.0192],\n",
" [0.0023, 0.0234, 0.1771, 0.4807, 0.1599, 0.0746, 0.0125, 0.0696],\n",
" [0.0016, 0.0082, 0.0495, 0.1819, 0.307 , 0.2063, 0.0314, 0.214 ],\n",
" [0.0007, 0.0047, 0.0193, 0.0492, 0.135 , 0.2822, 0.0433, 0.4656],\n",
" [0.0015, 0.0023, 0.0103, 0.0219, 0.0449, 0.0931, 0.0192, 0.8068],\n",
" [0. , 0. , 0. , 0. , 0. , 0. , 0. , 1. ]])"
]
},
"execution_count": 425,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Provide your computations here\n",
"\n",
"np.set_printoptions(precision=4, suppress=True)\n",
"np.linalg.matrix_power(P, 8)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Provide your short explanation here:\n",
"\n",
"<b>Answer:</b> By computing the probability transfer matrix, we get the probability that a company which is rated with 'AAA' today will not default during the next 8 years is $\\mathbf{P} = 1-P^{8}_{07} = 1 - 0.0018 = 0.9982$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 2 (4 points)\n",
"\n",
"Write a Python code to simulate the Markov chain for different starting values:\n",
"\n",
"<i>Hint:</i> You can use the numpy built-in function <tt>random.choice()</tt>!"
]
},
{
"cell_type": "code",
"execution_count": 426,
"metadata": {},
"outputs": [],
"source": [
"def simulateRating(startRating, numberOfSteps, P):\n",
" \"\"\"\n",
" Simulate a Markov chain step-by-step\n",
" \"\"\"\n",
"\n",
" # init samplePath\n",
" samplePath = [startRating]\n",
" curP = P[startRating]\n",
"\n",
" for _ in range(numberOfSteps):\n",
" nextV = np.random.choice(8, p=curP)\n",
" samplePath.append(nextV)\n",
" curP = P[nextV]\n",
"\n",
" return samplePath"
]
},
{
"cell_type": "code",
"execution_count": 427,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2]"
]
},
"execution_count": 427,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Test your code here:\n",
"simulateRating(startRating=0, numberOfSteps=10, P=P)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 3 (2 points)\n",
"\n",
"Write a code to plot <tt>numPaths</tt> simulated paths of length <tt>lengthPath</tt> with staring value <tt>startRating</tt>."
]
},
{
"cell_type": "code",
"execution_count": 428,
"metadata": {},
"outputs": [],
"source": [
"# Write your own code here to simulate the paths\n",
"\n",
"startRating = 2\n",
"lengthPath = 50\n",
"numPaths = 2\n",
"\n",
"def multiSimulateRating(startRating, numberOfSteps, numPaths, P):\n",
" samplePaths = []\n",
" for _ in range(numPaths):\n",
" samplePaths.append(simulateRating(startRating, numberOfSteps, P))\n",
" return samplePaths"
]
},
{
"cell_type": "code",
"execution_count": 429,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Complement the plot commands accordingly and plot your results\n",
"\n",
"def plotPaths(startRating, lengthPath, numPaths, P):\n",
" plt.figure(figsize=(10, 5))\n",
"\n",
" simPaths = multiSimulateRating(startRating, lengthPath, numPaths, P)\n",
" for path in simPaths:\n",
" plt.plot(np.arange(lengthPath+1), path, drawstyle='steps')\n",
"\n",
" plt.title('Simulated rating paths')\n",
"\n",
" plt.ylabel('Credit Ratings')\n",
" plt.xlabel('Year')\n",
"\n",
" plt.ylim(-1, 8)\n",
" ratings = ['', 'AAA', 'AA', 'A', 'BBB', 'BB', 'B', 'CCC/C', 'D', '']\n",
" plt.yticks(range(-1, 9), ratings)\n",
" plt.show()\n",
"\n",
"plotPaths(startRating, lengthPath, numPaths, P)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem 4 (2 points)\n",
"\n",
"Can you say something about the long run behavior of the Markov chain? Does it depend on today's starting rate at time $0$?\n",
"\n",
"Justify your answer with a plot and/or computations!"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"<b>Answer</b>: In the long run, the Markov chain converges to `D`, that is to say, company with probability transfer matrix `P` would play the bankrupt in the end."
]
},
{
"cell_type": "code",
"execution_count": 430,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Provide your computations here\n",
"\n",
"# Plot paths under different staring rate at time 0\n",
"plotPaths(0, 300, 5, P)\n",
"plotPaths(1, 300, 5, P)\n",
"plotPaths(2, 300, 5, P)"
]
},
{
"cell_type": "code",
"execution_count": 431,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.],\n",
" [0., 0., 0., 0., 0., 0., 0., 1.]])"
]
},
"execution_count": 431,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# probability transfer matrix after 1000 years...\n",
"\n",
"np.linalg.matrix_power(P, 1000)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment