PRE
di_spreads(date, bps=False)
Calcula o DI Spread para títulos prefixados (LTN e NTN-F) em uma data de referência.
spread = taxa indicativa do PRE - taxa de ajuste do DI
Quando bps=False a coluna retorna essa diferença em formato decimal
(ex: 0.000439 ≈ 4.39 bps). Quando bps=True o valor é automaticamente
multiplicado por 10_000 e exibido diretamente em basis points.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
date
|
DateLike
|
Data de referência para buscar as taxas. |
required |
bps
|
bool
|
Se True, retorna spread_di já convertido em basis points. Padrão False. |
False
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
pl.DataFrame: DataFrame com as colunas do spread. |
Output Columns
- titulo (String): Tipo do título.
- data_vencimento (Date): Data de vencimento.
- spread_di (Float64): Spread em decimal ou bps conforme parâmetro (também conhecido como prêmio).
Examples:
>>> from pyield import pre
>>> pre.di_spreads("30-05-2025", bps=True)
shape: (18, 3)
┌────────┬─────────────────┬───────────┐
│ titulo ┆ data_vencimento ┆ spread_di │
│ --- ┆ --- ┆ --- │
│ str ┆ date ┆ f64 │
╞════════╪═════════════════╪═══════════╡
│ LTN ┆ 2025-07-01 ┆ 4.39 │
│ LTN ┆ 2025-10-01 ┆ -9.0 │
│ LTN ┆ 2026-01-01 ┆ -4.88 │
│ LTN ┆ 2026-04-01 ┆ -4.45 │
│ LTN ┆ 2026-07-01 ┆ 0.81 │
│ … ┆ … ┆ … │
│ NTN-F ┆ 2027-01-01 ┆ -3.31 │
│ NTN-F ┆ 2029-01-01 ┆ 14.21 │
│ NTN-F ┆ 2031-01-01 ┆ 21.61 │
│ NTN-F ┆ 2033-01-01 ┆ 11.51 │
│ NTN-F ┆ 2035-01-01 ┆ 22.0 │
└────────┴─────────────────┴───────────┘
Source code in pyield/tn/pre.py
spot_rates(date)
Cria a curva PRE (taxas zero cupom) para títulos prefixados brasileiros.
Combina taxas de LTN (já zero cupom) com taxas spot derivadas de NTN-F via bootstrap.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
date
|
DateLike
|
Data de referência para a consulta. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
pl.DataFrame: DataFrame com as colunas da curva PRE. |
Output Columns
- data_vencimento (Date): Data de vencimento.
- dias_uteis (Int64): Dias úteis entre referência e vencimento.
- taxa_zero (Float64): Taxa zero (zero cupom).
Raises:
| Type | Description |
|---|---|
ValueError
|
Se algum vencimento não puder ser processado. |
Examples:
>>> from pyield import pre
>>> pre.spot_rates("18-06-2025")
shape: (17, 3)
┌─────────────────┬────────────┬───────────┐
│ data_vencimento ┆ dias_uteis ┆ taxa_zero │
│ --- ┆ --- ┆ --- │
│ date ┆ i64 ┆ f64 │
╞═════════════════╪════════════╪═══════════╡
│ 2025-07-01 ┆ 8 ┆ 0.14835 │
│ 2025-10-01 ┆ 74 ┆ 0.147463 │
│ 2026-01-01 ┆ 138 ┆ 0.147752 │
│ 2026-04-01 ┆ 199 ┆ 0.147947 │
│ 2026-07-01 ┆ 260 ┆ 0.147069 │
│ … ┆ … ┆ … │
│ 2030-01-01 ┆ 1135 ┆ 0.137279 │
│ 2031-01-01 ┆ 1387 ┆ 0.138154 │
│ 2032-01-01 ┆ 1639 ┆ 0.13876 │
│ 2033-01-01 ┆ 1891 ┆ 0.1393 │
│ 2035-01-01 ┆ 2390 ┆ 0.141068 │
└─────────────────┴────────────┴───────────┘
Source code in pyield/tn/pre.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | |