Pavel Bykov Personal website

Modeling · Published article

30 December 2025 · 4 min read

Modeling of Monetary Financial Flows in System Dynamics

A monetary financial model of a small open economy, built with stock-flow consistent and system dynamics methods. It tracks how public and private debts interact, and how public debt relates to the profits of firms.


Published in

Bykov, P. (2025). Modeling of monetary financial flows in system dynamics. ACTA VŠFS, 19(2), 177–203. doi.org/10.37355/acta-2025/2-05

The model describes a small open economy with six sectors. They are the central bank, the government, banks, households, firms and the rest of the world. Stocks are the items of the consolidated sector balance sheets. Flows are the accounting operations that change those stocks. One time unit equals one quarter.

The model follows the stock-flow consistent framework of Godley and Lavoie (2007) and is written as a system dynamics model in continuous time. Behavioural equations govern spending, credit, borrowing and taxation. The interest rate closes the main balancing loop of the model. It reacts to the inflation gap, the output gap and the balance of credit demand and supply.

Every financial asset is someone else’s liability, so each instrument summed across all sectors gives zero. For a sector balance sheet with assets \(A\), liabilities \(L\) and equity \(E\) the same rule holds.

\[ \sum_{s=1}^{n} B_{j,s} = 0 \quad \forall j, \qquad A - L - E = 0 \]

Here \(B_{j,s}\) is the holding of instrument \(j\) by sector \(s\). An asset enters with a plus sign and a liability with a minus sign.

Balance sheet and transactions

Table 1 shows the balance sheet matrix and Table 2 the transaction flow matrix. Point at a row to see that it sums to zero.

Table 1. Balance sheet matrix of the model.
InstrumentHHFBCBGRoWΣ
Household deposits, HH+HH−HH0
Firm deposits HF+HF−HF0
Gov. deposits at CB HG−HG+HG0
Bank reserves R+R−R0
Loans to firms LF−LF+LF0
Loans to households LHH−LHH+LHH0
Government bonds B+B−B0
Nostro accounts HBROW+HBROW−HBROW0
CB FX reserves FXCB+FXCB−FXCB0
Σ0000000

Source: Author.

Table 2. Transaction flow matrix of the model.
FlowHHFBCBGRoWΣ
Wages, W+W−W0
Consumption, C−C+C0
Gov. spending, G+G−G0
Bank spending, CB+CB−CB0
Exports, MF+MF−MF0
Firm imports, MimpF−MimpF+MimpF0
HH imports, MHH−MHH+MHH0
HH taxes, TH−TH+TH0
Firm taxes, TF−TF+TF0
Interest on HH loans, ΦLHH−ΦLHH+ΦLHH0
Interest on firm loans, ΦLF−ΦLF+ΦLF0
Interest on bonds, ΦB+ΦB−ΦB0
Firm dividends, DF−DF+DF0
Bank dividends, DB−DB+DB0
Saving, SSHHSFSB0SGSROW0
HH deposits, ΔHH−ΔHH+ΔHH0
Firm deposits, ΔHF−ΔHF+ΔHF0
TGA, ΔHG+ΔHG−ΔHG0
Reserves, ΔR−ΔR+ΔR0
Firm loans, ΔLF+ΔLF−ΔLF0
HH loans, ΔLHH+ΔLHH−ΔLHH0
Gov. bonds, ΔB−ΔB+ΔB0
Nostro, ΔHBROW−ΔHBROW+ΔHBROW0
Σ0000000

Source: Author.

Stocks

Each stock changes only through its inflows and outflows. Figure 1 shows the stocks and flows of the model. The stock equations below follow the Godley tables, sector by sector.

Click a stock to see what fills and drains it. Click a flow to see where it leaves one stock and enters another.

Figure 1. Forrester diagram of the model. A rectangle is a stock, a variable that accumulates through its own differential equation. An arrow with a solid dot is a flow, the rate at which a stock fills or drains. A circle marks the boundary of the flow. Source: Author

Central bank and government

Bank reserves \(R\) rise when the government spends or pays interest on its bonds. They fall when the government collects taxes or sells bonds. Government deposits \(H_G\) move the opposite way. The government finances its deficit by selling bonds \(B\).

\[ \frac{dR}{dt} = G + I_G - (T + \Delta B) \tag{1} \]
\[ \frac{dH_G}{dt} = T + \Delta B - (G + I_G) \tag{2} \]
\[ \Delta B = G + I_G - T \tag{3} \]
\[ \frac{dB}{dt} = \Delta B \tag{4} \]
\[ \frac{dG_E}{dt} = T - (G + I_G) \tag{5} \]

