Função “history”

O método history da biblioteca yFinance é usada para obter o histórico de preços e informações financeiras (dividendos e desdobramentos) de um ativo financeiro (como ações, índices, moedas, etc.) a partir do Yahoo Finance.

Sintaxe

def history(
  self,
  period: str = "1mo",
  interval: str = "1d",
  start: Any = None,
  end: Any = None,
  prepost: bool = False,
  actions: bool = True,
  auto_adjust: bool = True,
  back_adjust: bool = False,
  repair: bool = False,
  keepna: bool = False,
  proxy: Any = None,
  rounding: bool = False,
  timeout: int = 10,
  debug: Any = None,
  raise_errors: bool = False
) -> DataFrame

Parâmetros:

  • period: Define o período de tempo para o qual deseja-se obter os dados históricos. Pode ser especificado de diferentes maneiras, por exemplo, “1d” para um dia, “1mo” para um mês, “3mo” para três meses, “1y” para um ano, etc.

  • interval: Especifica o intervalo de tempo entre os dados. Por exemplo, “1d” para dados diários, “1h” para dados de uma hora, “5m” para dados a cada 5 minutos, etc.

  • start e end: Podem ser usados para especificar uma data de início e fim personalizada para os dados históricos.

  • prepost: Se for True, incluirá dados de pré-mercado e pós-mercado (se disponíveis).

  • actions: Se for True, incluirá informações sobre eventos corporativos, como dividendos e splits.

  • auto_adjust: Se for True, os preços de fechamento ajustados serão retornados.

  • back_adjust: Se for True, ajustará os preços para trás.

  • repair: Se for True, tentará reparar dados ausentes.

  • keepna: Se for True, manterá valores ausentes na série de tempo.

  • proxy: Define um proxy para conexão.

  • rounding: Se for True, os valores serão arredondados para 2 casas decimais.

  • timeout: Define o tempo limite para a solicitação dos dados.

  • debug: Define a saída de depuração para a solicitação.

  • raise_errors: Se for True, irá lançar exceções se houver problemas ao obter os dados.

Retorno:

O método retorna um objeto DataFrame do pandas que contém os dados históricos do ativo financeiro solicitado. O DataFrame terá colunas como “Open”, “High”, “Low”, “Close”, “Volume”, entre outras, que representam os preços e informações financeiras para cada intervalo de tempo solicitado.

Exemplos

Histórico de preços

import yfinance as yf
 
# Obter o histórico de preços diário do FII Maxi Renda (MXRF11) nos últimos 6 meses
mxrf11 = yf.Ticker("MXRF11.SA")
history_df = mxrf11.history(period="6mo", interval="1d")
 
print(history_df)

Saída:

DateOpenHighLowCloseVolumeDividendsStock Splits
2014-08-06 00:00:00-03:006.915446.923016.815396.870889618000
2014-08-07 00:00:00-03:006.858266.858266.735516.852388868000
2014-08-08 00:00:00-03:006.797736.932256.76836.894426440000
2014-08-11 00:00:00-03:006.894426.894426.812026.843975225000
2014-08-12 00:00:00-03:006.852386.894426.774196.811184929000
2023-07-27 00:00:00-03:0010.5310.610.5110.5964632300
2023-07-28 00:00:00-03:0010.5910.6410.5810.6168809100
2023-07-31 00:00:00-03:0010.6210.7210.6210.7296053500
2023-08-01 00:00:00-03:0010.610.6510.5310.6372307000
2023-08-02 00:00:00-03:0010.6310.6810.6210.6479925600

Histórico de preços no gráfico CandleStick

import yfinance as yf
 
aapl = yf.Ticker("AAPL")
history_df = aapl.history(period="1mo", interval="1d")
 
fig = go.Figure(data=[
    go.Candlestick(
        x=history_df.index,
        open=history_df["Open"],
        high=history_df["High"],
        low=history_df["Low"],
        close=history_df["Close"],
    )
])
fig.show()

Saída:

Histórico de dividendos

import yfinance as yf
 
# Obter o histórico de dividendos do FII Maxi Renda (MXRF11) nos últimos 6 meses
mxrf11 = yf.Ticker("MXRF11.SA")
history_df = mxrf11.history(period="6mo", interval="1mo")
 
px.bar(history_df, x=dividends_df.index, y=dividends_df.Dividends)