🛠️

Whiz Tools

Build • Create • Innovate

เครื่องคำนวณคะแนน Z ของ Altman สำหรับการประเมินความเสี่ยง

เครื่องคำนวณคะแนน Z ของ Altman นี้ช่วยให้คุณประเมินความเสี่ยงเครดิตของบริษัทโดยการคำนวณคะแนน Z ของ Altman.

คะแนน Z ของ Altman

ค่าที่ป้อน

ผลลัพธ์

คะแนน 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

1' Excel VBA Function for Altman Z-Score Calculation
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' Usage in a cell:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' Where A1 to G1 contain the respective input values
17

Python

1## Altman Z-Score Calculation in Python
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## Example usage:
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// JavaScript Altman Z-Score Calculation
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// Example usage:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`Altman Z-Score: ${zScore.toFixed(2)}`);
15

Java

1// Java Altman Z-Score Calculation
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## R Altman Z-Score Calculation
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## Example usage:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("Altman Z-Score:", round(z_score, 2))
15

MATLAB

1% MATLAB Altman Z-Score Calculation
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% Example usage:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('Altman Z-Score: %.2f\n', z_score);
14

C++

1// C++ Altman Z-Score Calculation
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// C# Altman Z-Score Calculation
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// Go Altman Z-Score Calculation
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// Swift Altman Z-Score Calculation
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// Example usage:
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

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