Whiz Tools

Valores de Entrada

Resultado

La Puntuación Z de Altman ayuda a evaluar el riesgo crediticio de una empresa. Una puntuación más alta indica un menor riesgo de quiebra en dos años.

Calculadora del Z-Score de Altman

Introducción

El Z-Score de Altman es un modelo financiero desarrollado por Edward I. Altman en 1968 para predecir la probabilidad de que una empresa quiebre en un plazo de dos años. Combina cinco ratios financieros clave utilizando una suma ponderada para evaluar la salud financiera de una empresa. El Z-Score es ampliamente utilizado por inversores, acreedores y analistas financieros para evaluar el riesgo crediticio.

Fórmula

El Z-Score de Altman se calcula utilizando la siguiente fórmula:

Z=1.2X1+1.4X2+3.3X3+0.6X4+1.0X5Z = 1.2X_1 + 1.4X_2 + 3.3X_3 + 0.6X_4 + 1.0X_5

Donde:

  • X1=Capital de TrabajoTotal de ActivosX_1 = \frac{\text{Capital de Trabajo}}{\text{Total de Activos}}
  • X2=Utilidades RetenidasTotal de ActivosX_2 = \frac{\text{Utilidades Retenidas}}{\text{Total de Activos}}
  • X3=Ganancias Antes de Intereses e Impuestos (EBIT)Total de ActivosX_3 = \frac{\text{Ganancias Antes de Intereses e Impuestos (EBIT)}}{\text{Total de Activos}}
  • X4=Valor de Mercado del PatrimonioTotal de PasivosX_4 = \frac{\text{Valor de Mercado del Patrimonio}}{\text{Total de Pasivos}}
  • X5=VentasTotal de ActivosX_5 = \frac{\text{Ventas}}{\text{Total de Activos}}

Explicación de Variables

  • Capital de Trabajo (WC): Activos Corrientes menos Pasivos Corrientes. Indica la liquidez financiera a corto plazo.
  • Utilidades Retenidas (RE): Beneficios acumulados reinvertidos en la empresa. Refleja la rentabilidad a largo plazo.
  • EBIT: Ganancias antes de intereses e impuestos. Mide la eficiencia operativa.
  • Valor de Mercado del Patrimonio (MVE): Número de acciones en circulación multiplicado por el precio actual de la acción. Representa la confianza de los accionistas.
  • Total de Pasivos (TL): Suma de pasivos corrientes y a largo plazo.
  • Ventas: Ingresos totales por bienes o servicios vendidos.
  • Total de Activos (TA): Suma de activos corrientes y no corrientes.

Cálculo

Guía Paso a Paso

  1. Calcular Ratios Financieros:

    • X1=WCTAX_1 = \frac{\text{WC}}{\text{TA}}
    • X2=RETAX_2 = \frac{\text{RE}}{\text{TA}}
    • X3=EBITTAX_3 = \frac{\text{EBIT}}{\text{TA}}
    • X4=MVETLX_4 = \frac{\text{MVE}}{\text{TL}}
    • X5=VentasTAX_5 = \frac{\text{Ventas}}{\text{TA}}
  2. Aplicar Pesos a Cada Ratio:

    • Multiplicar cada ratio XX por su coeficiente correspondiente.
  3. Sumar los Ratios Ponderados:

    • Z=1.2X1+1.4X2+3.3X3+0.6X4+1.0X5Z = 1.2X_1 + 1.4X_2 + 3.3X_3 + 0.6X_4 + 1.0X_5

Ejemplo Numérico

Supongamos que una empresa tiene los siguientes datos financieros (en millones de USD):

  • Capital de Trabajo (WC): $50 millones
  • Utilidades Retenidas (RE): $200 millones
  • EBIT: $100 millones
  • Valor de Mercado del Patrimonio (MVE): $500 millones
  • Total de Pasivos (TL): $400 millones
  • Ventas: $600 millones
  • Total de Activos (TA): $800 millones

Calculando los Ratios:

  • X1=50800=0.0625X_1 = \frac{50}{800} = 0.0625
  • X2=200800=0.25X_2 = \frac{200}{800} = 0.25
  • X3=100800=0.125X_3 = \frac{100}{800} = 0.125
  • X4=500400=1.25X_4 = \frac{500}{400} = 1.25
  • X5=600800=0.75X_5 = \frac{600}{800} = 0.75

