Skip to content

Commit 67fb212

Browse files
author
brapi-sdk-bot
committed
fix(api): resolve AXIA share conversions without merging history
Stainless-Generated-From: 34c2bbb
1 parent 3cfb7ec commit 67fb212

7 files changed

Lines changed: 69 additions & 4 deletions

File tree

‎scripts/mock‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎src/brapi/resources/quote.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ def retrieve(
8282
Este é o endpoint original da brapi. Ele continua ativo e não tem data de
8383
remoção.
8484
85+
AXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Seus preços históricos e
86+
proventos continuam separados por classe. Os campos `historicalSymbol` e
87+
`dividendsSymbol` identificam o ticker desses históricos.
88+
8589
A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do
8690
dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados:
8791
@@ -326,6 +330,10 @@ async def retrieve(
326330
Este é o endpoint original da brapi. Ele continua ativo e não tem data de
327331
remoção.
328332
333+
AXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Seus preços históricos e
334+
proventos continuam separados por classe. Os campos `historicalSymbol` e
335+
`dividendsSymbol` identificam o ticker desses históricos.
336+
329337
A resposta sempre traz a cotação: preço, variação, volume, máxima e mínima do
330338
dia, faixa de 52 semanas e `marketCap`. Estes parâmetros adicionam outros dados:
331339

‎src/brapi/resources/v2/stocks.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ def dividends(
223223
Use para calcular dividend yield, montar calendários de proventos e registrar
224224
proventos em carteiras.
225225
226+
Em conversões de ações, os proventos de cada classe permanecem separados. Uma
227+
consulta por AXIA6 retorna os proventos de AXIA6 e ELET6.
228+
226229
`lastDatePrior` é a data-com, o último dia para comprar a ação e ter direito ao
227230
provento. `exDate` é a data ex, o primeiro dia sem esse direito. `exDate` pode
228231
ser nulo.
@@ -379,6 +382,9 @@ def historical(
379382
380383
Use para gráficos, backtests e cálculo de retorno.
381384
385+
Em conversões de ações, use o ticker original para consultar o histórico daquela
386+
classe. Por exemplo, AXIA6 mantém seu próprio histórico.
387+
382388
Defina a janela com `range` e `interval`, por exemplo `range=1y&interval=1d`, ou
383389
com `startDate` e `endDate`. O padrão é `range=1mo` e `interval=1d`.
384390
@@ -586,6 +592,9 @@ def quote(
586592
Um ticker antigo é trocado pelo ticker atual. Nesse caso, `changed` é `true` e
587593
`requestedSymbol` guarda o ticker enviado.
588594
595+
AXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Consulte a resolução de
596+
tickers para ver a proporção de conversão.
597+
589598
Para a série de preços, use o
590599
[histórico de preços](https://brapi.dev/docs/acoes/historico). Para achar
591600
tickers válidos, use a [lista de tickers](https://brapi.dev/docs/tickers).
@@ -930,6 +939,9 @@ async def dividends(
930939
Use para calcular dividend yield, montar calendários de proventos e registrar
931940
proventos em carteiras.
932941
942+
Em conversões de ações, os proventos de cada classe permanecem separados. Uma
943+
consulta por AXIA6 retorna os proventos de AXIA6 e ELET6.
944+
933945
`lastDatePrior` é a data-com, o último dia para comprar a ação e ter direito ao
934946
provento. `exDate` é a data ex, o primeiro dia sem esse direito. `exDate` pode
935947
ser nulo.
@@ -1086,6 +1098,9 @@ async def historical(
10861098
10871099
Use para gráficos, backtests e cálculo de retorno.
10881100
1101+
Em conversões de ações, use o ticker original para consultar o histórico daquela
1102+
classe. Por exemplo, AXIA6 mantém seu próprio histórico.
1103+
10891104
Defina a janela com `range` e `interval`, por exemplo `range=1y&interval=1d`, ou
10901105
com `startDate` e `endDate`. O padrão é `range=1mo` e `interval=1d`.
10911106
@@ -1293,6 +1308,9 @@ async def quote(
12931308
Um ticker antigo é trocado pelo ticker atual. Nesse caso, `changed` é `true` e
12941309
`requestedSymbol` guarda o ticker enviado.
12951310
1311+
AXIA5 e AXIA6 retornam a cotação de uma ação AXIA3. Consulte a resolução de
1312+
tickers para ver a proporção de conversão.
1313+
12961314
Para a série de preços, use o
12971315
[histórico de preços](https://brapi.dev/docs/acoes/historico). Para achar
12981316
tickers válidos, use a [lista de tickers](https://brapi.dev/docs/tickers).

‎src/brapi/resources/v2/tickers.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,9 @@ def coverage(
161161
com `status` igual a `unknown` e links de busca. Um ticker de opção vem com
162162
`wrong_endpoint` e links para os endpoints de opções.
163163
164+
Em conversões de ações, os links de histórico e proventos usam o ticker da
165+
classe original.
166+
164167
Este endpoint não traz dados de mercado. Não exige token.
165168
166169
Args:
@@ -203,6 +206,9 @@ def renames(
203206
"""
204207
Mudanças de ticker, com o ticker antigo, o novo, o atual e a data efetiva.
205208
209+
Conversões de ações incluem `conversionRatio`, a quantidade de ações novas por
210+
ação antiga. O histórico de cada classe permanece separado.
211+
206212
Use para explicar por que um ticker antigo leva a outro e para corrigir séries
207213
salvas com o ticker antigo.
208214
@@ -274,6 +280,9 @@ def resolve(
274280
repetidos. `status` é `renamed` quando o ticker mudou e `active` quando não há
275281
renome conhecido.
276282
283+
Conversões também retornam `renamed`. `conversionRatio` informa a quantidade de
284+
ações novas por ação antiga. Use o ticker original para consultar seu histórico.
285+
277286
Este endpoint não confirma se o ticker existe. Para isso, use a
278287
[cobertura por ticker](https://brapi.dev/docs/tickers/cobertura).
279288
@@ -438,6 +447,9 @@ async def coverage(
438447
com `status` igual a `unknown` e links de busca. Um ticker de opção vem com
439448
`wrong_endpoint` e links para os endpoints de opções.
440449
450+
Em conversões de ações, os links de histórico e proventos usam o ticker da
451+
classe original.
452+
441453
Este endpoint não traz dados de mercado. Não exige token.
442454
443455
Args:
@@ -480,6 +492,9 @@ async def renames(
480492
"""
481493
Mudanças de ticker, com o ticker antigo, o novo, o atual e a data efetiva.
482494
495+
Conversões de ações incluem `conversionRatio`, a quantidade de ações novas por
496+
ação antiga. O histórico de cada classe permanece separado.
497+
483498
Use para explicar por que um ticker antigo leva a outro e para corrigir séries
484499
salvas com o ticker antigo.
485500
@@ -551,6 +566,9 @@ async def resolve(
551566
repetidos. `status` é `renamed` quando o ticker mudou e `active` quando não há
552567
renome conhecido.
553568
569+
Conversões também retornam `renamed`. `conversionRatio` informa a quantidade de
570+
ações novas por ação antiga. Use o ticker original para consultar seu histórico.
571+
554572
Este endpoint não confirma se o ticker existe. Para isso, use a
555573
[cobertura por ticker](https://brapi.dev/docs/tickers/cobertura).
556574

‎src/brapi/types/quote_retrieve_response.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ class Result(BaseModel):
251251
`/api/v2/stocks/dividends`, não exige esse parâmetro.
252252
"""
253253

254+
dividends_symbol: Optional[str] = FieldInfo(alias="dividendsSymbol", default=None)
255+
"""Ticker do histórico de proventos quando ele difere do ticker da cotação."""
256+
254257
financial_data: Optional[FinancialDataEntry] = FieldInfo(alias="financialData", default=None)
255258
"""Dados financeiros dos últimos 12 meses."""
256259

@@ -267,6 +270,12 @@ class Result(BaseModel):
267270
)
268271
"""Série de preços. Vem quando a requisição define a janela."""
269272

273+
historical_symbol: Optional[str] = FieldInfo(alias="historicalSymbol", default=None)
274+
"""Ticker do histórico de preços quando ele difere do ticker da cotação."""
275+
276+
requested_symbol: Optional[str] = FieldInfo(alias="requestedSymbol", default=None)
277+
"""Ticker enviado quando a cotação pertence a outro ticker."""
278+
270279
summary_profile: Optional[ResultSummaryProfile] = FieldInfo(alias="summaryProfile", default=None)
271280
"""Cadastro da empresa. Vem com o módulo `summaryProfile`."""
272281

‎src/brapi/types/v2/ticker_renames_response.py‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
from typing import List
3+
from typing import List, Optional
44
from datetime import datetime
55

66
from pydantic import Field as FieldInfo
@@ -15,14 +15,20 @@ class Result(BaseModel):
1515
"""Ticker atual. Se o ativo mudou de ticker mais de uma vez, é o último."""
1616

1717
effective_date: str = FieldInfo(alias="effectiveDate")
18-
"""Data efetiva do renome no formato YYYY-MM-DD."""
18+
"""Data de início da negociação do novo ticker no formato YYYY-MM-DD."""
1919

2020
new_symbol: str = FieldInfo(alias="newSymbol")
2121
"""Ticker novo divulgado no evento."""
2222

2323
old_symbol: str = FieldInfo(alias="oldSymbol")
2424
"""Ticker antigo."""
2525

26+
conversion_ratio: Optional[float] = FieldInfo(alias="conversionRatio", default=None)
27+
"""Quantidade de ações novas por ação antiga.
28+
29+
Presente quando houve conversão de ações.
30+
"""
31+
2632

2733
class TickerRenamesResponse(BaseModel):
2834
count: float

‎src/brapi/types/v2/ticker_resolve_response.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Result(BaseModel):
1616
"""`true` quando o ticker enviado foi trocado pelo ticker atual."""
1717

1818
effective_date: Optional[str] = FieldInfo(alias="effectiveDate", default=None)
19-
"""Data efetiva do renome. Nulo quando não há renome."""
19+
"""Data de início da negociação do novo ticker. Nulo quando não há mudança."""
2020

2121
requested_symbol: str = FieldInfo(alias="requestedSymbol")
2222
"""Ticker enviado na requisição."""
@@ -30,6 +30,12 @@ class Result(BaseModel):
3030
symbol: str
3131
"""Ticker atual. Use este nas próximas consultas."""
3232

33+
conversion_ratio: Optional[float] = FieldInfo(alias="conversionRatio", default=None)
34+
"""Quantidade de ações novas por ação antiga.
35+
36+
Presente quando houve conversão de ações.
37+
"""
38+
3339

3440
class TickerResolveResponse(BaseModel):
3541
requested_at: datetime = FieldInfo(alias="requestedAt")

0 commit comments

Comments
 (0)