2023-08-11 08:16:14 -03:00
|
|
|
{
|
|
|
|
|
"cells": [
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 1,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (23.2.1)\n",
|
|
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"%pip install --upgrade pip"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": 2,
|
2023-08-11 08:16:14 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/"
|
|
|
|
|
},
|
|
|
|
|
"id": "yLacqQR2O_8l",
|
|
|
|
|
"outputId": "a46a4c1e-a8a3-44c2-a5da-b6833ec35687"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
2023-08-11 18:40:26 -03:00
|
|
|
"output_type": "stream",
|
2023-08-11 08:16:14 -03:00
|
|
|
"text": [
|
2023-08-11 18:40:26 -03:00
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n",
|
|
|
|
|
"Note: you may need to restart the kernel to use updated packages.\n"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
2023-08-11 18:40:26 -03:00
|
|
|
"%pip install numpy -q\n",
|
|
|
|
|
"%pip install pandas -q\n",
|
|
|
|
|
"%pip install yfinance -q\n",
|
|
|
|
|
"%pip install mosek -q\n",
|
|
|
|
|
"%pip install riskfolio-lib -q"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 3,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/"
|
|
|
|
|
},
|
|
|
|
|
"id": "AXkX5PxyPP6u",
|
|
|
|
|
"outputId": "c11a8d3b-8413-48a2-cbae-ab200a405332"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"name": "stdout",
|
|
|
|
|
"output_type": "stream",
|
|
|
|
|
"text": [
|
|
|
|
|
"[*********************100%***********************] 45 of 45 completed\n"
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
2023-08-11 08:16:14 -03:00
|
|
|
"source": [
|
|
|
|
|
"import numpy as np\n",
|
|
|
|
|
"import pandas as pd\n",
|
|
|
|
|
"import yfinance as yf\n",
|
|
|
|
|
"import riskfolio as rp\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Tickers of assets\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"tickers = [\n",
|
|
|
|
|
" \"ABCB4.SA\", \"ALUP11.SA\", \"B3SA3.SA\", \"BRSR6.SA\", \"BBSE3.SA\", \"BRAP4.SA\", \"BBAS3.SA\", \"AGRO3.SA\", \"CMIG3.SA\",\n",
|
|
|
|
|
" \"CMIG4.SA\", \"CSMG3.SA\", \"CPLE6.SA\", \"CPFE3.SA\", \"CMIN3.SA\", \"CURY3.SA\", \"DIRR3.SA\", \"ENAT3.SA\", \"EGIE3.SA\",\n",
|
|
|
|
|
" \"FESA4.SA\", \"GGBR4.SA\", \"GOAU4.SA\", \"MYPK3.SA\", \"RANI3.SA\", \"ITSA4.SA\", \"JBSS3.SA\", \"JHSF3.SA\", \"KEPL3.SA\",\n",
|
|
|
|
|
" \"LAVV3.SA\", \"MRFG3.SA\", \"BEEF3.SA\", \"PETR3.SA\", \"PETR4.SA\", \"PSSA3.SA\", \"RAPT4.SA\", \"ROMI3.SA\", \"SANB11.SA\",\n",
|
|
|
|
|
" \"CSNA3.SA\", \"TAEE11.SA\", \"VIVT3.SA\", \"TRPL4.SA\", \"TRIS3.SA\", \"UNIP6.SA\", \"USIM5.SA\", \"VALE3.SA\", \"VBBR3.SA\"\n",
|
|
|
|
|
"]\n",
|
|
|
|
|
"\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"tickers.sort()\n",
|
|
|
|
|
"\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"start = \"2017-02-01\"\n",
|
|
|
|
|
"\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"# Downloading the data\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"data = yf.download(tickers, start=start)\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"data = data.loc[:, ('Adj Close', slice(None))]\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"data.columns = tickers\n",
|
|
|
|
|
"assets = data.pct_change().dropna()\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"Y = assets\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Creating the Portfolio Object\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"port = rp.Portfolio(returns=Y, nea=10)\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"\n",
|
|
|
|
|
"# To display dataframes values in percentage format\n",
|
|
|
|
|
"pd.options.display.float_format = '{:.4%}'.format\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Choose the risk measure\n",
|
|
|
|
|
"rm = 'MSV' # Semi Standard Deviation\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Estimate inputs of the model (historical estimates)\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"# Method to estimate expected returns based on historical data.\n",
|
|
|
|
|
"method_mu = 'hist'\n",
|
|
|
|
|
"# Method to estimate covariance matrix based on historical data.\n",
|
|
|
|
|
"method_cov = 'hist'\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"\n",
|
|
|
|
|
"port.assets_stats(method_mu=method_mu, method_cov=method_cov, d=0.94)\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"# Estimate the portfolio that maximizes the risk adjusted return ratio\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"w1 = port.optimization(model='Classic', rm=rm,\n",
|
|
|
|
|
" obj='Sharpe', rf=0.0, l=0, hist=True)\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"\n",
|
|
|
|
|
"# Estimate points in the efficient frontier mean - semi standard deviation\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"ws = port.efficient_frontier(\n",
|
|
|
|
|
" model='Classic', rm=rm, points=20, rf=0, hist=True)\n",
|
2023-08-11 08:16:14 -03:00
|
|
|
"\n",
|
|
|
|
|
"# Estimate the risk parity portfolio for semi standard deviation\n",
|
|
|
|
|
"w2 = port.rp_optimization(model='Classic', rm=rm, rf=0, b=None, hist=True)"
|
2023-08-11 18:40:26 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 4,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
2023-08-11 08:16:14 -03:00
|
|
|
"outputs": [
|
|
|
|
|
{
|
2023-08-11 18:40:26 -03:00
|
|
|
"data": {
|
|
|
|
|
"text/html": [
|
|
|
|
|
"<div>\n",
|
|
|
|
|
"<style scoped>\n",
|
|
|
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
|
|
|
" vertical-align: middle;\n",
|
|
|
|
|
" }\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" .dataframe tbody tr th {\n",
|
|
|
|
|
" vertical-align: top;\n",
|
|
|
|
|
" }\n",
|
|
|
|
|
"\n",
|
|
|
|
|
" .dataframe thead th {\n",
|
|
|
|
|
" text-align: right;\n",
|
|
|
|
|
" }\n",
|
|
|
|
|
"</style>\n",
|
|
|
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
|
|
|
" <thead>\n",
|
|
|
|
|
" <tr style=\"text-align: right;\">\n",
|
|
|
|
|
" <th></th>\n",
|
|
|
|
|
" <th>weights</th>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </thead>\n",
|
|
|
|
|
" <tbody>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>PETR3.SA</th>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <td>15.4512%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>CMIG3.SA</th>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <td>13.7378%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>PETR4.SA</th>\n",
|
|
|
|
|
" <td>12.3160%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>CPLE6.SA</th>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <td>11.2214%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>RANI3.SA</th>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <td>10.5928%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>UNIP6.SA</th>\n",
|
|
|
|
|
" <td>7.0562%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>TAEE11.SA</th>\n",
|
|
|
|
|
" <td>6.4217%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>FESA4.SA</th>\n",
|
|
|
|
|
" <td>5.1461%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>BBSE3.SA</th>\n",
|
|
|
|
|
" <td>4.6158%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>KEPL3.SA</th>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <td>4.2727%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>CPFE3.SA</th>\n",
|
|
|
|
|
" <td>3.4921%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>BEEF3.SA</th>\n",
|
|
|
|
|
" <td>3.1947%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>CURY3.SA</th>\n",
|
|
|
|
|
" <td>1.5344%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>PSSA3.SA</th>\n",
|
|
|
|
|
" <td>0.9471%</td>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>BBAS3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>CMIG4.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>EGIE3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>GOAU4.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>TRPL4.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>ALUP11.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>CSMG3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>ABCB4.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>GGBR4.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>MYPK3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>VIVT3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>DIRR3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>AGRO3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>BRSR6.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>ITSA4.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>JBSS3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>LAVV3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>VALE3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>ENAT3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>MRFG3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>BRAP4.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>RAPT4.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>SANB11.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>VBBR3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>B3SA3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>JHSF3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>TRIS3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>CMIN3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
" <th>ROMI3.SA</th>\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>USIM5.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" <tr>\n",
|
|
|
|
|
" <th>CSNA3.SA</th>\n",
|
|
|
|
|
" <td>0.0000%</td>\n",
|
|
|
|
|
" </tr>\n",
|
|
|
|
|
" </tbody>\n",
|
|
|
|
|
"</table>\n",
|
|
|
|
|
"</div>"
|
|
|
|
|
],
|
|
|
|
|
"text/plain": [
|
|
|
|
|
" weights\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"PETR3.SA 15.4512%\n",
|
|
|
|
|
"CMIG3.SA 13.7378%\n",
|
|
|
|
|
"PETR4.SA 12.3160%\n",
|
|
|
|
|
"CPLE6.SA 11.2214%\n",
|
|
|
|
|
"RANI3.SA 10.5928%\n",
|
|
|
|
|
"UNIP6.SA 7.0562%\n",
|
|
|
|
|
"TAEE11.SA 6.4217%\n",
|
|
|
|
|
"FESA4.SA 5.1461%\n",
|
|
|
|
|
"BBSE3.SA 4.6158%\n",
|
|
|
|
|
"KEPL3.SA 4.2727%\n",
|
|
|
|
|
"CPFE3.SA 3.4921%\n",
|
|
|
|
|
"BEEF3.SA 3.1947%\n",
|
|
|
|
|
"CURY3.SA 1.5344%\n",
|
|
|
|
|
"PSSA3.SA 0.9471%\n",
|
|
|
|
|
"BBAS3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"CMIG4.SA 0.0000%\n",
|
|
|
|
|
"EGIE3.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"GOAU4.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"TRPL4.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"ALUP11.SA 0.0000%\n",
|
|
|
|
|
"CSMG3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"ABCB4.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"GGBR4.SA 0.0000%\n",
|
|
|
|
|
"MYPK3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"VIVT3.SA 0.0000%\n",
|
|
|
|
|
"DIRR3.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"AGRO3.SA 0.0000%\n",
|
|
|
|
|
"BRSR6.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"ITSA4.SA 0.0000%\n",
|
|
|
|
|
"JBSS3.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"LAVV3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"VALE3.SA 0.0000%\n",
|
|
|
|
|
"ENAT3.SA 0.0000%\n",
|
|
|
|
|
"MRFG3.SA 0.0000%\n",
|
|
|
|
|
"BRAP4.SA 0.0000%\n",
|
|
|
|
|
"RAPT4.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"SANB11.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"VBBR3.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"B3SA3.SA 0.0000%\n",
|
|
|
|
|
"JHSF3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"TRIS3.SA 0.0000%\n",
|
2023-08-16 14:30:24 -03:00
|
|
|
"CMIN3.SA 0.0000%\n",
|
|
|
|
|
"ROMI3.SA 0.0000%\n",
|
2023-08-11 18:40:26 -03:00
|
|
|
"USIM5.SA 0.0000%\n",
|
|
|
|
|
"CSNA3.SA 0.0000%"
|
|
|
|
|
]
|
|
|
|
|
},
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 4,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "execute_result"
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"w1.sort_values(\"weights\", ascending=False)"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"id": "W1L6k2-QQS78"
|
2023-08-11 18:40:26 -03:00
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"### Plot series"
|
|
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 5,
|
2023-08-11 08:16:14 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/",
|
|
|
|
|
"height": 607
|
|
|
|
|
},
|
|
|
|
|
"id": "fswmfBhTP3C_",
|
|
|
|
|
"outputId": "256f0490-c901-4749-d554-107986845a7b"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2023-08-16 14:30:24 -03:00
|
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxU9b3/8dc5Z7ZM9pWQsIPsmyLihlBFcalKb9VqaxWrdSlavdX2/rzttWpttbvd1NpF21pr1datoqIioCIKCALKTghk3/dZzzm/P04yyZBAEgzkO/h5Ph55OHPmrPPORD7z/Z7vV7Nt20YIIYQQQgghhBADTh/sExBCCCGEEEIIIY5VUnQLIYQQQgghhBBHiBTdQgghhBBCCCHEESJFtxBCCCGEEEIIcYRI0S2EEEIIIYQQQhwhUnQLIYQQQgghhBBHiBTdQgghhBBCCCHEESJFtxBCCCGEEEIIcYRI0S2EEEIIIYQQQhwhUnQLIY45o0aNYvHixYN9GnE0TePuu+8+Ivveu3cvmqbx+OOPH5H9i0Mb6N+3z1Ked999N5qmDeg+V6xYgaZprFixYkD3K4QQQhwuKbqFEEp7/PHH0TSNdevW9fj6/PnzmTp16qc+ztKlS49YUayayspK7rjjDiZOnIjf7yc5OZlZs2Zx33330dDQMNinJ/rps5rnQw89pNQXEx3FfsePYRjk5eVxySWXsHXr1sPaZ1lZGXfffTcbN24c2JMVQghxVLkG+wSEEGKgbd++HV3v33eKS5cu5Xe/+90RK7wDgQAu1+D/yV27di3nn38+LS0tXHnllcyaNQuAdevW8cADD7Bq1SqWLVs2yGcp+uqznOdDDz1ETk5Ot14GZ5xxBoFAAI/HMyjn9c1vfpPZs2cTiUTYtGkTjzzyCCtWrGDLli3k5+f3a19lZWXcc889jBo1ipkzZx6ZExZCCHHEDf6/AIUQYoB5vd7BPgUALMsiHA7j8/nw+XyDfTo0NDTwhS98AcMw2LBhAxMnTox7/Yc//CF/+MMfBunsRH9Jnj3TdX1QP29z587lkksuiT2fMGECN910E3/961/5zne+M2jn1VUwGMTj8fT7y0khhBCHR/7aCiGOOQfeYxuJRLjnnns47rjj8Pl8ZGdnc/rpp/P6668DsHjxYn73u98BxHUP7dDa2srtt9/O8OHD8Xq9TJgwgZ/97GfYth13XE3TuPnmm/n73//OlClT8Hq9vPrqq7HXDmxFLy0t5dprr6WgoACv18vo0aO56aabCIfDANTV1XHHHXcwbdo0UlJSSEtL47zzzuOjjz46rPfl97//PaWlpfziF7/oVqABDBkyhO9973txyx566KHYtRQUFLBkyZJuXZY7uvhv2rSJefPm4ff7GTduHM8++ywAK1euZM6cOSQlJTFhwgTeeOONuO077uvdtm0bl112GWlpaWRnZ3PrrbcSDAbj1o1Go/zgBz9g7NixeL1eRo0axf/+7/8SCoXi1jvYPfQH/m503L7w7rvv8q1vfYvc3FySk5P5whe+QHV1ddy2tm1z3333MWzYMPx+P5/73Of4+OOPe3yvGxoauO2222K/M+PGjePHP/4xlmV1W2/x4sWkp6eTkZHB1Vdf3ecu4f3Ns7/vyTvvvMM3v/lNcnNzycjI4IYbbiAcDtPQ0MBVV11FZmYmmZmZfOc734n7LBzsnuq+3qv+2GOPceaZZ5KXl4fX62Xy5Mk8/PDD3c75448/ZuXKlbHP6/z583s8/s0330xKSgptbW3djnXFFVeQn5+PaZqxZa+88gpz584lOTmZ1NRULrjggoPm3Bdz584FYPfu3XHLS0tL+drXvsaQIUPwer1MmTKFP//5z7HXV6xYwezZswG45pprYtfZ8f4dbCyB+fPnx96Ljv1omsZTTz3F9773PQoLC/H7/TQ1NbF48WJSUlIoLS1l0aJFpKSkkJubyx133BH3ngA89dRTzJo1i9TUVNLS0pg2bRq/+tWvDvt9EUKIzxJp6RZCJITGxkZqamq6LY9EIr1ue/fdd3P//fdz3XXXcdJJJ9HU1MS6dev48MMPOfvss7nhhhsoKyvj9ddf529/+1vctrZtc9FFF/HWW29x7bXXMnPmTF577TW+/e1vU1payi9/+cu49ZcvX87TTz/NzTffTE5ODqNGjerxnMrKyjjppJNoaGjg+uuvZ+LEiZSWlvLss8/S1taGx+Nhz549PP/881x66aWMHj2ayspKfv/73zNv3jw++eQTCgoK+v4GAi+++CJJSUlxrXC9vW/33HMPCxYs4KabbmL79u08/PDDrF27lnfffRe32x1bt76+ns9//vNcfvnlXHrppTz88MNcfvnl/P3vf+e2227jxhtv5Mtf/jI//elPueSSS9i/fz+pqalxx7vssssYNWoU999/P2vWrOHXv/419fX1/PWvf42tc9111/GXv/yFSy65hNtvv53333+f+++/n61bt/Lcc8/16/3o6pZbbiEzM5Pvf//77N27lwcffJCbb76Zf/7zn7F17rrrLu677z7OP/98zj//fD788EPOOeec2JckHdra2pg3bx6lpaXccMMNjBgxgtWrV3PnnXdSXl7Ogw8+CDi/WxdffDHvvPMON954I5MmTeK5557j6quv7tM59zfP/rrlllvIz8/nnnvuYc2aNTz66KNkZGSwevVqRowYwY9+9COWLl3KT3/6U6ZOncpVV101IMd9+OGHmTJlChdddBEul4uXXnqJb3zjG1iWxZIlSwB48MEHueWWW0hJSeG73/0u4HzJ0JMvfelL/O53v+Pll1/m0ksvjS1va2vjpZdeYvHixRiGAcDf/vY3rr76ahYuXMiPf/xj2traePjhhzn99NPZsGHDQT/Ph7J3714AMjMzY8sqKys5+eSTY1/U5ebm8sorr3DttdfS1NTEbbfdxqRJk7j33nu56667uP7662PF+6mnntrvcwD4wQ9+gMfj4Y477iAUCsW635umycKFC5kzZw4/+9nPeOONN/j5z3/O2LFjuemmmwB4/fXXueKKKzjrrLP48Y9/DMDWrVt59913ufXWWw/rfIQQ4jPFFkIIhT322GM2cMifKVOmxG0zcuRI++qrr449nzFjhn3BBRcc8jhLliyxe/qT+Pzzz9uAfd9998Utv+SSS2xN0+xdu3bFlgG2ruv2xx9/3G0/gP39738/9vyqq66ydV23165d221dy7Js27btYDBom6YZ91pRUZHt9Xrte++9N24ZYD/22GOHvMbMzEx7xowZh1ynQ1VVle3xeOxzzjkn7hx++9vf2oD95z//ObZs3rx5NmA/+eSTsWXbtm2LvR9r1qyJLX/ttde6nev3v/99G7AvuuiiuHP4xje+YQP2Rx99ZNu2bW/cuNEG7Ouuuy5uvTvuuMMG7OXLl8eWHfh+dzjwd6Pj92vBggWx9922bfu///u/bcMw7IaGhrj344ILLohb73//939tIG6fP/jBD+zk5GR7x44dccf+f//v/9mGYdj79u2zbbvzd+snP/lJbJ1oNGrPnTt3wPO07f6/JwsXLoy71lNOOcXWNM2+8cYb48532LBh9rx582LL3nrrLRuw33rrrbjj9PR72pF9V21tbd3OceHChfaYMWPilk2ZMiXuuAc7vmVZdmFhof3FL34xbr2nn37aBuxVq1bZtm3bzc3NdkZGhv31r389br2Kigo7PT292/KDHffPf/6zXV1dbZeVldmvvvqqPW7cOFvTNPuDDz6IrXvttdfaQ4cOtWtqauL2cfnll9vp6emx92Dt2rUH/V04MLcO8+bN6zGPMWPGdHtvr776ahuI+3ti27Z9/PHH27NmzYo9v/XWW+20tDQ7Go0e8j0QQgjRM+leLoRICL/73e94/fXXu/1Mnz69120zMjL4+OOP2blzZ7+Pu3TpUgzD4Jvf/Gbc8ttvvx3btnnllVfils+bN4/Jkycfcp+WZfH8889z4YUXcuKJJ3Z7vaNru9frjd1zaZomtbW1pKSkMGHCBD788MN+X0tTU1O31uWDeeONNwiHw9x2221x931+/etfJy0tjZdffjlu/
|
2023-08-11 08:16:14 -03:00
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 1000x600 with 1 Axes>"
|
2023-08-11 18:40:26 -03:00
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "display_data"
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"ax = rp.plot_series(returns=Y,\n",
|
|
|
|
|
" w=ws,\n",
|
|
|
|
|
" cmap='tab20',\n",
|
|
|
|
|
" height=6,\n",
|
|
|
|
|
" width=10,\n",
|
|
|
|
|
" ax=None)"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"id": "8GfCgRdeRG5v"
|
2023-08-11 18:40:26 -03:00
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"### Gráfico de fronteira eficiente a partir de medida de risco especificado pelo usuário"
|
|
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 6,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/",
|
|
|
|
|
"height": 607
|
|
|
|
|
},
|
|
|
|
|
"id": "PndiInJDQUmf",
|
|
|
|
|
"outputId": "ba39ae37-fb27-48c1-e25a-e5890047542f"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2023-08-16 14:30:24 -03:00
|
|
|
"image/png": "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
|
2023-08-11 18:40:26 -03:00
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 1000x600 with 2 Axes>"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "display_data"
|
|
|
|
|
}
|
|
|
|
|
],
|
2023-08-11 08:16:14 -03:00
|
|
|
"source": [
|
|
|
|
|
"label = 'Max Risk Adjusted Return Portfolio'\n",
|
|
|
|
|
"mu = port.mu\n",
|
|
|
|
|
"cov = port.cov\n",
|
|
|
|
|
"returns = port.returns\n",
|
|
|
|
|
"\n",
|
|
|
|
|
"ax = rp.plot_frontier(w_frontier=ws,\n",
|
|
|
|
|
" mu=mu,\n",
|
|
|
|
|
" cov=cov,\n",
|
|
|
|
|
" returns=returns,\n",
|
|
|
|
|
" rm=rm,\n",
|
|
|
|
|
" rf=0,\n",
|
|
|
|
|
" alpha=0.05,\n",
|
|
|
|
|
" cmap='viridis',\n",
|
|
|
|
|
" w=w1,\n",
|
|
|
|
|
" label=label,\n",
|
|
|
|
|
" marker='*',\n",
|
|
|
|
|
" s=16,\n",
|
|
|
|
|
" c='r',\n",
|
|
|
|
|
" height=6,\n",
|
|
|
|
|
" width=10,\n",
|
|
|
|
|
" t_factor=252,\n",
|
|
|
|
|
" ax=None)"
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"id": "hmh1aWuORcpo"
|
2023-08-11 18:40:26 -03:00
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"### Gráfico de pesos por ativo"
|
|
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 7,
|
2023-08-11 08:16:14 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/",
|
|
|
|
|
"height": 607
|
|
|
|
|
},
|
|
|
|
|
"id": "2XgCJ2eORMgb",
|
|
|
|
|
"outputId": "67b0b013-2a2a-44a8-971d-f0d170af513e"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2023-08-16 14:30:24 -03:00
|
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJNCAYAAADH6K1yAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddViU2fvH8fcMHRIKCKICiqBi1xqr2JhrB4ro2orr6rrWrq4drN2JiN2ta3cHYgcGJqiIKNIxvz/8ym9ZQUGBAblf1zWXy8x5zvOZmRXnnnOecxQqlUqFEEIIIYQQQgghMoRS3QGEEEIIIYQQQojvmRTeQgghhBBCCCFEBpLCWwghhBBCCCGEyEBSeAshhBBCCCGEEBlICm8hhBBCCCGEECIDSeEthBBCCCGEEEJkICm8hRBCCCGEEEKIDCSFtxBCCCGEEEIIkYGk8BZCCCGEEEIIITKQFN5CCCGyjQsXLlC1alUMDAxQKBT4+fml+tjly5ejUCgICAhIvK9mzZrUrFkz3XMKIYQQQvybFN5CCCFS5WPh+vGmq6uLg4MD/fr148WLF+l2nokTJ7Jt27ZP7o+NjaVNmzaEhIQwY8YMVq5ciY2NTbqdVwghhBAio2iqO4AQQojsZezYsdjZ2REVFcXJkydZsGABe/bs4fr16+jr639z/xMnTqR169Y0b948yf3379/n0aNHLFmyhO7du3/zeQD279+fLv0IIYQQQnyOFN5CCCHSpGHDhlSoUAGA7t27kydPHqZPn8727dtxdXX9qj5VKhVRUVHo6eml2Obly5cAmJiYfNU5kqOtrZ1ufQkhhBBCpESmmgshhPgmtWvXBuDhw4fExcUxbtw4ChcujI6ODra2tvzxxx9ER0cnOcbW1pYmTZqwb98+KlSogJ6eHosWLUKhUBAeHo6Pj0/ilPYuXbrQpUsXnJ2dAWjTpg0KhSLJtdmHDx+mevXqGBgYYGJiQrNmzbh169YXsyd3jffLly/p1q0befPmRVdXl9KlS+Pj4/NtL5IQQgghcjQZ8RZCCPFN7t+/D0CePHno3r07Pj4+tG7dmkGDBnHu3DkmTZrErVu32Lp1a5Lj7ty5g6urK7169aJHjx44OjqycuVKunfvTqVKlejZsycAhQsXBsDa2pqJEyfSv39/KlasSN68eQE4ePAgDRs2pFChQowePZrIyEjmzJlDtWrV8PX1xdbWNtXPJTIykpo1a3Lv3j369euHnZ0dGzdupEuXLoSGhvLrr7+mwysmhBBCiJxGCm8hhBBp8vbtW4KDg4mKiuLUqVOMHTsWPT09ihYtSu/evenevTtLliwBoG/fvlhYWDB16lSOHDlCrVq1Evu5d+8ee/fuxcXFJUn/vXv3plChQri5uSW5Pzo6mokTJ1K9enVat26deP/gwYPJnTs3Z86cIXfu3AA0b96csmXLMmrUqDSNVi9evJhbt26xatUqOnbsmJjH2dmZESNG0LVrV3LlypW2F0wIIYQQOZ5MNRdCCJEmdevWxdzcnAIFCtC+fXsMDQ3ZunUrp0+fBuC3335L0n7QoEEA7N69O8n9dnZ2nxTdaRUYGIifnx9dunRJLLoBSpUqRb169dizZ0+a+tuzZw+WlpZJrlXX0tKif//+vH//nmPHjn1TXiGEEELkTDLiLYQQIk3mzZuHg4MDmpqa5M2bF0dHR5RKJVu3bkWpVGJvb5+kvaWlJSYmJjx69CjJ/XZ2dt+c5WOfjo6OnzxWrFgx9u3bR3h4OAYGBqnur0iRIiiVSb+XLlasWJLzCSGEEEKkhRTeQggh0qRSpUqJq5onR6FQpKqfz61gLoQQQgjxPZGp5kIIIdKFjY0NCQkJ+Pv7J7n/xYsXhIaGYmNjk6p+Ulu4fzwnfFio7b9u376NmZlZqke7P/bn7+9PQkLCJ339+3xCCCGEEGkhhbcQQoh00ahRIwBmzpyZ5P7p06cD0Lhx41T1Y2BgQGhoaKraWllZUaZMGXx8fJIcc/36dfbv35+YKbUaNWpEUFAQ69evT7wvLi6OOXPmYGhomLilmRBCCCFEWshUcyGEEOmidOnSdO7cmcWLFxMaGoqzszPnz5/Hx8eH5s2bJ1nR/HPKly/PwYMHmT59Ovny5cPOzo4ffvghxfZTpkyhYcOGVKlShW7duiVuJ2ZsbMzo0aPT9Bx69uzJokWL6NKlC5cuXcLW1pZNmzZx6tQpZs6cKSuaCyGEEOKrSOEthBAi3SxdupRChQqxfPlytm7diqWlJcOHD2fUqFGp7mP69On07NmTESNGEBkZSefOnT9beNetW5e9e/cyatQo/vrrL7S0tHB2dsbT0zPNC7jp6elx9OhRhg0bho+PD+/evcPR0RFvb2+6dOmSpr6EEEIIIT5SqFQqlbpDCCGEEEIIIYQQ3yu5xlsIIYQQQgghhMhAUngLIYQQQgghhBAZSApvIYQQQgghhBAiA0nhLYQQQgghhBBCZCApvIUQQgghhBBCiAwkhbcQQgghhBBCCJGBpPAWQgghhBBCCCEykBTeQgghhBBCCCFEBpLCWwghhBBCCCGEyEBSeAshhBBCCCGEEBlICm8hhBBCCCGEECIDSeEthBBCCCGEEEJkICm8hRBCCCGEEEKIDCSFtxBCCCGEEEIIkYGk8BZCCCGEEEIIITKQproDfI6trS2PHj1SdwyRSWxsbAgICFB3DCGEEEIIIYRIVwqVSqVSd4iUKBQKsnA8kc7k/RZCCCGEEEJ8j2SquRBCCCGEEEIIkYGk8BZCCCGEEEIIITKQFN5CCCGEEEIIIUQGytKLqwkhhBBCCJEWsjhvziML9IrsIFuOeHfp0gWFQoFCoUBbWxt7e3vGjh1LXFwcAEePHk18/L+3oKAgbG1tU3xcoVDQpUsXgCT3GRkZUbFiRbZv355irlOnTqGpqUmZMmW++ByWLFlC6dKlMTQ0xMTEhLJlyzJp0qRk2xYtWhQdHR2CgoK+2G9gYCAdOnTAwcEBpVLJgAEDkj139erVMTU1xdTUlLp163L+/PnP9nvy5EmqVatGnjx50NPTo2jRosyYMSNJm9WrV1OgQAFMTU357bffkjwWEBCAg4MD7969++JzEEIIIYT4Wo8ePUKlUsktB93kixaRHWTbEe8GDRrg7e1NdHQ0e/bswcPDAy0tLYYPH57Y5s6dOxgZGSU5zsLCggsXLhAfHw/A6dOnadWqVZK2enp6ie29vb1p0KAB7969Y/78+bRu3RpfX19KliyZpN/Q0FDc3d2pU6cOL168+Gz2ZcuWMWDAAGbPno2zszPR0dFcvXqV69evf9L25MmTREZG0rp1a3x8fBg6dOhn+46Ojsbc3JwRI0Z8Uhh/dPToUVxdXalatSq6urp4enpSv359bty4gbW1dbLHGBgY0K9fP0qVKoWBgQEnT56kV69eGBgY0LNnT4KDg+nevTvLly+nUKFCNG7cmNq1a9OkSRMA+vbty+TJkz95P4QQQgghhBDie5cttxPr0qULoaGhbNu2LfG++vXrExYWxpkzZzh69Ci1atXizZs3mJiYfPYcn2urUCjYunUrzZs3ByAsLAwjIyNmzZpF//79k7Rt3749RYoUQUNDg23btuHn55fiOZs3b46pqSne3t6fzQbw888/Y2lpibOzM7/++it37tz54jEf1axZkzJlyjBz5szPtouPj8fU1JS5c+fi7u6e6v5btmyJgYEBK1eu5Pz58/z000+Jo/Lt2rWjQoUKDB48mLVr17Ju3brPzhYA2U5MCCGEEN9OPk/kPPKei+wgW041T46enh4xMTEZ1n9cXBxeXl4AaGtrJ3nM29ubBw8eMGrUqFT1ZWlpydmzZ784LSYsLIyNGzfi5uZGvXr1ePv2LSdOnPi6J/AZERERxMbGkjt37lQfc/nyZU6fPo2zszMARYoUISIigsuXLxMSEsKFCxcoVaoUb968YeTIkcydOzfdcwshhBBCCCFEdpBtp5p/pFKpOHToEPv27eOXX35J8lj+/PmT/GxjY8ONGzfS1L+rqysaGhpERkaSkJCAra0tbdu2TXzc39+fYcOGceLECTQ1U/dyjho1i
|
2023-08-11 08:16:14 -03:00
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 1000x600 with 1 Axes>"
|
2023-08-11 18:40:26 -03:00
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "display_data"
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"ax = rp.plot_pie(w=w1,\n",
|
|
|
|
|
" title='Portfolio',\n",
|
|
|
|
|
" height=6,\n",
|
|
|
|
|
" width=10,\n",
|
|
|
|
|
" cmap=\"tab20\",\n",
|
|
|
|
|
" ax=None)"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"id": "82BPUuTnSPvE"
|
2023-08-11 18:40:26 -03:00
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"### Gráfico de fronteira eficiente"
|
|
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 8,
|
2023-08-11 08:16:14 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/",
|
|
|
|
|
"height": 607
|
|
|
|
|
},
|
|
|
|
|
"id": "_Wo-Zo2lSN-Y",
|
|
|
|
|
"outputId": "9be452e7-f3b6-4866-8d45-ca29955335da"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2023-08-16 14:30:24 -03:00
|
|
|
"image/png": "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nnGtk5GRwdChQwkJCeHZZ58lMDCQuLg4vv/+e9c6W7duZcqUKQwaNIjXXnsNcN4r/vfff7vOJ6PRSL9+/UhOTubhhx+mUaNG7Nmzh4ULF5Kamsp///vf68Z1woQJnD59mscee4wmTZqQkZHB1q1bSUhIKJJ0/lvjxo3Ztm0bSUlJNGjQoMR1buRnarfbGTZsGL179+aNN94odfWBw+Fg9OjRbNu2jcmTJ/PEE09QUFDA1q1bOXXqFIMHDy71eXUt69atw2w289BDD6HVagkKCuL06dP06tWL+vXr8+yzz+Lj48PXX3/NnXfeyXfffce4cePKdCxBEARBuOnIgiDcdNatWycDJf7TarVF1m3cuLE8atSoYvsA5EceeaTIsj///FMG5D///FOWZVm22+1yeHi43LhxYzk3N7fIupIkuR6/9NJL8pW/buLi4mSVSiUvX768yDYnT56U1Wp1keX9+vWTAfmTTz5xLbNYLHJoaKg8YcIE17KDBw/KgLxu3bprB+eya8XoyvfatGlT2Wg0urazWq1ynTp15LZt28omk8m1fPPmzTIgv/jii65l999/vwzIS5cuLXLsTp06yZ07d3Y9z8zMlAH5pZdeKtZOd8Tugw8+uG48xo4dK7dp0+a665XEarXKwcHB8nPPPedads8998gdOnQost7GjRtlQD548OBV9/XEE0/I/v7+st1uv+o6L7/8suzj4yOfP3++yPJnn31WVqlUckJCgizLV49rbm6uDMivv/76Db7Df0RFRcmArNFo5AEDBsgvvPCCvGvXLtnhcBRZ71o/08Lz4tlnny32WuPGjeX777+/2PJ+/frJ/fr1cz1fu3atDMhvvvlmsXULP3vXasO/93dl2xo3bux6HhsbKwOyv7+/nJGRUWTdQYMGye3atZPNZnORY/fs2VNu0aJFsX0LgiAIwq1KlJcLwk3svffeY+vWrUX+/fLLL27b/9GjR4mNjWXevHnF7v++1jRX33//PZIkMWnSJLKyslz/QkNDadGiBX/++WeR9X19fZk6darruUaj4fbbb+fSpUvlfg8lxehK999/P15eXq7nhw4dIiMjg7lz5xa5v33UqFFERESwZcuWYseYPXt2ked9+vQpc9tLGzutVsuMGTOuu9/AwECSkpI4ePBgqdv0yy+/kJ2dzZQpU1zLpkyZwvHjxzl9+nSRYwBs3rwZm8121XYYDIZiP4crffPNN/Tp04datWoVicHgwYNxOBzs3Lnzmu318vJCo9Hw119/kZubW4p3Cg888AC//vor/fv3Z/fu3bz88sv06dOHFi1asGfPnlLta86cOaVa/0rfffcdtWvX5rHHHiv2WkVMMTdhwgRXuTpATk4O27dvZ9KkSRQUFLh+BtnZ2QwbNowLFy4Uu91CEARBEG5VorxcEG5it99++w0PElYWMTExQOlH+75w4QKyLNOiRYsSX/fw8CjyvEGDBsUSiVq1anHixIlSHbck14vRv0c2j4+PB6BVq1bF1o2IiGD37t1Flnl6ehZJVsDZ9tIme4VKG7v69evf0IBXCxYs4I8//uD222+nefPmDB06lHvuuYdevXpdd9sNGzYQHh6OVqvl4sWLADRr1gxvb28+++wzXnnlFQD69evHhAkTWLJkCW+99Rb9+/fnzjvv5J577kGr1QIwd
|
2023-08-11 08:16:14 -03:00
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 1000x600 with 1 Axes>"
|
2023-08-11 18:40:26 -03:00
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "display_data"
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"ax = rp.plot_frontier_area(w_frontier=ws,\n",
|
|
|
|
|
" cmap=\"tab20\",\n",
|
|
|
|
|
" height=6,\n",
|
|
|
|
|
" width=10,\n",
|
|
|
|
|
" ax=None)"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "markdown",
|
|
|
|
|
"metadata": {
|
|
|
|
|
"id": "_DZcrCF-S6te"
|
2023-08-11 18:40:26 -03:00
|
|
|
},
|
|
|
|
|
"source": [
|
|
|
|
|
"### Contribuição de risco por ativo"
|
|
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
2023-08-16 14:30:24 -03:00
|
|
|
"execution_count": 9,
|
2023-08-11 08:16:14 -03:00
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"base_uri": "https://localhost:8080/",
|
|
|
|
|
"height": 607
|
|
|
|
|
},
|
|
|
|
|
"id": "_Ke_zpDhSUGI",
|
|
|
|
|
"outputId": "2b25e639-b42c-49e9-fdcb-6339bf0aa5a6"
|
|
|
|
|
},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"data": {
|
2023-08-16 14:30:24 -03:00
|
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJOCAYAAABBfN/cAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3wUdf4/8NfMlmx6gVR6kBJAijSRJhgJgmBDEbEhonji6eHZfueB7SyIXewg6qHiYTn0EEGKWAABQRQjX4TQSUJIr1vm8/tjsh+2TEhC1jF3eb0eDx6PZXfy3PnM+zOzn9n57K4ihBBgGIZhGIZhGIZhGOZ3ifpHrwDDMAzDMAzDMAzD/C+HJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94MwzAMwzAMwzAM8zuGJ94Mw7S4nHvuuTj33HMb9TcPPPAAFEVBQUHBaT/vvHnz0L17d2iadtqGGVEUBQ888MAfvRohzfXXX4+OHTua8lyLFy+GoijYv3+/Kc/XlHj7dSizfv16KIqC9evXh9T1zYkTJxAZGYkVK1b8bs/RHBJ4rPJu22XLlpny/GbuNwzDMP/r4Yk3wzD/9fGe6Hj/Wa1WtGnTBtdffz2OHDnyR68eAKC0tBRPPPEE7rnnHqjqyUNveXk55s6di169eiEyMhKtWrVC3759cfvtt+Po0aN/4BrXn+PHj+P2229H9+7dER4ejqSkJAwaNAj33HMPysvL5XLvvvsunn322T9uRZtpvCe93n8RERFo3749JkyYgDfffBM1NTV/9CqeMi+99BIWL178hzx3q1atcOONN+Lvf/97o/4uLy8Pf/3rX9G9e3dEREQgMjIS/fv3xyOPPILi4uLfZ2UBHD16FA888AB27Njxuz3H6aY5r1tzyYoVK6AoCtLS0prFG6esGcP8d8b6R68AwzBMqPLQQw+hU6dOqK6uxqZNm7B48WJ88803+Pnnn+FwOORyq1atMn3dFi1aBLfbjSlTpsj7XC4XRowYgV9//RXXXXcdbrvtNpSXl2PXrl149913cckllyAtLc30da2qqoLVeuqXh8LCQgwYMAClpaW44YYb0L17d5w4cQI7d+7Eyy+/jFtuuQVRUVEA9BPvn3/+GXfccYcJa//fl5dffhlRUVGoqanBkSNH8MUXX+CGG27As88+i88++wzt2rX73Z77/vvvx7333ntaf/vSSy+hdevWuP766/3uHzFiBKqqqmC320OwhnVn5syZeP7557F27VqMHj263uW3bNmCcePGoby8HFdffTX69+8PANi6dSsef/xxbNiw4Xc7Nhw9ehQPPvggOnbsiL59+zb478w4Vp1q3V5//fVmcaL5R2fJkiXo2LEj9u/fj7Vr1yIzM/MPXZ/T7U8Mw/yx4Yk3wzD/M7ngggswYMAAAMCNN96I1q1b44knnsDy5ctxxRVXyOV+7xMCo7z55puYOHGi3xsAn3zyCbZv344lS5bgqquu8lu+uroaTqfT7NUEAL91rCsLFy7EwYMH8e233+Kcc87xe6y0tPQP2cZmRdM0OJ3OBm2nhmTSpElo3bq1/P+cOXOwZMkSXHvttbj88suxadOmkDyPUaxWa71vsjQ2qqqGbNucKhkZGejVqxcWL15c74l3cXExLrnkElgsFmzfvh3du3f3e/wf//gHXn/99d9zdRuVyspKRERE/OH7kc1m+0Of//dORUUFIiMj613m3//+Nx577DG8+eabWLJkyR9+4s0wzH9nONWcYZj/2QwfPhwAsHfvXr/7jT7j/cILL6Bnz56IiIhAfHw8BgwYgHffffeU/oEDB3DGGWegV69eyMvLq3O5nJwc7Ny5M2iw5l2voUOHBv2Nw+FATEyM332//vorJk2ahISEBDgcDgwYMADLly/3W8Y77f6bb77Bn//8ZyQmJiIuLg4333wznE4niouLce211yI+Ph7x8fG4++67IYTwMxryGe+9e/fCYrHg7LPPDnosJiZGnnide+65+M9//oMDBw7IKdXez4w6nU7MmTMH/fv3R2xsLCIjIzF8+HCsW7fOz9u/fz8URcH8+fPx2muvoXPnzggLC8PAgQOxZcuWoOf/5JNP0KtXLzgcDvTq1Qsff/yxYRvmz5+Pc845B61atUJ4eDj69+9v+NlZRVEwa9YsLFmyBD179kRYWBhWrlwJANi1axdGjx6N8PBwtG3bFo888khIrhBOnToVN954IzZv3ozVq1f7PbZ582aMHTsWsbGxiIiIwMiRI/Htt9/Kx5ctWwZFUfDVV18Fua+++ioURcHPP/8MwPgz3m+++SZGjx6NpKQkhIWFoUePHnj55Zf9lunYsSN27dqFr776StbVu0/V9Rnvf/3rX+jfvz/Cw8PRunVrXH311UEfBbn++usRFRWFI0eO4OKLL0ZUVBQSExPx17/+FR6PJ6g9559/Pj799NOgPmzU7iNHjuDpp58OOukGgOTkZNx///1+97300kuy3mlpabj11luDpqOfe+656NWrF3755ReMGjUKERERaNOmDebNmyeXWb9+PQYOHAgAmDZtmtxe3mn6XmPbtm0YMWIEIiIi8P/+3/+Tjxl9H4XH48H/+3//DykpKYiMjMTEiRNx6NAhv2U6duwYNBsh0Kxv3Yw+411RUYE777wT7dq1Q1hYGLp164b58+cbHkdmzZol98ewsDD07NlT7junircPLV26tN52AvXvE8DJvv7LL7/gqquuQnx8PIYNG1bvunz88ceoqqrC5ZdfjiuvvBIfffQRqqurg5ZbvXo1hg0bhri4OERFRaFbt26yjt405HXmyJEjuOGGG5CcnCy32aJFi/y2zalqxjBM8w2veDMM8z8b75dbxcfHn3K5119/HX/+858xadIk3H777aiursbOnTuxefPmoCvR3uzduxejR49GQkICVq9e7XfFMjDfffcdAOCss87yu79Dhw4AgLfffhv333//Kb/kateuXRg6dCjatGmDe++9F5GRkfjggw9w8cUX48MPP8Qll1zit/xtt92GlJQUPPjgg9i0aRNee+01xMXF4bvvvkP79u3x6KOPYsWKFXjyySfRq1cvXHvttafcRoHp0KEDPB4P3nnnHVx33XV1Lve3v/0NJSUlOHz4MJ555hkAkFPQS0tL8cYbb2DKlCmYMWMGysrKsHDhQmRlZeH7778PmkL57rvvoqysDDfffDMURcG8efNw6aWXYt++ffLK3KpVq3DZZZehR48eeOyxx3DixAlMmzYNbdu2DVq35557DhMnTsTUqVPhdDrx/vvv4/LLL8dnn32G8ePH+y27du1afPDBB5g1axZat26Njh07Ijc3F6NGjYLb7ZY1ee211xAeHt6obVlXrrnmGrz22mtYtWoVzj//fLkeF1xwAfr374+5c+dCVVV5ovz1119j0KBBGD9+PKKiovDBBx9g5MiRfubSpUvRs2dP9OrVq87nffnll9GzZ09MnDgRVqsVn376Kf70pz9B0zTceuutAIBnn30Wt912G6KiovC3v/0NgH7yWlcWL16MadOmYeDAgXjssceQl5eH5557Dt9++y22b9+OuLg4uazH40FWVhYGDx6M+fPn48svv8RTTz2Fzp0745ZbbvFz+/fvj2eeeQa7du06ZZuWL1+O8PBwTJo0qc5lfPPAAw/gwQcfRGZmJm655Rbs3r0bL7/8MrZs2YJvv/3W70pwUVERxo4di0svvRRXXHEFli1bhnvuuQdnnnkmLrjgAmRkZOChhx7CnDlzcNNNN8k3BH1nipw4cQIXXHABrrzySlx99dWn3JaAfoVeURTcc889yM/Px7PPPovMzEzs2LGjUf2vIevmGyEEJk6ciHXr1mH69Ono27cvvvjiC9x11104cuSI3Me9+eabb/DRRx/hT3/6E6Kjo/H888/jsssuw8GDB9GqVat6168h7WzIPuGbyy+/HF26dMGjjz5a7xs2gD7Nf
|
2023-08-11 08:16:14 -03:00
|
|
|
"text/plain": [
|
|
|
|
|
"<Figure size 1000x600 with 1 Axes>"
|
2023-08-11 18:40:26 -03:00
|
|
|
]
|
2023-08-11 08:16:14 -03:00
|
|
|
},
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"output_type": "display_data"
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"source": [
|
|
|
|
|
"ax = rp.plot_risk_con(w=w2,\n",
|
|
|
|
|
" cov=cov,\n",
|
|
|
|
|
" returns=returns,\n",
|
|
|
|
|
" rm=rm,\n",
|
|
|
|
|
" rf=0,\n",
|
|
|
|
|
" alpha=0.05,\n",
|
|
|
|
|
" color=\"tab:blue\",\n",
|
|
|
|
|
" height=6,\n",
|
|
|
|
|
" width=10,\n",
|
|
|
|
|
" t_factor=252,\n",
|
|
|
|
|
" ax=None)"
|
2023-08-11 08:16:14 -03:00
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"cell_type": "code",
|
|
|
|
|
"execution_count": null,
|
2023-08-11 18:40:26 -03:00
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [],
|
|
|
|
|
"source": []
|
2023-08-11 08:16:14 -03:00
|
|
|
}
|
2023-08-11 18:40:26 -03:00
|
|
|
],
|
|
|
|
|
"metadata": {
|
|
|
|
|
"colab": {
|
|
|
|
|
"authorship_tag": "ABX9TyPHs9KgmNJona/3h+651ykJ",
|
|
|
|
|
"provenance": []
|
|
|
|
|
},
|
|
|
|
|
"kernelspec": {
|
|
|
|
|
"display_name": "Python 3",
|
|
|
|
|
"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.10.11"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"nbformat": 4,
|
|
|
|
|
"nbformat_minor": 0
|
|
|
|
|
}
|