Atributo “history_metadata”

O atributo history_metadata da classe Ticker no yFinance é um dicionário que contém informações adicionais sobre o histórico de preços baixados para um determinado ativo financeiro por meio da função history().

Ao chamar a função history() para obter os dados históricos de um ticker específico, o yFinance baixa esses dados do Yahoo Finance e os armazena em um objeto DataFrame (estrutura de dados tabular do Pandas). Além do DataFrame com os dados de preços, também é retornado o atributo history_metadata, que é um dicionário contendo informações como a data e hora da solicitação, o intervalo de tempo dos dados baixados, informações sobre dividendos e divisões de ações, entre outros.

Essas informações fornecem detalhes sobre a moeda da ação, símbolo do ticker, tipo de instrumento, data da primeira negociação, preço de mercado regular, fuso horário e outros detalhes relevantes. Vamos analisar cada uma das chaves desse dicionário:

  • currency: Moeda em que o ativo é negociado (por exemplo, ‘BRL’ para Real Brasileiro).

  • symbol: Símbolo do ticker do ativo (por exemplo, ‘MXRF11.SA’ para o fundo imobiliário MXRF11 listado na B3).

  • exchangeName: Nome da bolsa onde o ativo é negociado (por exemplo, ‘SAO’ para a B3).

  • instrumentType: Tipo de instrumento (por exemplo, ‘EQUITY’ para ações).

  • firstTradeDate: Data do primeiro negócio realizado para esse ativo, representada como um timestamp UNIX.

  • regularMarketTime: Horário do último mercado regular (fechamento) em formato de timestamp UNIX.

  • gmtoffset: Deslocamento em segundos em relação ao GMT (Greenwich Mean Time).

  • timezone: Fuso horário em que o ativo é negociado (por exemplo, ‘BRT’ para Horário de Brasília).

  • exchangeTimezoneName: Nome do fuso horário da bolsa (por exemplo, ‘America/Sao_Paulo’ para a B3).

  • regularMarketPrice: Preço de mercado regular atual do ativo.

  • chartPreviousClose: Preço de fechamento do último dia de negociação no gráfico.

  • previousClose: O preço de fechamento do ativo no último dia de negociação.

  • scale: A escala do preço do ativo.

  • priceHint: Valor arredondado para a exibição de preços.

  • currentTradingPeriod: Período de negociação atual, pré-mercado, mercado regular e pós-mercado, com informações sobre os horários em formato de timestamp UNIX.

  • dataGranularity: Granularidade dos dados do histórico (por exemplo, “1d” para dados diários, “1h” para dados horários).

  • range: O intervalo de tempo dos dados históricos baixados (por exemplo, ‘6mo’ para dados dos últimos 6 meses).

  • validRanges: Lista de intervalos de tempo válidos para os quais os dados podem ser solicitados.

Lembrando que as chaves disponíveis no dicionário history_metadata podem variar dependendo das informações disponíveis para o ticker específico e dos parâmetros utilizados na chamada da função history().

Exemplo

mxrf11 = yf.Ticker("MXRF11.SA")
history_df = mxrf11.history(period="6mo", interval="1d")
 
print(mxrf11.history_metadata) # Deve chamar o método "history" antes

Saída:

{'currency': 'BRL',
 'symbol': 'MXRF11.SA',
 'exchangeName': 'SAO',
 'instrumentType': 'EQUITY',
 'firstTradeDate': 1407330000,
 'regularMarketTime': 1691179500,
 'gmtoffset': -10800,
 'timezone': 'BRT',
 'exchangeTimezoneName': 'America/Sao_Paulo',
 'regularMarketPrice': 10.7,
 'chartPreviousClose': 10.07,
 'priceHint': 2,
 'currentTradingPeriod': {'pre': {'timezone': 'BRT',
   'end': 1691154000,
   'start': 1691153100,
   'gmtoffset': -10800},
  'regular': {'timezone': 'BRT',
   'end': 1691179200,
   'start': 1691154000,
   'gmtoffset': -10800},
  'post': {'timezone': 'BRT',
   'end': 1691182800,
   'start': 1691179200,
   'gmtoffset': -10800}},
 'dataGranularity': '1mo',
 'range': '6mo',
 'validRanges': ['1d',
  '5d',
  '1mo',
  '3mo',
  '6mo',
  '1y',
  '2y',
  '5y',
  '10y',
  'ytd',
  'max']}