Renta Fija¶
Datos de transacciones diarias¶
A continuación descargaremos la tasa de transacción (TIR) y el precio para tres bonos, a partir del año 2020.
import pandas as pd
import requests
API_KEY = 'api_key'
data = {
'key': API_KEY,
'values': ['close', 'tir'],
'tickers': ['BBCIG10618', 'BTU0000325', 'BITAAJ0615'],
'start': '2020-01-01'
}
r = requests.post('https://dolphin.markets/api/fixed-income', json=data)
df = pd.DataFrame(r.json())
df['date'] = pd.to_datetime(df['date'])
print(df.head())
Duración de Macaulay¶
Además de la TIR y el precio de instrumentos de renta fija, es posible obtener la Duración Modificada y el Spread de los bonos en cada transacción. En el siguiente ejemplo, descargaremos la duración para los mismos bonos anteriores.
import pandas as pd
import requests
API_KEY = 'api_key'
data = {
'key': API_KEY,
'values': ['modified_duration'],
'tickers': ['BBCIG10618', 'BTU0000325', 'BITAAJ0615'],
'start': '2020-01-01'
}
r = requests.post('https://dolphin.markets/api/fixed-income', json=data)
df = pd.DataFrame(r.json())
df['date'] = pd.to_datetime(df['date'])
pivot = df.pivot_table(index='date', values='modified_duration', columns='nemo')
pivot_last = pivot.ffill().iloc[[-1]].T
pivot_last.columns = ['Duration']
Tasa de emisión de un bono¶
Además de los datos asociados a cada transacción, es posible obtener datos descriptivos para los instrumentos del mercado de renta fija chileno. A continuación, obtendremos la tasa de emisión y la moneda de algunos bonos.
import pandas as pd
import requests
API_KEY = 'api_key'
data = {
'key': API_KEY,
'tickers': ['BBCIG10618', 'BTU0000325', 'BITAAJ0615'],
'values': ['tasa_emision', 'moneda'],
}
url = 'https://dolphin.markets/api/fixed-income-description'
r = requests.post(url, json=data)
desc = pd.DataFrame(r.json())
desc['tasa_emision'] = desc['tasa_emision'] / 100
Tablas de amortización¶
Finalmente, mostramos cómo obtener la tabla de desarrollo completa para varios bonos a la vez, permitiendo cálculos de rentabilidad y devengo de intereses a futuro, además de cálculos propios de sensibilidades en las tasas de interés.
import pandas as pd
import requests
API_KEY = 'api_key'
data = {
'key': API_KEY,
'tickers': ['BBCIG10618', 'BTU0000325', 'BITAAJ0615'],
}
url = 'https://dolphin.markets/api/fixed-income-amortization-table'
r = requests.post(url, json=data)
df = pd.DataFrame(r.json())
print(df.head())