Whiz Tools

Indtast værdier

Resultat

Altman Z-Score hjælper med at vurdere en virksomheds kreditrisiko. En højere score indikerer lavere risiko for konkurs inden for to år.

Altman Z-Score Calculator

Introduktion

Altman Z-Score er en finansiel model udviklet af Edward I. Altman i 1968 til at forudsige sandsynligheden for, at en virksomhed går konkurs inden for to år. Den kombinerer fem nøglefinansielle forhold ved hjælp af en vægtet sum for at vurdere virksomhedens finansielle sundhed. Z-Score anvendes bredt af investorer, kreditorer og finansanalytikere til at evaluere kreditrisiko.

Formlen

Altman Z-Score beregnes ved hjælp af følgende formel:

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

Hvor:

  • X1=ArbejdskapitalSamlede aktiverX_1 = \frac{\text{Arbejdskapital}}{\text{Samlede aktiver}}
  • X2=Tilbageholdte indtjeningerSamlede aktiverX_2 = \frac{\text{Tilbageholdte indtjeninger}}{\text{Samlede aktiver}}
  • X3=Indtjening før renter og skat (EBIT)Samlede aktiverX_3 = \frac{\text{Indtjening før renter og skat (EBIT)}}{\text{Samlede aktiver}}
  • X4=Markedsværdi af egenkapitalSamlede forpligtelserX_4 = \frac{\text{Markedsværdi af egenkapital}}{\text{Samlede forpligtelser}}
  • X5=SalgSamlede aktiverX_5 = \frac{\text{Salg}}{\text{Samlede aktiver}}

Forklaring af variabler

  • Arbejdskapital (WC): Kortfristede aktiver minus kortfristede forpligtelser. Angiver kortsigtet finansiel likviditet.
  • Tilbageholdte indtjeninger (RE): Kumulative overskud, der geninvesteres i virksomheden. Afspejler langsigtet rentabilitet.
  • EBIT: Indtjening før renter og skat. Måler drifts effektivitet.
  • Markedsværdi af egenkapital (MVE): Antal udestående aktier ganget med den nuværende aktiekurs. Repræsenterer aktionærernes tillid.
  • Samlede forpligtelser (TL): Summen af kort- og langfristede forpligtelser.
  • Salg: Samlet indtægt fra solgte varer eller tjenester.
  • Samlede aktiver (TA): Summen af kort- og langfristede aktiver.

Beregning

Trin-for-trin guide

  1. Beregn finansielle forhold:

    • 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=SalgTAX_5 = \frac{\text{Salg}}{\text{TA}}
  2. Anvend vægte på hvert forhold:

    • Gang hver XX-forhold med dets tilsvarende koefficient.
  3. Summer de vægtede forhold:

    • 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

Numerisk eksempel

Antag, at en virksomhed har følgende finansielle data (i USD millioner):

  • Arbejdskapital (WC): $50 millioner
  • Tilbageholdte indtjeninger (RE): $200 millioner
  • EBIT: $100 millioner
  • Markedsværdi af egenkapital (MVE): $500 millioner
  • Samlede forpligtelser (TL): $400 millioner
  • Salg: $600 millioner
  • Samlede aktiver (TA): $800 millioner

Beregning af forholdene:

  • 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

Beregning af 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*}

Tolkning

  • Z-Score > 2.99: Sikker zone – Lav sandsynlighed for konkurs.
  • 1.81 < Z-Score < 2.99: Grå zone – Usikker risiko; forsigtighed anbefales.
  • Z-Score < 1.81: Nødsituation – Høj sandsynlighed for konkurs.

Resultat: En Z-Score på 2.34 placerer virksomheden i Grå zone, hvilket indikerer potentiel finansiel ustabilitet.

