🛠️

Whiz Tools

Build • Create • Innovate

Kalkulačka pro výpočet Altman Z-Score a kreditní riziko

Tato kalkulačka Altman Z-score vám pomůže posoudit kreditní riziko společnosti výpočtem Altman Z-Score.

Altman Z-Score

Vstupní hodnoty

Výsledek

Altman Z-Score pomáhá posoudit kreditní riziko společnosti. Vyšší skóre znamená nižší riziko bankrotu během dvou let.

📚

Dokumentace

Kalkulačka Altman Z-Score

Úvod

Altman Z-Score je finanční model vyvinutý Edwardem I. Altmanem v roce 1968 k predikci pravděpodobnosti, že společnost zkrachuje během dvou let. Kombinuje pět klíčových finančních poměrů pomocí váženého součtu k posouzení finančního zdraví společnosti. Z-Score je široce používán investory, věřiteli a finančními analytiky k hodnocení úvěrového rizika.

Vzorec

Altman Z-Score se počítá pomocí následujícího vzorce:

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

Kde:

  • X1=Pracovnıˊ kapitaˊlCelkovaˊ aktivaX_1 = \frac{\text{Pracovní kapitál}}{\text{Celková aktiva}}
  • X2=Zadrzˇeneˊ ziskyCelkovaˊ aktivaX_2 = \frac{\text{Zadržené zisky}}{\text{Celková aktiva}}
  • X3=Zisk prˇed uˊroky a daneˇ (EBIT)Celkovaˊ aktivaX_3 = \frac{\text{Zisk před úroky a daně (EBIT)}}{\text{Celková aktiva}}
  • X4=Trzˇnıˊ hodnota vlastnıˊho kapitaˊluCelkoveˊ zaˊvazkyX_4 = \frac{\text{Tržní hodnota vlastního kapitálu}}{\text{Celkové závazky}}
  • X5=TrzˇbyCelkovaˊ aktivaX_5 = \frac{\text{Tržby}}{\text{Celková aktiva}}

Vysvětlení proměnných

  • Pracovní kapitál (WC): Aktiva krátkodobá minus závazky krátkodobé. Ukazuje na krátkodobou finanční likviditu.
  • Zadržené zisky (RE): Kumulační zisky reinvestované do společnosti. Odráží dlouhodobou ziskovost.
  • EBIT: Zisk před úroky a daněmi. Měří provozní efektivitu.
  • Tržní hodnota vlastního kapitálu (MVE): Počet vydaných akcií vynásobený aktuální cenou akcie. Představuje důvěru akcionářů.
  • Celkové závazky (TL): Součet krátkodobých a dlouhodobých závazků.
  • Tržby: Celkové příjmy z prodaného zboží nebo služeb.
  • Celková aktiva (TA): Součet krátkodobých a dlouhodobých aktiv.

Výpočet

Krok za krokem

  1. Vypočítejte finanční poměry:

    • 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=TrzˇbyTAX_5 = \frac{\text{Tržby}}{\text{TA}}
  2. Aplikujte váhy na každý poměr:

    • Vynásobte každý poměr XX jeho odpovídajícím koeficientem.
  3. Sečtěte vážené poměry:

    • 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

Číselný příklad

Předpokládejme, že má společnost následující finanční údaje (v milionech USD):

  • Pracovní kapitál (WC): 50 milionů
  • Zadržené zisky (RE): 200 milionů
  • EBIT: 100 milionů
  • Tržní hodnota vlastního kapitálu (MVE): 500 milionů
  • Celkové závazky (TL): 400 milionů
  • Tržby: 600 milionů
  • Celková aktiva (TA): 800 milionů

Vypočítání poměrů:

  • 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

Vypočítání 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*}

Interpretace

  • Z-Score > 2.99: Bezpečná zóna – Nízká pravděpodobnost bankrotu.
  • 1.81 < Z-Score < 2.99: Šedá zóna – Nejasné riziko; doporučuje se opatrnost.
  • Z-Score < 1.81: Zóna distressu – Vysoká pravděpodobnost bankrotu.

Výsledek: Z-Score 2.34 umisťuje společnost do Šedé zóny, což naznačuje potenciální finanční nestabilitu.

