Files

2352 lines
1.0 MiB
Plaintext
Raw Permalink Normal View History

2023-08-17 16:46:32 -03:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Downloading the data"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[*********************100%***********************] 45 of 45 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 = '2017-02-01'\n",
"\n",
"# Tickers of assets\n",
"assets = [\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",
"assets.sort()\n",
"\n",
"# Downloading data\n",
"data = yf.download(assets, start = start)\n",
"data = data.loc[:,('Adj Close', slice(None))]\n",
"data.columns = assets"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"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>ABCB4.SA</th>\n",
" <th>AGRO3.SA</th>\n",
" <th>ALUP11.SA</th>\n",
" <th>B3SA3.SA</th>\n",
" <th>BBAS3.SA</th>\n",
" <th>BBSE3.SA</th>\n",
" <th>BEEF3.SA</th>\n",
" <th>BRAP4.SA</th>\n",
" <th>BRSR6.SA</th>\n",
" <th>CMIG3.SA</th>\n",
" <th>...</th>\n",
" <th>ROMI3.SA</th>\n",
" <th>SANB11.SA</th>\n",
" <th>TAEE11.SA</th>\n",
" <th>TRIS3.SA</th>\n",
" <th>TRPL4.SA</th>\n",
" <th>UNIP6.SA</th>\n",
" <th>USIM5.SA</th>\n",
" <th>VALE3.SA</th>\n",
" <th>VBBR3.SA</th>\n",
" <th>VIVT3.SA</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2021-02-23</th>\n",
" <td>3.7383%</td>\n",
" <td>0.6593%</td>\n",
" <td>-1.2048%</td>\n",
" <td>-0.7176%</td>\n",
" <td>7.1700%</td>\n",
" <td>0.9406%</td>\n",
" <td>3.4216%</td>\n",
" <td>1.3417%</td>\n",
" <td>4.7238%</td>\n",
" <td>1.1564%</td>\n",
" <td>...</td>\n",
" <td>-2.2053%</td>\n",
" <td>4.0582%</td>\n",
" <td>0.0639%</td>\n",
" <td>1.7000%</td>\n",
" <td>6.1233%</td>\n",
" <td>1.8796%</td>\n",
" <td>5.0033%</td>\n",
" <td>1.6780%</td>\n",
" <td>0.3301%</td>\n",
" <td>-0.7699%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-24</th>\n",
" <td>2.6383%</td>\n",
" <td>1.3537%</td>\n",
" <td>0.2439%</td>\n",
" <td>0.5060%</td>\n",
" <td>-0.3944%</td>\n",
" <td>-1.0809%</td>\n",
" <td>4.3757%</td>\n",
" <td>3.0685%</td>\n",
" <td>0.7645%</td>\n",
" <td>1.5467%</td>\n",
" <td>...</td>\n",
" <td>13.7636%</td>\n",
" <td>-3.3113%</td>\n",
" <td>0.3512%</td>\n",
" <td>-1.0816%</td>\n",
" <td>2.1053%</td>\n",
" <td>0.4100%</td>\n",
" <td>9.5299%</td>\n",
" <td>1.0108%</td>\n",
" <td>-0.8459%</td>\n",
" <td>-1.5961%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-25</th>\n",
" <td>0.1881%</td>\n",
" <td>-2.5420%</td>\n",
" <td>-1.7032%</td>\n",
" <td>-1.3125%</td>\n",
" <td>-2.8043%</td>\n",
" <td>-2.2231%</td>\n",
" <td>-4.0900%</td>\n",
" <td>-3.7479%</td>\n",
" <td>-2.6555%</td>\n",
" <td>-4.4371%</td>\n",
" <td>...</td>\n",
" <td>-3.2809%</td>\n",
" <td>-2.5114%</td>\n",
" <td>-1.9408%</td>\n",
" <td>-1.4911%</td>\n",
" <td>-1.5273%</td>\n",
" <td>1.8746%</td>\n",
" <td>-4.3504%</td>\n",
" <td>-2.2669%</td>\n",
" <td>-3.2701%</td>\n",
" <td>0.2929%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-26</th>\n",
" <td>-3.8798%</td>\n",
" <td>-2.6967%</td>\n",
" <td>-2.6815%</td>\n",
" <td>-1.0749%</td>\n",
" <td>-4.7862%</td>\n",
" <td>-2.0039%</td>\n",
" <td>3.4115%</td>\n",
" <td>-1.3032%</td>\n",
" <td>-1.4809%</td>\n",
" <td>1.2474%</td>\n",
" <td>...</td>\n",
" <td>-5.3004%</td>\n",
" <td>-2.1077%</td>\n",
" <td>-0.1947%</td>\n",
" <td>-5.5499%</td>\n",
" <td>-4.3382%</td>\n",
" <td>3.4615%</td>\n",
" <td>-1.5161%</td>\n",
" <td>-1.2433%</td>\n",
" <td>-2.4008%</td>\n",
" <td>-1.1680%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-03-01</th>\n",
" <td>1.2370%</td>\n",
" <td>2.5897%</td>\n",
" <td>-0.4239%</td>\n",
" <td>0.0921%</td>\n",
" <td>-0.6774%</td>\n",
" <td>-2.4774%</td>\n",
" <td>-0.5154%</td>\n",
" <td>2.7362%</td>\n",
" <td>-5.2215%</td>\n",
" <td>-4.4490%</td>\n",
" <td>...</td>\n",
" <td>5.7836%</td>\n",
" <td>-0.9569%</td>\n",
" <td>-1.1379%</td>\n",
" <td>-1.9231%</td>\n",
" <td>-1.5899%</td>\n",
" <td>-4.8424%</td>\n",
" <td>3.7562%</td>\n",
" <td>4.2848%</td>\n",
" <td>-1.1546%</td>\n",
" <td>-1.3689%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 45 columns</p>\n",
"</div>"
],
"text/plain": [
" ABCB4.SA AGRO3.SA ALUP11.SA B3SA3.SA BBAS3.SA BBSE3.SA \\\n",
"Date \n",
"2021-02-23 3.7383% 0.6593% -1.2048% -0.7176% 7.1700% 0.9406% \n",
"2021-02-24 2.6383% 1.3537% 0.2439% 0.5060% -0.3944% -1.0809% \n",
"2021-02-25 0.1881% -2.5420% -1.7032% -1.3125% -2.8043% -2.2231% \n",
"2021-02-26 -3.8798% -2.6967% -2.6815% -1.0749% -4.7862% -2.0039% \n",
"2021-03-01 1.2370% 2.5897% -0.4239% 0.0921% -0.6774% -2.4774% \n",
"\n",
" BEEF3.SA BRAP4.SA BRSR6.SA CMIG3.SA ... ROMI3.SA SANB11.SA \\\n",
"Date ... \n",
"2021-02-23 3.4216% 1.3417% 4.7238% 1.1564% ... -2.2053% 4.0582% \n",
"2021-02-24 4.3757% 3.0685% 0.7645% 1.5467% ... 13.7636% -3.3113% \n",
"2021-02-25 -4.0900% -3.7479% -2.6555% -4.4371% ... -3.2809% -2.5114% \n",
"2021-02-26 3.4115% -1.3032% -1.4809% 1.2474% ... -5.3004% -2.1077% \n",
"2021-03-01 -0.5154% 2.7362% -5.2215% -4.4490% ... 5.7836% -0.9569% \n",
"\n",
" TAEE11.SA TRIS3.SA TRPL4.SA UNIP6.SA USIM5.SA VALE3.SA \\\n",
"Date \n",
"2021-02-23 0.0639% 1.7000% 6.1233% 1.8796% 5.0033% 1.6780% \n",
"2021-02-24 0.3512% -1.0816% 2.1053% 0.4100% 9.5299% 1.0108% \n",
"2021-02-25 -1.9408% -1.4911% -1.5273% 1.8746% -4.3504% -2.2669% \n",
"2021-02-26 -0.1947% -5.5499% -4.3382% 3.4615% -1.5161% -1.2433% \n",
"2021-03-01 -1.1379% -1.9231% -1.5899% -4.8424% 3.7562% 4.2848% \n",
"\n",
" VBBR3.SA VIVT3.SA \n",
"Date \n",
"2021-02-23 0.3301% -0.7699% \n",
"2021-02-24 -0.8459% -1.5961% \n",
"2021-02-25 -3.2701% 0.2929% \n",
"2021-02-26 -2.4008% -1.1680% \n",
"2021-03-01 -1.1546% -1.3689% \n",
"\n",
"[5 rows x 45 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Y = data[assets].pct_change().dropna()\n",
"\n",
"display(Y.head())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Estimating Mean Variance Portfolios"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculating the portfolio that maximizes Sharpe ratio"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"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>ABCB4.SA</th>\n",
" <th>AGRO3.SA</th>\n",
" <th>ALUP11.SA</th>\n",
" <th>B3SA3.SA</th>\n",
" <th>BBAS3.SA</th>\n",
" <th>BBSE3.SA</th>\n",
" <th>BEEF3.SA</th>\n",
" <th>BRAP4.SA</th>\n",
" <th>BRSR6.SA</th>\n",
" <th>CMIG3.SA</th>\n",
" <th>...</th>\n",
" <th>ROMI3.SA</th>\n",
" <th>SANB11.SA</th>\n",
" <th>TAEE11.SA</th>\n",
" <th>TRIS3.SA</th>\n",
" <th>TRPL4.SA</th>\n",
" <th>UNIP6.SA</th>\n",
" <th>USIM5.SA</th>\n",
" <th>VALE3.SA</th>\n",
" <th>VBBR3.SA</th>\n",
" <th>VIVT3.SA</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>weights</th>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.0265%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>20.5202%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>6.1870%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>2.9384%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 45 columns</p>\n",
"</div>"
],
"text/plain": [
" ABCB4.SA AGRO3.SA ALUP11.SA B3SA3.SA BBAS3.SA BBSE3.SA \\\n",
"weights 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% \n",
"\n",
" BEEF3.SA BRAP4.SA BRSR6.SA CMIG3.SA ... ROMI3.SA SANB11.SA \\\n",
"weights 3.0265% 0.0000% 0.0000% 20.5202% ... 0.0000% 0.0000% \n",
"\n",
" TAEE11.SA TRIS3.SA TRPL4.SA UNIP6.SA USIM5.SA VALE3.SA \\\n",
"weights 6.1870% 0.0000% 0.0000% 2.9384% 0.0000% 0.0000% \n",
"\n",
" VBBR3.SA VIVT3.SA \n",
"weights 0.0000% 0.0000% \n",
"\n",
"[1 rows x 45 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import riskfolio as rp\n",
"\n",
"# Building the portfolio object\n",
"port = rp.Portfolio(returns=Y)\n",
"\n",
"# Calculating optimal portfolio\n",
"\n",
"# Select method and estimate input parameters:\n",
"\n",
"method_mu='hist' # Method to estimate expected returns based on historical data.\n",
"method_cov='hist' # Method to estimate covariance matrix based on historical data.\n",
"\n",
"port.assets_stats(method_mu=method_mu, method_cov=method_cov, d=0.94)\n",
"\n",
"# Estimate optimal portfolio:\n",
"\n",
"model='Classic' # Could be Classic (historical), BL (Black Litterman) or FM (Factor Model)\n",
"rm = 'MV' # Risk measure used, this time will be variance\n",
"obj = 'Sharpe' # Objective function, could be MinRisk, MaxRet, Utility or Sharpe\n",
"hist = True # Use historical scenarios for risk measures that depend on scenarios\n",
"rf = 0 # Risk free rate\n",
"l = 0 # Risk aversion factor, only useful when obj is 'Utility'\n",
"\n",
"w = port.optimization(model=model, rm=rm, obj=obj, rf=rf, l=l, hist=hist)\n",
"\n",
"display(w.T)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Plotting portfolio composition"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plotting the composition of the portfolio\n",
"\n",
"ax = rp.plot_pie(w=w, title='Sharpe Mean Variance', others=0.05, nrow=25, cmap = \"tab20\",\n",
" height=6, width=10, ax=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculate efficient frontier"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"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>ABCB4.SA</th>\n",
" <th>AGRO3.SA</th>\n",
" <th>ALUP11.SA</th>\n",
" <th>B3SA3.SA</th>\n",
" <th>BBAS3.SA</th>\n",
" <th>BBSE3.SA</th>\n",
" <th>BEEF3.SA</th>\n",
" <th>BRAP4.SA</th>\n",
" <th>BRSR6.SA</th>\n",
" <th>CMIG3.SA</th>\n",
" <th>...</th>\n",
" <th>ROMI3.SA</th>\n",
" <th>SANB11.SA</th>\n",
" <th>TAEE11.SA</th>\n",
" <th>TRIS3.SA</th>\n",
" <th>TRPL4.SA</th>\n",
" <th>UNIP6.SA</th>\n",
" <th>USIM5.SA</th>\n",
" <th>VALE3.SA</th>\n",
" <th>VBBR3.SA</th>\n",
" <th>VIVT3.SA</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.6328%</td>\n",
" <td>0.0000%</td>\n",
" <td>5.5613%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>7.9671%</td>\n",
" <td>0.4596%</td>\n",
" <td>1.6786%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>12.7480%</td>\n",
" <td>0.0000%</td>\n",
" <td>15.9947%</td>\n",
" <td>0.3413%</td>\n",
" <td>0.0000%</td>\n",
" <td>10.2007%</td>\n",
" <td>0.0000%</td>\n",
" <td>14.3553%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.6044%</td>\n",
" <td>0.0000%</td>\n",
" <td>4.6150%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>7.9551%</td>\n",
" <td>2.0004%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>15.3928%</td>\n",
" <td>0.0000%</td>\n",
" <td>14.0940%</td>\n",
" <td>1.5589%</td>\n",
" <td>0.0000%</td>\n",
" <td>5.8441%</td>\n",
" <td>0.0000%</td>\n",
" <td>11.6011%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.4334%</td>\n",
" <td>0.0000%</td>\n",
" <td>4.0537%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.0445%</td>\n",
" <td>2.5914%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>1.6591%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>16.5361%</td>\n",
" <td>0.0000%</td>\n",
" <td>12.4141%</td>\n",
" <td>1.8092%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.9854%</td>\n",
" <td>0.0000%</td>\n",
" <td>10.3051%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.2850%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.6049%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.1141%</td>\n",
" <td>3.0643%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.1995%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>17.4848%</td>\n",
" <td>0.0000%</td>\n",
" <td>11.0231%</td>\n",
" <td>2.0007%</td>\n",
" <td>0.0000%</td>\n",
" <td>2.4842%</td>\n",
" <td>0.0000%</td>\n",
" <td>9.2579%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.1272%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.2752%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.1101%</td>\n",
" <td>3.4032%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>4.5569%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>18.3333%</td>\n",
" <td>0.0000%</td>\n",
" <td>9.7856%</td>\n",
" <td>2.1724%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.8405%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.3552%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 45 columns</p>\n",
"</div>"
],
"text/plain": [
" ABCB4.SA AGRO3.SA ALUP11.SA B3SA3.SA BBAS3.SA BBSE3.SA BEEF3.SA \\\n",
"0 0.6328% 0.0000% 5.5613% 0.0000% 0.0000% 7.9671% 0.4596% \n",
"1 0.6044% 0.0000% 4.6150% 0.0000% 0.0000% 7.9551% 2.0004% \n",
"2 0.4334% 0.0000% 4.0537% 0.0000% 0.0000% 8.0445% 2.5914% \n",
"3 0.2850% 0.0000% 3.6049% 0.0000% 0.0000% 8.1141% 3.0643% \n",
"4 0.1272% 0.0000% 3.2752% 0.0000% 0.0000% 8.1101% 3.4032% \n",
"\n",
" BRAP4.SA BRSR6.SA CMIG3.SA ... ROMI3.SA SANB11.SA TAEE11.SA \\\n",
"0 1.6786% 0.0000% 0.0000% ... 0.0000% 0.0000% 12.7480% \n",
"1 0.0000% 0.0000% 0.0000% ... 0.0000% 0.0000% 15.3928% \n",
"2 0.0000% 0.0000% 1.6591% ... 0.0000% 0.0000% 16.5361% \n",
"3 0.0000% 0.0000% 3.1995% ... 0.0000% 0.0000% 17.4848% \n",
"4 0.0000% 0.0000% 4.5569% ... 0.0000% 0.0000% 18.3333% \n",
"\n",
" TRIS3.SA TRPL4.SA UNIP6.SA USIM5.SA VALE3.SA VBBR3.SA VIVT3.SA \n",
"0 0.0000% 15.9947% 0.3413% 0.0000% 10.2007% 0.0000% 14.3553% \n",
"1 0.0000% 14.0940% 1.5589% 0.0000% 5.8441% 0.0000% 11.6011% \n",
"2 0.0000% 12.4141% 1.8092% 0.0000% 3.9854% 0.0000% 10.3051% \n",
"3 0.0000% 11.0231% 2.0007% 0.0000% 2.4842% 0.0000% 9.2579% \n",
"4 0.0000% 9.7856% 2.1724% 0.0000% 0.8405% 0.0000% 8.3552% \n",
"\n",
"[5 rows x 45 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"points = 50 # Number of points of the frontier\n",
"\n",
"frontier = port.efficient_frontier(model=model, rm=rm, points=points, rf=rf, hist=hist)\n",
"\n",
"display(frontier.T.head())"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJOCAYAAACgF8qNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3QU1d/H8ffMbnpPKAm9GxBBpIOAAtLURwRFBBSwYEdQxA6oWLCXnwoqgqIoICgqCCggSBGQ3kV6CTW97+7M80fMmiWFBLLJ3c33dc4eNrOzM3f2s7PMnXvnjmaapokQQgghhBBCCFHG9PIugBBCCCGEEEKIikkqpEIIIYQQQgghyoVUSIUQQgghhBBClAupkAohhBBCCCGEKBdSIRVCCCGEEEIIUS6kQiqEEEIIIYQQolxIhVQIIYQQQgghRLmQCqkQQgghhBBCiHIhFVIhhBBCCCGEEOVCKqRCVCCpqancc889REdHo2kao0aNAuDUqVPccsstREVFoWka7777Lr///juapvH777+XaB0TJkxA07TSL3wFIJ+dyGv69OlomsahQ4fcvq5Dhw6haRrTp093+7ou1cX+Nl2IpmlMmDChVJdZEg8++CDXXXddma938uTJ1KpVi6ysrDJftxBCgFRIhfB4uQethT3+/PNP57yvvPIK06dP54EHHmDGjBnccccdAIwePZrFixfz9NNPM2PGDHr16lVem1MsJ06cYMKECWzZsqVY8xf1GT311FPuLex50tPTmTBhQqkfTJdUbuVX13WOHj2a7/Xk5GQCAgLQNI2HH364HEroHtnZ2bz33nu0aNGC0NBQwsPDufzyyxkxYgR79uxxzrdmzRomTJhAYmJi+RVWQbmVwdyHn58fVatW5ZprruGVV17hzJkz5V3EIi1cuLBcK52FOXjwIJ999hnPPPOMc1ruSQJN05g4cWKB7xs8eDCaphEcHAzA6dOnsVqtDBkypNB1paSkEBAQQL9+/QAYNmwY2dnZTJkypRS3SAghis9a3gUQQpSOF198kbp16+ab3qBBA+fzZcuW0a5dO8aPH+8yz7Jly7jpppsYM2aMc1qjRo3IyMjA19e3ROV47rnn3F7JO3HiBC+88AJ16tThyiuvLPb7CvqMmjZtWsqlK1p6ejovvPACANdcc43La2Xx2Z3Pz8+Pb775hrFjx7pMnzdvXpmWo6z079+fX375hdtvv517770Xm83Gnj17+Pnnn+nQoQOxsbFAToX0hRdeYNiwYYSHh5dvoRU0cuRIWrdujcPh4MyZM6xZs4bx48fz9ttvM3v2bLp27eq2dXfu3Pmifpsgp0L64YcfFlgpzcjIwGotn8Oi9957j7p163Lttdfme83f359vvvmG5557zmV6Wloa8+fPx9/f3zmtSpUqXHfddcyfP5/09HQCAwPzLW/evHlkZmY6K63+/v4MHTqUt99+m0ceeUR6aQghypxUSIXwEr1796ZVq1ZFznP69GmaNGlS4PTzD7p1XXc50Ckuq9Vabgd1F1KczyhXZmYmvr6+6HrZdSQp7c+usAPSvPr06VNghXTmzJlcf/31zJ07t9TKU942bNjAzz//zMsvv+zSEgXwv//9z+tbQ4vzfSiuTp06ccstt7hM27p1Kz169KB///7s2rWLmJiYUlnX+S72t+lC3LHM4rDZbHz99dfcf//9Bb7ep08f5s2bx9atW2nevLlz+vz588nOzqZXr14sW7bMOX3w4MEsWrSIH3/8kYEDB+Zb3syZMwkLC+P66693ThswYACvv/46y5cvd+vJBCGEKIh02RWiAsjtZnfw4EEWLFjg7AaW25XVNE0+/PBD5/S87zm/a+m6devo06cPERERBAUF0axZM9577z3n64VdB/nVV1/RsmVLAgICiIyMZODAgfm6il5zzTU0bdqUXbt2ce211xIYGEj16tV5/fXXXbaldevWAAwfPtxlWy718/n222957rnnqF69OoGBgSQnJwMwZ84cZ9krVarEkCFDOH78uMsyhg0bRnBwMMePH6dv374EBwdTuXJlxowZg8PhAHK64FWuXBmAF154wVn23Naa0vjsNm7cSOfOnQkMDMxX6SrIoEGD2LJli0t31ZMnT7Js2TIGDRpU4HuysrIYP348DRo0wM/Pj5o1azJ27Nh816BNmzaNrl27UqVKFfz8/GjSpAkff/xxvuXVqVOHG264gVWrVtGmTRv8/f2pV68eX3755QXLXxL79+8HoGPHjvles1gsREVFATk5PPHEEwDUrVvXmVPutZzu2K6dO3fStWtXAgICqFGjBhMnTsQwjHzzzZ8/n+uvv55q1arh5+dH/fr1eemll5zfsVxFfR8SExMZNmwYYWFhhIeHM3To0FKpjDdv3px3332XxMRE/ve//7m8dvz4ce666y6qVq2Kn58fl19+OZ9//rnz9VOnTmG1Wp29B/Lau3cvmqY5l1nQb9Mff/zBrbfeSq1atZzfydGjR5ORkeGcZ9iwYXz44YcALt2OcxV0DenmzZvp3bs3oaGhBAcH061bN5fLIOC/SwJWr17NY489RuXKlQkKCuLmm28uVhfmVatWcfbsWbp3717g6+3bt6du3brMnDnTZfrXX39Nr169iIyMdJl+8803ExQUlG9+yDn5uHTpUm655Rb8/Pyc01u2bElkZCTz58+/YHmFEKK0qdmMIYQosaSkJM6ePesyTdM0oqKiaNy4MTNmzGD06NHUqFGDxx9/HIAWLVo4ryW97rrruPPOO4tcx6+//soNN9xATEwMjz76KNHR0ezevZuff/6ZRx99tND3vfzyyzz//PMMGDCAe+65hzNnzvDBBx/QuXNnNm/e7NI6m5CQQK9evejXrx8DBgzgu+++48knn+SKK66gd+/eNG7cmBdffJFx48YxYsQIOnXqBECHDh0u6jOqVKmS8/lLL72Er68vY8aMISsrC19fX6ZPn87w4cNp3bo1r776KqdOneK9995j9erV+crucDjo2bMnbdu25c033+S3337jrbfeon79+jzwwANUrlyZjz/+mAceeICbb77ZeQ1Xs2bNSuWzO3fuHL1792bgwIEMGTKEqlWrXvAz6dy5MzVq1GDmzJm8+OKLAMyaNYvg4GCXFpRchmHwf//3f6xatYoRI0bQuHFjtm/fzjvvvMPff//NDz/84Jz3448/5vLLL+f//u//sFqt/PTTTzz44IMYhsFDDz3kstx//vmHW265hbvvvpuhQ4fy+eefM2zYMFq2bMnll19+we0ojtq1awM5B/IdO3YstDW6X79+/P3333zzzTe88847zu9I7smE0t6ukydPcu2112K323nqqacICgrik08+ISAgIF/Zpk+fTnBwMI899hjBwcEsW7aMcePGkZyczBtvvOEyb0HfB9M0uemmm1i1ahX3338/jRs35vvvv2fo0KGX9uH+K3dblyxZwssvvwzkVDbbtWvnvB65cuXK/PLLL9x9990kJyczatQoqlatSpcuXZg9e3a+SwpmzZqFxWLh1ltvLXS9c+bMIT09nQceeICoqCjWr1/PBx98wLFjx5gzZw4A9913HydOnODXX39lxowZF9yWnTt30qlTJ0JDQxk7diw+Pj5MmTKFa665hhUrVtC2bVuX+R955BEiIiIYP348hw4d4t133+Xhhx9m1qxZRa5nzZo1aJpGixYtCp3n9ttv56uvvuK1115D0zTOnj3LkiVLmDFjBosWLXKZNygoiJtuuonvvvuO+Ph4lwrrrFmzcDgcDB48ON86rrrqKlavXn3Bz0UIIUqdKYTwaNOmTTOBAh9+fn4u89auXdu8/vrr8y0DMB966CGXacuXLzcBc/ny5aZpmqbdbjfr1q1r1q5d20xISHCZ1zAM5/Px48ebeX9aDh06ZFosFvPll192ec/27dtNq9XqMr1Lly4mYH755ZfOaVlZWWZ0dLTZv39/57QNGzaYgDlt2rSiP5x/FfUZ5d3WevXqmenp6c73ZWdnm1WqVDGbNm1qZmRkOKf//PPPJmCOGzfOOW3o0KEmYL744osu627RooXZsmVL599nzpwxAXP8+PH5ylk
"text/plain": [
"<Figure size 1000x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plotting the efficient frontier\n",
"\n",
"label = 'Max Risk Adjusted Return Portfolio' # Title of point\n",
"mu = port.mu # Expected returns\n",
"cov = port.cov # Covariance matrix\n",
"returns = port.returns # Returns of the assets\n",
"\n",
"ax = rp.plot_frontier(w_frontier=frontier, mu=mu, cov=cov, returns=returns, rm=rm,\n",
" rf=rf, alpha=0.05, cmap='viridis', w=w, label=label,\n",
" marker='*', s=16, c='r', height=6, width=10, ax=None)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1QU19vA8e8uCCrFgiiIvYs99ha7Yos19liiJpbkp9EYe2/RxN7LYom9945dsYtdRESRjnRY2u7M+wdhXwmooAsLcj/neNydvTP32bkD7LNzi0KWZRlBEARBEARBEARBEPROaegABEEQBEEQBEEQBOFrJZJuQRAEQRAEQRAEQUgnIukWBEEQBEEQBEEQhHQikm5BEARBEARBEARBSCci6RYEQRAEQRAEQRCEdCKSbkEQBEEQBEEQBEFIJyLpFgRBEARBEARBEIR0IpJuQRAEQRAEQRAEQUgnIukWBEEQBEEQBEEQhHQikm5ByOYiIyMZMmQINjY2KBQKRo8eDYC/vz/du3fHysoKhULB0qVLuXjxIgqFgosXL6apjhkzZqBQKPQffDYgzp0gCIIgCELWJpJuQfgKbd68GYVC8cF/N27c0JWdN28emzdvZvjw4fzzzz/88MMPAPz222+cPn2aiRMn8s8//+Dg4GCot5MqPj4+zJgxAxcXl1SV/9g5mjBhQvoG+x9qtZoZM2ak+cuML9G0aVMGDhyo12M+e/YMhUJBzpw5CQ0N1euxP0d6nderV6/Stm1b7OzsyJkzJ8WKFaNjx47s2LEj3etOi8wQgyAIgiAIYGzoAARBSD+zZs2iZMmSybaXKVNG9/j8+fPUq1eP6dOnJylz/vx5OnXqxO+//67bVq5cOaKjozExMUlTHFOmTEn3RNbHx4eZM2dSokQJqlevnur9UjpHlStX1nN0H6dWq5k5cyaQkAy/LyPOnb5s27YNGxsbQkJC2LdvH0OGDDFoPB87r59r79699OzZk+rVqzNq1Cjy5cuHh4cHly9fZsOGDfTp0yfd6k6rzBCDIAiCIAgi6RaEr1rbtm2pVavWR8sEBARgb2+f4va8efMm2aZUKsmZM2ea4zA2NsbYOHP+uknNOUoUExODiYkJSmXGdRLS97lTq9Xkzp1bb8dLJMsyO3bsoE+fPnh4eLB9+3aDJ93pYcaMGdjb23Pjxo1kXz4FBAR89nGjoqIwMzP70vAyhEajQZKkNH/5JgiCIAjZleheLgjZVOL4bA8PD44fP67rWp3Y7VqWZVatWqXb/v4+/+2uevPmTdq1a0e+fPkwMzOjatWqLFu2TPf6h8Ylb9u2jZo1a5IrVy7y589Pr169ePv2bZIyTZs2pXLlyjx9+pRmzZqRO3du7OzsWLhwYZL3Urt2bQAGDRqU5L186fnZtWsXU6ZMwc7Ojty5cxMeHg4k3PFMjL1AgQL069cPb2/vJMcYOHAg5ubmeHt707lzZ8zNzbG2tub3339Hq9UC8Pr1a6ytrQGYOXOmLvYZM2bo7dzdvXuXb7/9lty5czNp0qQPvucVK1ZQqVIlcufOTb58+ahVq1aSLtMfc+3aNV6/fk2vXr3o1asXly9fxsvLK1m5O3fu0KZNGwoUKECuXLkoWbIkP/74Y5Iyu3btombNmlhYWGBpaUmVKlWSXE8AoaGhjB49mqJFi2JqakqZMmVYsGABkiQBnz6vfn5+DBo0iCJFimBqaoqtrS2dOnXi9evXH32f7u7u1K5dO8WEs2DBgqmqO/G6cHd3p127dlhYWNC3b18ASpQokWK3/6ZNmya7Wx0TE8OMGTMoV64cOXPmxNbWlq5du+Lu7v7JGFI6XmJsJUqU0D1//fo1CoWCv//+m6VLl1K6dGlMTU15+vQpAM+fP6d79+7kz5+fnDlzUqtWLY4cOfLRcygIgiAI2U3mvPUkCIJehIWF8e7duyTbFAoFVlZWVKxYkX/++YfffvuNIkWKMHbsWABq1KihG9vdqlUr+vfv/9E6zp49S4cOHbC1tWXUqFHY2Njw7Nkzjh07xqhRoz6439y5c5k6dSo9evRgyJAhBAYGsmLFCr799lvu37+f5C57SEgIDg4OdO3alR49erBv3z7Gjx9PlSpVaNu2LRUrVmTWrFlMmzaNn376icaNGwPQoEGDzzpHBQoU0D2ePXs2JiYm/P7778TGxmJiYsLmzZsZNGgQtWvXZv78+fj7+7Ns2TKuXbuWLHatVkubNm2oW7cuf//9N+fOnWPRokWULl2a4cOHY21tzZo1axg+fDhdunSha9euAFStWlUv5y4oKIi2bdvSq1cv+vXrR6FChVI85oYNG/jf//5H9+7dGTVqFDExMTx8+JCbN2/qukx/zPbt2yldujS1a9emcuXK5M6dm507dzJu3DhdmYCAAFq3bo21tTUTJkwgb968vH79mgMHDujKnD17lt69e9OiRQsWLFgAJIwVv3btmu56UqvVNGnSBG9vb37++WeKFSvG9evXmThxIr6+vixduvST57Vbt248efKEX3/9lRIlShAQEMDZs2fx9PRMknT+V/HixXFycsLLy4siRYqkWCY1barRaGjTpg2NGjXi77//TnPvA61WS4cOHXBycqJXr16MGjWKiIgIzp49y+PHj2nZsmWar6uP2bRpEzExMfz000+YmpqSP39+njx5QsOGDbGzs2PChAmYmZmxZ88eOnfuzP79++nSpctn1SUIgiAIXx1ZEISvzqZNm2QgxX+mpqZJyhYvXlxu3759smMA8siRI5Nsu3DhggzIFy5ckGVZljUajVyyZEm5ePHickhISJKykiTpHk+fPl1+/9fN69evZSMjI3nu3LlJ9nn06JFsbGycZHuTJk1kQN66datuW2xsrGxjYyN369ZNt+327dsyIG/atOnjJ+dfHztH77/XUqVKyWq1WrdfXFycXLBgQbly5cpydHS0bvuxY8dkQJ42bZpu24ABA2RAnjVrVpK6a9SoIdesWVP3PDAwUAbk6dOnJ4tTH+du7dq1nzwfnTp1kitVqvTJcimJi4uTrays5MmTJ+u29enTR65WrVqScgcPHpQB+fbt2x881qhRo2RLS0tZo9F8sMzs2bNlMzMz+cWLF0m2T5gwQTYyMpI9PT1lWf7weQ0JCZEB+a+//krlO/x/KpVKBmQTExO5WbNm8tSpU+UrV67IWq02SbmPtWnidTFhwoRkrxUvXlweMGBAsu1NmjSRmzRponvu6OgoA/LixYuTlU382ftYDP893vuxFS9eXPfcw8NDBmRLS0s5ICAgSdkWLVrIVapUkWNiYpLU3aBBA7ls2bLJji0IgiAI2ZXoXi4IX7FVq1Zx9uzZJP9Onjypt+Pfv38fDw8PRo8enWz898eWuTpw4ACSJNGjRw/evXun+2djY0PZsmW5cOFCkvLm5ub069dP99zExIQ6derw6tWrL34PKZ2j9w0YMIBcuXLpnt+5c4eAgABGjBiRZHx7+/btqVChAsePH09Wx7Bhw5I8b9y48WfHntZzZ2pqyqBBgz553Lx58+Ll5cXt27fTHNPJkycJCgqid+/eum29e/fmwYMHPHnyJEkdAMeOHSM+Pv6DcURFRSVrh/ft3buXxo0bky9fviTnoGXLlmi1Wi5fvvzReHPlyoWJiQkXL14kJCQkDe8UfvzxR06dOkXTpk25evUqs2fPpnHjxpQtW5br16+n6VjDhw9PU/n37d+/nwIFCvDrr78mey09lpjr1q2brrs6QHBwMOfPn6dHjx5ERETo2iAoKIg2bdrg5uaWbLiFIAiCIGRXonu5IHzF6tSpk+pJwj6Hu7s7kPbZvt3c3JBlmbJly6b4eo4cOZI8L1KkSLJEIl++fDx8+DBN9abkU+fovzObv3nzBoDy5csnK1uhQgWuXr2aZFvOnDmTJCuQEHtak71EaT13dnZ2qZrwavz48Zw7d446depQpkwZWrduTZ8+fWjYsOEn9922bRslS5bE1NSUly9fAlC6dGly587N9u3bmTdvHgBNmjShW7duzJw5kyVLltC0aVM6d+5Mnz59MDU1BWDEiBHs2bNHtyRX69at6dGjR5Il69zc3Hj
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plotting efficient frontier composition\n",
"\n",
"ax = rp.plot_frontier_area(w_frontier=frontier, cmap=\"tab20\", height=6, width=10, ax=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Estimating Mean Risk Portfolios (Other tests)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculating the portfolio that maximizes Return/CVaR ratio."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"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>ABCB4.SA</th>\n",
" <th>AGRO3.SA</th>\n",
" <th>ALUP11.SA</th>\n",
" <th>B3SA3.SA</th>\n",
" <th>BBAS3.SA</th>\n",
" <th>BBSE3.SA</th>\n",
" <th>BEEF3.SA</th>\n",
" <th>BRAP4.SA</th>\n",
" <th>BRSR6.SA</th>\n",
" <th>CMIG3.SA</th>\n",
" <th>...</th>\n",
" <th>ROMI3.SA</th>\n",
" <th>SANB11.SA</th>\n",
" <th>TAEE11.SA</th>\n",
" <th>TRIS3.SA</th>\n",
" <th>TRPL4.SA</th>\n",
" <th>UNIP6.SA</th>\n",
" <th>USIM5.SA</th>\n",
" <th>VALE3.SA</th>\n",
" <th>VBBR3.SA</th>\n",
" <th>VIVT3.SA</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>weights</th>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>1.3472%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>14.0188%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>5.3714%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 45 columns</p>\n",
"</div>"
],
"text/plain": [
" ABCB4.SA AGRO3.SA ALUP11.SA B3SA3.SA BBAS3.SA BBSE3.SA \\\n",
"weights 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% \n",
"\n",
" BEEF3.SA BRAP4.SA BRSR6.SA CMIG3.SA ... ROMI3.SA SANB11.SA \\\n",
"weights 1.3472% 0.0000% 0.0000% 14.0188% ... 0.0000% 0.0000% \n",
"\n",
" TAEE11.SA TRIS3.SA TRPL4.SA UNIP6.SA USIM5.SA VALE3.SA \\\n",
"weights 0.0000% 0.0000% 0.0000% 5.3714% 0.0000% 0.0000% \n",
"\n",
" VBBR3.SA VIVT3.SA \n",
"weights 0.0000% 0.0000% \n",
"\n",
"[1 rows x 45 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rm = 'CVaR' # Risk measure\n",
"\n",
"w = port.optimization(model=model, rm=rm, obj=obj, rf=rf, l=l, hist=hist)\n",
"\n",
"display(w.T)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plotting portfolio composition"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJNCAYAAADH6K1yAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddVhU2f8H8PfMAEN3KUooCoKdyxqIHRjYCnaLuXasnauuaydirInd3Z2Y6BqEASogXcPM/P7w6/yWFRUUuAO8X88zzzJ37j33PTOszGfOueeIlEqlEkRERERERESUK8RCByAiIiIiIiIqyFh4ExEREREREeUiFt5EREREREREuYiFNxEREREREVEuYuFNRERERERElItYeBMRERERERHlIhbeRERERERERLmIhTcRERERERFRLmLhTURERERERJSLWHgTEeUzIpEIgwcPFjoGEREREWURC28iIjXx4MEDtGvXDnZ2dtDW1oaNjQ0aNmyIpUuXCh0t123YsAEikQgikQiXLl364nGlUonixYtDJBLB09NTgITZI5fL4e/vj7p168LU1BRSqRT29vbo2bMnbt26BQBo2bIldHV1ER8f/9V2vL29oaWlhaioqCydNyQkRPU6ikQiiMVimJqaomnTprh69WqOPDciIiLKPhbeRERq4MqVK6hatSru3buHvn37YtmyZejTpw/EYjEWL14sdLw8o62tja1bt36x/fz583j9+jWkUqkAqbInOTkZnp6e6NWrF5RKJSZMmICVK1eiW7duuHr1KqpXr47Xr1/D29sbycnJ2Lt3b6btJCUlYf/+/WjSpAnMzMyylaFz587YvHkz/P39MXDgQFy7dg0eHh548OBBTjxFIiIiyiYNoQMQEREwa9YsGBkZ4ebNmzA2Ns7w2Pv37/M8T2JiIvT09PL8vM2aNUNAQACWLFkCDY3//xO1detWVKlSBZGRkXmeKbtGjx6NY8eOYdGiRRg+fHiGx6ZMmYJFixYB+NTjbWBggK1bt6Jbt25ftLN//34kJibC29s72xkqV64MHx8f1f3atWujadOmWLlyJVasWJHt9oiIiOjnsMebiEgNvHjxAq6url8U3QBgaWmZ6TH79u1D2bJlIZVK4erqimPHjmV4PDQ0FIMGDYKTkxN0dHRgZmaG9u3bIyQkJMN+n4d5nz9/HoMGDYKlpSWKFSsG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
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = rp.plot_pie(w=w, title='Sharpe Mean CVaR', others=0.05, nrow=25, cmap = \"tab20\",\n",
" height=6, width=10, ax=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculate efficient frontier"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"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>ABCB4.SA</th>\n",
" <th>AGRO3.SA</th>\n",
" <th>ALUP11.SA</th>\n",
" <th>B3SA3.SA</th>\n",
" <th>BBAS3.SA</th>\n",
" <th>BBSE3.SA</th>\n",
" <th>BEEF3.SA</th>\n",
" <th>BRAP4.SA</th>\n",
" <th>BRSR6.SA</th>\n",
" <th>CMIG3.SA</th>\n",
" <th>...</th>\n",
" <th>ROMI3.SA</th>\n",
" <th>SANB11.SA</th>\n",
" <th>TAEE11.SA</th>\n",
" <th>TRIS3.SA</th>\n",
" <th>TRPL4.SA</th>\n",
" <th>UNIP6.SA</th>\n",
" <th>USIM5.SA</th>\n",
" <th>VALE3.SA</th>\n",
" <th>VBBR3.SA</th>\n",
" <th>VIVT3.SA</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.9932%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.5634%</td>\n",
" <td>0.5727%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>10.9594%</td>\n",
" <td>0.0000%</td>\n",
" <td>15.7332%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>12.6788%</td>\n",
" <td>0.0000%</td>\n",
" <td>11.9569%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>6.2436%</td>\n",
" <td>2.2122%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.4644%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>18.6841%</td>\n",
" <td>0.0000%</td>\n",
" <td>9.3138%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>9.4335%</td>\n",
" <td>0.0000%</td>\n",
" <td>6.1668%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.0000%</td>\n",
" <td>2.2854%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>9.5046%</td>\n",
" <td>0.2191%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>1.5284%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>19.9797%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.7461%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>7.7048%</td>\n",
" <td>0.0000%</td>\n",
" <td>2.0614%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.0000%</td>\n",
" <td>1.0591%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>11.2047%</td>\n",
" <td>0.3218%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>1.4489%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>22.0820%</td>\n",
" <td>0.0000%</td>\n",
" <td>7.8159%</td>\n",
" <td>2.1716%</td>\n",
" <td>0.0000%</td>\n",
" <td>5.6853%</td>\n",
" <td>0.0000%</td>\n",
" <td>4.6322%</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>10.8681%</td>\n",
" <td>1.0559%</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.0517%</td>\n",
" <td>...</td>\n",
" <td>0.0000%</td>\n",
" <td>0.0000%</td>\n",
" <td>27.3063%</td>\n",
" <td>0.0000%</td>\n",
" <td>8.8104%</td>\n",
" <td>4.7179%</td>\n",
" <td>0.0000%</td>\n",
" <td>4.1336%</td>\n",
" <td>0.0000%</td>\n",
" <td>3.9672%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 45 columns</p>\n",
"</div>"
],
"text/plain": [
" ABCB4.SA AGRO3.SA ALUP11.SA B3SA3.SA BBAS3.SA BBSE3.SA BEEF3.SA \\\n",
"0 0.0000% 0.0000% 3.9932% 0.0000% 0.0000% 3.5634% 0.5727% \n",
"1 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% 6.2436% 2.2122% \n",
"2 0.0000% 2.2854% 0.0000% 0.0000% 0.0000% 9.5046% 0.2191% \n",
"3 0.0000% 1.0591% 0.0000% 0.0000% 0.0000% 11.2047% 0.3218% \n",
"4 0.0000% 0.0000% 0.0000% 0.0000% 0.0000% 10.8681% 1.0559% \n",
"\n",
" BRAP4.SA BRSR6.SA CMIG3.SA ... ROMI3.SA SANB11.SA TAEE11.SA \\\n",
"0 0.0000% 0.0000% 0.0000% ... 0.0000% 0.0000% 10.9594% \n",
"1 0.0000% 0.0000% 0.4644% ... 0.0000% 0.0000% 18.6841% \n",
"2 0.0000% 0.0000% 1.5284% ... 0.0000% 0.0000% 19.9797% \n",
"3 0.0000% 0.0000% 1.4489% ... 0.0000% 0.0000% 22.0820% \n",
"4 0.0000% 0.0000% 3.0517% ... 0.0000% 0.0000% 27.3063% \n",
"\n",
" TRIS3.SA TRPL4.SA UNIP6.SA USIM5.SA VALE3.SA VBBR3.SA VIVT3.SA \n",
"0 0.0000% 15.7332% 0.0000% 0.0000% 12.6788% 0.0000% 11.9569% \n",
"1 0.0000% 9.3138% 0.0000% 0.0000% 9.4335% 0.0000% 6.1668% \n",
"2 0.0000% 8.7461% 0.0000% 0.0000% 7.7048% 0.0000% 2.0614% \n",
"3 0.0000% 7.8159% 2.1716% 0.0000% 5.6853% 0.0000% 4.6322% \n",
"4 0.0000% 8.8104% 4.7179% 0.0000% 4.1336% 0.0000% 3.9672% \n",
"\n",
"[5 rows x 45 columns]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"points = 50 # Number of points of the frontier\n",
"\n",
"frontier = port.efficient_frontier(model=model, rm=rm, points=points, rf=rf, hist=hist)\n",
"\n",
"display(frontier.T.head())"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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E9q0acPJkydLnG///v1s27aNPn36uEyvyPfNndsDFJ+dQ8eOHYmMjOTrr78u17rmz5/PRRddREBAAC1btuSnn37CMAxat27Nc889V651nK+MjAxsNluFllm4cCFms5m77rrLOc3f35877riDtWvXcvjw4QrNl5ubi2EYREREAKBpGuHh4c7fkaNHj/L888/z+uuvF+nWLYSoGOmyKzxOWlpakYEoNE0jKiqKu+++m3r16jF16lRnt566desSHBxc7PTiHDt2jC5dupCamspdd91FixYtOHr0KAsXLiQ7OxtfX99ilzt58iQXX3wxmqZx//33Ex0dzQ8//MAdd9xBeno6Dz74oMv8N9xwA4mJiUybNo3Nmzfz/vvvExMTw/Tp0wEYMmQIf//9N59++imvvvoqderUASA6OrpSGTmWdxg6dChNmzZl6tSpGIYBwF9//UWvXr0IDQ3l0UcfxcfHh3fffZdLL72UlStX0rVrV6V1qGiGxdWhNAkJCXTr1o1PP/2U/v37A/DDDz+QlpbGsGHDeOONNypdpo0bN7JmzRqGDRvGBRdcwIEDB3jnnXe49NJL2bFjB4GBgRXKrip8++23NGrUiO7du5dr/qr+/P/880+uvPJKoqOjmTJlCjabjaeeeqrE715hFd12qrrsFf08y2P48OHMnTuXzz//nPvvv985PSUlhaVLl3LTTTcREBCg7P3PVdHv27nKU8bz+R07l6Px5WgAlOSee+5h4cKF3H///bRq1YozZ86wevVqkpKSuOiii4pdZu/evVx++eVERkby448/Fvm9LGzNmjUARdZV0e+bO7eHsrK76KKL+O2338os86RJk3juuecYOXIkd9xxB6+//jojRozgvffe48iRIy71KMxqtZb7GsrIyMhSG3CjRo0iMzMTs9lMr169ePHFF+nUqVOZ692yZQvNmjUjNDTUZXqXLl0A2Lp1K/Xr1y/3fBERETRu3JipU6cydepU1qxZw9atW3nzzTcBePTRR+nfvz+9e/cuV72FEKWo3hO0QvzL0RWpuIefn59zvpK69ZQ0/dwubyNGjDBMJlOx3V51XS92GcMwjDvuuMOIi4szkpOTXZYZNmyYERYWZmRnZxuG8W9Xsdtvv91lvmuvvdaIiopymVbZrm7FPRwc73/TTTcVWX7w4MGGr6+vsXfvXue0Y8eOGSEhIUbv3r2LrON86lAVGRZXh9Jy2bhxo/HWW28ZISEhznUNHTrUuOyyywzDMIrtslveMjn+X9jatWsNwPjwww+d0yqS3flIS0szAGPQoEHlXqaqP//Bgwcb/v7+xsGDB53TduzYYZjN5iJddovbHiqy7VR12cv7eZZUnuLYbDYjLi7OpdufYRjGjBkzDMBYunRphd+/uPe+7bbbjIYNGxZZ/tyu0uXdtktS3jJW9nfsp59+Mk6fPm0cPnzYWLhwoREdHW34+fkZhw8fLjJv4XWHhYUZ9913X6nvUbjLblJSkhEfH2907tzZSElJKbN8kyZNMgAjIyPDOa0y3zeV20N5sivsrrvuMgICAkot76pVqwzAeOyxx5zTFi5caABGmzZtXKafy/H3tzyPkraT3377zbjuuuuMWbNmGV9//bUxbdo0IyoqyvD39zc2b95catkNwzBat25tXH755UWm//XXXwbg7Gpb3vkMwzC
"text/plain": [
"<Figure size 1000x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"label = 'Max Risk Adjusted Return Portfolio' # Title of point\n",
"\n",
"ax = rp.plot_frontier(w_frontier=frontier, mu=mu, cov=cov, returns=returns, rm=rm,\n",
" rf=rf, alpha=0.05, cmap='viridis', w=w, label=label,\n",
" marker='*', s=16, c='r', height=6, width=10, ax=None)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plotting efficient frontier composition\n",
"\n",
"ax = rp.plot_frontier_area(w_frontier=frontier, cmap=\"tab20\", height=6, width=10, ax=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Calculate Optimal Portfolios for Several Risk Measures"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"# Risk Measures available:\n",
"#\n",
"# 'MV': Standard Deviation.\n",
"# 'MAD': Mean Absolute Deviation.\n",
"# 'MSV': Semi Standard Deviation.\n",
"# 'FLPM': First Lower Partial Moment (Omega Ratio).\n",
"# 'SLPM': Second Lower Partial Moment (Sortino Ratio).\n",
"# 'CVaR': Conditional Value at Risk.\n",
"# 'EVaR': Entropic Value at Risk.\n",
"# 'WR': Worst Realization (Minimax)\n",
"# 'MDD': Maximum Drawdown of uncompounded cumulative returns (Calmar Ratio).\n",
"# 'ADD': Average Drawdown of uncompounded cumulative returns.\n",
"# 'CDaR': Conditional Drawdown at Risk of uncompounded cumulative returns.\n",
"# 'EDaR': Entropic Drawdown at Risk of uncompounded cumulative returns.\n",
"# 'UCI': Ulcer Index of uncompounded cumulative returns.\n",
"\n",
"rms = ['MV', 'MAD', 'MSV', 'FLPM', 'SLPM', 'CVaR',\n",
" 'EVaR', 'WR', 'MDD', 'ADD', 'CDaR', 'UCI', 'EDaR']\n",
"\n",
"w_s = pd.DataFrame([])\n",
"\n",
"for i in rms:\n",
" w = port.optimization(model=model, rm=i, obj=obj, rf=rf, l=l, hist=hist)\n",
" w_s = pd.concat([w_s, w], axis=1)\n",
" \n",
"w_s.columns = rms"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"%pip install Jinja2 -q"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\">\n",
"#T_06644_row0_col0, #T_06644_row0_col1, #T_06644_row0_col2, #T_06644_row0_col3, #T_06644_row0_col4, #T_06644_row0_col5, #T_06644_row0_col6, #T_06644_row0_col7, #T_06644_row0_col8, #T_06644_row0_col9, #T_06644_row0_col10, #T_06644_row0_col11, #T_06644_row0_col12, #T_06644_row1_col0, #T_06644_row1_col1, #T_06644_row1_col2, #T_06644_row1_col3, #T_06644_row1_col4, #T_06644_row1_col5, #T_06644_row1_col6, #T_06644_row1_col7, #T_06644_row1_col8, #T_06644_row1_col9, #T_06644_row1_col10, #T_06644_row1_col11, #T_06644_row1_col12, #T_06644_row2_col0, #T_06644_row2_col1, #T_06644_row2_col2, #T_06644_row2_col3, #T_06644_row2_col4, #T_06644_row2_col5, #T_06644_row2_col6, #T_06644_row2_col7, #T_06644_row2_col8, #T_06644_row2_col9, #T_06644_row2_col10, #T_06644_row2_col11, #T_06644_row2_col12, #T_06644_row3_col0, #T_06644_row3_col1, #T_06644_row3_col2, #T_06644_row3_col3, #T_06644_row3_col4, #T_06644_row3_col5, #T_06644_row3_col6, #T_06644_row3_col7, #T_06644_row3_col8, #T_06644_row3_col9, #T_06644_row3_col10, #T_06644_row3_col11, #T_06644_row3_col12, #T_06644_row4_col0, #T_06644_row4_col1, #T_06644_row4_col2, #T_06644_row4_col3, #T_06644_row4_col4, #T_06644_row4_col5, #T_06644_row4_col6, #T_06644_row4_col7, #T_06644_row4_col8, #T_06644_row4_col9, #T_06644_row4_col10, #T_06644_row4_col11, #T_06644_row4_col12, #T_06644_row5_col0, #T_06644_row5_col1, #T_06644_row5_col2, #T_06644_row5_col3, #T_06644_row5_col4, #T_06644_row5_col5, #T_06644_row5_col6, #T_06644_row5_col7, #T_06644_row6_col8, #T_06644_row6_col10, #T_06644_row6_col11, #T_06644_row6_col12, #T_06644_row7_col0, #T_06644_row7_col1, #T_06644_row7_col2, #T_06644_row7_col3, #T_06644_row7_col4, #T_06644_row7_col5, #T_06644_row7_col6, #T_06644_row7_col7, #T_06644_row7_col8, #T_06644_row7_col9, #T_06644_row7_col10, #T_06644_row7_col11, #T_06644_row7_col12, #T_06644_row8_col0, #T_06644_row8_col1, #T_06644_row8_col2, #T_06644_row8_col3, #T_06644_row8_col4, #T_06644_row8_col5, #T_06644_row8_col6, #T_06644_row8_col7, #T_06644_row8_col8, #T_06644_row8_col9, #T_06644_row8_col10, #T_06644_row8_col11, #T_06644_row8_col12, #T_06644_row10_col0, #T_06644_row10_col1, #T_06644_row10_col2, #T_06644_row10_col3, #T_06644_row10_col4, #T_06644_row10_col5, #T_06644_row10_col6, #T_06644_row10_col7, #T_06644_row10_col8, #T_06644_row10_col9, #T_06644_row10_col10, #T_06644_row10_col11, #T_06644_row10_col12, #T_06644_row11_col0, #T_06644_row11_col1, #T_06644_row11_col2, #T_06644_row11_col3, #T_06644_row11_col4, #T_06644_row11_col5, #T_06644_row11_col6, #T_06644_row11_col7, #T_06644_row11_col8, #T_06644_row11_col9, #T_06644_row11_col10, #T_06644_row11_col11, #T_06644_row11_col12, #T_06644_row12_col0, #T_06644_row12_col1, #T_06644_row12_col2, #T_06644_row12_col3, #T_06644_row12_col4, #T_06644_row12_col6, #T_06644_row12_col7, #T_06644_row12_col8, #T_06644_row12_col9, #T_06644_row12_col10, #T_06644_row12_col11, #T_06644_row12_col12, #T_06644_row13_col8, #T_06644_row14_col0, #T_06644_row14_col1, #T_06644_row14_col2, #T_06644_row14_col3, #T_06644_row14_col4, #T_06644_row14_col5, #T_06644_row14_col6, #T_06644_row14_col7, #T_06644_row14_col8, #T_06644_row14_col9, #T_06644_row14_col10, #T_06644_row14_col11, #T_06644_row14_col12, #T_06644_row15_col0, #T_06644_row15_col1, #T_06644_row15_col2, #T_06644_row15_col3, #T_06644_row15_col4, #T_06644_row15_col5, #T_06644_row15_col6, #T_06644_row15_col7, #T_06644_row15_col8, #T_06644_row15_col9, #T_06644_row15_col10, #T_06644_row15_col11, #T_06644_row15_col12, #T_06644_row16_col2, #T_06644_row16_col4, #T_06644_row16_col5, #T_06644_row16_col6, #T_06644_row16_col7, #T_06644_row17_col0, #T_06644_row17_col1, #T_06644_row17_col2, #T_06644_row17_col3, #T_06644_row17_col4, #T_06644_row17_col5, #T_06644_row17_col6, #T_06644_row17_col7, #T_06644_row17_col8, #T_06644_row17_col9, #T_06644_row17_col10, #T_06644_row17_col11, #T_06644_row17_col12, #T_06644_row18_col0, #T_06644_row18_col1, #T_06644_row18_col2, #T_06644_row18_col3, #T_06644_row18_col4, #T_06644_row18_col5, #T_06644_row18_col6, #T_06644_row18_col7, #T_06644_row18_col8, #T_06644_row18_col9, #T_06644_row18_col10, #T_06644_r
" background-color: #ffffe5;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row5_col8 {\n",
" background-color: #b6e192;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row5_col9 {\n",
" background-color: #c3e698;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row5_col10, #T_06644_row13_col0 {\n",
" background-color: #c8e99b;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row5_col11 {\n",
" background-color: #e2f4aa;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row5_col12 {\n",
" background-color: #7cc87b;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col0 {\n",
" background-color: #f9fdc7;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col1, #T_06644_row16_col1, #T_06644_row40_col1, #T_06644_row40_col7, #T_06644_row40_col8 {\n",
" background-color: #fdfeda;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col2, #T_06644_row6_col4 {\n",
" background-color: #fcfed3;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col3 {\n",
" background-color: #fdfed9;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col5, #T_06644_row37_col4 {\n",
" background-color: #fcfed4;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col6, #T_06644_row20_col1, #T_06644_row22_col6, #T_06644_row22_col8, #T_06644_row40_col9 {\n",
" background-color: #f8fcbe;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col7, #T_06644_row40_col11 {\n",
" background-color: #e5f5ac;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row6_col9, #T_06644_row40_col12 {\n",
" background-color: #feffe1;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row9_col0, #T_06644_row9_col2 {\n",
" background-color: #4eb163;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row9_col1 {\n",
" background-color: #90d083;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row9_col3, #T_06644_row33_col5 {\n",
" background-color: #8ed082;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row9_col4 {\n",
" background-color: #47ae60;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row9_col5, #T_06644_row13_col4 {\n",
" background-color: #79c679;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row9_col6 {\n",
" background-color: #086e3a;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row9_col7 {\n",
" background-color: #258745;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row9_col8, #T_06644_row9_col10, #T_06644_row9_col12, #T_06644_row30_col0, #T_06644_row30_col1, #T_06644_row30_col2, #T_06644_row30_col3, #T_06644_row30_col4, #T_06644_row30_col5, #T_06644_row30_col6, #T_06644_row30_col7, #T_06644_row30_col9, #T_06644_row30_col11 {\n",
" background-color: #004529;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row9_col9 {\n",
" background-color: #d9f0a3;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row9_col11 {\n",
" background-color: #56b568;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row12_col5, #T_06644_row33_col10 {\n",
" background-color: #cbea9c;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col1 {\n",
" background-color: #bde496;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col2 {\n",
" background-color: #83cb7d;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col3, #T_06644_row33_col0 {\n",
" background-color: #b9e294;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col5 {\n",
" background-color: #2c8f4b;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row13_col6 {\n",
" background-color: #7ec97b;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col7, #T_06644_row20_col9 {\n",
" background-color: #a1d889;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col9 {\n",
" background-color: #11753d;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row13_col10 {\n",
" background-color: #d5eea1;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row13_col11 {\n",
" background-color: #369d54;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row13_col12 {\n",
" background-color: #ccea9d;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col0, #T_06644_row16_col3 {\n",
" background-color: #feffe2;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col8, #T_06644_row37_col2 {\n",
" background-color: #fbfed0;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col9, #T_06644_row32_col11 {\n",
" background-color: #c5e89a;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col10 {\n",
" background-color: #ceeb9e;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col11 {\n",
" background-color: #8bce81;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row16_col12 {\n",
" background-color: #f1fab5;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col0, #T_06644_row20_col2 {\n",
" background-color: #f7fcba;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col3, #T_06644_row33_col11 {\n",
" background-color: #f8fcc0;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col4 {\n",
" background-color: #f7fcb9;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col5 {\n",
" background-color: #b1df90;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col6 {\n",
" background-color: #3fa95c;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row20_col7 {\n",
" background-color: #006636;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row20_col8 {\n",
" background-color: #afde8f;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col10, #T_06644_row20_col11, #T_06644_row32_col12 {\n",
" background-color: #c1e698;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row20_col12 {\n",
" background-color: #acdd8e;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row21_col7 {\n",
" background-color: #e4f4ab;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row22_col7 {\n",
" background-color: #95d385;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row22_col12 {\n",
" background-color: #ffffe4;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col0 {\n",
" background-color: #eaf7af;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col1 {\n",
" background-color: #f5fbb8;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col2, #T_06644_row40_col0 {\n",
" background-color: #fafdc8;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col3, #T_06644_row40_col2 {\n",
" background-color: #edf8b2;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col4, #T_06644_row40_col3 {\n",
" background-color: #fafdcc;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row26_col7 {\n",
" background-color: #f8fdc1;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row30_col8 {\n",
" background-color: #88cd7f;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row30_col10, #T_06644_row33_col7 {\n",
" background-color: #339951;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row30_col12 {\n",
" background-color: #2d914b;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row32_col8 {\n",
" background-color: #d3eda0;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row32_col9, #T_06644_row33_col1 {\n",
" background-color: #d2eda0;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row32_col10 {\n",
" background-color: #b5e092;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col2 {\n",
" background-color: #abdc8d;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col3 {\n",
" background-color: #b8e293;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col4 {\n",
" background-color: #a6da8b;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col6 {\n",
" background-color: #3ea75a;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row33_col8 {\n",
" background-color: #e6f5ac;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col9 {\n",
" background-color: #f3fab6;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row33_col12 {\n",
" background-color: #aedd8e;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row37_col0, #T_06644_row40_col4 {\n",
" background-color: #ebf7b0;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row37_col1, #T_06644_row40_col10 {\n",
" background-color: #f9fdc5;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row37_col3 {\n",
" background-color: #f6fcb8;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row37_col6 {\n",
" background-color: #dcf1a5;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row37_col7 {\n",
" background-color: #208242;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_06644_row37_col9 {\n",
" background-color: #fdfedb;\n",
" color: #000000;\n",
"}\n",
"#T_06644_row40_col5 {\n",
" background-color: #e8f6ae;\n",
" color: #000000;\n",
"}\n",
"</style>\n",
"<table id=\"T_06644\">\n",
" <thead>\n",
" <tr>\n",
" <th class=\"blank level0\" >&nbsp;</th>\n",
" <th id=\"T_06644_level0_col0\" class=\"col_heading level0 col0\" >MV</th>\n",
" <th id=\"T_06644_level0_col1\" class=\"col_heading level0 col1\" >MAD</th>\n",
" <th id=\"T_06644_level0_col2\" class=\"col_heading level0 col2\" >MSV</th>\n",
" <th id=\"T_06644_level0_col3\" class=\"col_heading level0 col3\" >FLPM</th>\n",
" <th id=\"T_06644_level0_col4\" class=\"col_heading level0 col4\" >SLPM</th>\n",
" <th id=\"T_06644_level0_col5\" class=\"col_heading level0 col5\" >CVaR</th>\n",
" <th id=\"T_06644_level0_col6\" class=\"col_heading level0 col6\" >EVaR</th>\n",
" <th id=\"T_06644_level0_col7\" class=\"col_heading level0 col7\" >WR</th>\n",
" <th id=\"T_06644_level0_col8\" class=\"col_heading level0 col8\" >MDD</th>\n",
" <th id=\"T_06644_level0_col9\" class=\"col_heading level0 col9\" >ADD</th>\n",
" <th id=\"T_06644_level0_col10\" class=\"col_heading level0 col10\" >CDaR</th>\n",
" <th id=\"T_06644_level0_col11\" class=\"col_heading level0 col11\" >UCI</th>\n",
" <th id=\"T_06644_level0_col12\" class=\"col_heading level0 col12\" >EDaR</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row0\" class=\"row_heading level0 row0\" >ABCB4.SA</th>\n",
" <td id=\"T_06644_row0_col0\" class=\"data row0 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col1\" class=\"data row0 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col2\" class=\"data row0 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col3\" class=\"data row0 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col4\" class=\"data row0 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col5\" class=\"data row0 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col6\" class=\"data row0 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col7\" class=\"data row0 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col8\" class=\"data row0 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col9\" class=\"data row0 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col10\" class=\"data row0 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col11\" class=\"data row0 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row0_col12\" class=\"data row0 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row1\" class=\"row_heading level0 row1\" >AGRO3.SA</th>\n",
" <td id=\"T_06644_row1_col0\" class=\"data row1 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col1\" class=\"data row1 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col2\" class=\"data row1 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col3\" class=\"data row1 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col4\" class=\"data row1 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col5\" class=\"data row1 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col6\" class=\"data row1 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col7\" class=\"data row1 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col8\" class=\"data row1 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col9\" class=\"data row1 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col10\" class=\"data row1 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col11\" class=\"data row1 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row1_col12\" class=\"data row1 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row2\" class=\"row_heading level0 row2\" >ALUP11.SA</th>\n",
" <td id=\"T_06644_row2_col0\" class=\"data row2 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col1\" class=\"data row2 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col2\" class=\"data row2 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col3\" class=\"data row2 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col4\" class=\"data row2 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col5\" class=\"data row2 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col6\" class=\"data row2 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col7\" class=\"data row2 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col8\" class=\"data row2 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col9\" class=\"data row2 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col10\" class=\"data row2 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col11\" class=\"data row2 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row2_col12\" class=\"data row2 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row3\" class=\"row_heading level0 row3\" >B3SA3.SA</th>\n",
" <td id=\"T_06644_row3_col0\" class=\"data row3 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col1\" class=\"data row3 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col2\" class=\"data row3 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col3\" class=\"data row3 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col4\" class=\"data row3 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col5\" class=\"data row3 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col6\" class=\"data row3 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col7\" class=\"data row3 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col8\" class=\"data row3 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col9\" class=\"data row3 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col10\" class=\"data row3 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col11\" class=\"data row3 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row3_col12\" class=\"data row3 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row4\" class=\"row_heading level0 row4\" >BBAS3.SA</th>\n",
" <td id=\"T_06644_row4_col0\" class=\"data row4 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col1\" class=\"data row4 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col2\" class=\"data row4 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col3\" class=\"data row4 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col4\" class=\"data row4 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col5\" class=\"data row4 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col6\" class=\"data row4 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col7\" class=\"data row4 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col8\" class=\"data row4 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col9\" class=\"data row4 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col10\" class=\"data row4 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col11\" class=\"data row4 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row4_col12\" class=\"data row4 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row5\" class=\"row_heading level0 row5\" >BBSE3.SA</th>\n",
" <td id=\"T_06644_row5_col0\" class=\"data row5 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col1\" class=\"data row5 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col2\" class=\"data row5 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col3\" class=\"data row5 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col4\" class=\"data row5 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col5\" class=\"data row5 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col6\" class=\"data row5 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col7\" class=\"data row5 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row5_col8\" class=\"data row5 col8\" >12.24%</td>\n",
" <td id=\"T_06644_row5_col9\" class=\"data row5 col9\" >8.58%</td>\n",
" <td id=\"T_06644_row5_col10\" class=\"data row5 col10\" >8.33%</td>\n",
" <td id=\"T_06644_row5_col11\" class=\"data row5 col11\" >5.55%</td>\n",
" <td id=\"T_06644_row5_col12\" class=\"data row5 col12\" >13.15%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row6\" class=\"row_heading level0 row6\" >BEEF3.SA</th>\n",
" <td id=\"T_06644_row6_col0\" class=\"data row6 col0\" >3.03%</td>\n",
" <td id=\"T_06644_row6_col1\" class=\"data row6 col1\" >1.29%</td>\n",
" <td id=\"T_06644_row6_col2\" class=\"data row6 col2\" >1.75%</td>\n",
" <td id=\"T_06644_row6_col3\" class=\"data row6 col3\" >1.44%</td>\n",
" <td id=\"T_06644_row6_col4\" class=\"data row6 col4\" >1.80%</td>\n",
" <td id=\"T_06644_row6_col5\" class=\"data row6 col5\" >1.35%</td>\n",
" <td id=\"T_06644_row6_col6\" class=\"data row6 col6\" >2.77%</td>\n",
" <td id=\"T_06644_row6_col7\" class=\"data row6 col7\" >3.71%</td>\n",
" <td id=\"T_06644_row6_col8\" class=\"data row6 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row6_col9\" class=\"data row6 col9\" >0.33%</td>\n",
" <td id=\"T_06644_row6_col10\" class=\"data row6 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row6_col11\" class=\"data row6 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row6_col12\" class=\"data row6 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row7\" class=\"row_heading level0 row7\" >BRAP4.SA</th>\n",
" <td id=\"T_06644_row7_col0\" class=\"data row7 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col1\" class=\"data row7 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col2\" class=\"data row7 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col3\" class=\"data row7 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col4\" class=\"data row7 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col5\" class=\"data row7 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col6\" class=\"data row7 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col7\" class=\"data row7 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col8\" class=\"data row7 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col9\" class=\"data row7 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col10\" class=\"data row7 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col11\" class=\"data row7 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row7_col12\" class=\"data row7 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row8\" class=\"row_heading level0 row8\" >BRSR6.SA</th>\n",
" <td id=\"T_06644_row8_col0\" class=\"data row8 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col1\" class=\"data row8 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col2\" class=\"data row8 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col3\" class=\"data row8 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col4\" class=\"data row8 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col5\" class=\"data row8 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col6\" class=\"data row8 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col7\" class=\"data row8 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col8\" class=\"data row8 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col9\" class=\"data row8 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col10\" class=\"data row8 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col11\" class=\"data row8 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row8_col12\" class=\"data row8 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row9\" class=\"row_heading level0 row9\" >CMIG3.SA</th>\n",
" <td id=\"T_06644_row9_col0\" class=\"data row9 col0\" >20.52%</td>\n",
" <td id=\"T_06644_row9_col1\" class=\"data row9 col1\" >17.86%</td>\n",
" <td id=\"T_06644_row9_col2\" class=\"data row9 col2\" >20.37%</td>\n",
" <td id=\"T_06644_row9_col3\" class=\"data row9 col3\" >16.77%</td>\n",
" <td id=\"T_06644_row9_col4\" class=\"data row9 col4\" >20.49%</td>\n",
" <td id=\"T_06644_row9_col5\" class=\"data row9 col5\" >14.02%</td>\n",
" <td id=\"T_06644_row9_col6\" class=\"data row9 col6\" >20.82%</td>\n",
" <td id=\"T_06644_row9_col7\" class=\"data row9 col7\" >13.59%</td>\n",
" <td id=\"T_06644_row9_col8\" class=\"data row9 col8\" >35.07%</td>\n",
" <td id=\"T_06644_row9_col9\" class=\"data row9 col9\" >6.89%</td>\n",
" <td id=\"T_06644_row9_col10\" class=\"data row9 col10\" >27.95%</td>\n",
" <td id=\"T_06644_row9_col11\" class=\"data row9 col11\" >14.95%</td>\n",
" <td id=\"T_06644_row9_col12\" class=\"data row9 col12\" >26.84%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row10\" class=\"row_heading level0 row10\" >CMIG4.SA</th>\n",
" <td id=\"T_06644_row10_col0\" class=\"data row10 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col1\" class=\"data row10 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col2\" class=\"data row10 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col3\" class=\"data row10 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col4\" class=\"data row10 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col5\" class=\"data row10 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col6\" class=\"data row10 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col7\" class=\"data row10 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col8\" class=\"data row10 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col9\" class=\"data row10 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col10\" class=\"data row10 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col11\" class=\"data row10 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row10_col12\" class=\"data row10 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row11\" class=\"row_heading level0 row11\" >CMIN3.SA</th>\n",
" <td id=\"T_06644_row11_col0\" class=\"data row11 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col1\" class=\"data row11 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col2\" class=\"data row11 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col3\" class=\"data row11 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col4\" class=\"data row11 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col5\" class=\"data row11 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col6\" class=\"data row11 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col7\" class=\"data row11 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col8\" class=\"data row11 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col9\" class=\"data row11 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col10\" class=\"data row11 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col11\" class=\"data row11 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row11_col12\" class=\"data row11 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row12\" class=\"row_heading level0 row12\" >CPFE3.SA</th>\n",
" <td id=\"T_06644_row12_col0\" class=\"data row12 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col1\" class=\"data row12 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col2\" class=\"data row12 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col3\" class=\"data row12 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col4\" class=\"data row12 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col5\" class=\"data row12 col5\" >8.23%</td>\n",
" <td id=\"T_06644_row12_col6\" class=\"data row12 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col7\" class=\"data row12 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col8\" class=\"data row12 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col9\" class=\"data row12 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col10\" class=\"data row12 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col11\" class=\"data row12 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row12_col12\" class=\"data row12 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row13\" class=\"row_heading level0 row13\" >CPLE6.SA</th>\n",
" <td id=\"T_06644_row13_col0\" class=\"data row13 col0\" >10.26%</td>\n",
" <td id=\"T_06644_row13_col1\" class=\"data row13 col1\" >13.24%</td>\n",
" <td id=\"T_06644_row13_col2\" class=\"data row13 col2\" >16.18%</td>\n",
" <td id=\"T_06644_row13_col3\" class=\"data row13 col3\" >12.84%</td>\n",
" <td id=\"T_06644_row13_col4\" class=\"data row13 col4\" >16.70%</td>\n",
" <td id=\"T_06644_row13_col5\" class=\"data row13 col5\" >20.04%</td>\n",
" <td id=\"T_06644_row13_col6\" class=\"data row13 col6\" >11.96%</td>\n",
" <td id=\"T_06644_row13_col7\" class=\"data row13 col7\" >7.41%</td>\n",
" <td id=\"T_06644_row13_col8\" class=\"data row13 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row13_col9\" class=\"data row13 col9\" >22.25%</td>\n",
" <td id=\"T_06644_row13_col10\" class=\"data row13 col10\" >7.33%</td>\n",
" <td id=\"T_06644_row13_col11\" class=\"data row13 col11\" >17.39%</td>\n",
" <td id=\"T_06644_row13_col12\" class=\"data row13 col12\" >7.66%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row14\" class=\"row_heading level0 row14\" >CSMG3.SA</th>\n",
" <td id=\"T_06644_row14_col0\" class=\"data row14 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col1\" class=\"data row14 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col2\" class=\"data row14 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col3\" class=\"data row14 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col4\" class=\"data row14 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col5\" class=\"data row14 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col6\" class=\"data row14 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col7\" class=\"data row14 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col8\" class=\"data row14 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col9\" class=\"data row14 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col10\" class=\"data row14 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col11\" class=\"data row14 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row14_col12\" class=\"data row14 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row15\" class=\"row_heading level0 row15\" >CSNA3.SA</th>\n",
" <td id=\"T_06644_row15_col0\" class=\"data row15 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col1\" class=\"data row15 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col2\" class=\"data row15 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col3\" class=\"data row15 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col4\" class=\"data row15 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col5\" class=\"data row15 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col6\" class=\"data row15 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col7\" class=\"data row15 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col8\" class=\"data row15 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col9\" class=\"data row15 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col10\" class=\"data row15 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col11\" class=\"data row15 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row15_col12\" class=\"data row15 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row16\" class=\"row_heading level0 row16\" >CURY3.SA</th>\n",
" <td id=\"T_06644_row16_col0\" class=\"data row16 col0\" >0.30%</td>\n",
" <td id=\"T_06644_row16_col1\" class=\"data row16 col1\" >1.40%</td>\n",
" <td id=\"T_06644_row16_col2\" class=\"data row16 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row16_col3\" class=\"data row16 col3\" >0.36%</td>\n",
" <td id=\"T_06644_row16_col4\" class=\"data row16 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row16_col5\" class=\"data row16 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row16_col6\" class=\"data row16 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row16_col7\" class=\"data row16 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row16_col8\" class=\"data row16 col8\" >2.10%</td>\n",
" <td id=\"T_06644_row16_col9\" class=\"data row16 col9\" >8.34%</td>\n",
" <td id=\"T_06644_row16_col10\" class=\"data row16 col10\" >7.88%</td>\n",
" <td id=\"T_06644_row16_col11\" class=\"data row16 col11\" >11.81%</td>\n",
" <td id=\"T_06644_row16_col12\" class=\"data row16 col12\" >4.03%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row17\" class=\"row_heading level0 row17\" >DIRR3.SA</th>\n",
" <td id=\"T_06644_row17_col0\" class=\"data row17 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col1\" class=\"data row17 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col2\" class=\"data row17 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col3\" class=\"data row17 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col4\" class=\"data row17 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col5\" class=\"data row17 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col6\" class=\"data row17 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col7\" class=\"data row17 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col8\" class=\"data row17 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col9\" class=\"data row17 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col10\" class=\"data row17 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col11\" class=\"data row17 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row17_col12\" class=\"data row17 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row18\" class=\"row_heading level0 row18\" >EGIE3.SA</th>\n",
" <td id=\"T_06644_row18_col0\" class=\"data row18 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col1\" class=\"data row18 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col2\" class=\"data row18 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col3\" class=\"data row18 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col4\" class=\"data row18 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col5\" class=\"data row18 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col6\" class=\"data row18 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col7\" class=\"data row18 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col8\" class=\"data row18 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col9\" class=\"data row18 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col10\" class=\"data row18 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col11\" class=\"data row18 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row18_col12\" class=\"data row18 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row19\" class=\"row_heading level0 row19\" >ENAT3.SA</th>\n",
" <td id=\"T_06644_row19_col0\" class=\"data row19 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col1\" class=\"data row19 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col2\" class=\"data row19 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col3\" class=\"data row19 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col4\" class=\"data row19 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col5\" class=\"data row19 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col6\" class=\"data row19 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col7\" class=\"data row19 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col8\" class=\"data row19 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col9\" class=\"data row19 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col10\" class=\"data row19 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col11\" class=\"data row19 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row19_col12\" class=\"data row19 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row20\" class=\"row_heading level0 row20\" >FESA4.SA</th>\n",
" <td id=\"T_06644_row20_col0\" class=\"data row20 col0\" >4.26%</td>\n",
" <td id=\"T_06644_row20_col1\" class=\"data row20 col1\" >4.54%</td>\n",
" <td id=\"T_06644_row20_col2\" class=\"data row20 col2\" >4.17%</td>\n",
" <td id=\"T_06644_row20_col3\" class=\"data row20 col3\" >4.02%</td>\n",
" <td id=\"T_06644_row20_col4\" class=\"data row20 col4\" >4.22%</td>\n",
" <td id=\"T_06644_row20_col5\" class=\"data row20 col5\" >10.27%</td>\n",
" <td id=\"T_06644_row20_col6\" class=\"data row20 col6\" >15.48%</td>\n",
" <td id=\"T_06644_row20_col7\" class=\"data row20 col7\" >16.18%</td>\n",
" <td id=\"T_06644_row20_col8\" class=\"data row20 col8\" >12.88%</td>\n",
" <td id=\"T_06644_row20_col9\" class=\"data row20 col9\" >11.07%</td>\n",
" <td id=\"T_06644_row20_col10\" class=\"data row20 col10\" >8.89%</td>\n",
" <td id=\"T_06644_row20_col11\" class=\"data row20 col11\" >8.28%</td>\n",
" <td id=\"T_06644_row20_col12\" class=\"data row20 col12\" >10.13%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row21\" class=\"row_heading level0 row21\" >GGBR4.SA</th>\n",
" <td id=\"T_06644_row21_col0\" class=\"data row21 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col1\" class=\"data row21 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col2\" class=\"data row21 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col3\" class=\"data row21 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col4\" class=\"data row21 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col5\" class=\"data row21 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col6\" class=\"data row21 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col7\" class=\"data row21 col7\" >3.76%</td>\n",
" <td id=\"T_06644_row21_col8\" class=\"data row21 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col9\" class=\"data row21 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col10\" class=\"data row21 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col11\" class=\"data row21 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row21_col12\" class=\"data row21 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row22\" class=\"row_heading level0 row22\" >GOAU4.SA</th>\n",
" <td id=\"T_06644_row22_col0\" class=\"data row22 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col1\" class=\"data row22 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col2\" class=\"data row22 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col3\" class=\"data row22 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col4\" class=\"data row22 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col5\" class=\"data row22 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col6\" class=\"data row22 col6\" >2.77%</td>\n",
" <td id=\"T_06644_row22_col7\" class=\"data row22 col7\" >7.96%</td>\n",
" <td id=\"T_06644_row22_col8\" class=\"data row22 col8\" >3.86%</td>\n",
" <td id=\"T_06644_row22_col9\" class=\"data row22 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col10\" class=\"data row22 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col11\" class=\"data row22 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row22_col12\" class=\"data row22 col12\" >0.16%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row23\" class=\"row_heading level0 row23\" >ITSA4.SA</th>\n",
" <td id=\"T_06644_row23_col0\" class=\"data row23 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col1\" class=\"data row23 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col2\" class=\"data row23 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col3\" class=\"data row23 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col4\" class=\"data row23 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col5\" class=\"data row23 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col6\" class=\"data row23 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col7\" class=\"data row23 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col8\" class=\"data row23 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col9\" class=\"data row23 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col10\" class=\"data row23 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col11\" class=\"data row23 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row23_col12\" class=\"data row23 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row24\" class=\"row_heading level0 row24\" >JBSS3.SA</th>\n",
" <td id=\"T_06644_row24_col0\" class=\"data row24 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col1\" class=\"data row24 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col2\" class=\"data row24 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col3\" class=\"data row24 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col4\" class=\"data row24 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col5\" class=\"data row24 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col6\" class=\"data row24 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col7\" class=\"data row24 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col8\" class=\"data row24 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col9\" class=\"data row24 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col10\" class=\"data row24 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col11\" class=\"data row24 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row24_col12\" class=\"data row24 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row25\" class=\"row_heading level0 row25\" >JHSF3.SA</th>\n",
" <td id=\"T_06644_row25_col0\" class=\"data row25 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col1\" class=\"data row25 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col2\" class=\"data row25 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col3\" class=\"data row25 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col4\" class=\"data row25 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col5\" class=\"data row25 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col6\" class=\"data row25 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col7\" class=\"data row25 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col8\" class=\"data row25 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col9\" class=\"data row25 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col10\" class=\"data row25 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col11\" class=\"data row25 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row25_col12\" class=\"data row25 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row26\" class=\"row_heading level0 row26\" >KEPL3.SA</th>\n",
" <td id=\"T_06644_row26_col0\" class=\"data row26 col0\" >6.22%</td>\n",
" <td id=\"T_06644_row26_col1\" class=\"data row26 col1\" >5.47%</td>\n",
" <td id=\"T_06644_row26_col2\" class=\"data row26 col2\" >2.83%</td>\n",
" <td id=\"T_06644_row26_col3\" class=\"data row26 col3\" >6.26%</td>\n",
" <td id=\"T_06644_row26_col4\" class=\"data row26 col4\" >2.46%</td>\n",
" <td id=\"T_06644_row26_col5\" class=\"data row26 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col6\" class=\"data row26 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col7\" class=\"data row26 col7\" >1.89%</td>\n",
" <td id=\"T_06644_row26_col8\" class=\"data row26 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col9\" class=\"data row26 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col10\" class=\"data row26 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col11\" class=\"data row26 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row26_col12\" class=\"data row26 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row27\" class=\"row_heading level0 row27\" >LAVV3.SA</th>\n",
" <td id=\"T_06644_row27_col0\" class=\"data row27 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col1\" class=\"data row27 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col2\" class=\"data row27 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col3\" class=\"data row27 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col4\" class=\"data row27 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col5\" class=\"data row27 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col6\" class=\"data row27 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col7\" class=\"data row27 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col8\" class=\"data row27 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col9\" class=\"data row27 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col10\" class=\"data row27 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col11\" class=\"data row27 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row27_col12\" class=\"data row27 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row28\" class=\"row_heading level0 row28\" >MRFG3.SA</th>\n",
" <td id=\"T_06644_row28_col0\" class=\"data row28 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col1\" class=\"data row28 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col2\" class=\"data row28 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col3\" class=\"data row28 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col4\" class=\"data row28 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col5\" class=\"data row28 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col6\" class=\"data row28 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col7\" class=\"data row28 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col8\" class=\"data row28 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col9\" class=\"data row28 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col10\" class=\"data row28 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col11\" class=\"data row28 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row28_col12\" class=\"data row28 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row29\" class=\"row_heading level0 row29\" >MYPK3.SA</th>\n",
" <td id=\"T_06644_row29_col0\" class=\"data row29 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col1\" class=\"data row29 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col2\" class=\"data row29 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col3\" class=\"data row29 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col4\" class=\"data row29 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col5\" class=\"data row29 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col6\" class=\"data row29 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col7\" class=\"data row29 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col8\" class=\"data row29 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col9\" class=\"data row29 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col10\" class=\"data row29 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col11\" class=\"data row29 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row29_col12\" class=\"data row29 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row30\" class=\"row_heading level0 row30\" >PETR3.SA</th>\n",
" <td id=\"T_06644_row30_col0\" class=\"data row30 col0\" >34.51%</td>\n",
" <td id=\"T_06644_row30_col1\" class=\"data row30 col1\" >40.23%</td>\n",
" <td id=\"T_06644_row30_col2\" class=\"data row30 col2\" >34.09%</td>\n",
" <td id=\"T_06644_row30_col3\" class=\"data row30 col3\" >37.59%</td>\n",
" <td id=\"T_06644_row30_col4\" class=\"data row30 col4\" >33.60%</td>\n",
" <td id=\"T_06644_row30_col5\" class=\"data row30 col5\" >28.14%</td>\n",
" <td id=\"T_06644_row30_col6\" class=\"data row30 col6\" >24.61%</td>\n",
" <td id=\"T_06644_row30_col7\" class=\"data row30 col7\" >18.38%</td>\n",
" <td id=\"T_06644_row30_col8\" class=\"data row30 col8\" >16.29%</td>\n",
" <td id=\"T_06644_row30_col9\" class=\"data row30 col9\" >27.32%</td>\n",
" <td id=\"T_06644_row30_col10\" class=\"data row30 col10\" >19.02%</td>\n",
" <td id=\"T_06644_row30_col11\" class=\"data row30 col11\" >26.02%</td>\n",
" <td id=\"T_06644_row30_col12\" class=\"data row30 col12\" >19.04%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row31\" class=\"row_heading level0 row31\" >PETR4.SA</th>\n",
" <td id=\"T_06644_row31_col0\" class=\"data row31 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col1\" class=\"data row31 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col2\" class=\"data row31 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col3\" class=\"data row31 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col4\" class=\"data row31 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col5\" class=\"data row31 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col6\" class=\"data row31 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col7\" class=\"data row31 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col8\" class=\"data row31 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col9\" class=\"data row31 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col10\" class=\"data row31 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col11\" class=\"data row31 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row31_col12\" class=\"data row31 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row32\" class=\"row_heading level0 row32\" >PSSA3.SA</th>\n",
" <td id=\"T_06644_row32_col0\" class=\"data row32 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col1\" class=\"data row32 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col2\" class=\"data row32 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col3\" class=\"data row32 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col4\" class=\"data row32 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col5\" class=\"data row32 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col6\" class=\"data row32 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col7\" class=\"data row32 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row32_col8\" class=\"data row32 col8\" >9.43%</td>\n",
" <td id=\"T_06644_row32_col9\" class=\"data row32 col9\" >7.45%</td>\n",
" <td id=\"T_06644_row32_col10\" class=\"data row32 col10\" >9.92%</td>\n",
" <td id=\"T_06644_row32_col11\" class=\"data row32 col11\" >7.94%</td>\n",
" <td id=\"T_06644_row32_col12\" class=\"data row32 col12\" >8.56%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row33\" class=\"row_heading level0 row33\" >RANI3.SA</th>\n",
" <td id=\"T_06644_row33_col0\" class=\"data row33 col0\" >11.79%</td>\n",
" <td id=\"T_06644_row33_col1\" class=\"data row33 col1\" >10.88%</td>\n",
" <td id=\"T_06644_row33_col2\" class=\"data row33 col2\" >12.92%</td>\n",
" <td id=\"T_06644_row33_col3\" class=\"data row33 col3\" >13.01%</td>\n",
" <td id=\"T_06644_row33_col4\" class=\"data row33 col4\" >13.13%</td>\n",
" <td id=\"T_06644_row33_col5\" class=\"data row33 col5\" >12.59%</td>\n",
" <td id=\"T_06644_row33_col6\" class=\"data row33 col6\" >15.67%</td>\n",
" <td id=\"T_06644_row33_col7\" class=\"data row33 col7\" >12.56%</td>\n",
" <td id=\"T_06644_row33_col8\" class=\"data row33 col8\" >6.97%</td>\n",
" <td id=\"T_06644_row33_col9\" class=\"data row33 col9\" >3.91%</td>\n",
" <td id=\"T_06644_row33_col10\" class=\"data row33 col10\" >8.17%</td>\n",
" <td id=\"T_06644_row33_col11\" class=\"data row33 col11\" >2.84%</td>\n",
" <td id=\"T_06644_row33_col12\" class=\"data row33 col12\" >10.04%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row34\" class=\"row_heading level0 row34\" >RAPT4.SA</th>\n",
" <td id=\"T_06644_row34_col0\" class=\"data row34 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col1\" class=\"data row34 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col2\" class=\"data row34 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col3\" class=\"data row34 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col4\" class=\"data row34 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col5\" class=\"data row34 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col6\" class=\"data row34 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col7\" class=\"data row34 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col8\" class=\"data row34 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col9\" class=\"data row34 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col10\" class=\"data row34 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col11\" class=\"data row34 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row34_col12\" class=\"data row34 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row35\" class=\"row_heading level0 row35\" >ROMI3.SA</th>\n",
" <td id=\"T_06644_row35_col0\" class=\"data row35 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col1\" class=\"data row35 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col2\" class=\"data row35 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col3\" class=\"data row35 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col4\" class=\"data row35 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col5\" class=\"data row35 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col6\" class=\"data row35 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col7\" class=\"data row35 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col8\" class=\"data row35 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col9\" class=\"data row35 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col10\" class=\"data row35 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col11\" class=\"data row35 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row35_col12\" class=\"data row35 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row36\" class=\"row_heading level0 row36\" >SANB11.SA</th>\n",
" <td id=\"T_06644_row36_col0\" class=\"data row36 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col1\" class=\"data row36 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col2\" class=\"data row36 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col3\" class=\"data row36 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col4\" class=\"data row36 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col5\" class=\"data row36 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col6\" class=\"data row36 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col7\" class=\"data row36 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col8\" class=\"data row36 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col9\" class=\"data row36 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col10\" class=\"data row36 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col11\" class=\"data row36 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row36_col12\" class=\"data row36 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row37\" class=\"row_heading level0 row37\" >TAEE11.SA</th>\n",
" <td id=\"T_06644_row37_col0\" class=\"data row37 col0\" >6.19%</td>\n",
" <td id=\"T_06644_row37_col1\" class=\"data row37 col1\" >3.77%</td>\n",
" <td id=\"T_06644_row37_col2\" class=\"data row37 col2\" >2.05%</td>\n",
" <td id=\"T_06644_row37_col3\" class=\"data row37 col3\" >4.96%</td>\n",
" <td id=\"T_06644_row37_col4\" class=\"data row37 col4\" >1.68%</td>\n",
" <td id=\"T_06644_row37_col5\" class=\"data row37 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row37_col6\" class=\"data row37 col6\" >5.91%</td>\n",
" <td id=\"T_06644_row37_col7\" class=\"data row37 col7\" >13.96%</td>\n",
" <td id=\"T_06644_row37_col8\" class=\"data row37 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row37_col9\" class=\"data row37 col9\" >0.84%</td>\n",
" <td id=\"T_06644_row37_col10\" class=\"data row37 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row37_col11\" class=\"data row37 col11\" >0.01%</td>\n",
" <td id=\"T_06644_row37_col12\" class=\"data row37 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row38\" class=\"row_heading level0 row38\" >TRIS3.SA</th>\n",
" <td id=\"T_06644_row38_col0\" class=\"data row38 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col1\" class=\"data row38 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col2\" class=\"data row38 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col3\" class=\"data row38 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col4\" class=\"data row38 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col5\" class=\"data row38 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col6\" class=\"data row38 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col7\" class=\"data row38 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col8\" class=\"data row38 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col9\" class=\"data row38 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col10\" class=\"data row38 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col11\" class=\"data row38 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row38_col12\" class=\"data row38 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row39\" class=\"row_heading level0 row39\" >TRPL4.SA</th>\n",
" <td id=\"T_06644_row39_col0\" class=\"data row39 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col1\" class=\"data row39 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col2\" class=\"data row39 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col3\" class=\"data row39 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col4\" class=\"data row39 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col5\" class=\"data row39 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col6\" class=\"data row39 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col7\" class=\"data row39 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col8\" class=\"data row39 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col9\" class=\"data row39 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col10\" class=\"data row39 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col11\" class=\"data row39 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row39_col12\" class=\"data row39 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row40\" class=\"row_heading level0 row40\" >UNIP6.SA</th>\n",
" <td id=\"T_06644_row40_col0\" class=\"data row40 col0\" >2.94%</td>\n",
" <td id=\"T_06644_row40_col1\" class=\"data row40 col1\" >1.32%</td>\n",
" <td id=\"T_06644_row40_col2\" class=\"data row40 col2\" >5.65%</td>\n",
" <td id=\"T_06644_row40_col3\" class=\"data row40 col3\" >2.74%</td>\n",
" <td id=\"T_06644_row40_col4\" class=\"data row40 col4\" >5.91%</td>\n",
" <td id=\"T_06644_row40_col5\" class=\"data row40 col5\" >5.37%</td>\n",
" <td id=\"T_06644_row40_col6\" class=\"data row40 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row40_col7\" class=\"data row40 col7\" >0.61%</td>\n",
" <td id=\"T_06644_row40_col8\" class=\"data row40 col8\" >1.17%</td>\n",
" <td id=\"T_06644_row40_col9\" class=\"data row40 col9\" >3.02%</td>\n",
" <td id=\"T_06644_row40_col10\" class=\"data row40 col10\" >2.52%</td>\n",
" <td id=\"T_06644_row40_col11\" class=\"data row40 col11\" >5.22%</td>\n",
" <td id=\"T_06644_row40_col12\" class=\"data row40 col12\" >0.40%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row41\" class=\"row_heading level0 row41\" >USIM5.SA</th>\n",
" <td id=\"T_06644_row41_col0\" class=\"data row41 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col1\" class=\"data row41 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col2\" class=\"data row41 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col3\" class=\"data row41 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col4\" class=\"data row41 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col5\" class=\"data row41 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col6\" class=\"data row41 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col7\" class=\"data row41 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col8\" class=\"data row41 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col9\" class=\"data row41 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col10\" class=\"data row41 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col11\" class=\"data row41 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row41_col12\" class=\"data row41 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row42\" class=\"row_heading level0 row42\" >VALE3.SA</th>\n",
" <td id=\"T_06644_row42_col0\" class=\"data row42 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col1\" class=\"data row42 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col2\" class=\"data row42 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col3\" class=\"data row42 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col4\" class=\"data row42 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col5\" class=\"data row42 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col6\" class=\"data row42 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col7\" class=\"data row42 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col8\" class=\"data row42 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col9\" class=\"data row42 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col10\" class=\"data row42 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col11\" class=\"data row42 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row42_col12\" class=\"data row42 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row43\" class=\"row_heading level0 row43\" >VBBR3.SA</th>\n",
" <td id=\"T_06644_row43_col0\" class=\"data row43 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col1\" class=\"data row43 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col2\" class=\"data row43 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col3\" class=\"data row43 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col4\" class=\"data row43 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col5\" class=\"data row43 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col6\" class=\"data row43 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col7\" class=\"data row43 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col8\" class=\"data row43 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col9\" class=\"data row43 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col10\" class=\"data row43 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col11\" class=\"data row43 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row43_col12\" class=\"data row43 col12\" >0.00%</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_06644_level0_row44\" class=\"row_heading level0 row44\" >VIVT3.SA</th>\n",
" <td id=\"T_06644_row44_col0\" class=\"data row44 col0\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col1\" class=\"data row44 col1\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col2\" class=\"data row44 col2\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col3\" class=\"data row44 col3\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col4\" class=\"data row44 col4\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col5\" class=\"data row44 col5\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col6\" class=\"data row44 col6\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col7\" class=\"data row44 col7\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col8\" class=\"data row44 col8\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col9\" class=\"data row44 col9\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col10\" class=\"data row44 col10\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col11\" class=\"data row44 col11\" >0.00%</td>\n",
" <td id=\"T_06644_row44_col12\" class=\"data row44 col12\" >0.00%</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0x7fc8acd263e0>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w_s.style.format(\"{:.2%}\").background_gradient(cmap='YlGn')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHkAAAI6CAYAAACzcJQgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADabElEQVR4nOzdeVwVdfv/8fcBZFEEd0BFQTFRUykX0sotUsrutK+aWuYC2a3mneZduVRIaWGbWbeWWYLa5lLWXVq2oFguaWpmCy6ZuKTgUoJLgsLn90c/z93JlcOZQxxez8djHjrbNdccZj585mLOjM0YYwQAAAAAAIAyzau0EwAAAAAAAEDJUeQBAAAAAADwABR5AAAAAAAAPABFHgAAAAAAAA9AkQcAAAAAAMADUOQBAAAAAADwABR5AAAAAAAAPIBPaSfgCkVFRdq/f78qV64sm81W2ukAAAAAAAC4hDFGx44dU+3ateXldfF7dTyiyLN//36Fh4eXdhoAAAAAAACW2Lt3r+rWrXvRZTyiyFO5cmVJf+xwUFBQKWcDAAAAAADgGnl5eQoPD7fXPi7GI4o8Z7+iFRQURJEHAAAAAAB4nMt5PA0PXgYAAAAAAPAAFHkAAAAAAAA8AEUeAAAAAAAAD+ARz+QBAAAAAADuUVhYqNOnT5d2Gh6lQoUK8vb2LnEcijwAAAAAAOCSjDHKzs7W0aNHSzsVj1SlShWFhoZe1gOWL4QiDwAAAAAAuKSzBZ5atWqpYsWKJSpG4H+MMTp58qQOHjwoSQoLC3M6FkUeAAAAAABwUYWFhfYCT/Xq1Us7HY8TEBAgSTp48KBq1arl9Fe3ePAyAAAAAAC4qLPP4KlYsWIpZ+K5zn62JXneEUUeAAAAAABwWfiKlnVc8dlS5AEAAAAAAPAAFHkAAAAAAAA8AA9eBgAAAAAATokYt9St28ua0t2t2ytruJMHAAAAAAB4rMGDB8tms2nYsGHnzLv33ntls9k0ePBg/eMf/1B8fPx5Y3z55Zey2WzasmWL1emWCEUeAAAAAADg0cLDwzV//nz9/vvv9mmnTp3SW2+9pXr16kmSEhMT9dlnn2nfvn3nrJ+WlqbWrVurRYsWbsvZGRR5AAAAAACAR7v66qsVHh6uxYsX26ctXrxY9erV01VXXSVJuuWWW1SzZk3NmTPHYd3jx49r0aJFSkxMdGfKTqHIAwAAAAAAPF5CQoLS0tLs46mpqRoyZIh93MfHRwMHDtScOXNkjLFPX7RokQoLC9W/f3+35usMijwAAAAAAMDjDRgwQKtWrdLu3bu1e/durV69WgMGDHBYJiEhQTt37tTKlSvt09LS0tSrVy8FBwe7O+Vi4+1aAAAAAADA49WsWVPdu3e336nTvXt31ahRw2GZ6OhotW/fXqmpqerUqZN++uknffnll3r88cdLKevicepOnhkzZigiIkL+/v6KjY3V+vXrL2u9+fPny2azqWfPng7TjTFKSkpSWFiYAgICFBcXpx07djiTGgAAAAAAwHklJCRozpw5mjt3rhISEs67TGJiot59910dO3ZMaWlpatiwoTp27OjmTJ1T7CLPggULNGbMGE2cOFGbNm1Sy5Yt1a1bNx08ePCi62VlZemBBx7Q9ddff868p59+Wi+++KJmzpypdevWqVKlSurWrZtOnTpV3PQAAAAAuFry3/8rCgBwOeLj41VQUKDTp0+rW7du513m9ttvl5eXl9566y3NmzdPCQkJstlsbs7UOcUu8kydOlVDhw7VkCFD1LRpU82cOVMVK1ZUamrqBdcpLCzUnXfeqccee0wNGjRwmGeM0bRp0/TII4+oR48eatGihebNm6f9+/fr/fffL/YOAQAAAAAAnI+3t7cyMzP1448/ytvb+7zLBAYGqm/fvho/frwOHDigwYMHuzfJEijWM3kKCgq0ceNGjR8/3j7Ny8tLcXFxWrt27QXXe/zxx1WrVi0lJibqyy+/dJi3a9cuZWdnKy4uzj4tODhYsbGxWrt2rfr163dOvPz8fOXn59vH8/LyirMbAAAAAADABbKmdC/tFIotKCjoksskJiZq9uzZuvnmm1W7dm03ZOUaxSryHD58WIWFhQoJCXGYHhISoq1bt553nVWrVmn27NnavHnzeednZ2fbY/w15tl5f5WSkqLHHnusOKkDAAAAAIByaM6cORedf75vEbVr187hNeplhaWvUD927Jjuuusuvfrqq+c8sbokxo8fr9zcXPuwd+9el8UGAAAAAAAoi4p1J0+NGjXk7e2tnJwch+k5OTkKDQ09Z/mdO3cqKytL//jHP+zTioqK/tiwj4+2bdtmXy8nJ0dhYWEOMWNiYs6bh5+fn/z8/IqTOgAAAAAAgEcr1p08vr6+atWqldLT0+3TioqKlJ6ernbt2p2zfHR0tL777jtt3rzZPtx6663q3LmzNm/erPDwcEVGRio0NNQhZl5entatW3femAAAAAAAADhXse7kkaQxY8Zo0KBBat26tdq2batp06bpxIkTGjJkiCRp4MCBqlOnjlJSUuTv768rr7zSYf0qVapIksP00aNHa/LkyWrUqJEiIyP16KOPqnbt2urZs6fzewYAAAAAAFCOFLvI07dvXx06dEhJSUnKzs5WTEyMli1bZn9w8p49e+TlVbxH/Tz00EM6ceKE7rnnHh09elTXXXedli1bJn9//+KmBwAAAAAAUC7ZTFl8XPRf5OXlKTg4WLm5uZf1KjQAAAAAxZAcLCXnlnYWAErRqVOntGvXLkVGRnJDhkUu9BkXp+Zh6du1AAAAAAAA4B4UeQAAAAAAADwARR4AAAAAAAAPUOwHLwMAAAAAAEj645ldbt1e8Z8PNnjwYM2dO1f//Oc/NXPmTId59957r1566SUNGjRIc+bMsU9fu3atrrvuOsXHx2vp0qUO62RlZSkyMtI+HhgYqHr16qlTp04aPXq0GjVqVOwcXYU7eQAAAAAAgEcLDw/X/Pnz9fvvv9unnTp1Sm+99Zbq1at3zvKzZ8/Wv/71L33xxRfav3//eWN+/vnnOnDggL799ls9+eSTyszMVMuWLZWenm7ZflwKRR4AAAAAAODRrr76aoWHh2vx4sX2aYsXL1a9evV01VVXOSx7/PhxLViwQMOHD1f37t0d7vD5s+rVqys0NFQNGjRQjx499Pnnnys2NlaJiYkqLCy0cncuiCIPAAAAAADweAkJCUpLS7OPp6amasiQIecst3DhQkVHR6tx48YaMGCAUlNTZYy5ZHwvLy+NGjVKu3fv1saNG12a++WiyAMAAAAAADzegAEDtGrVKu3evVu7d+/W6tWrNWDAgHOWmz17tn16fHy8cnNztXLlysvaRnR0tKQ/nttTGnjwMgAAAAAA8Hg1a9a0f/3KGKPu3burRo0aDsts27ZN69ev13vvvSdJ8vHxUd++fTV79mx16tTpkts4e8ePzWZzef6XgyIPAAAAAAAoFxISEjRy5EhJ0owZM86ZP3v2bJ05c0a1a9e2TzPGyM/PT9OnT1dw8MXfJpaZmSlJDm/fcie+rgUAAAAAAMqF+Ph4FRQU6PTp0+rWrZvDvDNnzmjevHl67rnntHnzZvvw7bffqnbt2nr77bcvGruoqEgvvviiIiMjz3mYs7twJw8AAAAAACgXvL297XfbeHt7O8xbsmSJfvvtNyUmJp5zx06vXr00e/ZsDRs2zD7tyJEjys7O1smTJ/X9999r2rRpWr9+vZYuXXpObHehyAMAAAAAAMqNoKCg806fPXu24uLizvuVrF69eunpp5/Wli1b7OvHxcVJkipWrKj69eurc+fOmjVrlqKioqxL/hIo8gAAAAAAAOck55Z2Bpc0Z86ci85///33Lxmjbdu2Dq9Rv5xXqpcGnskDAAAAAADgASjyAAAAAAAAeACKPAAAAAAAAB6AIg8AAAAAAIAHoMgDAAAAAADgASjyAAAAALgsmdFNSjsFAMBFUOQBAAAAAADwABR5AAAAAAAAPABFHgAAAAAAAA9AkQcAAAAAAMAD+JR2AgAAAAAAoGxqPre5W7f33aDvir3O4MGDNXfuXP3zn//UzJkzHebde++
"text/plain": [
"<Figure size 1400x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Plotting a comparison of assets weights for each portfolio\n",
"\n",
"fig = plt.gcf()\n",
"fig.set_figwidth(14)\n",
"fig.set_figheight(6)\n",
"ax = fig.subplots(nrows=1, ncols=1)\n",
"\n",
"w_s.plot.bar(ax=ax);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv",
"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.10.11"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}