Como Calcular o ROIC Usando a API da brapi

Recentemente, recebemos uma pergunta de um de nossos usuários, que estava consultando os dados retornados pela nossa API e queria saber se era possível calcular ou obter a receita líquida e o ROIC (Return on Invested Capital).

29 de Dezembro de 2023 por Alisson Leal

Mas e aí, dá pra calcular isso com os dados da brapi? A resposta é sim, é possível calcular esses valores usando os dados fornecidos pela API da brapi. Embora não tenhamos um endpoint que faça esses cálculos automaticamente, você pode facilmente pegar os dados necessários e fazer os cálculos por conta própria.

O que é Receita Líquida e ROIC?

A receita líquida é a receita total de uma empresa menos os custos associados à geração dessa receita. Na brapi, acreditamos que a receita líquida pode ser interpretada como a Receita de Venda de Bens e/ou Serviços ou o Resultado Bruto. Esses dados podem ser encontrados no módulo incomeStatementHistory da nossa API.

O ROIC, por outro lado, é uma métrica que determina a eficiência com que uma empresa está usando seu capital para gerar lucros. É calculado dividindo o NOPAT (Net Operating Profit After Tax) pelo capital investido.

Como Calcular o ROIC?

Para calcular o ROIC, você precisa primeiro calcular o NOPAT e o Capital Investido.

Cálculo do NOPAT

O NOPAT pode ser calculado de duas maneiras:

  1. Multiplicando o operatingIncome por (1 - tax rate)
  2. Subtraindo o incomeTaxExpense do EBIT

Ambos os métodos fornecerão resultados ligeiramente diferentes, mas ambos são aceitáveis.

A fórmula para calcular o NOPAT usando o operatingIncome é:

NOPAT=operatingIncome×(1taxRate)NOPAT = operatingIncome \times (1 - taxRate)

onde taxRate é a taxa de imposto efetiva da empresa.

taxRate=incomeTaxExpenseincomeBeforeTaxtaxRate = \frac{incomeTaxExpense}{incomeBeforeTax}

E a fórmula para calcular o NOPAT usando o EBIT é:

NOPAT=EBITincomeTaxExpenseNOPAT = EBIT - incomeTaxExpense

Cálculo do Capital Investido

O Capital Investido pode ser calculado subtraindo accountsPayable e cash do totalAssets.

A fórmula para calcular o Capital Investido é:

CapitalInvestido=totalAssetsaccountsPayablecashCapitalInvestido = totalAssets - accountsPayable - cash

Cálculo do ROIC

Finalmente, o ROIC pode ser calculado dividindo o NOPAT pelo Capital Investido.

A fórmula para calcular o ROIC é:

ROIC=NOPATCapitalInvestidoROIC=\frac{NOPAT}{CapitalInvestido}

Exemplo de Cálculo do ROIC

Vamos usar a PETR4 como exemplo. Os dados necessários podem ser encontrados nos módulos balanceSheetHistory e incomeStatementHistory da nossa API.

Dados da PETR4 (Petrobras)

Acho que essa é parte mais fácil, né? Basta fazer uma requisição para a API da brapi e obter os dados da PETR4.

Ex: https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN&modules=balanceSheetHistory,incomeStatementHistory

curl -X GET "https://brapi.dev/api/quote/AAPL?token=SEU_TOKEN&modules=balanceSheetHistory,incomeStatementHistory"
 
