🛠️

Whiz Tools

Build • Create • Innovate

Kalkulator Z-Score'a Altmana do oceny ryzyka kredytowego

Ten kalkulator Z-Score'a Altmana pomaga ocenić ryzyko kredytowe firmy, obliczając Z-Score Altmana.

Wskaźnik Z-Score Altmana

Wartości wejściowe

Wynik

Wskaźnik Z-Score Altmana pomaga ocenić ryzyko kredytowe firmy. Wyższy wynik oznacza niższe ryzyko bankructwa w ciągu dwóch lat.

📚

Dokumentacja

Kalkulator Z-Score'a Altmana

Wprowadzenie

Z-Score Altmana to model finansowy opracowany przez Edwarda I. Altmana w 1968 roku w celu przewidywania prawdopodobieństwa bankructwa firmy w ciągu dwóch lat. Łączy pięć kluczowych wskaźników finansowych, wykorzystując ważoną sumę do oceny kondycji finansowej firmy. Z-Score jest szeroko stosowany przez inwestorów, wierzycieli i analityków finansowych do oceny ryzyka kredytowego.

Wzór

Z-Score Altmana oblicza się za pomocą następującego wzoru:

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

Gdzie:

  • X1=Kapitał obrotowyCałkowite aktywaX_1 = \frac{\text{Kapitał obrotowy}}{\text{Całkowite aktywa}}
  • X2=Zyski zatrzymaneCałkowite aktywaX_2 = \frac{\text{Zyski zatrzymane}}{\text{Całkowite aktywa}}
  • X3=Zysk przed odsetkami i opodatkowaniem (EBIT)Całkowite aktywaX_3 = \frac{\text{Zysk przed odsetkami i opodatkowaniem (EBIT)}}{\text{Całkowite aktywa}}
  • X4=Wartosˊcˊ rynkowa kapitału własnegoCałkowite zobowiązaniaX_4 = \frac{\text{Wartość rynkowa kapitału własnego}}{\text{Całkowite zobowiązania}}
  • X5=Sprzedaz˙Całkowite aktywaX_5 = \frac{\text{Sprzedaż}}{\text{Całkowite aktywa}}

Wyjaśnienie zmiennych

  • Kapitał obrotowy (WC): Aktywa bieżące minus zobowiązania bieżące. Wskazuje na krótkoterminową płynność finansową.
  • Zyski zatrzymane (RE): Skumulowane zyski reinwestowane w firmę. Odzwierciedla długoterminową rentowność.
  • EBIT: Zysk przed odsetkami i opodatkowaniem. Mierzy efektywność operacyjną.
  • Wartość rynkowa kapitału własnego (MVE): Liczba wyemitowanych akcji pomnożona przez aktualną cenę akcji. Reprezentuje zaufanie akcjonariuszy.
  • Całkowite zobowiązania (TL): Suma zobowiązań bieżących i długoterminowych.
  • Sprzedaż: Całkowity przychód ze sprzedanych towarów lub usług.
  • Całkowite aktywa (TA): Suma aktywów bieżących i niebędących aktywami bieżącymi.

Obliczenia

Przewodnik krok po kroku

  1. Oblicz wskaźniki finansowe:

    • 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=Sprzedaz˙TAX_5 = \frac{\text{Sprzedaż}}{\text{TA}}
  2. Zastosuj wagi do każdego wskaźnika:

    • Pomnóż każdy wskaźnik XX przez odpowiadający mu współczynnik.
  3. Zsumuj ważone wskaźniki:

    • 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

Przykład numeryczny

Załóżmy, że firma ma następujące dane finansowe (w milionach USD):

  • Kapitał obrotowy (WC): 50 milionów USD
  • Zyski zatrzymane (RE): 200 milionów USD
  • EBIT: 100 milionów USD
  • Wartość rynkowa kapitału własnego (MVE): 500 milionów USD
  • Całkowite zobowiązania (TL): 400 milionów USD
  • Sprzedaż: 600 milionów USD
  • Całkowite aktywa (TA): 800 milionów USD

Obliczanie wskaźników:

  • 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

Obliczanie Z-Score'a:

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

Interpretacja

  • Z-Score > 2.99: Strefa bezpieczna – Niskie prawdopodobieństwo bankructwa.
  • 1.81 < Z-Score < 2.99: Strefa szara – Niepewne ryzyko; zalecana ostrożność.
  • Z-Score < 1.81: Strefa kryzysowa – Wysokie prawdopodobieństwo bankructwa.

