Índice de Liquidez Seca

cntdd
Pacotes
Autor

Kléber

Data de Publicação

2 de março de 2020

Descrição

Essa função calcula o Índice de Liquidez Seca baseado em vetores relativos às contas de ativo circulante e passivo circulante. Apresenta como resultado uma lista com 5 itens:

  1. Gráfico se o parâmetro plot for TRUE ou T, mostra um gráfico com a evolução da Liquidez Seca da empresa durante os períodos. Se for FALSE ou F, o gráfico não é apresentado;

  2. Contas que corresponde ao banco de dados com as contas informadas para cálculo do indicador;

  3. Índice o índice de Liquidez Seca dos períodos informados;

  4. Análise Vertical Análise Vertical das contas informadas no item 1;

  5. Análise Horizontal Análise Horizontal das contas informadas no item 1.

Todos os itens da lista são bancos de dados no formato tibble que podem ser usados individualmente durante o processo de análise de dados.

Como Usar

ind_liqSeca(
  indicador = "Liq Seca",
  periodo = 2019:2020,
  cxEquiv = c(8, 10),
  estoque = c(150, 200),
  ctaRecCP = c(400, 300),
  outAtvCirc = c(1, 3),
  fornec = c(50, 20),
  dividasCP = c(30, 40),
  outPasCirc = c(10, 8),
  atvTotal = c(900, 800),
  plot = T
)

Argumentos

Parâmetro Descrição
indicador Um vetor tipo character com o nome do indicador
periodo Vetor numérico indicando o período da análise
cxEquiv Vetor com os valores do caixa e equivalentes de caixa (Ativo Circulante)
estoque Vetor com os valores do estoque (Ativo Circulante)
ctaRecCP Vetor com os valores do contas a receber (Ativo Circulante)
outAtvCirc Vetor com os valores de outros ativos circulantes (Ativo Circulante)
fornec Vetor com os valores de fornecedores (Passivo Circulante)
dividasCP Vetor com os valores de empréstimos e financiamentos de curto prazo (Passivo Circulante)
outPasCirc Vetor com os valores de outros passivos circulantes (Passivo Circulante)
atvTotal Vetor com os valores do Ativo Total
plot Mostra gráfico? (TRUE/FALSE)

Detalhes

Liquidez seca é uma medida financeira que indica a capacidade de uma empresa de cumprir suas obrigações de curto prazo sem a necessidade de recorrer a seus estoques. Demonstra, portanto, a capacidade de uma empresa de pagar suas dívidas imediatas com ativos líquidos que não incluem seus estoques.

Essa medida é importante porque ajuda a avaliar a capacidade da empresa de lidar com eventuais problemas financeiros, como quedas de vendas ou aumento de despesas, sem afetar suas operações. Além disso, é um indicador importante para os investidores, pois empresas com alta liquidez seca são consideradas menos arriscadas, já que têm maior capacidade de honrar suas obrigações de curto prazo.

Indicamos essa análise quando a empresa apresentar dificuldade com o giro de seus estoques. Em codições normais, não haveria motivos para a empresa não conseguir rotacionar seus estoques. Quando há indicativos de que a rotação dos estoques ficará prejudicada, esse indicador poderá representar melhor a capacidade das empresas em quitar suas dívidas de curto prazo.

É representado pela fórmula:

\[ \frac{AC - Est}{PC} \]

em que: AC é o Ativo Circulante, Est é o estoque e PC é o Passivo Circulante

Para melhorar o processo de análise, desmembramos os valores de Ativos Circulante e Passivo Circulante da seguinte forma: AC = cxEquiv + estoque + ctaRecCP + outAtvCirc e para PC = fornec + dividasCP + outPasCirc. O detalhe de cada conta foi apresentado na seção Argumentos.

Considernado o desmembramento das contas tem-se que a liquidez seca corresponde a:

\[ \frac{(cxEquiv + ctaRecCP + outAtvCirc)}{(fornec + dividasCP + outPasCirc)} \]

A equação deve contemplar todas as contas do ativo circulante com exceção da conta estoque.

Exemplo:

Para utilizar a função ind_liqSeca precisamos carregar o pacote cntdd.

Após carregar o pacote, vamos simular uma situação em que temos os valores e queremos lançá-los, individualmente na função. Para cada parâmetro, precisamos informar os valores correspondentes. Importante observar que a quantidade de valores nas contas deve ser igual ao número de períodos informados no parâmetro periodo.