{
  ...
  "balanceSheetHistory": {
    "balanceSheetStatements": [
      {
        "endDate": "2022-12-31T00:00:00.000Z", // Data de Encerramento
        "cash": 41723000000, // Caixa e Equivalentes de Caixa
        "shortTermInvestments": 14470000000, // Aplicações Financeiras
        "netReceivables": 32961000000, // Contas a Receber
        "inventory": 45804000000, // Estoques
        "otherCurrentAssets": 28094000000, // Outros Ativos Circulantes
        "totalCurrentAssets": 163052000000, // Ativo Circulante
        "longTermInvestments": 16331000000, // Investimentos a Longo Prazo
        "propertyPlantEquipment": 679182000000, // Imobilizado
        "goodWill": 123000000, // Goodwill
        "intangibleAssets": 15458000000, // Ativos Intangíveis
        "otherAssets": 102563000000, // Outros Ativos
        "deferredLongTermAssetCharges": 4342000000, // Encargos de Ativos Diferidos a Longo Prazo
        "totalAssets": 976709000000, // Ativo Total
        "accountsPayable": 28507000000, // Contas a Pagar
        "shortLongTermDebt": 18656000000, // Dívida de Curto e Longo Prazo
        "otherCurrentLiab": 60989000000, // Outras Obrigações Correntes
        "longTermDebt": 137630000000, // Dívida de Longo Prazo
        "otherLiab": 215540000000, // Outras Obrigações
        "minorityInterest": 1791000000, // Interesse Minoritário
        "totalCurrentLiabilities": 163731000000, // Passivo Circulante
        "totalLiab": 612324000000, // Passivo Total
        "commonStock": 205432000000, // Ações Ordinárias
        "retainedEarnings": 128562000000, // Lucros Retidos
        "treasuryStock": 28600000000, // Ações em Tesouraria
        "otherStockholderEquity": 28600000000, // Outros Patrimônios de Acionistas
        "totalStockholderEquity": 362594000000, // Patrimônio Líquido Total
        "netTangibleAssets": 347013000000 // Ativos Tangíveis Líquidos
    }
      // + outros anos ou trimestres
    ]
  },
    "incomeStatementHistory": {
    "incomeStatementHistory": [
      {
        "endDate": "2022-12-31T00:00:00.000Z", // Data de encerramento
        "totalRevenue": 641256000000, // Receita de Venda de Bens e/ou Serviços
        "costOfRevenue": 307156000000, // Custo dos Bens e/ou Serviços Vendidos
        "grossProfit": 334100000000, // Resultado Bruto
        "researchDevelopment": 4087000000, // Custos com pesquisa e desenvolvimento tecnológico
        "sellingGeneralAdministrative": 32325000000, // Despesas Gerais e Administrativas
        "nonRecurring": null, // Perdas pela Não Recuperabilidade de Ativos
        "otherOperatingExpenses": -10922000000, // Outras Despesas Operacionais
        "totalOperatingExpenses": 337728000000, // Despesas/Receitas Operacionais
        "operatingIncome": 303528000000, // Resultado Antes do Resultado Financeiro e dos Tributos
        "totalOtherIncomeExpenseNet": -28530000000, // Resultado Financeiro
        "ebit": 303528000000, // Resultado Antes dos Tributos sobre o Lucro (EBIT - Earnigs Before Interest and Taxes)
        "interestExpense": -13790000000, // Despesas Financeiras
        "incomeBeforeTax": 274998000000, // Resultado Antes dos Tributos sobre o Lucro
        "incomeTaxExpense": 85993000000, // Imposto de Renda e Contribuição Social sobre o Lucro
        "minorityInterest": 1791000000, // Participação de acionistas minoritários
        "netIncomeFromContinuingOps": 189005000000, // Resultado Líquido das Operações Continuadas
        "discontinuedOperations": null, // Resultado Líquido de Operações Descontinuadas
        "extraordinaryItems": null, // Itens Extraordinários
        "effectOfAccountingCharges": null, // Efeito das Mudanças nas Contas
        "otherItems": null, // Outros itens
        "netIncome": 188328000000, // Lucro/Prejuízo do Período (Lucro líquido)
        "netIncomeApplicableToCommonShares": 188328000000 // Lucro/Prejuízo do Período Atribuído a Sócios da Empresa Controladora
      }
      // + outros anos ou trimestres
    ]
  }
}

Cálculo do NOPAT

Usando o operatingIncome e incomeBeforeTax para calcular o taxRate

taxRate=incomeTaxExpenseincomeBeforeTaxtaxRate = \frac{incomeTaxExpense}{incomeBeforeTax}