Households

Household deposits \(H_H\) grow with wages \(W\) and new loans \(\Delta L_{\mathrm{HH}}\). They fall with consumption \(C\), taxes, interest \(I_{\mathrm{HH}}\), imports \(M_{\mathrm{HH}}\) and loan repayments \(R_{\mathrm{HH}}\).

\[ \frac{dH_H}{dt} = W + \Delta L_{\mathrm{HH}} - (C + T + I_{\mathrm{HH}} + M_{\mathrm{HH}} + R_{\mathrm{HH}}) \tag{6} \]
\[ \frac{dL_{\mathrm{HH}}}{dt} = \Delta L_{\mathrm{HH}} - R_{\mathrm{HH}} \tag{7} \]
\[ \frac{d\mathit{HH}_E}{dt} = W - (C + T + I_{\mathrm{HH}} + M_{\mathrm{HH}}) \tag{8} \]

Firms

Firm deposits \(H_F\) grow with new loans \(\Delta L_F\), consumption, government spending, bank spending \(C_B\) and exports \(M_F\). They fall with wages, interest \(I_F\), dividends \(D_F\), imports and loan repayments \(R_F\).

\[ \frac{dH_F}{dt} = \Delta L_F + C + G + C_B + M_F - (W + I_F + D_F + M_F^{\mathrm{imp}} + R_F) \tag{9} \]
\[ \frac{dL_F}{dt} = \Delta L_F - R_F \tag{10} \]
\[ \frac{dF_E}{dt} = C + G + C_B + M_F - (W + I_F + D_F + M_F^{\mathrm{imp}}) \tag{11} \]

Banks

Nostro accounts \(H_{\mathrm{BROW}}\) are the claims of domestic banks on the foreign banking system. They grow with exports and fall with imports and with dividends paid abroad. Net financial assets of banks \(B_E\) grow with interest on loans and fall with bank spending and dividends.

\[ \frac{dH_{\mathrm{BROW}}}{dt} = M_F - (M_F^{\mathrm{imp}} + M_{\mathrm{HH}} + D_F + D_B) \tag{12} \]
\[ \frac{dB_E}{dt} = I_F + I_{\mathrm{HH}} - (C_B + D_B) \tag{13} \]

Rest of the world

\[ \frac{dH_{\mathrm{ROW}}}{dt} = M_F^{\mathrm{imp}} + M_{\mathrm{HH}} + D_F + D_B - M_F \tag{14} \]
\[ \frac{dE_{\mathrm{ROW}}}{dt} = M_F^{\mathrm{imp}} + M_{\mathrm{HH}} + D_F + D_B - M_F \tag{15} \]

Output, credit and the interest rate

GDP is the turnover of the firms’ deposits. Wages, government spending and taxes are fixed shares of GDP.

\[ \mathit{GDP} = \frac{H_F}{V_F} \tag{16} \]
\[ W = W_s \cdot \mathit{GDP} \tag{17} \]
\[ G = g_s \cdot \mathit{GDP} \tag{18} \]
\[ T = \tau \cdot \mathit{GDP} \tag{19} \]

Firms borrow the smaller of their loan demand \(\mathit{DL}_F\) and the loan supply of banks \(\mathit{SL}_B\). Banks lend up to a leverage multiple of their net financial assets. Households borrow a fixed share of GDP. Both sectors repay a fixed share of their debt in each period.

\[ \mathit{DL}_F = H_F \cdot (\beta^{\max} - \beta_S \cdot r) \tag{20} \]
\[ \mathit{SL}_B = B_E \cdot \mathit{Lev}_r \tag{21} \]
\[ \Delta L_F = \min(\mathit{DL}_F,\ \mathit{SL}_B) \tag{22} \]
\[ \Delta L_{\mathrm{HH}} = \beta_{\mathrm{HH}} \cdot \mathit{GDP} \tag{23} \]
\[ R_F = \rho_F \cdot L_F \tag{24} \]
\[ R_{\mathrm{HH}} = \rho_{\mathrm{HH}} \cdot L_{\mathrm{HH}} \tag{25} \]

Interest is paid on government bonds and on new loans.

