محاسبه Z-Score آلتمن برای ارزیابی ریسک اعتباری
این محاسبه کننده Z-Score آلتمن به شما کمک میکند تا ریسک اعتباری یک شرکت را با محاسبه Z-Score آلتمن ارزیابی کنید.
امتیاز Z آلتمن
مقادیر ورودی
نتیجه
امتیاز Z آلتمن به ارزیابی ریسک اعتباری یک شرکت کمک میکند. امتیاز بالاتر نشاندهنده ریسک کمتر ورشکستگی در عرض دو سال است.
مستندات
محاسبه نمره Z آلتمان
مقدمه
نمره Z آلتمان یک مدل مالی است که توسط ادوارد I. آلتمان در سال 1968 برای پیشبینی احتمال ورشکستگی یک شرکت در عرض دو سال توسعه یافته است. این مدل پنج نسبت مالی کلیدی را با استفاده از یک مجموع وزنی ترکیب میکند تا سلامت مالی یک شرکت را ارزیابی کند. نمره Z به طور گستردهای توسط سرمایهگذاران، اعتباردهندگان و تحلیلگران مالی برای ارزیابی ریسک اعتباری استفاده میشود.
فرمول
نمره Z آلتمان با استفاده از فرمول زیر محاسبه میشود:
که در آن:
توضیح متغیرها
- سرمایه در گردش (WC): داراییهای جاری منهای بدهیهای جاری. نشاندهنده نقدینگی مالی کوتاهمدت است.
- سود انباشته (RE): سودهای انباشته که در شرکت سرمایهگذاری شدهاند. نشاندهنده سودآوری بلندمدت است.
- EBIT: سود قبل از بهره و مالیات. کارایی عملیاتی را اندازهگیری میکند.
- ارزش بازار سهام (MVE): تعداد سهام در گردش ضربدر قیمت کنونی سهم. نمایانگر اعتماد سهامداران است.
- کل بدهیها (TL): مجموع بدهیهای جاری و بلندمدت.
- فروش: کل درآمد حاصل از کالاها یا خدمات فروخته شده.
- کل داراییها (TA): مجموع داراییهای جاری و غیرجاری.
محاسبه
راهنمای گام به گام
-
محاسبه نسبتهای مالی:
-
اعمال وزنها به هر نسبت:
- هر نسبت را در ضریب مربوطه ضرب کنید.
-
جمع نسبتهای وزنی:
مثال عددی
فرض کنید یک شرکت دادههای مالی زیر را دارد (به میلیون دلار):
- سرمایه در گردش (WC): 50 میلیون دلار
- سود انباشته (RE): 200 میلیون دلار
- EBIT: 100 میلیون دلار
- ارزش بازار سهام (MVE): 500 میلیون دلار
- کل بدهیها (TL): 400 میلیون دلار
- فروش: 600 میلیون دلار
- کل داراییها (TA): 800 میلیون دلار
محاسبه نسبتها:
محاسبه نمره Z:
تفسیر
- نمره Z > 2.99: منطقه امن – احتمال ورشکستگی کم.
- 1.81 < نمره Z < 2.99: منطقه خاکستری – ریسک نامشخص؛ احتیاط توصیه میشود.
- نمره Z < 1.81: منطقه بحران – احتمال ورشکستگی بالا.
نتیجه: نمره Z برابر با 2.34 شرکت را در منطقه خاکستری قرار میدهد که نشاندهنده احتمال عدم ثبات مالی است.
موارد حاشیهای و محدودیتها
- مقادیر منفی: ورودیهای منفی برای درآمد خالص، سود انباشته یا سرمایه در گردش میتوانند به طور قابل توجهی نمره Z را کاهش دهند.
- قابلیت اعمال: مدل اصلی بهترین تناسب را برای شرکتهای تولیدی عمومی دارد.
- تفاوتهای صنعتی: شرکتهای غیر تولیدی، خصوصی و بازارهای نوظهور ممکن است به مدلهای تعدیل شده (مانند Z'-Score، Z''-Score) نیاز داشته باشند.
- شرایط اقتصادی: عوامل کلان اقتصادی در مدل در نظر گرفته نمیشوند.
موارد استفاده
کاربردها
- پیشبینی ورشکستگی: شناسایی زودهنگام مشکلات مالی.
- تحلیل اعتبار: کمک به اعتباردهندگان در ارزیابی ریسکهای وام.
- تصمیمات سرمایهگذاری: راهنمایی سرمایهگذاران به سمت شرکتهای مالی پایدار.
- استراتژی شرکتی: کمک به مدیریت برای ارزیابی سلامت مالی و انجام تنظیمات استراتژیک.
جایگزینها
مدلهای Z'-Score و Z''-Score
- Z'-Score: برای شرکتهای تولیدی خصوصی تعدیل شده است.
- Z''-Score: برای شرکتهای غیر تولیدی و بازارهای نوظهور بیشتر تعدیل شده است.
مدلهای دیگر
- نمره Ohlson O: یک مدل رگرسیون لجستیک برای پیشبینی ریسک ورشکستگی.
- نمره Zmijewski: یک مدل پروبیت جایگزین که بر روی مشکلات مالی تمرکز دارد.
زمان استفاده از جایگزینها:
- برای شرکتهای خارج از بخش تولید.
- هنگام ارزیابی شرکتهای خصوصی یا غیر عمومی.
- در زمینههای اقتصادی یا مناطق جغرافیایی مختلف.
تاریخچه
ادوارد آلتمان مدل نمره Z را در سال 1968 در میان افزایش ورشکستگیهای شرکتی معرفی کرد. با استفاده از تحلیل تفکیکی چندگانه (MDA)، آلتمان 66 شرکت را تحلیل کرد تا نسبتهای مالی کلیدی پیشبینیکننده ورشکستگی را شناسایی کند. این مدل از آن زمان به روز شده و همچنان ابزاری اساسی در ارزیابی ریسک اعتباری باقی مانده است.
ملاحظات اضافی
تأثیر دستکاری مالی
- شرکتها ممکن است در شیوههای حسابداری که به طور موقت نسبتهای مالی را افزایش میدهد، دخالت کنند.
- ضروری است که عوامل کیفی را در کنار نمرات کمی در نظر بگیرید.
ادغام با سایر معیارها
- نمره Z را با سایر تحلیلها (مانند تحلیل جریان نقدی، روندهای بازار) ترکیب کنید.
- به عنوان بخشی از یک فرآیند جامع بررسی دقیق استفاده کنید.
مثالهای کد
اکسل
1' تابع VBA اکسل برای محاسبه نمره Z آلتمان
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' استفاده در یک سلول:
15' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
16' که در آن A1 تا G1 شامل مقادیر ورودی مربوطه هستند
17
پایتون
1## محاسبه نمره Z آلتمان در پایتون
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## مثال استفاده:
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"نمره Z آلتمان: {z:.2f}")
22
جاوااسکریپت
1// محاسبه نمره Z آلتمان در جاوااسکریپت
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// مثال استفاده:
13const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
14console.log(`نمره Z آلتمان: ${zScore.toFixed(2)}`);
15
جاوا
1// محاسبه نمره Z آلتمان در جاوا
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("نمره Z آلتمان: %.2f%n", zScore);
15 }
16}
17
R
1## محاسبه نمره Z آلتمان در 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## مثال استفاده:
13z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
14cat("نمره Z آلتمان:", round(z_score, 2))
15
متلب
1% محاسبه نمره Z آلتمان در متلب
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% مثال استفاده:
12z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
13fprintf('نمره Z آلتمان: %.2f\n', z_score);
14
C++
1// محاسبه نمره Z آلتمان در 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 << "نمره Z آلتمان: " << zScore << std::endl;
16 return 0;
17}
18
C#
1// محاسبه نمره Z آلتمان در 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($"نمره Z آلتمان: {zScore:F2}");
20 }
21}
22
Go
1// محاسبه نمره Z آلتمان در 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("نمره Z آلتمان: %.2f\n", zScore)
20}
21
سوئیفت
1// محاسبه نمره Z آلتمان در سوئیفت
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// مثال استفاده:
12let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
13print(String(format: "نمره Z آلتمان: %.2f", zScore))
14
منابع
- آلتمان، E. I. (1968). نسبتهای مالی، تحلیل تفکیکی و پیشبینی ورشکستگی شرکتی. مجله مالی، 23(4)، 589–609.
- نمره Z آلتمان. ویکیپدیا. بازیابی شده از https://en.wikipedia.org/wiki/Altman_Z-score
- Investopedia - نمره Z آلتمان. بازیابی شده از https://www.investopedia.com/terms/a/altman.asp
بازخورد
برای شروع دادن بازخورد درباره این ابزار، روی نوار بازخورد کلیک کنید
ابزارهای مرتبط
ابزارهای بیشتری را کشف کنید که ممکن است برای جریان کار شما مفید باشند