Whiz Tools

ค่าที่ป้อน

ผลลัพธ์

คะแนน Z ของ Altman ช่วยในการประเมินความเสี่ยงเครดิตของบริษัท คะแนนที่สูงขึ้นแสดงถึงความเสี่ยงในการล้มละลายที่ต่ำลงภายในสองปี

Altman Z-Score Calculator

Introduction

Altman Z-Score เป็นโมเดลทางการเงินที่พัฒนาโดย Edward I. Altman ในปี 1968 เพื่อคาดการณ์ความน่าจะเป็นของบริษัทที่จะล้มละลายในระยะเวลา 2 ปี โมเดลนี้รวมอัตราส่วนทางการเงินที่สำคัญ 5 ตัวโดยใช้ผลรวมที่มีน้ำหนักเพื่อประเมินสุขภาพทางการเงินของบริษัท Z-Score ได้รับการใช้อย่างกว้างขวางโดยนักลงทุน เจ้าหนี้ และนักวิเคราะห์ทางการเงินในการประเมินความเสี่ยงทางเครดิต

Formula

Altman Z-Score คำนวณโดยใช้สูตรดังต่อไปนี้:

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

โดยที่:

  • X1=Working CapitalTotal AssetsX_1 = \frac{\text{Working Capital}}{\text{Total Assets}}
  • X2=Retained EarningsTotal AssetsX_2 = \frac{\text{Retained Earnings}}{\text{Total Assets}}
  • X3=Earnings Before Interest and Taxes (EBIT)Total AssetsX_3 = \frac{\text{Earnings Before Interest and Taxes (EBIT)}}{\text{Total Assets}}
  • X4=Market Value of EquityTotal LiabilitiesX_4 = \frac{\text{Market Value of Equity}}{\text{Total Liabilities}}
  • X5=SalesTotal AssetsX_5 = \frac{\text{Sales}}{\text{Total Assets}}

Explanation of Variables

  • Working Capital (WC): สินทรัพย์หมุนเวียนลบด้วยหนี้สินหมุนเวียน แสดงถึงสภาพคล่องทางการเงินในระยะสั้น
  • Retained Earnings (RE): กำไรสะสมที่นำมาลงทุนในบริษัท แสดงถึงความสามารถในการทำกำไรในระยะยาว
  • EBIT: กำไรก่อนดอกเบี้ยและภาษี วัดประสิทธิภาพในการดำเนินงาน
  • Market Value of Equity (MVE): จำนวนหุ้นที่ออกจำหน่ายคูณด้วยราคาหุ้นปัจจุบัน แสดงถึงความเชื่อมั่นของผู้ถือหุ้น
  • Total Liabilities (TL): ผลรวมของหนี้สินหมุนเวียนและหนี้สินระยะยาว
  • Sales: รายได้รวมจากสินค้าหรือบริการที่ขาย
  • Total Assets (TA): ผลรวมของสินทรัพย์หมุนเวียนและสินทรัพย์ไม่หมุนเวียน

Calculation

Step-by-Step Guide

  1. Calculate Financial Ratios:

    • 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=SalesTAX_5 = \frac{\text{Sales}}{\text{TA}}
  2. Apply Weights to Each Ratio:

    • คูณอัตราส่วนแต่ละตัวด้วยน้ำหนักที่กำหนด
  3. Sum the Weighted Ratios:

    • 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

Numerical Example

สมมติว่าบริษัทมีข้อมูลทางการเงินดังต่อไปนี้ (เป็นล้านดอลลาร์สหรัฐ):

  • Working Capital (WC): $50 ล้าน
  • Retained Earnings (RE): $200 ล้าน
  • EBIT: $100 ล้าน
  • Market Value of Equity (MVE): $500 ล้าน
  • Total Liabilities (TL): $400 ล้าน
  • Sales: $600 ล้าน
  • Total Assets (TA): $800 ล้าน

การคำนวณอัตราส่วน:

  • 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:

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

Interpretation

  • Z-Score > 2.99: Safe Zone – ความน่าจะเป็นต่ำที่จะล้มละลาย
  • 1.81 < Z-Score < 2.99: Grey Zone – ความเสี่ยงไม่แน่นอน; ควรระมัดระวัง
  • Z-Score < 1.81: Distress Zone – ความน่าจะเป็นสูงที่จะล้มละลาย

ผลลัพธ์: Z-Score ที่ 2.34 ทำให้บริษัทอยู่ใน Grey Zone ซึ่งบ่งชี้ถึงความไม่มั่นคงทางการเงิน

