Fixed Income Portfolio Management v2 - Jupyter Notebook

PHOTO EMBED

Fri Oct 22 2021 19:41:48 GMT+0000 (Coordinated Universal Time)

Saved by @fededeleon #python

import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.io as pio
import plotly.express as px
pio.templates.default = "seaborn"
import pandas as pd
import re

curvas_a_ocultar = ['Depreciación Implicita','Inflación Implicita','Depreciación Real Implicta']

Implicita_Fig = make_subplots(
    rows=1, cols=1,
    shared_xaxes=True,
    vertical_spacing=0.03,
    specs=[[{"type": "scatter"}]]
)

Implicita_Fig.add_trace(go.Scatter(x=Curva_CUI[(Curva_CUI.fecha == Fecha_Reporte) & (Curva_CUI.Plazo <= 20) ].Plazo, 
                                              y=Curva_CUI[(Curva_CUI.fecha == Fecha_Reporte) & (Curva_CUI.Plazo <= 20)].valor/100,
                    line = dict(color='red', width=4, dash='solid'),
                    name='CUI'),row=1, col=1)
Implicita_Fig.add_trace(go.Scatter(x=Curva_CUD[(Curva_CUD.fecha == Fecha_Reporte) & (Curva_CUD.Plazo <= 20) ].Plazo, 
                                              y=Curva_CUD[(Curva_CUD.fecha == Fecha_Reporte) & (Curva_CUD.Plazo <= 20)].valor/100,
                   line = dict(color='green', width=4, dash='solid'),
                    name='CUD'),row=1, col=1)
Implicita_Fig.add_trace(go.Scatter(x=Curva_ITLUP[(Curva_ITLUP.fecha == Fecha_Reporte) & (Curva_ITLUP.Plazo <= 20) ].Plazo, 
                                              y=Curva_ITLUP[(Curva_ITLUP.fecha == Fecha_Reporte) & (Curva_ITLUP.Plazo <= 20)].valor/100,
                     line = dict(color='blue', width=4, dash='solid'),
                    name='ITLUP'),row=1, col=1)
Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, 
                                              y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Depreciacion_Implicta/100,
                    line = dict(color='purple', width=4, dash='longdashdot'),
                                   name='Depreciación Implicita'),row=1, col=1)
Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, 
                                              y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Inflacion_Implicta/100,
                     line = dict(color='orange', width=4, dash='dashdot'),
                                   name='Inflación Implicita'),row=1, col=1)
Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, 
                                              y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Depreciación_real_Implicta/100,
                     line = dict(color='grey', width=4, dash='longdash'),
                                   name='Depreciación Real Implicta',text=Curvas.Depreciación_real_Implicta),row=1, col=1)
Implicita_Fig.update_layout(
    height=600,width=1500,
    showlegend=True,
    title_text="Curvas",
)
Implicita_Fig.layout.yaxis.tickformat = ',.1%'
Implicita_Fig.update_traces(texttemplate='%{text:,.2%}',textposition='top center')
Implicita_Fig.update_xaxes(showline=True, linewidth=0.1, linecolor='grey', mirror=True)
Implicita_Fig.update_yaxes(showline=True, linewidth=0.1, linecolor='grey', mirror=True)
Implicita_Fig.for_each_trace(lambda trace: trace.update(visible="legendonly") 
                   if trace.name in curvas_a_ocultar else ())


Implicita_Fig.show()
content_copyCOPY

La idea de esto, es para mostrar solo ciertas lineas en una grafica de plotly

http://localhost:8889/notebooks/Users/fdeleon/Proyectos/Duration/Fixed Income Portfolio Management v2.ipynb