No exemplo abaixo, informamos os anos de 2018 a 2020 (3 anos) por meio do vetor com a sequência 2018:2020. O nome que escolhemos para indicador foi Liquidez Seca. Os demais vetores correspondem aos valores das contas (3 valores) para cálculo do indicador. Também escolhemos que nessa análise deveria ser apresentado um gráfico do indicador, então atribuímos o valor T ou TRUE para o parâmetro plot.

ind_liqSeca(
indicador  = "Liquidez Seca",
periodo    = 2018:2020,
cxEquiv    = c(500,300,400),
estoque    = c(2000,3000,4000),
ctaRecCP   = c(2500, 5000, 2800),
outAtvCirc = c(20, 35, 80),
fornec     = c(1200, 1400, 1600),
dividasCP  = c(500, 200, 750),
outPasCirc = c(30, 20, 40),
atvTotal   = c(10000, 12000, 11000),
plot = T)

$Contas
# A tibble: 8 × 4
  conta      `2018` `2019` `2020`
  <chr>       <dbl>  <dbl>  <dbl>
1 cxEquiv       500    300    400
2 estoque      2000   3000   4000
3 ctaRecCP     2500   5000   2800
4 outAtvCirc     20     35     80
5 fornec       1200   1400   1600
6 dividasCP     500    200    750
7 outPasCirc     30     20     40
8 atvTotal    10000  12000  11000

$Indice
# A tibble: 1 × 4
  conta         `2018` `2019` `2020`
  <chr>          <dbl>  <dbl>  <dbl>
1 Liquidez Seca   1.75   3.29   1.37

$`Analise Vertical`
# A tibble: 7 × 4
  conta         `2018` `2019` `2020`
  <chr>         <chr>  <chr>  <chr> 
1 AV.cxEquiv    5,00%  2,50%  3,64% 
2 AV.Estoque    20,00% 25,00% 36,36%
3 AV.ctaRecCP   25,00% 41,67% 25,45%
4 AV.outAtvCirc 0,20%  0,29%  0,73% 
5 AV.fornec     12,00% 11,67% 14,55%
6 AV.dividasCP  5,00%  1,67%  6,82% 
7 AV.outPasCirc 0,30%  0,17%  0,36% 

$`Analise Horizontal`
# A tibble: 7 × 3
  conta         `2019`  `2020` 
  <chr>         <chr>   <chr>  
1 AH.CxEquiv    -40,00% 33,33% 
2 AH.Estoque    50,00%  33,33% 
3 AH.ctaRecCP   100,00% -44,00%
4 AH.outAtvCirc 75,00%  128,57%
5 AH.fornec     16,67%  14,29% 
6 AH.dividasCP  -60,00% 275,00%
7 AH.outPasCirc -33,33% 100,00%

Como esperado, foi apresentado o gráfico da Liquidez Seca, mais 4 itens: Contas, Índice, Análise Vertical e Análise Horizontal. Agora, é só analisar o indicador com as respectivas contas que o compõe.

Para uma análise mais específica, vamos admitir que queremos apenas o item Índice. Vamos mostrar como captar apenas esse item e mostrá-lo em uma tabela com melhor design. O design da tabela será dado pelo pacote kableExtra, então vamos carregá-lo. Vamos carregar, também, o pacote dplyr para fazer a análise dos dados.

library(cntdd)
library(kableExtra)
# Usamos suppressWarnings e suppressMessages para omitir mensagens e avisos
# durante o carregamento do pacote dplyr
suppressWarnings(suppressMessages(
  library(dplyr)
  ))

Também vamos extrair os dados diretamente banco de dados dt_contabil do pacote cntdd. Nesse procedimento, não precisamos digitar cada vetor dos para os parâmetros. No banco de dados dt_contabil temos mais uma empresa, filtramos apenas a empresa alpha para fazer nossas análises.

dadosAlpha <- dt_contabil %>% filter(empresa == "alpha")

Definimos o nome do nosso banco de dados para análise como dadosAlpha. Vamos ver sua estrutura:

