Whiz Tools

Syöttöarvot

Tulos

Altman Z-Score auttaa arvioimaan yrityksen luottoriskiä. Korkeampi pisteet osoittavat alhaisempaa konkurssiriskiä kahden vuoden sisällä.

Altman Z-Score Laskin

Johdanto

Altman Z-Score on Edward I. Altmanin vuonna 1968 kehittämä taloudellinen malli, joka ennustaa yrityksen mahdollisuuksia mennä konkurssiin kahden vuoden sisällä. Se yhdistää viisi keskeistä taloudellista suhdetta painotetun summan avulla arvioidakseen yrityksen taloudellista terveyttä. Z-Scorea käyttävät laajalti sijoittajat, velkojat ja talousanalyytikot luottoriskiarvioinnissa.

Kaava

Altman Z-Score lasketaan seuraavalla kaavalla:

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

Missä:

  • X1=Tyo¨skentelypa¨a¨omaKokonaisvaratX_1 = \frac{\text{Työskentelypääoma}}{\text{Kokonaisvarat}}
  • X2=Kertyneet voitotKokonaisvaratX_2 = \frac{\text{Kertyneet voitot}}{\text{Kokonaisvarat}}
  • X3=Korkojen ja verojen ennen voittoa (EBIT)KokonaisvaratX_3 = \frac{\text{Korkojen ja verojen ennen voittoa (EBIT)}}{\text{Kokonaisvarat}}
  • X4=Osakkeiden markkina-arvoKokonaisvelatX_4 = \frac{\text{Osakkeiden markkina-arvo}}{\text{Kokonaisvelat}}
  • X5=MyyntiKokonaisvaratX_5 = \frac{\text{Myynti}}{\text{Kokonaisvarat}}

Muuttujien selitys

  • Työskentelypääoma (WC): Lyhytaikaiset varat miinus lyhytaikaiset velat. Ilmaisee lyhytaikaista taloudellista likviditeettiä.
  • Kertyneet voitot (RE): Kertyneet voitot, jotka on sijoitettu takaisin yritykseen. Heijastaa pitkäaikaista kannattavuutta.
  • EBIT: Korkojen ja verojen ennen voittoa. Mittaa toimintatehokkuutta.
  • Osakkeiden markkina-arvo (MVE): Liikkeellä olevien osakkeiden määrä kerrottuna nykyisellä osakekurssilla. Edustaa osakkeenomistajien luottamusta.
  • Kokonaisvelat (TL): Lyhytaikaisten ja pitkäaikaisten velkojen summa.
  • Myynti: Kokonaistulot myydyistä tuotteista tai palveluista.
  • Kokonaisvarat (TA): Lyhytaikaisten ja pitkäaikaisten varojen summa.

Laskenta

Vaiheittainen opas

  1. Laske taloudelliset suhteet:

    • 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=MyyntiTAX_5 = \frac{\text{Myynti}}{\text{TA}}
  2. Käytä painoja jokaiselle suhteelle:

    • Kerro jokainen XX-suhde sen vastaavalla kertoimella.
  3. Yhdistele painotetut suhteet:

    • 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

Numeraalinen esimerkki

Oletetaan, että yrityksellä on seuraavat taloudelliset tiedot (miljoonina USD):

  • Työskentelypääoma (WC): 50 miljoonaa
  • Kertyneet voitot (RE): 200 miljoonaa
  • EBIT: 100 miljoonaa
  • Osakkeiden markkina-arvo (MVE): 500 miljoonaa
  • Kokonaisvelat (TL): 400 miljoonaa
  • Myynti: 600 miljoonaa
  • Kokonaisvarat (TA): 800 miljoonaa

Suhteiden laskeminen:

  • 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

Z-Score laskeminen:

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

Tulkinta

  • Z-Score > 2.99: Turvallinen alue – Alhainen todennäköisyys konkurssille.
  • 1.81 < Z-Score < 2.99: Harmaa alue – Epävarma riski; varovaisuutta suositellaan.
  • Z-Score < 1.81: Kriisialue – Korkea todennäköisyys konkurssille.

Tulos: Z-Score 2.34 sijoittaa yrityksen Harmaaseen alueeseen, mikä osoittaa mahdollista taloudellista epävakautta.