\[ I_G = r \cdot B \tag{26} \]
\[ I_F = r \cdot \Delta L_F \tag{27} \]
\[ I_{\mathrm{HH}} = r \cdot \Delta L_{\mathrm{HH}} \tag{28} \]

Growth comes from net new credit. The output gap is the deviation of growth from its steady state. Inflation follows a simple Phillips curve.

\[ \mathit{GR} = \frac{\Delta L_F + \Delta L_{\mathrm{HH}} - R_F - R_{\mathrm{HH}}}{H_F} \tag{29} \]
\[ \mathit{Out}_{\mathrm{GAP}} = \mathit{GR} - \mathit{GR}_{ss} \tag{30} \]
\[ \pi = \pi_{ss} + \Phi_p \cdot \mathit{Out}_{\mathrm{GAP}} \tag{31} \]
\[ \pi_{\mathrm{GAP}} = \pi - \pi_{ss} \tag{32} \]

The effective interest rate is the central bank rate plus a market component. The market component accumulates two terms. The Taylor gap weighs the inflation gap and the output gap. The credit gap \(\Delta r\) compares the loan demand of firms and new government bonds with the loan supply of banks.

\[ r = r^{\mathrm{CB}} + r_{\mathrm{market}} \tag{33} \]
\[ \mathit{Taylor}_{\mathrm{GAP}} = a_p \cdot \pi_{\mathrm{GAP}} + a_y \cdot \mathit{Out}_{\mathrm{GAP}} \tag{34} \]
\[ \Delta r = \frac{\kappa_r \cdot (\mathit{DL}_F + \Delta B - \mathit{SL}_B)}{\mathit{GDP}} \tag{35} \]
\[ \frac{dr_{\mathrm{market}}}{dt} = \Delta r + \mathit{Taylor}_{\mathrm{GAP}} \tag{36} \]