taxRate=85993000000274998000000taxRate = \frac{85993000000}{274998000000}

taxRate=0.31272taxRate = 0.31272

taxRate=31.27%taxRate = 31.27\%

NOPAT=operatingIncome×(1taxRate)NOPAT = operatingIncome \times (1 - taxRate)

NOPAT=303528000000×(10.31272)NOPAT = 303528000000 \times (1 - 0.31272)

NOPAT=208608723840NOPAT = 208608723840

Usando o EBIT e incomeTaxExpense para calcular o NOPAT

NOPAT=EBITincomeTaxExpenseNOPAT = EBIT - incomeTaxExpense

NOPAT=30352800000085993000000NOPAT = 303528000000 - 85993000000

NOPAT=217535000000NOPAT = 217535000000

Cálculo do Capital Investido

CapitalInvestido=totalAssetsaccountsPayablecashCapitalInvestido = totalAssets - accountsPayable - cash

CapitalInvestido=9767090000002850700000041723000000CapitalInvestido = 976709000000 - 28507000000 - 41723000000

CapitalInvestido=906479000000CapitalInvestido = 906479000000

Cálculo do ROIC

ROIC=NOPATCapitalInvestidoROIC=\frac{NOPAT}{CapitalInvestido}

ROIC=217535000000906479000000ROIC=\frac{217535000000}{906479000000}

ROIC=0.2401ROIC=0.2401

ROIC=24.01%ROIC=24.01\%

Conclusão

Como você pode ver, é possível calcular o ROIC usando os dados fornecidos pela API da brapi. Embora não tenhamos um endpoint que faça esses cálculos automaticamente, você pode facilmente pegar os dados necessários e fazer os cálculos por conta própria.

Também temos o ROA (Return on Assets), o ROE (Return on Equity) e vários outros indicadores já calculados no módulo financialData:

{
  "financialData": {
    "returnOnAssets": 0.13949001, // Retorno sobre ativos
    "returnOnEquity": 0.36110002, // Retorno sobre patrimônio líquido
    "currentPrice": 35.27, // Preço atual
    "targetHighPrice": 49, // Preço alvo alto
    "targetLowPrice": 26, // Preço alvo baixo
    "targetMeanPrice": 38.5, // Preço alvo médio
    "targetMedianPrice": 38.5, // Preço alvo mediano
    "recommendationMean": 2.5, // Recomendação média
    "recommendationKey": "buy", // Recomendação
    "numberOfAnalystOpinions": 12, // Número de opiniões de analistas
    "totalCash": 67147001856, // Caixa total
    "totalCashPerShare": 5.159, // Caixa total por ação
    "ebitda": 265149005824, // EBITDA - Earnings Before Interest, Taxes, Depreciation and Amortization (Lucro antes de juros, impostos, depreciação e amortização)
    "totalDebt": 305451008000, // Dívida total
    "quickRatio": 0.638, // Liquidez imediata
    "currentRatio": 0.953, // Liquidez corrente
    "totalRevenue": 536315002880, // Receita total
    "debtToEquity": 78.828, // Dívida / Patrimônio líquido
    "revenuePerShare": 41.123, // Receita por ação
    "grossProfits": 334100000000, // Lucro bruto
    "freeCashflow": 191622742016, // Fluxo de caixa livre
    "operatingCashflow": 225613004800, // Fluxo de caixa operacional
    "earningsGrowth": -0.422, // Crescimento dos lucros
    "revenueGrowth": -0.266, // Crescimento da receita
    "grossMargins": 0.51079, // Margem bruta
    "ebitdaMargins": 0.49438998, // Margem EBITDA
    "operatingMargins": 0.40989, // Margem operacional
    "profitMargins": 0.25527, // Margem de lucro
    "financialCurrency": "BRL" // Moeda
  }
}

Temos a documentação dessa parte da API aqui: https://brapi.dev/docs/acoes#modules-opcional (opens in a new tab)

Referências