• IS-LM模型:从失衡到均衡的模拟


    IS-LM模型:从失衡到均衡的模拟

    1 I S − L M 1 IS-LM 1ISLM模型

    I S − L M IS-LM ISLM是产品市场和货币市场共同均衡时的模型,它由两条曲线构成,分别是 I S IS IS曲线和 L M LM LM曲线。其中 I S IS IS曲线是在产品市场均衡(产品服务供给等于需求、计划支出等于实际支出、计划投资等于储蓄、非计划存货等于0)条件下,均衡实际收入 Y Y Y与实际利率 r r r之间的反向变化关系; L M LM LM曲线是在货币市场均衡(货币供给等于货币需求)条件下,均衡实际利率 r r r与实际收入 Y Y Y之间的正向变化关系。用方程表示为
    { Y = C ( Y ) + I ( r ) L ( r , Y ) = M / P \left\{

    Y=C(Y)+I(r)L(r,Y)=M/P" role="presentation" style="position: relative;">Y=C(Y)+I(r)L(r,Y)=M/P
    \right. {Y=C(Y)+I(r)L(r,Y)=M/P
    其中 Y = C ( Y ) + I ( r ) Y=C(Y)+I(r) Y=C(Y)+I(r)为产品市场均衡条件(计划支出=实际支出)。消费 C ( Y ) C(Y) C(Y)是关于收入 Y Y Y的函数,假设是线性的:
    C ( Y ) = α + β Y C(Y)=\alpha+\beta Y C(Y)=α+βY
    其中 β ∈ ( 0 , 1 ) \beta\in(0,1) β(0,1)称为边际消费倾向, α > 0 \alpha>0 α>0为自主消费,即没有收入时的消费。在资本边际效率不变时,投资 I ( r ) I(r) I(r)是关于利率 r r r的递减函数,假设也是线性的:
    I ( r ) = e − d r I(r)=e-dr I(r)=edr
    其中 e > 0 e>0 e>0是自发投资, d d d是投资对利率的敏感程度。于是产品市场均衡条件可记作
    Y = α + β Y + e − d r Y=\alpha+\beta Y+e-dr Y=α+βY+edr


    L ( r , Y ) L(r,Y) L(r,Y)为实际货币需求,它是由 L 1 ( Y ) L_1(Y) L1(Y)需求和 L 2 ( r ) L_2(r) L2(r)需求构成。 L 1 ( Y ) L_1(Y) L1(Y)由交易性需求和预防性需求构成,随收入 Y Y Y增加而增加,不妨假定为正比例函数
    L 1 ( Y ) = k Y L_1(Y)=kY L1(Y)=kY
    其中 k k k表示用于支付日常开支(交易性需求)和未来不确定性(预防性需求)占实际收入的比重。 L 2 ( r ) L_2(r) L2(r)需求称为投机性需求,它是关于实际利率的递减函数,假设为负比例函数:
    L 2 ( r ) = A − h r L_2(r)=A-hr L2(r)=Ahr
    其中 A > 0 A>0 A>0是参数, h h h表示 L 2 L_2 L2对利率 r r r变化的敏感程度。 M M M表示名义货币供给, P P P表示价格水平, M / P M/P M/P表示实际货币供给。货币市场均衡条件可以记作
    k Y + A − h r = M / P kY+A-hr=M/P kY+Ahr=M/P
    我们将上述两个模型重新写在一起
    { Y = α + β Y + e − d r k Y + A − h r = M / P \left\{

    Y=α+βY+edrkY+Ahr=M/P" role="presentation" style="position: relative;">Y=α+βY+edrkY+Ahr=M/P
    \right. {Y=α+βY+edrkY+Ahr=M/P
    r , Y r,Y r,Y视为内生变量,两个方程组可以解出唯一均衡值,记作 ( r ∗ , Y ∗ ) (r^*,Y^*) (r,Y)。其中 r ∗ r^* r称为均衡实际利率, Y ∗ Y^* Y称为均衡实际收入,或均衡国民收入。从几何上看,也就是这两条直线的交点。


    然而,初始的实际收入和实际利率并不是均衡的,很有可能并不在上述两条直线的交点处,例如下图 E ′ E' E, E ′ ′ E'' E′′ E ′ ′ ′ E''' E′′′
    在这里插入图片描述

    假设初始状态在 E ′ ′ ′ E''' E′′′,此时计划投资大于储蓄 I > S I>S I>S,实际收入 Y Y Y增加,实际利率 r r r增加,即 E ′ ′ ′ E''' E′′′点即向右移动,又向上移动,合力为右上方,直至进入 I I II II区域。在 I I II II区域中, I < S II<S,实际收入减少,于是向左移动; L > M L>M L>M,实际利率继续向上移动,合力为左上方,此时进入 I I I区域。在 I I I区域, Y Y Y减少, r r r降低,合力在左下方,进入 I V IV IV区域。在 I V IV IV区域, Y Y Y增加, r r r降低,进入 I I I III III区域,于是重新回到 I I I III III区域。但每次都与均衡点 E E E不断接近。


    为了使上述模型动态化,引入时间因素 t t t,于是
    { C t = α + β Y t I t = e − d r t Y t + 1 = C t + I t k Y t + A − h r t + 1 = M / P \left\{

    Ct=α+βYtIt=edrtYt+1=Ct+ItkYt+Ahrt+1=M/P" role="presentation" style="position: relative;">Ct=α+βYtIt=edrtYt+1=Ct+ItkYt+Ahrt+1=M/P
    \right. Ct=α+βYtIt=edrtYt+1=Ct+ItkYt+Ahrt+1=M/P
    整理得到
    { C t = α + β Y t I t = e − d r t Y t + 1 = C t + I t r t + 1 = ( k Y t + A − M / P ) / h \left\{
    Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h" role="presentation" style="position: relative;">Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h
    \right.
    Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h


    在长期中,非均衡逐渐向均衡靠拢, r t ≈ r t + 1 ≈ r ∗ r_t\approx r_{t+1} \approx r^* rtrt+1r, Y t ≈ Y t + 1 ≈ Y ∗ Y_t\approx Y_{t+1}\approx Y^* YtYt+1Y,于是
    { C ∗ = α + β Y ∗ I ∗ = e − d r ∗ Y ∗ = C ∗ + I ∗ r ∗ = ( k Y ∗ + A − M / P ) / h \left\{

    C=α+βYI=edrY=C+Ir=(kY+AM/P)/h" role="presentation" style="position: relative;">C=α+βYI=edrY=C+Ir=(kY+AM/P)/h
    \right. C=α+βYI=edrY=C+Ir=(kY+AM/P)/h
    使用行列式求解得到长期均衡点为
    { r ∗ = k ( α + e ) + ( 1 − β ) ( A − M / P ) k d + h ( 1 − β ) Y ∗ = h ( α + e ) − d ( A − M / P ) k d + h ( 1 − β ) \left\{
    r=k(α+e)+(1β)(AM/P)kd+h(1β)Y=h(α+e)d(AM/P)kd+h(1β)" role="presentation" style="position: relative;">r=k(α+e)+(1β)(AM/P)kd+h(1β)Y=h(α+e)d(AM/P)kd+h(1β)
    \right.
    r=kd+h(1β)k(α+e)+(1β)(AM/P)Y=kd+h(1β)h(α+e)d(AM/P)


    2 数值模拟

    2.1 长期均衡解

    令参数 α = 500 \alpha=500 α=500, β = 0.5 \beta=0.5 β=0.5 e = 1250 e=1250 e=1250 d = 250 d=250 d=250 k = 0.5 k=0.5 k=0.5 h = 250 h=250 h=250 A = 1000 A=1000 A=1000 M = 1250 M=1250 M=1250 P = 1 P=1 P=1,代入上述均衡解得到

    alpha = 500
    beta = 0.5
    e = 1250
    d = 250
    k = 0.5
    h = 250
    A = 1000
    M = 1250
    P = 1
    r_star = (k*(alpha+e)+(1-beta)*(A-M/P))/(k*d+h*(1-beta))
    Y_star =( h*(alpha+e)-d*(A-M/P))/(k*d+h*(1-beta))
    r_star
    Y_star
    # 3
    # 2000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    现在假设初始实际利率为 r 0 = 10 r_0=10 r0=10 Y 0 = 5000 Y_0=5000 Y0=5000,基于下列公式
    { C t = α + β Y t I t = e − d r t Y t + 1 = C t + I t r t + 1 = ( k Y t + A − M / P ) / h \left\{

    Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h" role="presentation" style="position: relative;">Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h
    \right. Ct=α+βYtIt=edrtYt+1=Ct+Itrt+1=(kYt+AM/P)/h

    rm(list = ls())
    # 参数初始化
    alpha = 500
    beta = 0.5
    e = 1250
    d = 250
    k = 0.5
    h = 250
    A = 1000
    M = 1250
    P = 1
    T = 100  # 迭代次数
    
    r = numeric()
    Y = numeric()
    # 初始值
    r[1] = 10
    Y[1] = 5000
    # 迭代
    for (t in 1:T) {
      C = alpha+beta*Y[t]
      I = e-d*r[t]
      Y[t+1] = C+I
      r[t+1] = (k*Y[t]+A-M/P)/h
      
    }
    par(mfrow=c(1,2),mar = c(5,5,5,5))
    plot(Y,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际利率均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    plot(r,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际收入均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    par(mfrow=c(1,1))
    plot(Y,r,typ="l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "均衡点收敛过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    在这里插入图片描述
    在这里插入图片描述


    2.2 政府部门引入

    引入政府部门,政府决策变量包括政府支出 G G G、税收 T T T和转移支付 T r T_r Tr,此时均衡条件如下:
    { C t = α + β ( Y t − T + T r ) I t = e − d r t Y t + 1 = C t + I t + G r t + 1 = ( k Y t + A − M / P ) / h \left\{

    Ct=α+β(YtT+Tr)It=edrtYt+1=Ct+It+Grt+1=(kYt+AM/P)/h" role="presentation" style="position: relative;">Ct=α+β(YtT+Tr)It=edrtYt+1=Ct+It+Grt+1=(kYt+AM/P)/h
    \right. Ct=α+β(YtT+Tr)It=edrtYt+1=Ct+It+Grt+1=(kYt+AM/P)/h
    令政府购买 G = 500 G=500 G=500,税收 T = 20 T=20 T=20,转移支付 T r = 5 T_r=5 Tr=5

    rm(list = ls())
    # 参数初始化
    alpha = 500
    beta = 0.5
    e = 1250
    d = 250
    k = 0.5
    h = 250
    A = 1000
    M = 1250
    P = 1
    T = 20
    Tr = 5
    G = 500
    
    T = 100  # 迭代次数
    
    r = numeric()
    Y = numeric()
    # 初始值
    r[1] = 10
    Y[1] = 5000
    # 迭代
    for (t in 1:T) {
      C = alpha+beta*(Y[t]-T+Tr)
      I = e-d*r[t]
      Y[t+1] = C+I+G
      r[t+1] = (k*Y[t]+A-M/P)/h
      
    }
    par(mfrow=c(1,2),mar = c(5,5,5,5))
    plot(Y,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际利率均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    plot(r,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际收入均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    par(mfrow=c(1,1))
    plot(Y,r,typ="l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "均衡点收敛过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    在这里插入图片描述

    在这里插入图片描述


    2.3 价格水平影响

    使价格水平 P P P不断下降,实际货币供给不断增加,实际货币供给增加又导致均衡实际利率不断降低,进而导致投资不断增加,均衡国民收入不断增加。

    rm(list = ls())
    # 参数初始化
    alpha = 500
    beta = 0.5
    e = 1250
    d = 250
    k = 0.5
    h = 250
    A = 1000
    M = 1250
    T = 20
    Tr = 5
    G = 500
    T = 100  # 迭代次数
    r = numeric()
    Y = numeric()
    # 初始值
    r[1] = 10
    Y[1] = 5000
    # 迭代
    
    P = c(1,0.8,0.6,0.4)
    par(mfrow=c(2,2),mar = c(5,5,5,5))
    for(j in P){
      for (t in 1:T) {
        C = alpha+beta*(Y[t]-T+Tr)
        I = e-d*r[t]
        Y[t+1] = C+I+G
        r[t+1] = (k*Y[t]+A-M/j)/h
      }
      plot(Y,r,typ="l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = paste("价格水平P=",j),
           cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
      grid(col = "black")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    在这里插入图片描述


    2.4 随机扰动因素

    除收入外,还有其他一些因素也会影响消费;同理,除了利率,也有其他因素也会影响投资大小;货币需求和货币供给之间也存在随机误差。因此,均衡条件进一步改进为
    { C t = α + β ( Y t − T + T r ) + ε t I t = e − d r t + v t Y t + 1 = C t + I t + G r t + 1 = ( k Y t + A − M / P + w t ) / h ε t , v t , w t ∼ N ( 0 , 1 ) \left\{

    Ct=α+β(YtT+Tr)+εtIt=edrt+vtYt+1=Ct+It+Grt+1=(kYt+AM/P+wt)/hεt,vt,wtN(0,1)" role="presentation" style="position: relative;">Ct=α+β(YtT+Tr)+εtIt=edrt+vtYt+1=Ct+It+Grt+1=(kYt+AM/P+wt)/hεt,vt,wtN(0,1)
    \right. Ct=α+β(YtT+Tr)+εtIt=edrt+vtYt+1=Ct+It+Grt+1=(kYt+AM/P+wt)/hεt,vt,wtN(0,1)
    其中 ε t , v t , w t \varepsilon_t,v_t,w_t εt,vt,wt假定服从标准正态分布。

    #------------------------随机扰动影响-----------------------------
    rm(list = ls())
    # 参数初始化
    alpha = 500
    beta = 0.5
    e = 1250
    d = 250
    k = 0.5
    h = 250
    A = 1000
    M = 1250
    P = 1
    T = 20
    Tr = 5
    G = 500
    T = 100  # 迭代次数
    r = numeric()
    Y = numeric()
    # 初始值
    r[1] = 4
    Y[1] = 2450
    # 迭代
    for (t in 1:T) {
      C = alpha+beta*(Y[t]-T+Tr)+rnorm(1,0,1)
      I = e-d*r[t]+rnorm(1,0,1)
      Y[t+1] = C+I+G
      r[t+1] = (k*Y[t]+A-M/P+rnorm(1,0,1) )/h
      
    }
    par(mfrow=c(1,2),mar = c(5,5,5,5))
    plot(Y,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际利率均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    plot(r,type = "l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "实际收入均衡过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    par(mfrow=c(1,1))
    plot(Y,r,typ="l",lwd=2,xlab = "实际收入Y",ylab = "实际利率r",main = "均衡点收敛过程",
         cex.axis = 2, cex.lab = 2,cex.main = 2,family = "ST")
    grid(col = "black")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    在这里插入图片描述
    在这里插入图片描述


  • 相关阅读:
    我的域名注册踩坑指南
    最优传输及其在公平中的应用
    多无人机编队集群飞行
    Worthington解离酶:中性蛋白酶(分散酶)详情解析
    数据分析技能点-正态分布和其他变量分布
    [附源码]计算机毕业设计在线图书销售系统Springboot程序
    矩阵理论复习(三)
    [N1CTF 2018]eating_cms
    一文掌握Python多线程与多进程
    win10安装onnx、tensorrt(python用,超简单安装版)
  • 原文地址:https://blog.csdn.net/weixin_46649908/article/details/134321541