Rajatapaukset ja rajoitukset

  • Negatiiviset arvot: Negatiiviset syötteet nettotuloista, kertyneistä voitoista tai työskentelypääomasta voivat merkittävästi laskea Z-Scorea.
  • Soveltuvuus: Alkuperäinen malli sopii parhaiten julkisesti noteeratuille teollisuusyrityksille.
  • Toimialakohtaiset erot: Ei-teollisuus-, yksityiset ja kehittyvien markkinoiden yritykset saattavat vaatia mukautettuja malleja (esim. Z'-Score, Z''-Score).
  • Taloudelliset olosuhteet: Makrotaloudellisia tekijöitä ei oteta huomioon mallissa.

Käyttötapaukset

Sovellukset

  • Konkurssin ennustaminen: Varhainen taloudellisen ahdingon havaitseminen.
  • Luottotarkastus: Auttaa lainanantajia arvioimaan lainariskejä.
  • Sijoituspäätökset: Ohjaa sijoittajia taloudellisesti vakaiden yritysten suuntaan.
  • Yritysstrategia: Auttaa johtoa arvioimaan taloudellista terveyttä ja tekemään strategisia muutoksia.

Vaihtoehdot

Z'-Score ja Z''-Score mallit
  • Z'-Score: Mukautettu yksityisille teollisuusyrityksille.
  • Z''-Score: Edelleen mukautettu ei-teollisuus- ja kehittyvien markkinoiden yrityksille.
Muut mallit
  • Ohlson O-Score: Logistinen regressiomalli, joka ennustaa konkurssiriskin.
  • Zmijewski Score: Probit-malli, joka keskittyy taloudelliseen ahdinkoon.

Milloin käyttää vaihtoehtoja:

  • Kun arvioidaan yrityksiä, jotka eivät ole teollisuussektorilla.
  • Kun arvioidaan yksityisiä tai ei-julkisesti noteerattuja yrityksiä.
  • Eri taloudellisissa konteksteissa tai maantieteellisillä alueilla.

Historia

Edward Altman esitteli Z-Score-mallin vuonna 1968 kasvavien yritysbankroottien myötä. Hyödyntäen moninkertaista erotteluanalyysiä (MDA) Altman analysoi 66 yritystä tunnistaakseen avain taloudelliset suhteet, jotka ennustavat konkurssia. Mallia on sittemmin hienosäädetty, ja se on edelleen perustyökalu luottoriskin arvioinnissa.

Lisähuomiot

Taloudellisen manipuloinnin vaikutus

  • Yritykset saattavat harjoittaa kirjanpitokäytäntöjä, jotka tilapäisesti paisuttavat taloudellisia suhteita.
  • On tärkeää ottaa huomioon laadulliset tekijät yhdessä määrällisten pisteiden kanssa.

Integrointi muihin mittareihin

  • Yhdistä Z-Score muihin analyyseihin (esim. kassavirta-analyysi, markkinatrendit).
  • Käytä osana kattavaa huolellisuusprosessia.

Koodiesimerkit

Excel

' Excel VBA -toiminto Altman Z-Score laskentaa varten
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

' Käyttö solussa:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Missä A1:stä G1:een ovat vastaavat syötearvot

Python

## Altman Z-Score laskenta Pythonissa
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

## Esimerkkikäyttö:
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 laskenta
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;
}

// Esimerkkikäyttö:
const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);

Java

// Java Altman Z-Score laskenta
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 laskenta
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)
}

## Esimerkkikäyttö:
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 laskenta
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

% Esimerkkikäyttö:
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 laskenta
#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 laskenta
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 laskenta
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 laskenta
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
}

// Esimerkkikäyttö:
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))

Viitteet

  1. Altman, E. I. (1968). Taloudelliset suhteet, erotteluanalyysi ja yrityksen konkurssin ennustaminen. Rahoituslehti, 23(4), 589–609.
  2. Altman Z-Score. Wikipedia. Haettu osoitteesta https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Altman Z-Score. Haettu osoitteesta https://www.investopedia.com/terms/a/altman.asp
Loading related tools...
Feedback