{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Riskfolio-Lib Tutorial: \n",
"
\n",
"
\n",
"
\n",
"
\n",
"
__[Financionerioncios](https://financioneroncios.wordpress.com)__\n",
"
__[Orenji](https://www.linkedin.com/company/orenj-i)__\n",
"
__[Riskfolio-Lib](https://riskfolio-lib.readthedocs.io/en/latest/)__\n",
"
__[Dany Cajas](https://www.linkedin.com/in/dany-cajas/)__\n",
"\n",
"## Tutorial 21: Constraints on Return and Risk Measures\n",
"\n",
"## 1. Downloading the data:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"[*********************100%%**********************] 25 of 25 completed\n"
]
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import yfinance as yf\n",
"import warnings\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"pd.options.display.float_format = '{:.4%}'.format\n",
"\n",
"# Date range\n",
"start = '2016-01-01'\n",
"end = '2019-12-30'\n",
"\n",
"# Tickers of assets\n",
"assets = ['JCI', 'TGT', 'CMCSA', 'CPB', 'MO', 'APA', 'MMC', 'JPM',\n",
" 'ZION', 'PSA', 'BAX', 'BMY', 'LUV', 'PCAR', 'TXT', 'TMO',\n",
" 'DE', 'MSFT', 'HPQ', 'SEE', 'VZ', 'CNP', 'NI', 'T', 'BA']\n",
"assets.sort()\n",
"\n",
"# Downloading data\n",
"data = yf.download(assets, start = start, end = end, auto_adjust=False)\n",
"data = data.loc[:,('Adj Close', slice(None))]\n",
"data.columns = assets"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
| \n", " | APA | \n", "BA | \n", "BAX | \n", "BMY | \n", "CMCSA | \n", "CNP | \n", "CPB | \n", "DE | \n", "HPQ | \n", "JCI | \n", "... | \n", "NI | \n", "PCAR | \n", "PSA | \n", "SEE | \n", "T | \n", "TGT | \n", "TMO | \n", "TXT | \n", "VZ | \n", "ZION | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Date | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 2016-01-05 | \n", "-2.0257% | \n", "0.4057% | \n", "0.4035% | \n", "1.9693% | \n", "0.0180% | \n", "0.9305% | \n", "0.3678% | \n", "0.5783% | \n", "0.9483% | \n", "-1.1953% | \n", "... | \n", "1.5881% | \n", "0.0212% | \n", "2.8236% | \n", "0.9759% | \n", "0.6987% | \n", "1.7539% | \n", "-0.1730% | \n", "0.2409% | \n", "1.3734% | \n", "-1.0857% | \n", "
| 2016-01-06 | \n", "-11.4864% | \n", "-1.5878% | \n", "0.2411% | \n", "-1.7557% | \n", "-0.7727% | \n", "-1.2473% | \n", "-0.1736% | \n", "-1.1239% | \n", "-3.5867% | \n", "-0.9551% | \n", "... | \n", "0.5547% | \n", "0.0212% | \n", "0.1592% | \n", "-1.5647% | \n", "0.3108% | \n", "-1.0155% | \n", "-0.7652% | \n", "-3.0048% | \n", "-0.9035% | \n", "-2.9145% | \n", "
| 2016-01-07 | \n", "-5.1388% | \n", "-4.1922% | \n", "-1.6573% | \n", "-2.7699% | \n", "-1.1047% | \n", "-1.9770% | \n", "-1.2207% | \n", "-0.8855% | \n", "-4.6058% | \n", "-2.5394% | \n", "... | \n", "-2.2066% | \n", "-3.0309% | \n", "-1.0410% | \n", "-3.1557% | \n", "-1.6148% | \n", "-0.2700% | \n", "-2.2845% | \n", "-2.0570% | \n", "-0.5492% | \n", "-3.0019% | \n", "
| 2016-01-08 | \n", "0.2736% | \n", "-2.2705% | \n", "-1.6036% | \n", "-2.5425% | \n", "0.1099% | \n", "-0.2241% | \n", "0.5706% | \n", "-1.6402% | \n", "-1.7642% | \n", "-0.1649% | \n", "... | \n", "-0.1539% | \n", "-1.1366% | \n", "-0.7308% | \n", "-0.1448% | \n", "0.0895% | \n", "-3.3839% | \n", "-0.1117% | \n", "-1.1387% | \n", "-0.9719% | \n", "-1.1254% | \n", "
| 2016-01-11 | \n", "-4.3384% | \n", "0.1692% | \n", "-1.6851% | \n", "-1.0215% | \n", "0.0915% | \n", "-1.1791% | \n", "0.5674% | \n", "0.5287% | \n", "0.6616% | \n", "0.0331% | \n", "... | \n", "1.6436% | \n", "0.0000% | \n", "0.9869% | \n", "-0.1450% | \n", "1.2224% | \n", "1.4570% | \n", "0.5367% | \n", "-0.4607% | \n", "0.5800% | \n", "-1.9918% | \n", "
5 rows × 25 columns
\n", "| \n", " | APA | \n", "BA | \n", "BAX | \n", "BMY | \n", "CMCSA | \n", "CNP | \n", "CPB | \n", "DE | \n", "HPQ | \n", "JCI | \n", "... | \n", "NI | \n", "PCAR | \n", "PSA | \n", "SEE | \n", "T | \n", "TGT | \n", "TMO | \n", "TXT | \n", "VZ | \n", "ZION | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| weights | \n", "0.0000% | \n", "6.1590% | \n", "11.5018% | \n", "0.0000% | \n", "0.0000% | \n", "8.4807% | \n", "0.0000% | \n", "3.8194% | \n", "0.0000% | \n", "0.0000% | \n", "... | \n", "10.8263% | \n", "0.0000% | \n", "0.0000% | \n", "0.0000% | \n", "0.0000% | \n", "7.1805% | \n", "0.0000% | \n", "0.0000% | \n", "4.2740% | \n", "0.0000% | \n", "
1 rows × 25 columns
\n", "| \n", " | APA | \n", "BA | \n", "BAX | \n", "BMY | \n", "CMCSA | \n", "CNP | \n", "CPB | \n", "DE | \n", "HPQ | \n", "JCI | \n", "... | \n", "NI | \n", "PCAR | \n", "PSA | \n", "SEE | \n", "T | \n", "TGT | \n", "TMO | \n", "TXT | \n", "VZ | \n", "ZION | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0.0000% | \n", "0.0000% | \n", "5.2377% | \n", "4.3880% | \n", "2.1296% | \n", "6.9906% | \n", "3.2270% | \n", "0.0742% | \n", "0.0000% | \n", "2.8447% | \n", "... | \n", "11.4528% | \n", "0.0000% | \n", "14.9247% | \n", "0.1681% | \n", "6.5902% | \n", "4.0900% | \n", "0.0000% | \n", "0.0000% | \n", "8.2768% | \n", "0.0000% | \n", "
| 1 | \n", "0.0000% | \n", "2.0125% | \n", "8.4903% | \n", "0.7981% | \n", "1.6844% | \n", "8.5600% | \n", "2.1529% | \n", "1.3613% | \n", "0.0000% | \n", "1.0445% | \n", "... | \n", "13.4495% | \n", "0.0000% | \n", "9.2100% | \n", "0.0000% | \n", "5.5815% | \n", "5.5235% | \n", "0.0000% | \n", "0.0000% | \n", "8.7591% | \n", "0.0000% | \n", "
| 2 | \n", "0.0000% | \n", "2.8165% | \n", "9.3711% | \n", "0.0000% | \n", "1.1980% | \n", "9.1477% | \n", "1.7065% | \n", "1.7396% | \n", "0.0000% | \n", "0.0872% | \n", "... | \n", "14.2327% | \n", "0.0000% | \n", "6.4848% | \n", "0.0000% | \n", "5.1002% | \n", "6.0539% | \n", "0.0000% | \n", "0.0000% | \n", "9.0040% | \n", "0.0000% | \n", "
| 3 | \n", "0.0000% | \n", "3.4305% | \n", "9.9328% | \n", "0.0000% | \n", "0.5693% | \n", "9.5579% | \n", "1.0812% | \n", "1.9316% | \n", "0.0000% | \n", "0.0000% | \n", "... | \n", "14.7707% | \n", "0.0000% | \n", "3.6631% | \n", "0.0000% | \n", "4.2578% | \n", "6.4249% | \n", "0.0000% | \n", "0.0000% | \n", "9.2132% | \n", "0.0000% | \n", "
| 4 | \n", "0.0000% | \n", "3.9343% | \n", "10.3864% | \n", "0.0000% | \n", "0.0003% | \n", "9.8875% | \n", "0.3998% | \n", "2.0811% | \n", "0.0000% | \n", "0.0000% | \n", "... | \n", "15.1318% | \n", "0.0000% | \n", "1.0860% | \n", "0.0000% | \n", "3.3463% | \n", "6.7109% | \n", "0.0000% | \n", "0.0000% | \n", "9.2765% | \n", "0.0000% | \n", "
5 rows × 25 columns
\n", "| \n", " | APA | \n", "BA | \n", "BAX | \n", "BMY | \n", "CMCSA | \n", "CNP | \n", "CPB | \n", "DE | \n", "HPQ | \n", "JCI | \n", "... | \n", "NI | \n", "PCAR | \n", "PSA | \n", "SEE | \n", "T | \n", "TGT | \n", "TMO | \n", "TXT | \n", "VZ | \n", "ZION | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| weights | \n", "0.0000% | \n", "2.1345% | \n", "8.1286% | \n", "0.0000% | \n", "0.0000% | \n", "12.0965% | \n", "0.0000% | \n", "2.2793% | \n", "0.0000% | \n", "0.4927% | \n", "... | \n", "10.6012% | \n", "0.0000% | \n", "6.2090% | \n", "0.0000% | \n", "0.2056% | \n", "8.9234% | \n", "0.0000% | \n", "0.0000% | \n", "13.0767% | \n", "0.0000% | \n", "
1 rows × 25 columns
\n", "| \n", " | APA | \n", "BA | \n", "BAX | \n", "BMY | \n", "CMCSA | \n", "CNP | \n", "CPB | \n", "DE | \n", "HPQ | \n", "JCI | \n", "... | \n", "NI | \n", "PCAR | \n", "PSA | \n", "SEE | \n", "T | \n", "TGT | \n", "TMO | \n", "TXT | \n", "VZ | \n", "ZION | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "0.0000% | \n", "1.8258% | \n", "8.1429% | \n", "1.1158% | \n", "1.8639% | \n", "8.5536% | \n", "2.2107% | \n", "1.3941% | \n", "0.0000% | \n", "1.1400% | \n", "... | \n", "13.2104% | \n", "0.0000% | \n", "9.8929% | \n", "0.0000% | \n", "5.4600% | \n", "5.2956% | \n", "0.0000% | \n", "0.0000% | \n", "9.0260% | \n", "0.0000% | \n", "
| 1 | \n", "0.0000% | \n", "1.8931% | \n", "8.2406% | \n", "0.9954% | \n", "1.8205% | \n", "8.5854% | \n", "2.1823% | \n", "1.4102% | \n", "0.0000% | \n", "1.0879% | \n", "... | \n", "13.2818% | \n", "0.0000% | \n", "9.6771% | \n", "0.0000% | \n", "5.4616% | \n", "5.3551% | \n", "0.0000% | \n", "0.0000% | \n", "8.9984% | \n", "0.0000% | \n", "
| 2 | \n", "0.0000% | \n", "1.9580% | \n", "8.3350% | \n", "0.8790% | \n", "1.7786% | \n", "8.6160% | \n", "2.1548% | \n", "1.4259% | \n", "0.0000% | \n", "1.0376% | \n", "... | \n", "13.3512% | \n", "0.0000% | \n", "9.4686% | \n", "0.0000% | \n", "5.4629% | \n", "5.4125% | \n", "0.0000% | \n", "0.0000% | \n", "8.9718% | \n", "0.0000% | \n", "
| 3 | \n", "0.0000% | \n", "2.0209% | \n", "8.4264% | \n", "0.7662% | \n", "1.7382% | \n", "8.6455% | \n", "2.1282% | \n", "1.4411% | \n", "0.0000% | \n", "0.9889% | \n", "... | \n", "13.4186% | \n", "0.0000% | \n", "9.2666% | \n", "0.0000% | \n", "5.4642% | \n", "5.4679% | \n", "0.0000% | \n", "0.0000% | \n", "8.9460% | \n", "0.0000% | \n", "
| 4 | \n", "0.0000% | \n", "2.0820% | \n", "8.5151% | \n", "0.6570% | \n", "1.6989% | \n", "8.6743% | \n", "2.1024% | \n", "1.4557% | \n", "0.0000% | \n", "0.9417% | \n", "... | \n", "13.4836% | \n", "0.0000% | \n", "9.0709% | \n", "0.0000% | \n", "5.4655% | \n", "5.5219% | \n", "0.0000% | \n", "0.0000% | \n", "8.9210% | \n", "0.0000% | \n", "
5 rows × 25 columns
\n", "