Skip to content

Instantly share code, notes, and snippets.

@Vido
Created December 19, 2020 16:44
Show Gist options
  • Save Vido/1f6e74f8730a256ca912313356cddc2e to your computer and use it in GitHub Desktop.
Save Vido/1f6e74f8730a256ca912313356cddc2e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Mercado Secundário de Títulos Públicos - AMBIMA\n",
"\n",
"Nesta primeira parte, deixo função genéricas de download e carregamento dos dados do CSV\n",
"\n",
"Página da AMBIMA: https://www.anbima.com.br/pt_br/informar/taxas-de-titulos-publicos.htm"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"import requests\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"def get_filename(t):\n",
" \"\"\"\n",
" - t : datetime.date\n",
" returno : String com o nome do arquivo da AMBIMA\n",
" \"\"\"\n",
" return 'ms%s.txt' % t.strftime(\"%y%m%d\")\n",
"\n",
"def download(t):\n",
" \"\"\"\n",
" - t : datetime.date\n",
" returno : Inteiro com o código HTTP de retorno da aquisição\n",
"\n",
" Faz download do arquivo disponibilidado pela AMBIMA.\n",
" Escreve o arquivo no diretório local.\n",
" Usa o encoding padrão na escrita\n",
"\n",
" Referencias:\n",
" 'https://www.anbima.com.br/pt_br/informar/taxas-de-titulos-publicos.htm'\n",
" 'https://www.anbima.com.br/informacoes/merc-sec/arqs/ms201217.txt'\n",
" \"\"\"\n",
"\n",
" url = 'https://www.anbima.com.br/informacoes/merc-sec/arqs/'\n",
"\n",
" time.sleep(2)\n",
" response = requests.get(url + get_filename(t))\n",
" print(t, 'response', response.status_code)\n",
"\n",
" if response.status_code == 200:\n",
" with open(get_filename(t), 'wb') as fp:\n",
" fp.write(response.content)\n",
"\n",
" return response.status_code\n",
"\n",
"def load_df(t):\n",
" \"\"\"\n",
" - t : datetime.date\n",
" returno : pd.DataFrame com os dados dos títulos\n",
"\n",
" Lê o arquivo no diretório local.\n",
" O arquivo deve estar presente, ou seja a função download deve ser chamada antes.\n",
" \"\"\"\n",
" date_cols = ['Data Referencia', 'Data Base/Emissao', 'Data Vencimento']\n",
" return pd.read_csv(get_filename(t), sep='@', decimal=',', skiprows=2,\n",
" parse_dates=date_cols, engine='python')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Exemplo\n",
"\n",
"Nesta segundo parte, faço um pequeno script para baixar os dados e apresentar em um gráfico.\n",
"\n",
"Eu apresento este exemplo em vídeo: https://youtu.be/GHmyHzl4XPU"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"downloading...\n",
"2020-12-10 00:00:00 response 404\n",
"2020-12-11 00:00:00 response 200\n",
"2020-12-14 00:00:00 response 200\n",
"2020-12-15 00:00:00 response 200\n",
"2020-12-16 00:00:00 response 200\n",
"2020-12-17 00:00:00 response 200\n",
"2020-12-18 00:00:00 response 200\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from pandas.tseries.offsets import BDay\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"\n",
"def dias_p_vencimento(t, serie):\n",
" \"\"\"\n",
" - t : datetime.date\n",
" - serie : pd.Series\n",
"\n",
" returno : np.array da mesma dimensão da serie.\n",
"\n",
" A função calcula quantos dias úteis existem entre dias datas.\n",
" Não considerar o calendarios de feriados.\n",
" \"\"\"\n",
" dt_array = np.array([t] * serie.shape[0]).astype('datetime64[D]')\n",
" return np.busday_count(dt_array, serie.values.astype('datetime64[D]'))\n",
"\n",
"def titulo_df(t, df, titulo):\n",
" \"\"\"\n",
" - df : pd.Dataframe, saída da função load_df(t)\n",
" - titulo : sigla do título na AMBIMA ['LFT', 'LTN', 'NTN-B', 'NTN-C', 'NTN-F']\n",
" returno : pd.DataFrame com as taxas do título selecionado\n",
" Função espefícica para plotar o gráfico.\n",
" \"\"\"\n",
" df_curva = df[df['Titulo'] == titulo][['Data Vencimento', 'Tx. Compra', 'Tx. Venda']]\n",
" df_curva['DiasVencimento'] = dias_p_vencimento(t, df_curva['Data Vencimento'])\n",
" df_curva['Tx. Compra'] = df_curva['Tx. Compra'].replace('--', np.nan).astype(np.float64)\n",
" df_curva['Tx. Venda'] = df_curva['Tx. Venda'].replace('--', np.nan).astype(np.float64)\n",
" return df_curva\n",
"\n",
"if __name__ == '__main__':\n",
" \"\"\"\n",
" Configurar o range de datas.\n",
" Segundo testes, a AMBIMA disponibiliza os arquivos durante apx ~7dias\n",
" \"\"\"\n",
"\n",
" # Datas que serão baixadas\n",
" drange = pd.date_range(start='2020-12-10', end='2020-12-18', freq=BDay()).tolist()\n",
"\n",
" # Download e tratamento dos arquivos não-disponíveis\n",
" print('downloading...')\n",
" set404 = set([])\n",
" for t in drange:\n",
" r = download(t)\n",
" if r != 200:\n",
" set404.add(t)\n",
" fileset = set(drange)- set404\n",
"\n",
" # Carregando DataFrames e Plotando 3D\n",
" plot3d = plt.figure().gca(projection='3d')\n",
" for i, t in enumerate(fileset):\n",
" df = load_df(t)\n",
" df = titulo_df(t, df, 'LTN')\n",
" plot3d.plot([i]*9, df['DiasVencimento'], df['Tx. Compra'])\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment