{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {},
"colab_type": "code",
"id": "Tq96XxisQ1ty"
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"#GlobalFinMonthly\n",
"url=\"https://raw.githubusercontent.com/amoreira2/Lectures/main/assets/data/GlobalFinMonthly.csv\"\n",
"Data = pd.read_csv(url,na_values=-99)\n",
"Data['Date']=pd.to_datetime(Data['Date'])\n",
"Data=Data.set_index(['Date'])"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "x5bPnG2RQ1tw"
},
"source": [
"# Case study on international portfolio diversification\n",
"\n",
"In this section we will apply what we have learned so far on the international market. We will try to solve the optimal weights that give us the highest sharpe ratio, and how we should allocate our money between risk-free rate and risky asset to target on average return or volatility.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 235
},
"colab_type": "code",
"executionInfo": {
"elapsed": 325,
"status": "ok",
"timestamp": 1576520994565,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "4JUej0lpQ1u-",
"outputId": "597bd03c-a669-4444-def6-c0c6c669db91"
},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" International\n",
"MKTUS 1.835334\n",
"BondUS 1.423373\n",
"EM 1.605223\n",
"MKTxUS -1.026421\n",
"BondxUS 3.365823"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Wmve['International'] =np.linalg.inv(CovRe) @ ERe\n",
"Wmve\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **Targeting desired Voaltiltiy**\n",
"\n",
"We will first find the particular scaling of the tangendy porfolio that implements a desired level of volatility\n",
"\n",
"We shown that for weights $X=E[R^e]'Var(R^e)^{-1}$, the volatility is $\\sigma(X'R^e)=\\sqrt{E[R^e]'Var(R^e)^{-1}E[R^e]}$\n",
"\n",
"Thus to get a portfolio of vol $\\sigma^D$ all we need to lever it up/down by this factor\n",
"\n",
"\n",
"$$W^*(\\sigma^D)'=\\frac{\\sigma^D}{\\sqrt{E[R^e]'Var(R^e)^{-1}E[R^e]}}E[R^e]'Var(R^e)^{-1}$$\n",
"\n",
"This dominator alos happens to be Sharpe-Ratio of the tangency portfolio\n",
"\n",
"$$W^*(\\sigma^D)=\\frac{\\sigma^D}{SR_*}W^*$$\n",
"\n",
"So you simply scale down the weights depending on whether your desired volatiltiy.\n",
"\n",
"In this case the obtained expected excess return is\n",
"\n",
"$$\\mu^D-r_f=\\sigma^D SR_*$$"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.35271483559918\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
International
\n",
"
International(voltarget)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
MKTUS
\n",
"
1.835334
\n",
"
0.647349
\n",
"
\n",
"
\n",
"
BondUS
\n",
"
1.423373
\n",
"
0.502045
\n",
"
\n",
"
\n",
"
EM
\n",
"
1.605223
\n",
"
0.566186
\n",
"
\n",
"
\n",
"
MKTxUS
\n",
"
-1.026421
\n",
"
-0.362034
\n",
"
\n",
"
\n",
"
BondxUS
\n",
"
3.365823
\n",
"
1.187176
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" International International(voltarget)\n",
"MKTUS 1.835334 0.647349\n",
"BondUS 1.423373 0.502045\n",
"EM 1.605223 0.566186\n",
"MKTxUS -1.026421 -0.362034\n",
"BondxUS 3.365823 1.187176"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# I am setting the target to be annual volatiltiy of 20% and \n",
"# I am converting back to monthly by dividing by square roo of 12\n",
"sigma_desired=0.20/12**0.5\n",
"print(sigma_desired/SR_int)\n",
"Wmve['International(voltarget)']=(sigma_desired/SR_int)*(np.linalg.inv(CovRe) @ ERe)\n",
"Wmve"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "0TCDF47nQ1vO"
},
"source": [
"## **Targeting Desired Expected Return**\n",
"\n",
" $\\begin{align}\n",
" \\mu^{D}&=r_f+wE[R^*] \\\\\n",
" w &=\\frac{\\mu^{D}-r_f}{E[R^*]} \\\\\n",
" &=\\frac{\\mu^{D}-r_f}{E[R^e]'VAR(R^e)^{-1}E[R^e]} \\\\\n",
" &=\\frac{\\mu^{D}-r_f}{SR_*^2} \\\\\n",
" \\end{align}$\n",
"\n",
"where the last step simply uses that the denominator is the square of the Sharpe Ratio of the tangency portfolio\n",
"\n",
"Because SR is expected excess return over the volatility $\\mu^D-r_f=\\sigma^D SR_*$, then the obtained vol is simply\n",
"\n",
"$$\\sigma^D=\\frac{\\mu^{D}-r_f}{SR_*}$$\n",
"\n",
"If one wanted to set the target for the expected returns one ould simply subtract the **current** risk-free rate of this desired level"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 221
},
"colab_type": "code",
"executionInfo": {
"elapsed": 338,
"status": "ok",
"timestamp": 1576527796326,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "GF5ohGprQ1vO",
"outputId": "4b707318-25e4-4b95-99fb-4144bbb754f1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.31101938812939134\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
International
\n",
"
International(voltarget)
\n",
"
International(mutarget)
\n",
"
Domestic
\n",
"
Domestic(voltarget)
\n",
"
Domestic(mutarget)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
MKTUS
\n",
"
1.835334
\n",
"
0.647349
\n",
"
0.570824
\n",
"
2.534954
\n",
"
1.101918
\n",
"
0.159048
\n",
"
\n",
"
\n",
"
BondUS
\n",
"
1.423373
\n",
"
0.502045
\n",
"
0.442696
\n",
"
1.827591
\n",
"
0.794434
\n",
"
0.114667
\n",
"
\n",
"
\n",
"
EM
\n",
"
1.605223
\n",
"
0.566186
\n",
"
0.499255
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
MKTxUS
\n",
"
-1.026421
\n",
"
-0.362034
\n",
"
-0.319237
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
BondxUS
\n",
"
3.365823
\n",
"
1.187176
\n",
"
1.046836
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" International International(voltarget) International(mutarget) \\\n",
"MKTUS 1.835334 0.647349 0.570824 \n",
"BondUS 1.423373 0.502045 0.442696 \n",
"EM 1.605223 0.566186 0.499255 \n",
"MKTxUS -1.026421 -0.362034 -0.319237 \n",
"BondxUS 3.365823 1.187176 1.046836 \n",
"\n",
" Domestic Domestic(voltarget) Domestic(mutarget) \n",
"MKTUS 2.534954 1.101918 0.159048 \n",
"BondUS 1.827591 0.794434 0.114667 \n",
"EM NaN NaN NaN \n",
"MKTxUS NaN NaN NaN \n",
"BondxUS NaN NaN NaN "
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# I am setting an annual target to 10% and convert to monthly by dividing by 12\n",
"\n",
"mu_desired=0.10/12\n",
"#If setting target to expected return simply use mu_desired-rf instead of mu_desired in the formulas\n",
"\n",
"print(mu_desired/SR_int**2)\n",
"Wmve['International(mutarget)']=(mu_desired/SR_int**2)*(np.linalg.inv(CovRe) @ ERe)\n",
"Wmve"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "DIfS3kPiQ1vP"
},
"source": [
"## **Domestic Tangency Portfolio**\n",
"\n",
"we only keep the first two columns MKT and Bonds"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 221
},
"colab_type": "code",
"executionInfo": {
"elapsed": 398,
"status": "ok",
"timestamp": 1576527940458,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "eN0pCBpuQ1vQ",
"outputId": "1b5f4b29-990d-4174-89fe-21b147356608"
},
"outputs": [],
"source": [
"#ERe_dom=?\n",
"#CovRe_dom=?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Sharpe Ratio of the domestic Tangency portolio"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.4600987547084185\n"
]
}
],
"source": [
"#SR_dom=?\n",
"#print(SR_dom*12**0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The weights of the domestic tangency portfolio"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.43468928779593713\n",
"0.47238694231134754\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
International
\n",
"
International(voltarget)
\n",
"
International(mutarget)
\n",
"
Domestic
\n",
"
Domestic(voltarget)
\n",
"
Domestic(mutarget)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
MKTUS
\n",
"
1.835334
\n",
"
0.647349
\n",
"
0.570824
\n",
"
2.534954
\n",
"
1.101918
\n",
"
1.197479
\n",
"
\n",
"
\n",
"
BondUS
\n",
"
1.423373
\n",
"
0.502045
\n",
"
0.442696
\n",
"
1.827591
\n",
"
0.794434
\n",
"
0.863330
\n",
"
\n",
"
\n",
"
EM
\n",
"
1.605223
\n",
"
0.566186
\n",
"
0.499255
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
MKTxUS
\n",
"
-1.026421
\n",
"
-0.362034
\n",
"
-0.319237
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
BondxUS
\n",
"
3.365823
\n",
"
1.187176
\n",
"
1.046836
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" International International(voltarget) International(mutarget) \\\n",
"MKTUS 1.835334 0.647349 0.570824 \n",
"BondUS 1.423373 0.502045 0.442696 \n",
"EM 1.605223 0.566186 0.499255 \n",
"MKTxUS -1.026421 -0.362034 -0.319237 \n",
"BondxUS 3.365823 1.187176 1.046836 \n",
"\n",
" Domestic Domestic(voltarget) Domestic(mutarget) \n",
"MKTUS 2.534954 1.101918 1.197479 \n",
"BondUS 1.827591 0.794434 0.863330 \n",
"EM NaN NaN NaN \n",
"MKTxUS NaN NaN NaN \n",
"BondxUS NaN NaN NaN "
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Wmvedom= np.linalg.inv(CovRe_dom) @ ERe_dom.values\n",
"Wmve.loc[['MKTUS','BondUS'],'Domestic']=Wmvedom\n",
"\n",
"sigma_desired=0.20/12**0.5\n",
"print(sigma_desired/SR_dom)\n",
"Wmve.loc[['MKTUS','BondUS'],'Domestic(voltarget)']=(sigma_desired/SR_dom)*(np.linalg.inv(CovRe_dom) @ ERe_dom)\n",
"\n",
"mu_desired=0.10/12\n",
"print(mu_desired/SR_dom**2)\n",
"Wmve.loc[['MKTUS','BondUS'],'Domestic(mutarget)']=(mu_desired/SR_dom**2)*(np.linalg.inv(CovRe_dom) @ ERe_dom)\n",
"\n",
"\n",
"Wmve"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**The difference in Sharpe ratios reveal the benefits of internaitonal diversificaiton**"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"colab_type": "code",
"executionInfo": {
"elapsed": 279,
"status": "ok",
"timestamp": 1576527970603,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "UsTRG4JrQ1vT",
"outputId": "7cae8b95-6ea0-4ce2-d571-4b64cee4f0de"
},
"outputs": [
{
"data": {
"text/plain": [
"0.10693154800126711"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# this difference is the benefits of international diversification\n",
"\n",
"#(SR_int-SR_dom)*12**0.5"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "EBka10FEQ1vU"
},
"source": [
"- what does that mean?\n",
"\n",
"- it means for example that if you want to target a portfolio with a volatility of 5% per month (about the vol of the US market portfolio), then you get \n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"colab_type": "code",
"executionInfo": {
"elapsed": 276,
"status": "ok",
"timestamp": 1576528050909,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "bBKX4z1-Q1vV",
"outputId": "e4587863-4f01-4271-fd37-17b8e5b0ed64"
},
"outputs": [
{
"data": {
"text/plain": [
"[0.009450505045161428, 0.007668312578473642]"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# international diversification\n",
"voltarget=0.2/12**0.5\n",
"#[SR_int*voltarget,SR_dom*voltarget]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How much your returns increase when you go global for this voltarget above?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"colab_type": "code",
"executionInfo": {
"elapsed": 279,
"status": "ok",
"timestamp": 1576528077984,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "dJFzjTUUQ1vW",
"outputId": "11da9448-131c-4d63-891e-826aa9508b4f"
},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"colab_type": "code",
"executionInfo": {
"elapsed": 305,
"status": "ok",
"timestamp": 1576528087916,
"user": {
"displayName": "yuchi yao",
"photoUrl": "",
"userId": "00457884373990713813"
},
"user_tz": 300
},
"id": "HvoT5gPtQ1vX",
"outputId": "a0244148-7c6e-4ad7-8b30-335938dde0ec",
"scrolled": true
},
"outputs": [],
"source": [
"# in percent?"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "FMEpoLJtQ1vY"
},
"source": [
"## **Two mean-variance frontiers: For domestic and Global investors**\n",
"\n",
"We will now plot the two frontiers together with the underlying assets"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# # Lets visualize this in a plot including the two investment frontiers\n",
"\n",
"# # set different expected return targets\n",
"# mu_target=np.linspace(0,0.1/12,20)\n",
"# # international portfolios\n",
"\n",
"# plt.plot(mu_target/SR_int,mu_target)\n",
"\n",
"# #Domestic portfolios\n",
"# plt.plot(mu_target/SR_dom,mu_target)\n",
"# #Individual assets\n",
"# plt.xlabel('standard deviation')\n",
"# plt.ylabel('expected return')\n",
"# plt.title('Benefits of international diversification')\n",
"# plt.scatter(Re.std(),Re.mean())\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets add label to the dots so we know which asset corresponds to each point\n",
"\n",
"For that I will run the same code above and add a for loop that lopps though the column name of the `Re` dataframe and uses the text functio to write the column name in the correct position where the x-dimension is the asset volatility and y-dimension is the asset avereage return"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# mu_target=np.linspace(0,0.1/12,20)\n",
"# plt.plot(mu_target/SR_int,mu_target)\n",
"# plt.plot(mu_target/SR_dom,mu_target)\n",
"# plt.scatter(Re.std(),Re.mean())\n",
"\n",
"# plt.xlabel('standard deviation')\n",
"# plt.ylabel('expected return')\n",
"# plt.title('Benefits of international diversification')\n",
"# # lets add some labels so we know which point is each portfolio\n",
"\n",
"\n",
"# for label in Re.columns :\n",
"# plt.text(Re.std()[label],Re.mean()[label],label)\n",
"\n"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"provenance": [],
"toc_visible": true
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 4
}