The interest rate closes the balancing loops B1 and B4. Figure 2 shows all feedback loops of the model. Switch them on and off, or follow one through the diagram.

    Click a loop to follow it through the diagram. The switches turn loops on and off.
    Figure 2. Causal loop diagram of the model. + marks a positive and − a negative causal link. R marks reinforcing and B balancing loops. Source: Author.

    Spending, trade and profits

    Households spend a share of their deposits that moves with the inflation gap. Banks spend a fixed share of their net financial assets.

    \[ S_{\mathrm{HH}}^{\mathrm{eff}} = S_{\mathrm{HH}} \cdot (1 - \lambda_{\mathrm{inf}}) \cdot \pi_{\mathrm{GAP}} \tag{37} \]
    \[ C = S_{\mathrm{HH}}^{\mathrm{eff}} \cdot H_H \tag{38} \]
    \[ C_B = S_B \cdot B_E \tag{39} \]

    Exports and imports are shares of GDP.

    \[ M_F = E_{\mathrm{rat}} \cdot \mathit{GDP} \tag{40} \]
    \[ M_{\mathrm{HH}} = I_{\mathrm{rat}}^{\mathrm{HH}} \cdot \mathit{GDP} \tag{41} \]
    \[ M_F^{\mathrm{imp}} = I_{\mathrm{rat}}^{F} \cdot \mathit{GDP} \tag{42} \]

    Profits of firms \(F_p\) and of banks \(B_p\) set the dividends paid to foreign owners.

    \[ F_p = C + G + C_B + M_F - (W + I_F + M_F^{\mathrm{imp}}) \tag{43} \]
    \[ D_F = \mathit{FD}_{\mathrm{rat}} \cdot F_p \tag{44} \]
    \[ B_p = I_F + I_G + I_{\mathrm{HH}} - C_B \tag{45} \]
    \[ D_B = \mathit{BD}_{\mathrm{rat}} \cdot B_p \tag{46} \]

    Parameters and initial values

    All stocks are in millions of Czech crowns. Flows and ratios are unitless proportions. Table 3 lists the values of the baseline scenario on the scale of the paper. The Ravel file holds the same values multiplied by 1,000.

    Table 3. Initial stocks and parameters of the baseline scenario.
    SymbolMeaningTypeValue
    \(H_H\)Household depositsStock5000
    \(H_F\)Firm depositsStock1500
    \(H_G\)Government deposits at the central bankStock300
    \(R\)Bank reservesStock1000
    \(H_{\mathrm{BROW}}\)Nostro accountsStock800
    \(\mathit{FX}_{\mathrm{CB}}\)Central bank FX reservesStock3000
    \(L_F\)Loans to firmsStock3500
    \(L_{\mathrm{HH}}\)Loans to householdsStock2000
    \(B\)Government bondsStock3300
    \(H_{\mathrm{ROW}}\)Assets of the rest of the worldStock8000
    \(L_{\mathrm{ROW}}\)Liabilities of the rest of the worldStock3000
    \(E_{\mathrm{ROW}}\)Net financial assets of the rest of the worldStock5000
    \(B_E\)Net financial assets of banksStock4100
    \(F_E\)Net financial assets of firmsStock−2000
    \(\mathit{HH}_E\)Net financial assets of householdsStock3000
    \(G_E\)Net financial assets of the governmentStock−3000
    \(\mathit{CB}_E\)Net financial assets of the central bankStock1000
    \(\mathit{BD}_{\mathrm{rat}}\)Dividend ratio of banksParameter0.05
    \(\beta_{\mathrm{HH}}\)Borrowing ratio of householdsParameter0.003
    \(\beta^{\max}\)Maximum borrowing ratio of firmsParameter0.06
    \(\beta_S\)Sensitivity of firm borrowing to the interest rateParameter0.015
    \(\rho_F\)Repayment rate of firmsParameter0.04
    \(\rho_{\mathrm{HH}}\)Repayment rate of householdsParameter0.02
    \(E_{\mathrm{rat}}\)Exports to GDPParameter0.6
    \(\mathit{FD}_{\mathrm{rat}}\)Dividend ratio of firmsParameter0.6
    \(\mathit{GR}_{ss}\)Steady-state growth rateParameter0.06
    \(I_{\mathrm{rat}}^{F}\)Imports of firms to GDPParameter0.07
    \(I_{\mathrm{rat}}^{\mathrm{HH}}\)Imports of households to GDPParameter0.05
    \(\pi_{ss}\)Inflation targetParameter0.004
    \(r_{\mathrm{market}}\)Market component of the interest rate, initial valueParameter0.01
    \(r^{\mathrm{CB}}\)Central bank policy rateParameter0.01
    \(\kappa_r\)Sensitivity of the market rate to the credit gapParameter0
    \(\mathit{Lev}_r\)Leverage ratio of banksParameter8
    \(\Phi_p\)Price sensitivity to the output gapParameter0.03
    \(S_B\)Spending rate of banksParameter0.005
    \(g_s\)Government spending to GDPParameter0.18
    \(S_{\mathrm{HH}}\)Spending rate of householdsParameter0.035
    \(\tau\)Tax rateParameter0.15
    \(V_F\)Turnover ratio of firm depositsParameter0.3
    \(W_s\)Wage share of GDPParameter0.6
    \(a_p\)Central bank response to the inflation gapParameter0.03
    \(a_y\)Central bank response to the output gapParameter0.01
    \(\lambda_{\mathrm{inf}}\)Sensitivity of consumption to the inflation gapParameter0.15

    Source: Author.

    Scenarios and simulation

    One time unit equals one quarter and the baseline runs for 30 quarters. The relative error is 0.01 and the absolute error 0.001. The solver is a fourth-order Runge–Kutta method with no implicit solver.

    The boom scenario raises the export-to-GDP ratio from 0.6 to 0.8 and the borrowing capacity of firms from 0.06 to 0.14. It also lowers the repayment rate of firms slightly.

    The negative shock scenario cuts the export ratio to 0.43 and the turnover of firms to 0.3. The wage share rises to 0.6. Credit is tightened through a lower maximum borrowing fraction of 0.08, and the tax rate is 0.21.

    Results

    The three scenarios suggest that public debt may positively influence the financial position of the private sector in a small open economy. In the baseline, rising government debt goes together with rising net financial assets of firms and a gradual fall in their borrowing. The boom scenario strengthens these patterns. In the negative shock scenario, lower government debt and weaker external demand reduce the net financial assets of firms and their borrowing.

    The results are highly sensitive to the foreign sector. Even a modest external shock reshapes the sector balance sheets of a small open economy.

    Model code and data

    Ravel model fileFull system dynamics model with all stocks, flows and parameters Coming soon

    References

    • Bykov, P. (2025). Modeling of monetary financial flows in system dynamics. ACTA VŠFS, 19(2), 177–203. https://doi.org/10.37355/acta-2025/2-05
    • Godley, W., & Lavoie, M. (2007). Monetary economics: An integrated approach to credit, money, income, production and wealth. Palgrave Macmillan.

    Share this post

    Also published on