Wynik: Z-Score wynoszący 2.34 umieszcza firmę w Strefie szarej, co wskazuje na potencjalną niestabilność finansową.

Przypadki skrajne i ograniczenia

  • Wartości ujemne: Ujemne wartości dla zysku netto, zysków zatrzymanych lub kapitału obrotowego mogą znacznie obniżyć Z-Score.
  • Zastosowanie: Oryginalny model najlepiej nadaje się dla publicznych firm produkcyjnych.
  • Różnice branżowe: Firmy nieprodukcyjne, prywatne i z rynków wschodzących mogą wymagać dostosowanych modeli (np. Z'-Score, Z''-Score).
  • Warunki ekonomiczne: Czynniki makroekonomiczne nie są uwzględniane w modelu.

Przykłady zastosowania

Aplikacje

  • Przewidywanie bankructwa: Wczesne wykrywanie kryzysów finansowych.
  • Analiza kredytowa: Pomoc pożyczkodawcom w ocenie ryzyk pożyczkowych.
  • Decyzje inwestycyjne: Pomoc inwestorom w kierowaniu się w stronę stabilnych finansowo firm.
  • Strategia korporacyjna: Pomoc zarządowi w ocenie kondycji finansowej i wprowadzaniu strategicznych zmian.

Alternatywy

Modele Z'-Score i Z''-Score
  • Z'-Score: Dostosowany dla prywatnych firm produkcyjnych.
  • Z''-Score: Dodatkowo dostosowany dla firm nieprodukcyjnych i z rynków wschodzących.
Inne modele
  • Ohlson O-Score: Model regresji logistycznej przewidujący ryzyko bankructwa.
  • Zmijewski Score: Alternatywa modelu probitowego koncentrująca się na kryzysie finansowym.

Kiedy stosować alternatywy:

  • Dla firm spoza sektora produkcyjnego.
  • Przy ocenie firm prywatnych lub niepublicznych.
  • W różnych kontekstach ekonomicznych lub regionach geograficznych.

Historia

Edward Altman wprowadził model Z-Score'a w 1968 roku w obliczu rosnącej liczby bankructw korporacyjnych. Wykorzystując wielokrotną analizę dyskryminacyjną (MDA), Altman przeanalizował 66 firm, aby zidentyfikować kluczowe wskaźniki finansowe przewidujące bankructwo. Model został od tego czasu udoskonalony i pozostaje podstawowym narzędziem w ocenie ryzyka kredytowego.

Dodatkowe uwagi

Wpływ manipulacji finansowych

  • Firmy mogą angażować się w praktyki księgowe, które tymczasowo zawyżają wskaźniki finansowe.
  • Ważne jest, aby rozważyć czynniki jakościowe obok wskaźników ilościowych.

Integracja z innymi wskaźnikami

  • Połączenie Z-Score'a z innymi analizami (np. analiza przepływów pieniężnych, trendy rynkowe).
  • Użycie jako część kompleksowego procesu due diligence.

Przykłady kodu

Excel

1' Funkcja VBA w Excelu do obliczania Z-Score'a Altmana
2Function AltmanZScore(wc As Double, re As Double, ebit As Double, mve As Double, tl As Double, sales As Double, ta As Double) As Double
3    Dim X1 As Double, X2 As Double, X3 As Double, X4 As Double, X5 As Double
4    
5    X1 = wc / ta
6    X2 = re / ta
7    X3 = ebit / ta
8    X4 = mve / tl
9    X5 = sales / ta
10    
11    AltmanZScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
12End Function
13
14' Użycie w komórce:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' Gdzie A1 do G1 zawierają odpowiednie wartości wejściowe
17

Python

1## Obliczanie Z-Score'a Altmana w Pythonie
2def calculate_z_score(wc, re, ebit, mve, tl, sales, ta):
3    X1 = wc / ta
4    X2 = re / ta
5    X3 = ebit / ta
6    X4 = mve / tl
7    X5 = sales / ta
8    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9    return z_score
10
11## Przykład użycia:
12wc = 50
13re = 200
14ebit = 100
15mve = 500
16tl = 400
17sales = 600
18ta = 800
19
20z = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
21print(f"Z-Score Altmana: {z:.2f}")
22

JavaScript

1// Obliczanie Z-Score'a Altmana w JavaScript
2function calculateZScore(wc, re, ebit, mve, tl, sales, ta) {
3  const X1 = wc / ta;
4  const X2 = re / ta;
5  const X3 = ebit / ta;
6  const X4 = mve / tl;
7  const X5 = sales / ta;
8  const zScore = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
9  return zScore;
10}
11
12// Przykład użycia:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`Z-Score Altmana: ${zScore.toFixed(2)}`);
15

Java

1// Obliczanie Z-Score'a Altmana w Javie
2public class AltmanZScore {
3    public static double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
4        double X1 = wc / ta;
5        double X2 = re / ta;
6        double X3 = ebit / ta;
7        double X4 = mve / tl;
8        double X5 = sales / ta;
9        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
10    }
11
12    public static void main(String[] args) {
13        double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14        System.out.printf("Z-Score Altmana: %.2f%n", zScore);
15    }
16}
17

