Whiz Tools

入力値

結果

アルトマンZスコアは、企業の信用リスクを評価するのに役立ちます。スコアが高いほど、2年以内の破産リスクが低くなります。

アルトマンZスコア計算機

はじめに

アルトマンZスコアは、エドワード・I・アルトマンによって1968年に開発された財務モデルで、企業が2年以内に破産する可能性を予測するために使用されます。これは、企業の財務健全性を評価するために、加重合計を使用して5つの主要な財務比率を組み合わせます。Zスコアは、投資家、債権者、および金融アナリストによって信用リスクを評価するために広く使用されています。

公式

アルトマンZスコアは、以下の公式を使用して計算されます:

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=運転資本総資産X_1 = \frac{\text{運転資本}}{\text{総資産}}
  • X2=留保利益総資産X_2 = \frac{\text{留保利益}}{\text{総資産}}
  • X3=利息および税金前利益(EBIT)総資産X_3 = \frac{\text{利息および税金前利益(EBIT)}}{\text{総資産}}
  • X4=株式の市場価値総負債X_4 = \frac{\text{株式の市場価値}}{\text{総負債}}
  • X5=売上高総資産X_5 = \frac{\text{売上高}}{\text{総資産}}

変数の説明

  • 運転資本(WC): 流動資産から流動負債を引いたもの。短期的な財務流動性を示します。
  • 留保利益(RE): 企業に再投資された累積利益。長期的な収益性を反映します。
  • EBIT: 利息および税金前の利益。運営効率を測定します。
  • 株式の市場価値(MVE): 発行済株式数に現在の株価を掛けたもの。株主の信頼を表します。
  • 総負債(TL): 流動負債と長期負債の合計。
  • 売上高: 商品やサービスの販売による総収益。
  • 総資産(TA): 流動資産と非流動資産の合計。

計算

ステップバイステップガイド

  1. 財務比率を計算する:

    • 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=売上高TAX_5 = \frac{\text{売上高}}{\text{TA}}
  2. 各比率に重みを適用する:

    • XX比率に対応する係数を掛けます。
  3. 重み付けされた比率の合計を求める:

    • 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

数値例

ある企業が以下の財務データを持っているとします(単位:百万USD):

  • 運転資本(WC): $50百万
  • 留保利益(RE): $200百万
  • EBIT: $100百万
  • 株式の市場価値(MVE): $500百万
  • 総負債(TL): $400百万
  • 売上高: $600百万
  • 総資産(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スコアの計算:

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

解釈

  • Zスコア > 2.99: 安全ゾーン – 破産の可能性が低い。
  • 1.81 < Zスコア < 2.99: グレーゾーン – 不確実なリスク;注意が必要。
  • Zスコア < 1.81: 窮地ゾーン – 破産の可能性が高い。

結果: Zスコアが2.34の企業は、グレーゾーンに位置し、潜在的な財務不安定性を示しています。

エッジケースと制限

  • 負の値: 純利益、留保利益、または運転資本の負の入力は、Zスコアを大幅に低下させる可能性があります。
  • 適用性: 元のモデルは、上場製造業企業に最も適しています。
  • 業界の違い: 非製造業、非公開企業、そして新興市場企業には調整されたモデル(例:Z'-スコア、Z''-スコア)が必要です。
  • 経済状況: マクロ経済要因はモデルに考慮されていません。

使用例

アプリケーション

  • 破産予測: 財務不安の早期検出。
  • 信用分析: 貸し手が融資リスクを評価するのを支援。
  • 投資判断: 投資家が財務的に安定した企業を選ぶ手助け。
  • 企業戦略: 経営陣が財務状況を評価し、戦略的調整を行うのを支援。

代替案

Z'-スコアおよびZ''-スコアモデル
  • Z'-スコア: 非公開製造業企業向けに調整されたモデル。
  • Z''-スコア: 非製造業および新興市場企業向けにさらに調整されたモデル。
その他のモデル
  • オールソンOスコア: 破産リスクを予測するためのロジスティック回帰モデル。
  • ズミジェフスキスコア: 財務的な窮地に焦点を当てたプロビットモデルの代替。

代替案を使用する場合:

  • 製造業以外の企業の場合。
  • 非公開企業や上場していない企業を評価する場合。
  • 異なる経済状況や地理的地域で。

歴史

エドワード・アルトマンは、企業の破産が増加する中で1968年にZスコアモデルを導入しました。複数の判別分析(MDA)を利用して、アルトマンは66社を分析し、破産を予測するための重要な財務比率を特定しました。このモデルはその後改良され、信用リスク評価の基礎的なツールとして残っています。

追加の考慮事項

財務操作の影響

  • 企業は、財務比率を一時的に膨らませる会計慣行を行う可能性があります。
  • 定量的スコアに加えて定性的要因を考慮することが重要です。

他の指標との統合

  • Zスコアを他の分析(例:キャッシュフロー分析、市場動向)と組み合わせる。
  • 包括的なデューデリジェンスプロセスの一部として使用する。

コード例

Excel

' Excel VBA関数によるアルトマンZスコア計算
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

' セルでの使用:
' =AltmanZScore(A1, B1, C1, D1, E1, F1, G1)
' A1からG1にはそれぞれの入力値が含まれます

Python

## PythonによるアルトマンZスコア計算
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

## 使用例:
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"アルトマンZスコア: {z:.2f}")

JavaScript

// JavaScriptによるアルトマンZスコア計算
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;
}

// 使用例:
const zScore = calculateZScore(50, 200, 100, 500, 400, 600, 800);
console.log(`アルトマンZスコア: ${zScore.toFixed(2)}`);

Java

// JavaによるアルトマンZスコア計算
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("アルトマンZスコア: %.2f%n", zScore);
    }
}

R

## RによるアルトマンZスコア計算
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)
}

## 使用例:
z_score <- calculate_z_score(50, 200, 100, 500, 400, 600, 800)
cat("アルトマンZスコア:", round(z_score, 2))

MATLAB

% MATLABによるアルトマンZスコア計算
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

% 使用例:
z_score = calculate_z_score(50, 200, 100, 500, 400, 600, 800);
fprintf('アルトマンZスコア: %.2f\n', z_score);

C++

// C++によるアルトマンZスコア計算
#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 << "アルトマンZスコア: " << zScore << std::endl;
    return 0;
}

C#

// C#によるアルトマンZスコア計算
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($"アルトマンZスコア: {zScore:F2}");
    }
}

Go

// GoによるアルトマンZスコア計算
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("アルトマンZスコア: %.2f\n", zScore)
}

Swift

// SwiftによるアルトマンZスコア計算
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
}

// 使用例:
let zScore = calculateZScore(wc: 50, re: 200, ebit: 100, mve: 500, tl: 400, sales: 600, ta: 800)
print(String(format: "アルトマンZスコア: %.2f", zScore))

参考文献

  1. Altman, E. I. (1968). Financial Ratios, Discriminant Analysis and the Prediction of Corporate Bankruptcy. The Journal of Finance, 23(4), 589–609.
  2. アルトマンZスコア。 ウィキペディア。取得元:https://en.wikipedia.org/wiki/Altman_Z-score
  3. インベストペディア - アルトマンZスコア。 取得元:https://www.investopedia.com/terms/a/altman.asp
Loading related tools...
Feedback