{"id":1987,"date":"2021-08-17T18:37:45","date_gmt":"2021-08-17T22:37:45","guid":{"rendered":"https:\/\/www.pacificoresearch.com\/?p=1987"},"modified":"2021-08-20T15:51:27","modified_gmt":"2021-08-20T19:51:27","slug":"curva-de-tasas-forward-pca","status":"publish","type":"post","link":"https:\/\/www.pacificoresearch.com\/en\/curva-de-tasas-forward-pca\/","title":{"rendered":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA"},"content":{"rendered":"\n<p class=\"has-text-align-right\" id=\"ef79\"><strong><em>Por Crist\u00f3bal Cort\u00ednez, Quant en Pac\u00edfico Research<\/em><\/strong><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>La <strong><a href=\"https:\/\/www.linkedin.com\/feed\/update\/urn:li:activity:6817954281623207936\">API de Pac\u00edfico<\/a><\/strong> contiene algunos algoritmos pre-implementados, entre ellos, una versi\u00f3n modificada de <strong>An\u00e1lisis de Componentes Principales (PCA por sus siglas en ingl\u00e9s) aplicado a la curva de tasas forward chilena. <\/strong>Este algoritmo nos permite aproximar un conjunto dado por la suma ponderada de unos pocos componentes, lo que facilita enormemente los an\u00e1lisis posteriores.<\/p>\n\n\n\n<p>El siguiente art\u00edculo muestra una versi\u00f3n simplificada de este an\u00e1lisis.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>La curva de tasas <strong>es importante para poner precio a varios productos financieros<\/strong>. Sin embargo, visualizar su evoluci\u00f3n a lo largo del tiempo, puede resultar una tarea dif\u00edcil.<\/p>\n\n\n\n<p>Para ilustrar esto, vamos a escribir un c\u00f3digo en <strong>Python<\/strong>. Empecemos por <strong>importar las librer\u00edas <\/strong>que necesitaremos durante el resto del art\u00edculo.<\/p>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>from sklearn.decomposition import PCA<br>import seaborn as sns<br>import matplotlib.pyplot as plt<br>from matplotlib.ticker import PercentFormatter<br>import pandas as pd<br>import numpy as np<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Supongamos que disponemos de curvas de <strong>tasas forward a 1 a\u00f1o del mercado chileno<\/strong> para varias fechas en un dataframe en formato largo:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>dfRatesLong.tail(20)<\/code><\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Datos de curvas forward en formato&nbsp;largo<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:38px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Intentemos graficar curvas para varias fechas:<\/p>\n\n\n\n<div style=\"height:38px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>dfPlot = dfRatesLong&#91;dfRatesLong.date &gt; \"2021-07-15\"]\ndfPlot&#91;\"date\"] = dfPlot.date.apply(lambda d: d.date())\ng = sns.lineplot(data=dfPlot,\n                 x=\"years_tenor\",\n                 y=\"yield\",\n                 hue=\"date\")\n_ = g.yaxis.set_major_formatter(PercentFormatter(1))\n_ = g.set_title(\"Chilean Forward Curves\")<\/code><\/pre>\n\n\n\n<div style=\"height:42px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*d7BZZo84H7AvpP5wfgN3bQ.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Promedio de las tasas&nbsp;forward<\/span><\/figcaption><\/figure>\n\n\n\n<div style=\"height:51px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>No se aprecia adecuadamente la evoluci\u00f3n<\/strong>, adem\u00e1s de que <strong>el gr\u00e1fico se vuelve r\u00e1pidamente incomprensible<\/strong> si se grafican demasiadas curvas.<\/p>\n\n\n\n<p>Alternativamente, podemos <strong>graficar la trayectoria de las tasas con respecto al tiempo<\/strong>, para distintos tenors:<\/p>\n\n\n\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>g = sns.lineplot(data=dfRatesLong,<br>                 x=\"date\",<br>                 y=\"yield\",<br>                 hue=\"years_tenor\")<br>_ = g.yaxis.set_major_formatter(PercentFormatter(1))<br>_ = g.set_title(\"Chilean Forward Curves\")<br>_ = &#91;tick.set_rotation(30)<br>     for tick in g.get_xticklabels()]<\/code><\/pre>\n\n\n\n<div style=\"height:49px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*-wfqn79UlinmWGXct5Tvkg.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Tasas forward a un a\u00f1o para varios&nbsp;tenors<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Haciendo lo anterior, se soluciona el problema de representar los datos de varias fechas, pero <strong>todav\u00eda es dif\u00edcil hacerse una buena idea de c\u00f3mo evolucionan las curvas<\/strong>.<\/p>\n\n\n\n<div style=\"height:53px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">PCA al rescate:<\/h2>\n\n\n\n<p>Por fortuna, existe el <a href=\"https:\/\/en.wikipedia.org\/wiki\/Principal_component_analysis\"><strong>An\u00e1lisis de Componentes Principales (PCA por sus siglas en ingl\u00e9s)<\/strong>:<\/a> un algoritmo de reducci\u00f3n de dimensionalidad que nos permite aproximar una curva dada por la suma ponderada de unos pocos componentes. Esto nos permite visualizar lo que pasa con la curva a trav\u00e9s de la evoluci\u00f3n de los pesos de dicha ponderaci\u00f3n.<\/p>\n\n\n\n<p>PCA descompone cada curva en 3 partes, seg\u00fan la siguiente f\u00f3rmula:<\/p>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*McyHR-YxknwkD0d-Kv7PlA.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">F\u00f3rmula de PCA: curva = curva promedio + componentes ponderados +&nbsp;error<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:29px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>Una curva promedio, en torno a la cual todas las curvas oscilan.<\/li><li>Componentes (C_i) multiplicados por sus respectivos pesos (W_i), que caracterizan los ajustes en torno a la curva promedio que tiene cada curva. En este art\u00edculo utilizaremos los primeros 3 componentes de PCA: nivel, pendiente y curvatura.<\/li><li>Un error que se comete al aproximar una curva completa mediante s\u00f3lo 3 componentes. Siempre que este error sea peque\u00f1o, PCA dar\u00e1 una buena caracterizaci\u00f3n de la curva.<\/li><\/ul>\n\n\n\n<p>Si es que deseamos sintetizar reconstruir la curva a partir de PCA, simplemente utilizamos la f\u00f3rmula de arriba, ignorando el t\u00e9rmino de error.<\/p>\n\n\n\n<p>Vamos a ver c\u00f3mo se comporta cada una de estas partes para el caso de nuestro conjunto de datos.<\/p>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>0. PREPARACI\u00d3N DE DATOS Y PCA<\/strong><\/h3>\n\n\n\n<p>Para PCA, empezamos por cambiar los datos de curvas forward a formato ancho.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>dfRatesWide = dfRatesLong.pivot(columns=\"years_tenor\",<br>                                index=\"date\",<br>                                values=\"yield\")<br>dfRatesWide.tail(20)<\/code><\/pre>\n\n\n\n<div style=\"height:49px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*ol7Kp1FpN83_WF4w9W0Gkw.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Dataframe de curvas forward en formato&nbsp;ancho<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Una vez hecho esto, procedemos a efectuar el PCA con 3 componentes.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>pca = PCA(n_components=3)<br>pca.fit(dfRatesWide.dropna())<\/code><\/pre>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong>CURVA PROMEDIO<\/strong><\/h3>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>dfMean = pd.Series(pca.mean_,\n                   name=\"yield\",\n                   index=dfRatesWide.columns)\ndfMean = dfMean.reset_index()\ng = sns.lineplot(data = dfMean,\n                 x=\"years_tenor\",\n                 y=\"yield\",\n                 color = \"black\",\n                 linewidth=4)\n_ = g.yaxis.set_major_formatter(PercentFormatter(1))\n_ = g.set_title(\"Forward Curve Mean\")<\/code><\/pre>\n\n\n\n<div style=\"height:41px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*mJia4XS90_aebcp9uD5TaQ.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Promedio de las tasas&nbsp;forward<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:47px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>El promedio nos brinda informaci\u00f3n sobre cu\u00e1l es la forma t\u00edpica de la curva. Se observa claramente que las tasas de inter\u00e9s tienden a crecer con el tenor, y que la curva en promedio es c\u00f3ncava.<\/p>\n\n\n\n<div style=\"height:41px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2.<strong> COMPONENTES Y PESOS<\/strong><\/h3>\n\n\n\n<p>\u00c9sta es la parte de donde el PCA logra extraer la mayor informaci\u00f3n.<\/p>\n\n\n\n<p>Para asegurarnos de que los componentes tengan la forma correcta (nivel positivo, pendiente ascendiente y curvatura convexa) y sea f\u00e1cil interpretarlos, escribimos el siguiente c\u00f3digo:<\/p>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-preformatted\">weights = pca.transform(dfRatesWide.dropna())<br>alternating = np.empty(shape=(weights.shape[1],))<br>alternating[::2] = 1<br>alternating[1::2] = -1<br>signs = np.sign(pca.components_[:, 0])*alternating<\/pre>\n\n\n\n<div style=\"height:42px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">2.1 <strong>COMPONENTES (C_i)<\/strong><\/h4>\n\n\n\n<p>Los componentes nos dicen las formas m\u00e1s habituales que tienen los cambios en la curva de tasas, y por lo tanto la mejor forma de caracterizar dichos cambios.<\/p>\n\n\n\n<div style=\"height:37px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>componentColumns = &#91;\"level (C1)\",\n                    \"slope (C2)\",\n                    \"curvature (C3)\"]\ndfComponents = pd.DataFrame(pca.components_.T*signs&#91;None, :],\n                            columns=componentColumns,\n                            index=dfRatesWide.columns)\ndfComponents = dfComponents.melt(ignore_index=False,\n                                 var_name=\"component\",\n                                 value_name=\"value\")\n############\ng = sns.lineplot(data = dfComponents,\n                 x=\"years_tenor\",\n                 y=\"value\",\n                 hue=\"component\"\n                )\ng.hlines(y=0,\n         xmin=0.25,\n         xmax=10,\n         linewidth=4,\n         color=\"black\")\n_ = g.set_title(\"Forward Curve Components\")<\/code><\/pre>\n\n\n\n<div style=\"height:43px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*5oZMv8yMK-XAxJ3qfWWEdw.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Primeros 3 componentes de&nbsp;PCA<\/span><\/figcaption><\/figure>\n\n\n\n<div style=\"height:47px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Podemos observar 3 tipos de cambios de curva con respecto al promedio:<\/p>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<ul class=\"wp-block-list\"><li>El componente de nivel nos indica cambios de aproximadamente la misma magnitud en todas las tasas<\/li><li>El componente de pendiente nos indica ca\u00eddas en tasas cortas (hasta 3 a\u00f1os) y subidas en tasas largas (4 a\u00f1os en adelante)<\/li><li>El componente de curvatura nos indica ca\u00eddas en tasas entre 2 y 6 a\u00f1os, junto con subidas en el resto de las tasas<\/li><\/ul>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">2.2 <strong>PESOS DE LOS COMPONENTES (W_i)<\/strong><\/h4>\n\n\n\n<p>Los pesos nos dicen cu\u00e1nto de cada componente hay en una curva en particular: si las tasas est\u00e1n demasiado altas o bajas; si la curva est\u00e1 demasiado empinada, plana o invertida; etc. Tambi\u00e9n nos permite caracterizar f\u00e1cilmente la trayectoria de la curva a trav\u00e9s del tiempo.<\/p>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>weightColumns = &#91;\"level (W1)\",\n                 \"slope (W2)\",\n                 \"curvature (W3)\"]\ndfWeights = pd.DataFrame(weights*signs,\n                         columns=weightColumns,\n                         index=dfRatesWide.dropna().index)\ndfWeights = dfWeights.melt(ignore_index=False,\n                           var_name=\"component\",\n                           value_name=\"weight\")\n############\ng = sns.lineplot(data=dfWeights,\n                 x=\"date\",\n                 y=\"weight\",\n                 hue=\"component\")\n_ = g.hlines(y=0,\n         xmin=dfWeights.index.min(),\n         xmax=dfWeights.index.max(),\n         linewidth=4,\n         color=\"black\")\n_ = g.yaxis.set_major_formatter(PercentFormatter(1))\n_ = g.set_title(\"Forward Curve Component Weights\")<\/code><\/pre>\n\n\n\n<div style=\"height:53px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*ywr9csIxUVBBgYntJF0i2w.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Pesos PCA para cada componente<\/span><\/figcaption><\/figure>\n\n\n\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Podemos observar:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Viendo el primer componente (nivel): las tasas han mostrado una tendencia a disminuir, con una fuerte ca\u00edda durante 2019. Tambi\u00e9n se observa una dr\u00e1stica subida durante 2021<\/li><li>Viendo el segundo componente (pendiente): la curva estaba bastante empinada a principios de 2010, despu\u00e9s de lo cual se aplan\u00f3 en gran medida<\/li><li>Viendo el tercer componente: no parecen haber cambios significativos en los \u00faltimos 10 a\u00f1os<\/li><\/ul>\n\n\n\n<div style=\"height:52px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>ERRORES Y VARIANZA EXPLICADA<\/strong><\/h3>\n\n\n\n<p>Queda una pregunta por responder: \u00bfSon suficientes 3 componentes para caracterizar una curva? \u00bfHay fen\u00f3menos que no se est\u00e1n caracterizando bien y necesitamos m\u00e1s componentes? \u00bfPodemos caracterizar las curvas con a\u00fan menos componentes?<\/p>\n\n\n\n<p>Para responder a estas preguntas, podemos referirnos a la varianza total de los datos. Cada componente explica un porcentaje de esta varianza total. Si con nuestros 3 componentes somos capaces de explicar un alto porcentaje de la varianza (digamos, m\u00e1s de un 95%), podemos afirmar que PCA nos da una descripci\u00f3n satisfactoria de las curvas y el error que cometemos con esta aproximaci\u00f3n es peque\u00f1o.<\/p>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>explainedVarianceIndex = &#91;\"level\",\n                          \"slope\",\n                          \"curvature\"]\ndfExplainedVarianceRatio = pd.Series(pca.explained_variance_ratio_,\n                                     name=\"explained_variance\",\n                                     index=explainedVarianceIndex)\ndfExplainedVarianceRatio.index.name=\"component\"\ndfExplainedVarianceRatio = dfExplainedVarianceRatio.reset_index()\ndfExplainedVarianceRatio.loc&#91;3] = &#91;\"error\",\n                                   1 - pca.explained_variance_ratio_.sum()]\ndfExplainedVarianceRatio&#91;\"explained_variance\"]*=100\n############\ng = sns.barplot(data = dfExplainedVarianceRatio,\n                x = \"component\",\n                y = \"explained_variance\")\n_ = g.yaxis.set_major_formatter(PercentFormatter(1))\n_ = g.set_title(\"Explained Variance Percentage by Component\")\nfor index, row in dfExplainedVarianceRatio.iterrows():\n    evp = row.explained_variance\n    g.text(index,\n           evp,\n           \"{:.1%}\".format(evp),\n           color=\"black\",\n           ha=\"center\")<\/code><\/pre>\n\n\n\n<div style=\"height:59px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*2bp8jSUMPp5hcdWmUMyr6Q.png\" alt=\"\"\/><figcaption><span style=\"color:#322e76\" class=\"has-inline-color\">Porcentaje de la varianza explicada por cada componente y el&nbsp;error<\/span><\/figcaption><\/figure><\/div>\n\n\n\n<div style=\"height:38px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Como podemos ver en el gr\u00e1fico, <strong>\u00a1los 3 componentes explican un 98.4% de la varianza!<\/strong><\/p>\n\n\n\n<p>De hecho, habr\u00eda sido suficiente con utilizar tan solo los primeros 2 componentes: nivel y pendiente.<\/p>\n\n\n\n<div style=\"height:45px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Acabamos de ver c\u00f3mo utilizar PCA para visualizar y caracterizar con un alto nivel de precisi\u00f3n las curvas de tasas forward a 1 d\u00eda del mercado chileno.<\/p>\n\n\n\n<p>Sin embargo, hay un par de salvedades a considerar en el an\u00e1lisis:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Con respecto a PCA, si queremos caracterizar las curvas actuales, las curvas recientes son m\u00e1s relevantes que las del pasado lejano. PCA le da la misma relevancia a todas las curvas.<\/li><li>Con respecto a los datos, el Banco Central de Chile fija la tasa de inter\u00e9s corta 8 veces al a\u00f1o. Entre estas fijaciones de tasa, la tasa de inter\u00e9s permanece fija. Esta informaci\u00f3n no se utiliza en nuestro an\u00e1lisis. Tambi\u00e9n est\u00e1 el hecho de que solamente utilizamos tasas forwards con tenors de entre 1 y 10 a\u00f1os, cuando el mercado tiene precios de forwards de tenors m\u00e1s cortos y m\u00e1s largos tambi\u00e9n.<\/li><\/ul>\n\n\n\n<p id=\"8b51\">En la\u00a0<strong><a href=\"https:\/\/www.pacificoresearch.com\/productos\/\">API de Pac\u00edfico<\/a>\u00a0<\/strong>tenemos un an\u00e1lisis de PCA modificado que toma en cuenta estos factores.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"ose-youtube ose-uid-699d9982231f580c75478eb9b0b2c75c ose-embedpress-responsive\" style=\"width:600px; height:550px; max-height:550px; max-width:100%; display:inline-block;\" data-embed-type=\"Youtube\"><iframe allowFullScreen=\"true\" title=\"API Pac\u00edfico\" width=\"600\" height=\"550\" src=\"https:\/\/www.youtube.com\/embed\/FXLeNms-lz8?feature=oembed&color=red&rel=0&controls=1&start=&end=&fs=0&iv_load_policy=0&autoplay=0&mute=0&modestbranding=0&cc_load_policy=1&playsinline=1\" frameborder=\"0\" allow=\"accelerometer; encrypted-media;accelerometer;autoplay;clipboard-write;gyroscope;picture-in-picture clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><figcaption>Conoce Api Pac\u00edfico<\/figcaption><\/figure>\n\n\n\n<p><a href=\"https:\/\/pacificoresearch.medium.com\/reducci%C3%B3n-de-dimensionalidad-de-curva-de-tasas-forward-chilena-con-pca-2a987a15af58\">Conoce todas nuestras publicaciones en Medium y s\u00edguenos para m\u00e1s informaci\u00f3n<\/a><a href=\"https:\/\/pacificoresearch.medium.com\/reducci\u00f3n-de-dimensionalidad-de-curva-de-tasas-forward-chilena-con-pca-2a987a15af58\"> haciendo clic aqu\u00ed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por Crist\u00f3bal Cort\u00ednez, Quant en Pac\u00edfico Research La API de Pac\u00edfico contiene algunos algoritmos pre-implementados, entre ellos, una versi\u00f3n modificada de An\u00e1lisis de Componentes Principales (PCA por sus siglas en ingl\u00e9s) aplicado a la curva de tasas forward chilena. Este algoritmo nos permite aproximar un conjunto dado por la suma ponderada de unos pocos componentes, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[61],"tags":[],"class_list":["post-1987","post","type-post","status-publish","format-standard","hentry","category-mirada-pacifico"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research<\/title>\n<meta name=\"description\" content=\"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pacificoresearch.com\/en\/curva-de-tasas-forward-pca\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research\" \/>\n<meta property=\"og:description\" content=\"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pacificoresearch.com\/en\/curva-de-tasas-forward-pca\/\" \/>\n<meta property=\"og:site_name\" content=\"Pacifico Research\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-17T22:37:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-20T19:51:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#\\\/schema\\\/person\\\/1d6ca87843bd17cc2a6646e0fa176140\"},\"headline\":\"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA\",\"datePublished\":\"2021-08-17T22:37:45+00:00\",\"dateModified\":\"2021-08-20T19:51:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/\"},\"wordCount\":1201,\"publisher\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/800\\\/1*FMjjZru5x2tPEPTcHjss4g.png\",\"articleSection\":[\"Mirada Pac\u00edfico\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/\",\"url\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/\",\"name\":\"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/800\\\/1*FMjjZru5x2tPEPTcHjss4g.png\",\"datePublished\":\"2021-08-17T22:37:45+00:00\",\"dateModified\":\"2021-08-20T19:51:27+00:00\",\"description\":\"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/800\\\/1*FMjjZru5x2tPEPTcHjss4g.png\",\"contentUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/800\\\/1*FMjjZru5x2tPEPTcHjss4g.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/curva-de-tasas-forward-pca\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.pacificoresearch.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#website\",\"url\":\"https:\\\/\\\/www.pacificoresearch.com\\\/\",\"name\":\"Pacifico Research\",\"description\":\"Hacemos an\u00e1lisis de coyuntura de los principales datos y eventos macroecon\u00f3micos\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.pacificoresearch.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#organization\",\"name\":\"Pac\u00edfico Research\",\"url\":\"https:\\\/\\\/www.pacificoresearch.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"http:\\\/\\\/52.40.128.194\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Logo-Pacifico-Research.jpg\",\"contentUrl\":\"http:\\\/\\\/52.40.128.194\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Logo-Pacifico-Research.jpg\",\"width\":1549,\"height\":685,\"caption\":\"Pac\u00edfico Research\"},\"image\":{\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/#\\\/schema\\\/person\\\/1d6ca87843bd17cc2a6646e0fa176140\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.pacificoresearch.com\\\/wp-content\\\/uploads\\\/letter-avatar\\\/6833124c5ac8d89c2ce5093869f276fc.svg\",\"url\":\"https:\\\/\\\/www.pacificoresearch.com\\\/wp-content\\\/uploads\\\/letter-avatar\\\/6833124c5ac8d89c2ce5093869f276fc.svg\",\"contentUrl\":\"https:\\\/\\\/www.pacificoresearch.com\\\/wp-content\\\/uploads\\\/letter-avatar\\\/6833124c5ac8d89c2ce5093869f276fc.svg\",\"caption\":\"admin\"},\"description\":\"Administrador\",\"sameAs\":[\"http:\\\/\\\/52.40.128.194\"],\"url\":\"https:\\\/\\\/www.pacificoresearch.com\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research","description":"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pacificoresearch.com\/en\/curva-de-tasas-forward-pca\/","og_locale":"en_US","og_type":"article","og_title":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research","og_description":"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.","og_url":"https:\/\/www.pacificoresearch.com\/en\/curva-de-tasas-forward-pca\/","og_site_name":"Pacifico Research","article_published_time":"2021-08-17T22:37:45+00:00","article_modified_time":"2021-08-20T19:51:27+00:00","og_image":[{"url":"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png","type":"","width":"","height":""}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#article","isPartOf":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/"},"author":{"name":"admin","@id":"https:\/\/www.pacificoresearch.com\/#\/schema\/person\/1d6ca87843bd17cc2a6646e0fa176140"},"headline":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA","datePublished":"2021-08-17T22:37:45+00:00","dateModified":"2021-08-20T19:51:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/"},"wordCount":1201,"publisher":{"@id":"https:\/\/www.pacificoresearch.com\/#organization"},"image":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png","articleSection":["Mirada Pac\u00edfico"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/","url":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/","name":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA &#183; Pacifico Research","isPartOf":{"@id":"https:\/\/www.pacificoresearch.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#primaryimage"},"image":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png","datePublished":"2021-08-17T22:37:45+00:00","dateModified":"2021-08-20T19:51:27+00:00","description":"El PCA nos permite visualizar lo que verdaderamente pasa con la curva de tasas forward, a trav\u00e9s de Python.","breadcrumb":{"@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#primaryimage","url":"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png","contentUrl":"https:\/\/cdn-images-1.medium.com\/max\/800\/1*FMjjZru5x2tPEPTcHjss4g.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.pacificoresearch.com\/curva-de-tasas-forward-pca\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.pacificoresearch.com\/"},{"@type":"ListItem","position":2,"name":"Reducci\u00f3n de dimensionalidad de curva de tasas forward chilena con PCA"}]},{"@type":"WebSite","@id":"https:\/\/www.pacificoresearch.com\/#website","url":"https:\/\/www.pacificoresearch.com\/","name":"Pacifico Research","description":"Hacemos an\u00e1lisis de coyuntura de los principales datos y eventos macroecon\u00f3micos","publisher":{"@id":"https:\/\/www.pacificoresearch.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pacificoresearch.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.pacificoresearch.com\/#organization","name":"Pac\u00edfico Research","url":"https:\/\/www.pacificoresearch.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pacificoresearch.com\/#\/schema\/logo\/image\/","url":"http:\/\/52.40.128.194\/wp-content\/uploads\/2021\/02\/Logo-Pacifico-Research.jpg","contentUrl":"http:\/\/52.40.128.194\/wp-content\/uploads\/2021\/02\/Logo-Pacifico-Research.jpg","width":1549,"height":685,"caption":"Pac\u00edfico Research"},"image":{"@id":"https:\/\/www.pacificoresearch.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.pacificoresearch.com\/#\/schema\/person\/1d6ca87843bd17cc2a6646e0fa176140","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pacificoresearch.com\/wp-content\/uploads\/letter-avatar\/6833124c5ac8d89c2ce5093869f276fc.svg","url":"https:\/\/www.pacificoresearch.com\/wp-content\/uploads\/letter-avatar\/6833124c5ac8d89c2ce5093869f276fc.svg","contentUrl":"https:\/\/www.pacificoresearch.com\/wp-content\/uploads\/letter-avatar\/6833124c5ac8d89c2ce5093869f276fc.svg","caption":"admin"},"description":"Administrador","sameAs":["http:\/\/52.40.128.194"],"url":"https:\/\/www.pacificoresearch.com\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/posts\/1987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/comments?post=1987"}],"version-history":[{"count":13,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/posts\/1987\/revisions"}],"predecessor-version":[{"id":2008,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/posts\/1987\/revisions\/2008"}],"wp:attachment":[{"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/media?parent=1987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/categories?post=1987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pacificoresearch.com\/en\/wp-json\/wp\/v2\/tags?post=1987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}