Indata
Resultat
Altman Z-poängen hjälper till att bedöma ett företags kreditrisk. En högre poäng indikerar lägre risk för konkurs inom två år.
Altman Z-Score Kalkylator
Introduktion
Altman Z-Score är en finansiell modell utvecklad av Edward I. Altman 1968 för att förutsäga sannolikheten för att ett företag går i konkurs inom två år. Den kombinerar fem nyckelfinansiella kvoter med hjälp av en viktad summa för att bedöma företagets finansiella hälsa. Z-Score används i stor utsträckning av investerare, borgenärer och finansiella analytiker för att utvärdera kreditrisk.
Formel
Altman Z-Score beräknas med följande formel:
Där:
Förklaring av variabler
- Rörelsekapital (WC): Omsättningstillgångar minus kortfristiga skulder. Indikerar kortsiktig finansiell likviditet.
- Balanserade vinster (RE): Ackumulerade vinster som återinvesterats i företaget. Återspeglar långsiktig lönsamhet.
- EBIT: Resultat före räntor och skatter. Mäter drifts effektivitet.
- Marknadsvärde av eget kapital (MVE): Antal utestående aktier multiplicerat med det aktuella aktiepriset. Representerar aktieägarnas förtroende.
- Totala skulder (TL): Summan av kortfristiga och långfristiga skulder.
- Försäljning: Totala intäkter från sålda varor eller tjänster.
- Totala tillgångar (TA): Summan av kortfristiga och långfristiga tillgångar.
Beräkning
Steg-för-steg-guide
-
Beräkna finansiella kvoter:
-
Tillämpa vikter på varje kvot:
- Multiplicera varje -kvot med dess motsvarande koefficient.
-
Summera de viktade kvoterna:
Numeriskt exempel
Anta att ett företag har följande finansiella data (i USD miljoner):
- Rörelsekapital (WC): $50 miljoner
- Balanserade vinster (RE): $200 miljoner
- EBIT: $100 miljoner
- Marknadsvärde av eget kapital (MVE): $500 miljoner
- Totala skulder (TL): $400 miljoner
- Försäljning: $600 miljoner
- Totala tillgångar (TA): $800 miljoner
Beräkning av kvoter:
Beräkning av Z-Score:
Tolkning
- Z-Score > 2.99: Säker zon – Låg sannolikhet för konkurs.
- 1.81 < Z-Score < 2.99: Grå zon – Osäker risk; försiktighet rekommenderas.
- Z-Score < 1.81: Nödsituation – Hög sannolikhet för konkurs.
Resultat: En Z-Score på 2.34 placerar företaget i Grå zon, vilket indikerar potentiell finansiell instabilitet.
Gränsfall och begränsningar
- Negativa värden: Negativa ingångar för nettoinkomst, balanserade vinster eller rörelsekapital kan sänka Z-Score avsevärt.
- Tillämpbarhet: Den ursprungliga modellen är bäst lämpad för börsnoterade tillverkningsföretag.
- Branschskillnader: Icke-tillverknings-, privata och framväxande marknadsföretag kan kräva justerade modeller (t.ex. Z'-Score, Z''-Score).
- Ekonomiska förhållanden: Makroekonomiska faktorer beaktas inte i modellen.
Användningsfall
Tillämpningar
- Konkursförutsägelse: Tidig upptäckte av finansiell kris.
- Kreditanalys: Hjälpa långivare att utvärdera lånerisker.
- Investeringsbeslut: Vägleda investerare mot finansiellt stabila företag.
- Företagsstrategi: Hjälpa ledningen att bedöma finansiell hälsa och göra strategiska justeringar.
Alternativ
Z'-Score och Z''-Score-modeller
- Z'-Score: Anpassad för privata tillverkningsföretag.
- Z''-Score: Ytterligare justerad för icke-tillverknings- och framväxande marknadsföretag.
Andra modeller
- Ohlson O-Score: En logistisk regressionsmodell som förutspår konkursrisk.
- Zmijewski Score: Ett probitmodell-alternativ som fokuserar på finansiell kris.
När man ska använda alternativ:
- För företag utanför tillverkningssektorn.
- När man bedömer privata eller icke-börsnoterade företag.
- I olika ekonomiska sammanhang eller geografiska regioner.
Historia
Edward Altman introducerade Z-Score-modellen 1968 mitt under ökande företagskonkurser. Genom att använda multipel diskriminantanalys (MDA) analyserade Altman 66 företag för att identifiera nyckelfinansiella kvoter som är förutsägbara för konkurs. Modellen har sedan dess förfinats och förblir ett grundläggande verktyg inom kreditriskbedömning.
Ytterligare överväganden
Påverkan av finansiell manipulation
- Företag kan engagera sig i redovisningsmetoder som tillfälligt blåser upp finansiella kvoter.
- Det är avgörande att överväga kvalitativa faktorer tillsammans med kvantitativa poäng.
Integration med andra mått
- Kombinera Z-Score med andra analyser (t.ex. kassaflödesanalys, marknadstrender).
- Använd som en del av en omfattande due diligence-process.
Kodexempel
Excel
' Excel VBA-funktion för beräkning av 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
' Användning i en cell:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Där A1 till G1 innehåller respektive ingångsvärden
Python
## Altman Z-Score beräkning 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
## Exempel på användning:
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 beräkning
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;
}
// Exempel på användning:
const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
Java
// Java Altman Z-Score beräkning
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 beräkning
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)
}
## Exempel på användning:
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 beräkning
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
% Exempel på användning:
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 beräkning
#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 beräkning
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 beräkning
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 beräkning
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
}
// Exempel på användning:
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))
Referenser
- Altman, E. I. (1968). Finansiella kvoter, diskriminantanalys och förutsägelse av företagskonkurser. The Journal of Finance, 23(4), 589–609.
- Altman Z-Score. Wikipedia. Hämtad från https://en.wikipedia.org/wiki/Altman_Z-score
- Investopedia - Altman Z-Score. Hämtad från https://www.investopedia.com/terms/a/altman.asp