LFT
cotacao(data_liquidacao, data_vencimento, taxa)
Calcula a cotação de uma LFT pelas regras da ANBIMA.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_liquidacao
|
DateLike
|
Data de liquidação do título. |
required |
data_vencimento
|
DateLike
|
Data de vencimento do título. |
required |
taxa
|
float
|
Taxa anualizada do título. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Cotação do título. |
Examples:
Calcula a cotação de uma LFT com taxa de 0,02:
>>> from pyield import lft
>>> lft.cotacao(
... data_liquidacao="24-07-2024",
... data_vencimento="01-09-2030",
... taxa=0.001717, # 0.1717%
... )
98.9645
Entradas nulas retornam float('nan'):
Source code in pyield/lft.py
dados(data)
Busca as taxas indicativas de LFT para a data de referência na ANBIMA.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DateLike
|
Data da consulta. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
pl.DataFrame: DataFrame Polars com os dados de LFT. |
Output Columns
- data_referencia (Date): Data de referência dos dados.
- titulo (String): Tipo do título (ex.: "LFT").
- codigo_selic (Int64): Código do título no SELIC.
- data_base (Date): Data base de emissão do título.
- data_vencimento (Date): Data de vencimento do título.
- dias_uteis (Int64): Dias úteis entre referência e vencimento.
- prazo_medio (Float64): Prazo médio do título em anos.
- pu (Float64): Preço unitário (PU).
- taxa_compra (Float64): Taxa de compra (decimal).
- taxa_venda (Float64): Taxa de venda (decimal).
- taxa_indicativa (Float64): Taxa indicativa (decimal).
- taxa_di (Float64): Taxa de ajuste do DI Futuro interpolada pelo método flat forward.
- rentabilidade (Float64): Rentabilidade da LFT sobre o DI.
Examples:
Source code in pyield/lft.py
pu(vna, cotacao)
Calcula o preço (PU) da LFT pelas regras da Anbima.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vna
|
float
|
Valor nominal atualizado (VNA). |
required |
cotacao
|
float
|
Cotação da LFT em base 100. |
required |
Returns: float: Preço da LFT truncado em 6 casas decimais.
References
- SEI Proccess 17944.005214/2024-09
Examples:
Source code in pyield/lft.py
rentabilidade(taxa_lft, taxa_di)
Calcula a rentabilidade da LFT sobre a taxa de DI Futuro.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
taxa_lft
|
float
|
Taxa anualizada da LFT sobre a Selic. |
required |
taxa_di
|
float
|
Taxa DI Futuro anualizada (interpolada para o mesmo vencimento da LFT). |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Rentabilidade da LFT sobre o DI. |
Examples:
Calcula a rentabilidade de uma LFT em 28/04/2025:
>>> from pyield import lft
>>> taxa_lft = 0.001124 # 0.1124%
>>> taxa_di = 0.13967670224373396 # 13.967670224373396%
>>> lft.rentabilidade(taxa_lft, taxa_di)
1.008594331960501
Source code in pyield/lft.py
taxa(data_liquidacao, data_vencimento, vna, pu)
Calcula a taxa implícita de uma LFT a partir do preço (PU).
A função inverte numericamente a cadeia pu(vna, cotacao(...)),
encontrando a taxa que zera a diferença entre o preço calculado e o
informado.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_liquidacao
|
DateLike
|
Data de liquidação. |
required |
data_vencimento
|
DateLike
|
Data de vencimento. |
required |
vna
|
float
|
Valor nominal atualizado (VNA). |
required |
pu
|
float
|
Preço unitário (PU) do título. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Taxa implícita em formato decimal. Retorna NaN em caso de erro. |
Examples:
>>> from pyield import lft
>>> lft.taxa("24-07-2024", "01-09-2030", 15785.324502, 15621.867466)
0.001717
>>> lft.taxa("24-07-2024", "01-03-2025", 15785.324502, 15774.132706)
0.00116
Source code in pyield/lft.py
vencimentos(data)
Busca os vencimentos disponíveis para a data de referência.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DateLike
|
Data da consulta. |
required |
Returns:
| Type | Description |
|---|---|
Series
|
pl.Series: Série de datas de vencimento disponíveis. |
Examples:
>>> from pyield import lft
>>> lft.vencimentos("22-08-2024")
shape: (14,)
Series: 'data_vencimento' [date]
[
2024-09-01
2025-03-01
2025-09-01
2026-03-01
2026-09-01
…
2029-03-01
2029-09-01
2030-03-01
2030-06-01
2030-09-01
]
Source code in pyield/lft.py
vna(data)
Busca o Valor Nominal Atualizado (VNA) da LFT.
Fonte: Banco Central do Brasil, arquivo diário do SELIC.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
DateLike
|
Data de referência. |
required |
Returns:
| Type | Description |
|---|---|
float
|
Valor do VNA da LFT. Retorna |
Raises:
| Type | Description |
|---|---|
ValueError
|
Se os valores VNA extraídos da fonte forem divergentes. |
HTTPError
|
Se a requisição ao BCB falhar. |
Examples: