เครื่องคำนวณคะแนน 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 คำนวณโดยใช้สูตรดังต่อไปนี้:
โดยที่:
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
-
Calculate Financial Ratios:
-
Apply Weights to Each Ratio:
- คูณอัตราส่วนแต่ละตัวด้วยน้ำหนักที่กำหนด
-
Sum the Weighted Ratios:
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 ล้าน
การคำนวณอัตราส่วน:
การคำนวณ Z-Score:
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
- Altman, E. I. (1968). Financial Ratios, Discriminant Analysis and the Prediction of Corporate Bankruptcy. The Journal of Finance, 23(4), 589–609.
- Altman Z-Score. Wikipedia. Retrieved from https://en.wikipedia.org/wiki/Altman_Z-score
- Investopedia - Altman Z-Score. Retrieved from https://www.investopedia.com/terms/a/altman.asp
ข้อเสนอแนะแสดงความคิดเห็น
คลิกที่ข้อเสนอแนะแสดงความคิดเห็นเพื่อเริ่มให้ข้อเสนอแนะแก่เครื่องมือนี้
เครื่องมือที่เกี่ยวข้อง
ค้นพบเครื่องมือเพิ่มเติมที่อาจมีประโยชน์สำหรับการทำงานของคุณ