Calculando el Z-Score:

Z=1.2(0.0625)+1.4(0.25)+3.3(0.125)+0.6(1.25)+1.0(0.75)=0.075+0.35+0.4125+0.75+0.75=2.3375\begin{align*} Z &= 1.2(0.0625) + 1.4(0.25) + 3.3(0.125) + 0.6(1.25) + 1.0(0.75) \\ &= 0.075 + 0.35 + 0.4125 + 0.75 + 0.75 \\ &= 2.3375 \end{align*}

Interpretación

  • Z-Score > 2.99: Zona Segura – Baja probabilidad de quiebra.
  • 1.81 < Z-Score < 2.99: Zona Gris – Riesgo incierto; se aconseja precaución.
  • Z-Score < 1.81: Zona de Distress – Alta probabilidad de quiebra.

Resultado: Un Z-Score de 2.34 coloca a la empresa en la Zona Gris, indicando una posible inestabilidad financiera.

Casos Límite y Limitaciones

  • Valores Negativos: Entradas negativas para ingresos netos, utilidades retenidas o capital de trabajo pueden reducir significativamente el Z-Score.
  • Aplicabilidad: El modelo original es más adecuado para empresas manufactureras que cotizan en bolsa.
  • Diferencias Industriales: Empresas no manufactureras, privadas y de mercados emergentes pueden requerir modelos ajustados (por ejemplo, Z'-Score, Z''-Score).
  • Condiciones Económicas: Los factores macroeconómicos no se consideran en el modelo.

Casos de Uso

Aplicaciones

  • Predicción de Quiebras: Detección temprana de distress financiero.
  • Análisis Crediticio: Asistir a los prestamistas en la evaluación de riesgos de préstamos.
  • Decisiones de Inversión: Guiar a los inversores hacia empresas financieramente estables.
  • Estrategia Corporativa: Ayudar a la dirección a evaluar la salud financiera y hacer ajustes estratégicos.

Alternativas

Modelos Z'-Score y Z''-Score
  • Z'-Score: Adaptado para empresas manufactureras privadas.
  • Z''-Score: Ajustado aún más para empresas no manufactureras y de mercados emergentes.
Otros Modelos
  • Ohlson O-Score: Un modelo de regresión logística que predice el riesgo de quiebra.
  • Zmijewski Score: Una alternativa de modelo probit centrada en el distress financiero.

Cuándo Usar Alternativas:

  • Para empresas fuera del sector manufacturero.
  • Al evaluar empresas privadas o no cotizadas.
  • En diferentes contextos económicos o regiones geográficas.

Historia

Edward Altman introdujo el modelo Z-Score en 1968 en medio de un aumento de quiebras corporativas. Utilizando análisis discriminante múltiple (MDA), Altman analizó 66 empresas para identificar los ratios financieros clave predictivos de quiebras. El modelo ha sido refinado desde entonces y sigue siendo una herramienta fundamental en la evaluación del riesgo crediticio.

Consideraciones Adicionales

Impacto de la Manipulación Financiera

  • Las empresas pueden participar en prácticas contables que inflan temporalmente los ratios financieros.
  • Es crucial considerar factores cualitativos junto con los puntajes cuantitativos.

Integración con Otras Métricas

  • Combinar el Z-Score con otros análisis (por ejemplo, análisis de flujo de caja, tendencias del mercado).
  • Usar como parte de un proceso de debida diligencia integral.

Ejemplos de Código

Excel

' Función VBA de Excel para el Cálculo del Z-Score de Altman
Function AltmanZScore(wc As Double, re As Double, ebit As Double, mve As Double, tl As Double, sales As Double, ta As Double) As Double
    Dim X1 As Double, X2 As Double, X3 As Double, X4 As Double, X5 As Double
    
    X1 = wc / ta
    X2 = re / ta
    X3 = ebit / ta
    X4 = mve / tl
    X5 = sales / ta
    
    AltmanZScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
End Function

' Uso en una celda:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Donde A1 a G1 contienen los valores de entrada respectivos

Python

## Cálculo del Z-Score de Altman en Python
def calculate_z_score(wc, re, ebit, mve, tl, sales, ta):
    X1 = wc / ta
    X2 = re / ta
    X3 = ebit / ta
    X4 = mve / tl
    X5 = sales / ta
    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
    return z_score

## Ejemplo de uso:
wc = 50
re = 200
ebit = 100
mve = 500
tl = 400
sales = 600
ta = 800

z = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
print(f"Z-Score de Altman: {z:.2f}")

JavaScript

// Cálculo del Z-Score de Altman en JavaScript
function calculateZScore(wc, re, ebit, mve, tl, sales, ta) {
  const X1 = wc / ta;
  const X2 = re / ta;
  const X3 = ebit / ta;
  const X4 = mve / tl;
  const X5 = sales / ta;
  const zScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
  return zScore;
}

// Ejemplo de uso:
const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
console.log(`Z-Score de Altman: ${zScore.toFixed(2)}`);

Java

// Cálculo del Z-Score de Altman en Java
public class AltmanZScore {
    public static double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
        double X1 = wc / ta;
        double X2 = re / ta;
        double X3 = ebit / ta;
        double X4 = mve / tl;
        double X5 = sales / ta;
        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
    }

    public static void main(String[] args) {
        double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
        System.out.printf("Z-Score de Altman: %.2f%n", zScore);
    }
}

