Ulazne vrednosti
Rezultat
Altman Z-Score pomaže u proceni kreditnog rizika kompanije. Viši rezultat ukazuje na manji rizik od bankrota u roku od dve godine.
Altman Z-Score Kalkulator
Uvod
Altman Z-Score je finansijski model koji je razvio Edward I. Altman 1968. godine kako bi predvideo verovatnoću bankrota kompanije u roku od dve godine. Kombinuje pet ključnih finansijskih odnosa koristeći ponderisani zbir kako bi procenio finansijsko zdravlje kompanije. Z-Score se široko koristi od strane investitora, poverilaca i finansijskih analitičara za ocenu kreditnog rizika.
Formula
Altman Z-Score se izračunava korišćenjem sledeće formule:
Gde:
Objašnjenje varijabli
- Radni kapital (WC): Trenutna aktiva minus trenutne obaveze. Ukazuje na kratkoročnu finansijsku likvidnost.
- Zadržana dobit (RE): Kumulativna dobit reinvestirana u kompaniju. Odražava dugoročnu profitabilnost.
- EBIT: Dobit pre kamata i poreza. Mera operativne efikasnosti.
- Tržišna vrednost kapitala (MVE): Broj izdatih akcija pomnožen sa trenutnom cenom akcije. Predstavlja poverenje akcionara.
- Ukupne obaveze (TL): Zbir trenutnih i dugoročnih obaveza.
- Prodaja: Ukupni prihod od prodate robe ili usluga.
- Ukupna aktiva (TA): Zbir trenutnih i nekontaktnih aktiva.
Izračunavanje
Vodič korak po korak
-
Izračunajte finansijske odnose:
-
Primena težina na svaki odnos:
- Pomnožite svaki odnos sa njegovim odgovarajućim koeficijentom.
-
Zbir ponderisanih odnosa:
Numerički primer
Pretpostavimo da kompanija ima sledeće finansijske podatke (u milionima USD):
- Radni kapital (WC): $50 miliona
- Zadržana dobit (RE): $200 miliona
- EBIT: $100 miliona
- Tržišna vrednost kapitala (MVE): $500 miliona
- Ukupne obaveze (TL): $400 miliona
- Prodaja: $600 miliona
- Ukupna aktiva (TA): $800 miliona
Izračunavanje odnosa:
Izračunavanje Z-Score:
Tumačenje
- Z-Score > 2.99: Sigurna zona – Niska verovatnoća bankrota.
- 1.81 < Z-Score < 2.99: Siva zona – Neizvesni rizik; savetuje se oprez.
- Z-Score < 1.81: Zona stresa – Visoka verovatnoća bankrota.
Rezultat: Z-Score od 2.34 postavlja kompaniju u Sivu zonu, što ukazuje na potencijalnu finansijsku nestabilnost.
Iste slučajevi i ograničenja
- Negativne vrednosti: Negativne vrednosti za neto dobit, zadržanu dobit ili radni kapital mogu značajno smanjiti Z-Score.
- Primena: Originalni model je najbolje prilagođen za javne proizvodne kompanije.
- Industrijske razlike: Neproizvodne, privatne i kompanije iz tržišta u razvoju mogu zahtevati prilagođene modele (npr. Z'-Score, Z''-Score).
- Ekonomski uslovi: Makroekonomski faktori nisu uzeti u obzir u modelu.
Upotreba
Aplikacije
- Predikcija bankrota: Rano otkrivanje finansijskog stresa.
- Kreditna analiza: Pomoć zajmodavcima u proceni rizika od zajma.
- Investicione odluke: Usmeravanje investitora ka finansijski stabilnim kompanijama.
- Korporativna strategija: Pomoć menadžmentu u proceni finansijskog zdravlja i donošenju strateških prilagođavanja.
Alternativa
Z'-Score i Z''-Score modeli
- Z'-Score: Prilagođen za privatne proizvodne kompanije.
- Z''-Score: Dalje prilagođen za neproizvodne i kompanije iz tržišta u razvoju.
Ostali modeli
- Ohlson O-Score: Model logističke regresije koji predviđa rizik od bankrota.
- Zmijewski Score: Alternativa probit modelu koja se fokusira na finansijski stres.
Kada koristiti alternative:
- Za kompanije van proizvodnog sektora.
- Kada se procenjuju privatne ili javno nedostupne kompanije.
- U različitim ekonomskim kontekstima ili geografskim regionima.
Istorija
Edward Altman je uveo Z-Score model 1968. godine usred sve većih korporativnih bankrota. Koristeći višestranu diskriminantnu analizu (MDA), Altman je analizirao 66 kompanija kako bi identifikovao ključne finansijske odnose koji predviđaju bankrot. Model je od tada usavršavan i ostaje temeljni alat u oceni kreditnog rizika.
Dodatne napomene
Uticaj finansijske manipulacije
- Kompanije mogu koristiti računovodstvene prakse koje privremeno infliraju finansijske odnose.
- Važno je uzeti u obzir kvalitativne faktore uz kvantitativne rezultate.
Integracija sa drugim metrikama
- Kombinujte Z-Score sa drugim analizama (npr. analiza novčanog toka, tržišni trendovi).
- Koristite kao deo sveobuhvatnog procesa due diligence.
Primeri koda
Excel
' Excel VBA funkcija za izračunavanje 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
' Korišćenje u ćeliji:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Gde A1 do G1 sadrže odgovarajuće ulazne vrednosti
Python
## Izračunavanje Altman Z-Score u Pythonu
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
## Primer korišćenja:
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 Kalkulacija
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;
}
// Primer korišćenja:
const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
Java
// Java Altman Z-Score Kalkulacija
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 Kalkulacija
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)
}
## Primer korišćenja:
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 Kalkulacija
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
% Primer korišćenja:
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 Kalkulacija
#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 Kalkulacija
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 Kalkulacija
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 Kalkulacija
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
}
// Primer korišćenja:
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))
Reference
- Altman, E. I. (1968). Finansijski odnosi, diskriminantna analiza i predikcija korporativnog bankrota. Časopis finansija, 23(4), 589–609.
- Altman Z-Score. Wikipedia. Preuzeto sa https://en.wikipedia.org/wiki/Altman_Z-score
- Investopedia - Altman Z-Score. Preuzeto sa https://www.investopedia.com/terms/a/altman.asp