Edge Cases and Limitations

  • ค่าลบ: ค่าลบในการคำนวณกำไรสุทธิ กำไรสะสม หรือเงินทุนหมุนเวียนสามารถลด Z-Score ได้อย่างมาก
  • การใช้งาน: โมเดลดั้งเดิมเหมาะสำหรับบริษัทที่จดทะเบียนในตลาดหลักทรัพย์และเป็นบริษัทผลิต
  • ความแตกต่างของอุตสาหกรรม: บริษัทที่ไม่ใช่การผลิต บริษัทเอกชน และบริษัทในตลาดเกิดใหม่อาจต้องการโมเดลที่ปรับแต่ง (เช่น Z'-Score, Z''-Score)
  • สภาพเศรษฐกิจ: ปัจจัยทางเศรษฐกิจมหภาคไม่ได้ถูกพิจารณาในโมเดล

Use Cases

Applications

  • การคาดการณ์การล้มละลาย: การตรวจจับความไม่มั่นคงทางการเงินแต่เนิ่นๆ
  • การวิเคราะห์เครดิต: ช่วยเจ้าหนี้ในการประเมินความเสี่ยงในการให้กู้ยืม
  • การตัดสินใจลงทุน: ช่วยนักลงทุนในการเลือกบริษัทที่มีเสถียรภาพทางการเงิน
  • กลยุทธ์ของบริษัท: ช่วยให้การจัดการประเมินสุขภาพทางการเงินและปรับเปลี่ยนกลยุทธ์

Alternatives

Z'-Score and Z''-Score Models
  • Z'-Score: ปรับสำหรับบริษัทผลิตเอกชน
  • Z''-Score: ปรับเพิ่มเติมสำหรับบริษัทที่ไม่ใช่การผลิตและบริษัทในตลาดเกิดใหม่
Other Models
  • Ohlson O-Score: โมเดลการถดถอยโลจิสติกที่คาดการณ์ความเสี่ยงการล้มละลาย
  • Zmijewski Score: ทางเลือกโมเดล probit ที่มุ่งเน้นไปที่ความไม่มั่นคงทางการเงิน

เมื่อใดที่จะใช้ทางเลือก:

  • สำหรับบริษัทที่อยู่นอกภาคการผลิต
  • เมื่อประเมินบริษัทเอกชนหรือบริษัทที่ไม่จดทะเบียน
  • ในบริบททางเศรษฐกิจหรือภูมิภาคที่แตกต่างกัน

History

Edward Altman แนะนำโมเดล Z-Score ในปี 1968 ท่ามกลางการล้มละลายของบริษัทที่เพิ่มขึ้น โดยใช้การวิเคราะห์การแยกประเภทหลายประเภท (MDA) Altman ได้วิเคราะห์บริษัท 66 แห่งเพื่อระบุอัตราส่วนทางการเงินที่สำคัญที่คาดการณ์การล้มละลาย โมเดลนี้ได้รับการปรับปรุงและยังคงเป็นเครื่องมือพื้นฐานในการประเมินความเสี่ยงทางเครดิต

Additional Considerations

Impact of Financial Manipulation

  • บริษัทอาจมีส่วนร่วมในแนวทางปฏิบัติด้านบัญชีที่ทำให้ตัวเลขทางการเงินสูงขึ้นชั่วคราว
  • สิ่งสำคัญคือต้องพิจารณาปัจจัยเชิงคุณภาพควบคู่ไปกับคะแนนเชิงปริมาณ

Integration with Other Metrics

  • รวม Z-Score กับการวิเคราะห์อื่นๆ (เช่น การวิเคราะห์กระแสเงินสด แนวโน้มตลาด)
  • ใช้เป็นส่วนหนึ่งของกระบวนการตรวจสอบความเหมาะสมอย่างละเอียดที่ครอบคลุม

Code Examples

Excel

' Excel VBA Function for Altman Z-Score Calculation
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

' Usage in a cell:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' Where A1 to G1 contain the respective input values

Python

## Altman Z-Score Calculation in 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

## Example usage:
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 Calculation
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;
}

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

Java

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

## Example usage:
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 Calculation
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

% Example usage:
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 Calculation
#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 Calculation
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 Calculation
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 Calculation
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
}

// Example usage:
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))

References

  1. Altman, E. I. (1968). Financial Ratios, Discriminant Analysis and the Prediction of Corporate Bankruptcy. The Journal of Finance, 23(4), 589–609.
  2. Altman Z-Score. Wikipedia. Retrieved from https://en.wikipedia.org/wiki/Altman_Z-score
  3. Investopedia - Altman Z-Score. Retrieved from https://www.investopedia.com/terms/a/altman.asp
Loading related tools...
Feedback