R

1## Obliczanie Z-Score'a Altmana w R
2calculate_z_score <- function(wc, re, ebit, mve, tl, sales, ta) {
3  X1 <- wc / ta
4  X2 <- re / ta
5  X3 <- ebit / ta
6  X4 <- mve / tl
7  X5 <- sales / ta
8  z_score <- 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9  return(z_score)
10}
11
12## Przykład użycia:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("Z-Score Altmana:", round(z_score, 2))
15

MATLAB

1% Obliczanie Z-Score'a Altmana w MATLABie
2function z_score = calculate_z_score(wc, re, ebit, mve, tl, sales, ta)
3    X1 = wc / ta;
4    X2 = re / ta;
5    X3 = ebit / ta;
6    X4 = mve / tl;
7    X5 = sales / ta;
8    z_score = 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
9end
10
11% Przykład użycia:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('Z-Score Altmana: %.2f\n', z_score);
14

C++

1// Obliczanie Z-Score'a Altmana w C++
2#include <iostream>
3
4double calculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta) {
5    double X1 = wc / ta;
6    double X2 = re / ta;
7    double X3 = ebit / ta;
8    double X4 = mve / tl;
9    double X5 = sales / ta;
10    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
11}
12
13int main() {
14    double zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
15    std::cout << "Z-Score Altmana: " << zScore << std::endl;
16    return 0;
17}
18

C#

1// Obliczanie Z-Score'a Altmana w C#
2using System;
3
4class Program
5{
6    static double CalculateZScore(double wc, double re, double ebit, double mve, double tl, double sales, double ta)
7    {
8        double X1 = wc / ta;
9        double X2 = re / ta;
10        double X3 = ebit / ta;
11        double X4 = mve / tl;
12        double X5 = sales / ta;
13        return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5;
14    }
15
16    static void Main()
17    {
18        double zScore = CalculateZScore(50, 200, 100, 500, 400, 600, 800);
19        Console.WriteLine($"Z-Score Altmana: {zScore:F2}");
20    }
21}
22

Go

1// Obliczanie Z-Score'a Altmana w Go
2package main
3
4import (
5    "fmt"
6)
7
8func calculateZScore(wc, re, ebit, mve, tl, sales, ta float64) float64 {
9    X1 := wc / ta
10    X2 := re / ta
11    X3 := ebit / ta
12    X4 := mve / tl
13    X5 := sales / ta
14    return 1.2*X1 + 1.4*X2 + 3.3*X3 + 0.6*X4 + X5
15}
16
17func main() {
18    zScore := calculateZScore(50, 200, 100, 500, 400, 600, 800)
19    fmt.Printf("Z-Score Altmana: %.2f\n", zScore)
20}
21

Swift

1// Obliczanie Z-Score'a Altmana w Swift
2func calculateZScore(wc: Double, re: Double, ebit: Double, mve: Double, tl: Double, sales: Double, ta: Double) -> Double {
3    let X1 = wc / ta
4    let X2 = re / ta
5    let X3 = ebit / ta
6    let X4 = mve / tl
7    let X5 = sales / ta
8    return 1.2 * X1 + 1.4 * X2 + 3.3 * X3 + 0.6 * X4 + X5
9}
10
11// Przykład użycia:
12let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
13print(String(format: "Z-Score Altmana: %.2f", zScore))
14

Źródła

  1. Altman, E. I. (1968). Wskaźniki finansowe, analiza dyskryminacyjna i przewidywanie bankructwa korporacyjnego. The Journal of Finance, 23(4), 589–609.
  2. Z-Score Altmana. Wikipedia. Pobrano z https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Z-Score Altmana. Pobrano z https://www.investopedia.com/terms/a/altman.asp