R

## Cálculo del Z-Score de Altman en R
calculate_z_score <- function(wc, re, ebit, mve, tl, sales, ta) {
  X1 <- wc / ta
  X2 <- re / ta
  X3 <- ebit / ta
  X4 <- mve / tl
  X5 <- sales / ta
  z_score <- 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
  return(z_score)
}

## Ejemplo de uso:
z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
cat("Z-Score de Altman:", round(z_score, 2))

MATLAB

% Cálculo del Z-Score de Altman en MATLAB
function z_score = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
    X1 = wc / ta;
    X2 = re / ta;
    X3 = ebit / ta;
    X4 = mve / tl;
    X5 = sales / ta;
    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
end

% Ejemplo de uso:
z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
fprintf('Z-Score de Altman: %.2f\n', z_score);

C++

// Cálculo del Z-Score de Altman en C++
#include <iostream>

double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
    double X1 = wc / ta;
    double X2 = re / ta;
    double X3 = ebit / ta;
    double X4 = mve / tl;
    double X5 = sales / ta;
    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
}

int main() {
    double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
    std::cout << "Z-Score de Altman: " << zScore << std::endl;
    return 0;
}

C#

// C# Cálculo del Z-Score de Altman
using System;

class Program
{
    static double CalculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta)
    {
        double X1 = wc / ta;
        double X2 = re / ta;
        double X3 = ebit / ta;
        double X4 = mve / tl;
        double X5 = sales / ta;
        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
    }

    static void Main()
    {
        double zScore = CalculateZScore(50, 200, 100, 500, 400, 600, 800);
        Console.WriteLine($"Z-Score de Altman: {zScore:F2}");
    }
}

Go

// Cálculo del Z-Score de Altman en Go
package main

import (
    "fmt"
)

func calculateZScore(wc, re, ebit, mve, tl, sales, ta float64) float64 {
    X1 := wc / ta
    X2 := re / ta
    X3 := ebit / ta
    X4 := mve / tl
    X5 := sales / ta
    return 1.2*X1 + 1.4*X2 + 3.3*X3 + 0.6*X4 + X5
}

func main() {
    zScore := calculateZScore(50, 200, 100, 500, 400, 600, 800)
    fmt.Printf("Z-Score de Altman: %.2f\n", zScore)
}

Swift

// Cálculo del Z-Score de Altman en Swift
func calculateZScore(wc: Double, re: Double, ebit: Double, mve: Double, tl: Double, sales: Double, ta: Double) -> Double {
    let X1 = wc / ta
    let X2 = re / ta
    let X3 = ebit / ta
    let X4 = mve / tl
    let X5 = sales / ta
    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
}

// Ejemplo de uso:
let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
print(String(format: "Z-Score de Altman: %.2f", zScore))

Referencias

  1. Altman, E. I. (1968). Ratios Financieros, Análisis Discriminante y la Predicción de Quiebras Corporativas. The Journal of Finance, 23(4), 589–609.
  2. Z-Score de Altman. Wikipedia. Recuperado de https://es.wikipedia.org/wiki/Z-score_de_Altman
  3. Investopedia - Z-Score de Altman. Recuperado de https://www.investopedia.com/terms/a/altman.asp
Loading related tools...
Feedback