Crisis Simulation Log

《個別のご連絡は、こちらからお願いいたします。》
koichi_ko@kamachi.org

2026-03-20 — Prototype SLE Model

本研究は、国際金融危機における「発火メカニズム」を、構造的・動学的に捉えることを目的としています。現在は、ストレス(S)・流動性(L)・期待(E)の三変数からなる最小モデルを用い、閾値を境としたレジーム転換と自己増幅過程の検証を行っています。
本モデルは、危機がどの条件で不可避となるのかを分析するためのプロトタイプとして位置づけられています。

This entry documents the first prototype of a three-loop dynamic model for financial crisis ignition.

This entry documents the first prototype of a three-loop dynamic model for financial crisis ignition. This model serves as a baseline prototype to explore nonlinear ignition mechanisms in international financial crises. It focuses on the interaction of stress (S), dollar-denominated debt (L), and exchange rate (E) within a minimal dynamic system.

Current Stage: Prototype Model

Purpose
This model is constructed as a baseline framework to structurally analyze the nonlinear ignition mechanism of international financial crises. At this stage, the objective is not empirical accuracy but conceptual verification.

Core Structure
The system consists of three interacting variables:

  • S — Market Stress: a composite index of financial system fragility, normalized to [0, 1]. S = 1 represents complete collapse of market credibility.
  • L — Dollar-denominated Debt: the stock of foreign-currency debt held by domestic financial and non-financial entities (GDP ratio). Corresponds to balance sheet leverage in the Bernanke–Gertler–Gilchrist and Adrian–Shin frameworks.
  • E — Exchange Rate: the domestic currency price of the US dollar. An increase in E represents currency depreciation (dollar appreciation).

These variables form a minimal dynamic system designed to capture self-reinforcing feedback loops.

Feedback Mechanism
The model incorporates a circular dynamic: increase in stress → currency depreciation → dollar debt burden rises → balance sheet deterioration → further increase in stress. This feedback structure allows endogenous amplification to emerge within the system without requiring large external shocks..

This feedback structure allows endogenous amplification to emerge within the system.

Regime Switching
When stress exceeds a predefined threshold Sₜʰ, the system transitions from a normal regime to a crisis regime. In the crisis regime, nonlinear dynamics dominate, and stress grows explosively through the quadratic term θ₄ · S². This term captures the self-fulfilling nature of financial panic: the higher the stress, the faster it accelerates.

Shock Design and Observability
External shocks can be introduced with controlled timing and magnitude. The model automatically detects the ignition point, defined as the first time stress exceeds the threshold. All time series (S, L, E) are recorded, enabling visualization, sensitivity analysis, and parameter sweeps

Calibration Note (Known Issue)

Under the current parameter configuration (θ₂ × L₀ = 0.001 × 100 = 0.1 per period), the system ignites endogenously at t = 2 without any external shock. This occurs because the θ₂ L term in the normal-regime stress equation accumulates sufficiently fast to cross Sₜʰ before any shock is applied.

This is a known calibration issue, not a model design error. It highlights the research’s central question: distinguishing structurally inevitable crises (endogenous ignition) from shock-triggered crises (exogenous ignition). Parameter adjustment to enforce the condition “no ignition without shock” is the next calibration step.

Role in the Research Program
This prototype functions as an experimental platform for identifying crisis ignition mechanisms. It provides the foundation for subsequent stages, including structural refinement, parameter calibration against the 1997 Thai crisis, and GPU-based parameter space exploration to map the crisis frontier.

Phase 1: Three-Loop Dynamics (S, L, E)
Python------------------ 
def simulate_3loop_with_ignite(params, steps, shock_time, shock_size):
    S, L, E = 0.05, 100.0, 1.0
    history = {'S': [], 'L': [], 'E': []}
    ignite_time = None

    for t in range(steps):
        history['S'].append(S)
        history['L'].append(L)
        history['E'].append(E)

        if t == shock_time:
            S += shock_size

        if ignite_time is None and S > params['S_th']:
            ignite_time = t

        if S <= params['S_th']:
            L = L + params['alpha1'] - params['alpha2'] * S
            E = E + params['beta1'] * S
            S = S * 0.98 + params['theta1'] * E + params['theta2'] * L
        else:
            L = L - params['alpha2_prime'] * S
            E = E + params['beta1_prime'] * S
            S = S + params['theta4'] * (S ** 2)

        S = min(S, 2.0)
        E = min(E, 4.0)
        L = max(L, 0)

    return history, ignite_time
# ------------------ end

Observations (Preliminary)

  • The system exhibits strong nonlinear amplification once the threshold is crossed.
  • Small shocks can trigger crisis depending on parameter configurations.
  • Under certain parameter regimes, the system ignites endogenously without any external shock, suggesting that structural conditions alone can make crisis inevitable.