glimpse(dadosAlpha)
Rows: 6
Columns: 38
$ empresa           <chr> "alpha", "alpha", "alpha", "alpha", "alpha", "alpha"
$ ano               <int> 2016, 2017, 2018, 2019, 2020, 2021
$ caixaEquiv        <int> 5198, 10517, 8803, 14299, 39659, 34950
$ aplicFinanc       <int> 246286, 339427, 235388, 273264, 541474, 236951
$ clientesCP        <int> 326524, 348944, 396347, 428123, 620133, 818424
$ estoques          <int> 114409, 117527, 156229, 185886, 301247, 466517
$ outrosAtvCirc     <int> 38943, 69255, 75196, 113989, 118040, 148544
$ atvCirc           <int> 731360, 885670, 871963, 1015561, 1620553, 1705386
$ clientesLP        <int> 14162, 11898, 11101, 10772, 2655, 4428
$ investimento      <int> 937, 3029, 3442, 3124, 3123, 2963
$ imobilizado       <int> 75651, 70042, 86161, 314902, 327555, 418239
$ intangLiquido     <int> 89019, 82011, 69558, 77717, 859397, 1051033
$ outrosAtvNaoCirc  <int> 28299, 34609, 39993, 41462, 120057, 304066
$ atvNaoCirc        <int> 208068, 201589, 210255, 447977, 1312787, 1780729
$ forneced          <int> 68809, 108131, 114039, 139769, 413394, 595164
$ empFinCP          <int> 81780, 169555, 45542, 163852, 248004, 514541
$ outrosPassCirc    <int> 58423, 91836, 105413, 177572, 282452, 463348
$ passivoCirc       <int> 209012, 369522, 264994, 481193, 943850, 1573053
$ empFinLP          <int> 28042, 18657, 69839, 23364, 408834, 39075
$ outrosPassNaoCirc <int> 8844, 10457, 10730, 186361, 184069, 225330
$ passivoNaoCirc    <int> 36886, 29114, 80569, 209725, 592903, 264405
$ patLiquido        <int> 693530, 688623, 736655, 772620, 1396587, 1648657
$ ativoTotal        <int> 939428, 1087259, 1082219, 1463539, 2933340, 3486116
$ receita           <int> 1283203, 1408886, 1580984, 1738990, 1647607, 3027870
$ custoMercVend     <int> 714366, 762921, 845023, 935693, 865520, 1434437
$ despVendas        <int> 313479, 346107, 392405, 439467, 548811, 915882
$ despAdm           <int> 96149, 117866, 145877, 190560, 168007, 327469
$ despOperac        <int> 412126, 466152, 537875, 572255, 686700, 1108236
$ receitaFinanc     <int> 36926, 35051, 41463, 25599, 67862, 43884
$ despesaFinanc     <int> 31050, 25420, 63502, 44422, 106750, 110857
$ impostoRenda      <int> 42304, 29475, 28327, 44309, 6186, 62273
$ depreciacao       <int> 26733, 33793, 42336, 83180, 83989, 109511
$ ebit              <int> 156710, 179811, 198085, 231041, 95386, 485197
$ lucroLiquido      <int> 120282, 159966, 147719, 167908, 50312, 357519
$ lair              <int> 162586, 189442, 176047, 212218, 56499, 418225
$ flxCxOper         <int> 105328, 180074, 122029, 212172, 228155, 250547
$ flxCxInvest       <int> -21703, -94960, 74806, -88448, -307860, -11155
$ flxCxFinanc       <int> -87013, -79850, -199408, -118347, 105061, -241822

Agora vamos rodar a função ind_liqSeca com os dados do banco de dados dadosAlpha. Vamos chamar o indicador de “Liquidez Seca” e não vamos pedir para apresentar o gráfico (plot = F). Como queremos usar apenas o item Índice vamos definir um objeto chamado dadosLiqSeca para assumir o resultado da função.

dadosLiqSeca <-
  ind_liqSeca(
    indicador  = "Liquidez Seca",
    periodo    = dadosAlpha$ano,
    cxEquiv    = dadosAlpha$caixaEquiv,
    estoque    = dadosAlpha$estoques,
    ctaRecCP   = dadosAlpha$clientesCP,
    outAtvCirc = dadosAlpha$outrosAtvCirc,
    fornec     = dadosAlpha$forneced,
    dividasCP  = dadosAlpha$empFinCP,
    outPasCirc = dadosAlpha$outrosPassCirc,
    atvTotal   = dadosAlpha$ativoTotal,
    plot = F
    )

Como definimos um objeto (dadosLiqSeca), não temos o resultado diretamente. Agora vamos acessar o objeto dadosLiqSeca e requisitar apenas o item Índice e logo após vamos definir um design básico de tabela.

dadosLiqSeca$Índice %>% 
  kbl(
    caption = "Indicadores de Liquidez Seca da Empresa Alpha de 2016 a 2021",
    align = c("lcccccc"),
    digits = 2) %>% 
  kable_minimal()
Indicadores de Liquidez Seca da Empresa Alpha de 2016 a 2021

Agora é só analisar!

Quem contribuiu

Kléber: Construiu a função e o arquivo de ajuda para o blog.

De volta ao topo