Grænsetilfælde og begrænsninger

  • Negative værdier: Negative input for nettoindkomst, tilbageholdte indtjeninger eller arbejdskapital kan betydeligt sænke Z-Score.
  • Anvendelighed: Den oprindelige model er bedst egnet til børsnoterede fremstillingsvirksomheder.
  • Brancheforskelle: Ikke-fremstillingsvirksomheder, private og virksomheder i nye markeder kan kræve justerede modeller (f.eks. Z'-Score, Z''-Score).
  • Økonomiske forhold: Makroøkonomiske faktorer tages ikke højde for i modellen.

Anvendelsestilfælde

Applikationer

  • Konkursforudsigelse: Tidlig påvisning af finansiel nød.
  • Kreditvurdering: Hjælpe långivere med at evaluere lånerisici.
  • Investeringsbeslutninger: Vejledning til investorer mod finansielt stabile virksomheder.
  • Virksomhedsstrategi: Hjælpe ledelsen med at vurdere finansiel sundhed og foretage strategiske justeringer.

Alternativer

Z'-Score og Z''-Score modeller
  • Z'-Score: Tilpasset til private fremstillingsvirksomheder.
  • Z''-Score: Yderligere justeret til ikke-fremstillingsvirksomheder og virksomheder i nye markeder.
Andre modeller
  • Ohlson O-Score: En logistisk regressionsmodel, der forudsiger konkursrisiko.
  • Zmijewski Score: Et probit modelalternativ, der fokuserer på finansiel nød.

Hvornår man skal bruge alternativer:

  • For virksomheder uden for fremstillingssektoren.
  • Når man vurderer private eller ikke-børsnoterede virksomheder.
  • I forskellige økonomiske sammenhænge eller geografiske regioner.

Historie

Edward Altman introducerede Z-Score-modellen i 1968 amid stigende virksomhedskonkurs. Ved at anvende multipel diskriminant analyse (MDA) analyserede Altman 66 virksomheder for at identificere nøglefinansielle forhold, der forudsiger konkurs. Modellen er siden blevet raffineret og forbliver et grundlæggende værktøj i kreditrisikovurdering.

Yderligere overvejelser

Indvirkning af finansiel manipulation

  • Virksomheder kan engagere sig i regnskabspraksis, der midlertidigt opblæser finansielle forhold.
  • Det er vigtigt at overveje kvalitative faktorer sammen med kvantitative scores.

Integration med andre metrics

  • Kombiner Z-Score med andre analyser (f.eks. pengestrømsanalyse, markedstendenser).
  • Brug som en del af en omfattende due diligence-proces.

Kodeeksempler

Excel

' Excel VBA-funktion til beregning af Altman Z-Score
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

' Brug i en celle:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Hvor A1 til G1 indeholder de respektive inputværdier

Python

## Altman Z-Score beregning i 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

## Eksempel på brug:
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"Altman Z-Score: {z:.2f}")

JavaScript

// JavaScript Altman Z-Score beregning
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;
}

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

Java

// Java Altman Z-Score beregning
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("Altman Z-Score: %.2f%n", zScore);
    }
}

R

## R Altman Z-Score beregning
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)
}

## Eksempel på brug:
z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
cat("Altman Z-Score:", round(z_score, 2))

MATLAB

% MATLAB Altman Z-Score beregning
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

% Eksempel på brug:
z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
fprintf('Altman Z-Score: %.2f\n', z_score);

C++

// C++ Altman Z-Score beregning
#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 << "Altman Z-Score: " << zScore << std::endl;
    return 0;
}

C#

// C# Altman Z-Score beregning
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($"Altman Z-Score: {zScore:F2}");
    }
}

Go

// Go Altman Z-Score beregning
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("Altman Z-Score: %.2f\n", zScore)
}

Swift

// Swift Altman Z-Score beregning
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
}

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

Referencer

  1. Altman, E. I. (1968). Finansielle forhold, diskriminant analyse og forudsigelse af virksomhedskonkurs. The Journal of Finance, 23(4), 589–609.
  2. Altman Z-Score. Wikipedia. Hentet fra https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Altman Z-Score. Hentet fra https://www.investopedia.com/terms/a/altman.asp
Loading related tools...
Feedback