Okrajové případy a omezení

  • Negativní hodnoty: Negativní vstupy pro čistý zisk, zadržené zisky nebo pracovní kapitál mohou výrazně snížit Z-Score.
  • Použitelnost: Původní model je nejlépe vhodný pro veřejně obchodované výrobní společnosti.
  • Průmyslové rozdíly: Nevýrobní, soukromé a společnosti na rozvíjejících se trzích mohou vyžadovat upravené modely (např. Z'-Score, Z''-Score).
  • Ekonomické podmínky: Makroekonomické faktory nejsou v modelu zohledněny.

Případové studie

Aplikace

  • Predikce bankrotu: Včasná detekce finančního distressu.
  • Úvěrová analýza: Pomoc věřitelům při hodnocení rizik půjček.
  • Investiční rozhodnutí: Pomoc investorům při výběru finančně stabilních společností.
  • Korporátní strategie: Pomoc vedení při posuzování finančního zdraví a provádění strategických úprav.

Alternativy

Modely Z'-Score a Z''-Score
  • Z'-Score: Přizpůsobeno pro soukromé výrobní společnosti.
  • Z''-Score: Dále upraveno pro nevyrobené a společnosti na rozvíjejících se trzích.
Jiné modely
  • Ohlson O-Score: Model logistické regrese predikující riziko bankrotu.
  • Zmijewski Score: Alternativa probit modelu zaměřující se na finanční distress.

Kdy použít alternativy:

  • Pro společnosti mimo výrobní sektor.
  • Při hodnocení soukromých nebo neveřejně obchodovaných společností.
  • V různých ekonomických kontextech nebo geografických oblastech.

Historie

Edward Altman představil model Z-Score v roce 1968 uprostřed rostoucího počtu bankrotů společností. Využívajíc vícerozměrnou diskriminační analýzu (MDA) analyzoval Altman 66 společností, aby identifikoval klíčové finanční poměry prediktivní pro bankrot. Model byl od té doby zdokonalen a zůstává základním nástrojem v hodnocení úvěrového rizika.

Další úvahy

Dopad finanční manipulace

  • Společnosti mohou provádět účetní praktiky, které dočasně nafukují finanční poměry.
  • Je důležité zohlednit kvalitativní faktory vedle kvantitativních skóre.

Integrace s jinými metrikami

  • Kombinujte Z-Score s dalšími analýzami (např. analýza peněžních toků, tržní trendy).
  • Použijte jako součást komplexního procesu prověřování.

Příklady kódu

Excel

1' Excel VBA funkce pro výpočet Altman Z-Score
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' Použití v buňce:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' Kde A1 až G1 obsahují příslušné vstupní hodnoty
17

Python

1## Výpočet Altman Z-Score v Pythonu
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## Příklad použití:
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"Altman Z-Score: {z:.2f}")
22

JavaScript

1// Výpočet Altman Z-Score v JavaScriptu
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// Příklad použití:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
15

Java

1// Výpočet Altman Z-Score v Javě
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("Altman Z-Score: %.2f%n", zScore);
15    }
16}
17

R

1## Výpočet Altman Z-Score v 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## Příklad použití:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("Altman Z-Score:", round(z_score, 2))
15

MATLAB

1% Výpočet Altman Z-Score v MATLABu
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% Příklad použití:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('Altman Z-Score: %.2f\n', z_score);
14

C++

1// Výpočet Altman Z-Score v 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 << "Altman Z-Score: " << zScore << std::endl;
16    return 0;
17}
18

C#

1// Výpočet Altman Z-Score v 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($"Altman Z-Score: {zScore:F2}");
20    }
21}
22

Go

1// Výpočet Altman Z-Score v 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("Altman Z-Score: %.2f\n", zScore)
20}
21

Swift

1// Výpočet Altman Z-Score ve Swiftu
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// Příklad použití:
12let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
13print(String(format: "Altman Z-Score: %.2f", zScore))
14

Odkazy

  1. Altman, E. I. (1968). Finanční poměry, diskriminační analýza a predikce bankrotu společnosti. The Journal of Finance, 23(4), 589–609.
  2. Altman Z-Score. Wikipedia. Získáno z https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Altman Z-Score. Získáno z https://www.investopedia.com/terms/a/altman.asp