1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

マクロ経済学とPython

Posted at

1 付加価値

/マクロ経済学

【問題】
ある1年で、みかん農家は200億円のみかんを生産し、そのうち150億円分をジュース製造業者に販売した。
ジュース製造業者は、それをもとに280億円のみかんジュースを生産し、小売業者に全て販売した。
小売業者は、それを300億円で消費者に販売した。
この時、小売業者の1年間の付加価値はいくらか。

【解説】
付加価値 = 生産額 − 中間投入
小売業者の場合、生産額 = 300億円、中間投入 = 280億円
よって、付加価値 = 300 − 280 = 20億円

【関連問題】

  1. 付加価値という概念はなぜ重要なのか。
  2. ジュース製造業者の付加価値はいくらか。(答:280 − 150 = 130億円)
  3. みかん50億円を小売に、150億円をジュース業者に販売。
    ジュース業者は280億円のジュースを生産。
    小売業者は、みかんを60億円、ジュースを300億円で消費者に販売。
    このとき小売業者の付加価値はいくらか。
    (答:360 − (50+280) = 30億円)

2 GDP の概念

/マクロ経済学

【問題】
GDPとは何か説明しなさい。

【解説】
GDP = Gross Domestic Product(国内総生産)
一定期間に国内で新たに生み出された付加価値の総計。

類似概念:

  • GNP(Gross National Product, 国民総生産)
    国民が生み出した付加価値の総計(国内にいる外国人・外国企業は含まない)
  • GNI(Gross National Income, 国民総所得)
    GNPを所得面から捉えた概念

【関連問題】
国民経済計算に関する次の記述のうち妥当なものはどれか。

イ) 国内総生産は、国内生産+海外投資収益である。
ロ) 国民総生産は、国内生産−外国人の国内分を差し引いたものである。
ハ) 国内総生産には持ち家の帰属家賃が含まれる。 ← 正しい
ニ) 在庫増加は国民総支出に含まれない。
ホ) 国民総支出 = 最終消費支出+総固定資本形成+在庫品増加+輸入


3 GDP の構成要素

/マクロ経済学

【問題】
GDPの支出項目(構成要素)を説明しなさい。

【解説】
GDP = 民間最終消費支出+民間住宅+民間企業設備+民間在庫品増加
+ 政府最終消費支出+公的固定資本形成+公的在庫品増加
+ (輸出−輸入)

例:2010年名目GDP(481兆7733億円)の内訳

  • 民間最終消費支出:285兆円
  • 民間住宅:13兆円
  • 民間企業設備:62兆円
  • 政府最終消費支出:95兆円
  • 公的固定資本形成:22兆円
  • 純輸出:6兆円

まとめ:
民需 = 民間最終消費+民間住宅+民間設備+民間在庫
公需 = 政府消費+公的設備+公的在庫
内需 = 民需+公需
外需 = 輸出−輸入

【関連問題】
公的固定資本形成とは何か説明せよ。
(答:政府が道路・橋・公共施設などのインフラ整備に投資すること)


4 三面等価の原則

/マクロ経済学

【問題】
三面等価の原則とは何か。

【解説】
三面等価の原則とは:
「GDP(国内総生産)は、生産面・分配面・支出面のどこから測っても同じになる」
という原則。

(1) 生産面のGDP:
 一定期間に国内で生み出された付加価値の総額
(2) 分配面のGDP:
 雇用者所得+営業余剰・混合所得+固定資本減耗+(間接税−補助金)
(3) 支出面のGDP:
 民間消費+政府消費+国内総固定資本形成+在庫増加+純輸出

在庫の増減を調整項目として含めることで、3つが一致する。

【関連問題】

  1. “意図せざる在庫の変化”とは何か。
    → 企業が販売予定より多く生産して残った在庫。
  2. 例題:
    部品会社が120万円分を生産。自動車会社は100万円分を購入し、自動車を150万円分販売。
    → GDP = 部品120 + 自動車150 − 中間投入100 = 170万円
    意図せざる在庫増加 = 20万円
# ============================================
# マクロ経済学 基礎計算 Pythonサンプル
# ============================================

# 1. 付加価値の計算
def added_value(output, input_cost):
    """付加価値 = 生産額 - 中間投入"""
    return output - input_cost

# 例:小売業者(生産額300億円, 中間投入280億円)
print("小売業者の付加価値 =", added_value(300, 280), "億円")
# → 20億円


# 2. GDPの概念 (支出面からの計算)
def gdp_expenditure(consumption, housing, investment, inventory,
                    gov_consumption, gov_investment, gov_inventory,
                    export_, import_):
    """GDP = 民需 + 公需 + (輸出 - 輸入)"""
    private_demand = consumption + housing + investment + inventory
    public_demand = gov_consumption + gov_investment + gov_inventory
    domestic_demand = private_demand + public_demand
    foreign_demand = export_ - import_
    return domestic_demand + foreign_demand

# 2010年の名目値(兆円)
GDP = gdp_expenditure(
    consumption=285,
    housing=13,
    investment=62,
    inventory=-1.5,   # 民間在庫品増加
    gov_consumption=95,
    gov_investment=22,
    gov_inventory=-0.6,
    export_=73,
    import_=67
)
print("2010年名目GDP =", round(GDP, 1), "兆円")
# → 約481.0兆円


# 3. 三面等価の原則チェック
def gdp_three_sides(value_added, income, expenditure):
    """生産・分配・支出の三面が一致するかを確認"""
    return value_added == income == expenditure

# 仮の数値例
value_added = 170   # 生産面
income = 170        # 分配面
expenditure = 170   # 支出面
print("三面等価が成立しているか?", gdp_three_sides(value_added, income, expenditure))
# → True


# 4. 意図せざる在庫変化を含めたGDP計算
def gdp_with_inventory(parts_output, parts_sold, car_output):
    """部品と自動車の例によるGDP計算"""
    unintended_inventory = parts_output - parts_sold
    gdp = parts_output + car_output - parts_sold
    return gdp, unintended_inventory

gdp, inv = gdp_with_inventory(parts_output=120, parts_sold=100, car_output=150)
print("GDP =", gdp, "万円")
print("意図せざる在庫増加 =", inv, "万円")
# → GDP = 170万円, 在庫増加 = 20万円

1. 限界の概念(MPC と MPS)

【問題】
限界貯蓄性向とは何か。また、限界貯蓄性向が 0.6 の時、限界消費性向はいくらか。

【解説】

  • 限界消費性向(MPC)= 所得が 1 増えたときに消費がどれだけ増えるか。
  • 限界貯蓄性向(MPS)= 所得が 1 増えたときに貯蓄がどれだけ増えるか。

基本式:
MPC + MPS = 1

計算:
MPS = 0.6 → MPC = 1 − 0.6 = 0.4

【関連問題】
MPC = 0.3 のとき、MPS = 1 − 0.3 = 0.7


2. 乗数プロセスと派生需要

【問題】
限界消費性向が 0.7、初期所得増加が 50 億円。
二次派生需要と三次派生需要を求めよ。

【解説】
二次派生需要 = 初期需要 × MPC
= 50 × 0.7 = 35 億円

三次派生需要 = 二次派生需要 × MPC
= 35 × 0.7 = 24.5 億円

【関連問題】
MPC = 0.4、初期所得増加 = 100 億円
→ 二次派生需要 = 100 × 0.4 = 40 億円

MPC = 0.4、初期所得増加 = 50 億円
→ 二次派生需要 = 20 億円
→ 三次派生需要 = 20 × 0.4 = 8 億円


3. 乗数の計算

【問題】
MPC = 0.8 のとき、乗数はいくらか。

【解説】
乗数 k = 1 / (1 − MPC)

計算:
k = 1 / (1 − 0.8) = 1 / 0.2 = 5

→ 初期需要増加 A が 1 のとき、最終的に所得は 5 倍に拡大。

【関連問題】
一般式:MPC = c のとき
k = 1 / (1 − c)


4. 消費関数 1

【問題】
C = 0.8Y + 40
このとき限界消費性向と、Y=0 のときの消費はいくらか。

【解説】

  • 限界消費性向(MPC)= Y の係数 = 0.8
  • 独立的消費(Y=0 のとき)= 40

【関連問題】
独立的消費の例:最低限の食費、医療費、住居費など(所得に依存しない部分)。


5. 消費関数 2(消費関数と貯蓄関数)

【問題】
C = cY + A
のとき、貯蓄関数を求めよ。

【解説】
Y = C + S より
S = Y − C
= Y − (cY + A)
= (1 − c)Y − A

→ 消費関数:C = cY + A
→ 貯蓄関数:S = (1 − c)Y − A

【関連問題】
45°線より右側の領域では、Y > C となるので S > 0 (=貯蓄超過)。
45°線より左側では S < 0(=貯蓄不足)。


# --- Marginal Propensities ---
def calc_mpc_mps(mps):
    mpc = 1 - mps
    return mpc, mps

# Example: if MPS = 0.6
mpc, mps = calc_mpc_mps(0.6)
print("MPC =", mpc, "MPS =", mps)


# --- Multiplier Process (Derived Demands) ---
def derived_demand(initial_income, mpc, n):
    """
    Calculate the nth derived demand.
    Example: n=2 → second derived demand
             n=3 → third derived demand
    """
    return initial_income * (mpc ** (n-1))

initial_income = 50   # billion yen
mpc = 0.7

second = derived_demand(initial_income, mpc, 2)
third  = derived_demand(initial_income, mpc, 3)

print("Second derived demand =", second)
print("Third derived demand  =", third)


# --- Multiplier ---
def multiplier(mpc):
    return 1 / (1 - mpc)

print("Multiplier (MPC=0.8):", multiplier(0.8))


# --- Consumption and Saving Functions ---
def consumption(Y, c, A):
    """Consumption function: C = cY + A"""
    return c*Y + A

def saving(Y, c, A):
    """Saving function: S = (1-c)Y - A"""
    return (1-c)*Y - A

# Example: C = 0.8Y + 40
c, A = 0.8, 40
Y = 100
print("Consumption at Y=100:", consumption(Y, c, A))
print("Saving at Y=100:", saving(Y, c, A))

10 消費関数 3

/マクロ経済学

【問題】
消費関数が C=0.7Y+400 のとき、

  1. 所得 Y=1600 のときの貯蓄はいくらか。
  2. 所得 Y=2000 のときの貯蓄はいくらか。
    さらに、それぞれの平均消費性向(APC)と平均貯蓄性向(APS)を求めよ。

【解説】
C = 0.7Y + 400
S = Y − C

  1. Y=1600
    C=0.7×1600+400=1520
    S=1600−1520=80
    APC=1520/1600=0.95
    APS=80/1600=0.05

  2. Y=2000
    C=0.7×2000+400=1800
    S=2000−1800=200
    APC=1800/2000=0.9
    APS=200/2000=0.1

→ 所得が増加すると、APC は低下し、APS は上昇する。
限界消費性向 = 0.7(一定)、限界貯蓄性向 = 0.3(一定)。


11 消費関数 4

/マクロ経済学

【問題】
C=0.8Y+40

  1. 所得が400から500に増加したとき、消費はいくら増加するか。
  2. 消費が200から232に増加したとき、所得はいくら増加するか。

【解説】

  1. Y=400 → C=0.8×400+40=360
    Y=500 → C=0.8×500+40=440
    消費増加=440−360=80

  2. C=200 → 200=0.8Y+40 → Y=200
    C=232 → 232=0.8Y+40 → Y=240
    所得増加=40


12 均衡所得の決定(閉鎖経済)1

/マクロ経済学

【問題】
需要が C+I+G で構成されるとき、均衡所得の条件式はどう表されるか。

【解説】
供給=Y
需要=C+I+G
均衡条件:Y=C+I+G

・Y>C+I+G → 超過供給 → Y減少
・Y<C+I+G → 超過需要 → Y増加

(注)三面等価の原則の Y=C+I+G は「事後的恒等式」、ここでの式は「意図された投資」に基づく均衡条件。


13 均衡所得の決定(閉鎖経済)2

/マクロ経済学

【問題】
C=0.9Y+14, I=13, G=26 のとき、均衡所得 Y* を求めよ。

【解説】
均衡式:Y=C+I+G
Y=0.9Y+14+13+26
Y−0.9Y=53
0.1Y=53
Y=530

→ 均衡所得 Y* = 530


14 均衡所得の決定(閉鎖経済)3

/マクロ経済学

【問題】
C=0.5Y+30, I=30, G=25 から、投資が6減少したとき、均衡所得はいくら減少するか。

【解説】
乗数 k=1/(1−c)=1/(1−0.5)=2
所得減少=乗数×投資減少=2×6=12

→ 均衡所得は12減少


15 均衡所得の決定(閉鎖経済)4

/マクロ経済学

【問題】
C=0.5Y+30, I=30, G=25 のとき、完全雇用所得 Yf=200 を実現するには政府支出 G をいくらにすればよいか。

【解説】
均衡式:Y=(0.5Y+30)+30+25
Y−0.5Y=85
0.5Y=85 → Y=170

完全雇用所得 Yf=200 → 追加で30必要
乗数 k=2 → 需要増加=30/2=15

G=25+15=40

→ 政府支出を40にすれば完全雇用所得200を実現。

# Macroeconomics Functions in Python
# Topics: Consumption Function, Saving, APC/APS, Equilibrium Income

# --- Problem 10: Consumption Function 3 ---
def consumption_function(Y):
    """Consumption function: C = 0.7Y + 400"""
    C = 0.7 * Y + 400
    S = Y - C
    APC = C / Y
    APS = S / Y
    return {"Income": Y, "Consumption": C, "Saving": S, "APC": APC, "APS": APS}

print("Problem 10:")
for Y in [1600, 2000]:
    print(consumption_function(Y))


# --- Problem 11: Consumption Function 4 ---
def consumption_change(Y1, Y2):
    """Consumption increase when income changes"""
    C1 = 0.8 * Y1 + 40
    C2 = 0.8 * Y2 + 40
    return C2 - C1

def income_change(C1, C2):
    """Income increase when consumption changes"""
    Y1 = (C1 - 40) / 0.8
    Y2 = (C2 - 40) / 0.8
    return Y2 - Y1

print("\nProblem 11:")
print("Consumption increase (Y:400→500):", consumption_change(400, 500))
print("Income increase (C:200→232):", income_change(200, 232))


# --- Problem 12: Equilibrium Condition ---
print("\nProblem 12:")
print("Equilibrium condition: Y = C + I + G")


# --- Problem 13: Equilibrium Income 2 ---
def equilibrium_income(C_params, I, G):
    """Solve equilibrium income given consumption function C = cY + A"""
    c, A = C_params
    # Y = cY + A + I + G
    Y = (A + I + G) / (1 - c)
    return Y

print("\nProblem 13:")
Y_star = equilibrium_income((0.9, 14), I=13, G=26)
print("Equilibrium income Y* =", Y_star)


# --- Problem 14: Investment Reduction ---
def income_change_due_to_investment(c, delta_I):
    """Income change from investment change, using multiplier"""
    k = 1 / (1 - c)
    return k * delta_I

print("\nProblem 14:")
delta_Y = income_change_due_to_investment(c=0.5, delta_I=-6)
print("Decrease in equilibrium income =", delta_Y)


# --- Problem 15: Full Employment Income ---
def required_government_spending(C_params, I, G, Y_full):
    """Find new G to achieve full employment income"""
    c, A = C_params
    Y_eq = equilibrium_income(C_params, I, G)
    gap = Y_full - Y_eq
    k = 1 / (1 - c)
    delta_G = gap / k
    return G + delta_G

print("\nProblem 15:")
new_G = required_government_spending((0.5, 30), I=30, G=25, Y_full=200)
print("Government spending required =", new_G)

16 均衡所得の決定(開放経済)1

/マクロ経済学

【問題】
需要が C, I, G, X(輸出), M(輸入)で構成されるとき、均衡所得の条件式を示せ。

【解説】
閉鎖経済: Y = C + I + G
開放経済では輸出をプラス、輸入をマイナスで調整する。

均衡条件:
Y = C + I + G + X − M

純輸出 NX = X − M を用いれば、
Y = C + I + G + NX

【関連問題】

  1. 内需とは何か。→ C + I + G
  2. 外需とは何か。→ X − M (純輸出)

17 均衡所得の決定(開放経済)2

/マクロ経済学

【問題】
輸入関数 M = 0.2Y + 40 のとき、限界輸入性向と Y=500 の輸入額を求めよ。

【解説】
・限界輸入性向 = Y の係数 = 0.2
・Y=500 のとき
M = 0.2×500 + 40 = 100 + 40 = 140

【関連問題】

  1. 所得が増えると輸入量はどう変化するか。→ 所得に比例して増加。
  2. 限界輸入性向とは何か。→ 所得1増加あたり輸入が増える割合。
  3. M=0.4Y+B, Y:320→370
    増加分 = 0.4×(370−320) = 20

18 均衡所得の決定(開放経済)3

/マクロ経済学

【問題】
C=0.6Y+30, M=0.1Y+20, I=40, G=20, X=50 のとき、乗数はいくらか。

【解説】
一般式: 乗数 k = 1 / (1 − c + m)
c = 限界消費性向 = 0.6
m = 限界輸入性向 = 0.1

k = 1 / (1 − 0.6 + 0.1) = 1 / 0.5 = 2

【関連問題】
MPC=0.4, MPM=0.2 のとき
k = 1 / (1 − 0.4 + 0.2) = 1 / 0.8 = 1.25


19 物価と実質値

/マクロ経済学

【問題】
名目GDP、実質GDP、GDPデフレータの関係式を示せ。

【解説】
・GDPデフレータ = 名目GDP ÷ 実質GDP × 100
・実質GDP = 名目GDP ÷ (GDPデフレータ/100)
・名目GDP = 実質GDP × (GDPデフレータ/100)

実質GDPは物価変動を除いた生産量を測るため、経済福祉の指標として有効。

【関連問題】

  1. GDPデフレータとは? → 名目GDPと実質GDPの比率から求める物価指数。
  2. なぜ名目GDPではなく実質GDPを使うか? → 物価変動の影響を除き、実際の生産能力を測るため。
  3. 名目GDEと実質GDEはどちらが大きいか? → 物価が上昇すると名目GDPの方が大きくなる。交差は基準年。

20 投資関数

/マクロ経済学

【問題】
企業が投資計画 A〜E を検討。利子率 r=6% のとき実行する投資額はいくらか。
投資計画(費用・収益):
A:40→43, B:50→52, C:70→74, D:90→95, E:120→128

【解説】
収益率 = (収益−費用)/費用

A: (43−40)/40 = 7.5%
B: (52−50)/50 = 4%
C: (74−70)/70 ≈ 5.7%
D: (95−90)/90 ≈ 5.5%
E: (128−120)/120 ≈ 6.6%

利子率 r=6% のとき、収益率>6% は A,E。
投資額 = 40+120 = 160

利子率 r=7% のとき、残るのは A のみ。投資額=40

→ 投資は利子率の減少関数。

# =======================================
# Macroeconomics Problems #16–20
# Python Implementation (with English comments)
# =======================================

# 16. Equilibrium income (open economy)
def equilibrium_open(C, I, G, X, M):
    """
    Y = C + I + G + X - M
    """
    return C + I + G + X - M

# Example:
Y16 = equilibrium_open(C=100, I=50, G=30, X=40, M=20)
print("Q16 Example: Equilibrium income =", Y16)


# 17. Import function
def import_function(Y, coeff=0.2, intercept=40):
    """
    M = coeff*Y + intercept
    coeff = marginal propensity to import (MPM)
    """
    return coeff * Y + intercept

M17 = import_function(500, coeff=0.2, intercept=40)
print("Q17: Import at Y=500 =", M17, " (MPM=0.2)")


# 18. Multiplier with foreign trade
def multiplier_open(mpc, mpm):
    """
    k = 1 / (1 - mpc + mpm)
    """
    return 1 / (1 - mpc + mpm)

k18 = multiplier_open(mpc=0.6, mpm=0.1)
print("Q18: Multiplier =", k18)


# 19. Nominal GDP, Real GDP, Deflator
def gdp_deflator(nominal, real):
    return (nominal / real) * 100

def real_gdp(nominal, deflator):
    return nominal / (deflator / 100)

def nominal_gdp(real, deflator):
    return real * (deflator / 100)

nominal = 500
real = 400
deflator19 = gdp_deflator(nominal, real)
print("Q19: GDP Deflator =", deflator19)

real19 = real_gdp(nominal, deflator19)
print("Q19: Real GDP from nominal/deflator =", real19)


# 20. Investment function
def investment_decision(plans, interest_rate):
    """
    plans: list of (cost, revenue)
    interest_rate: decimal (e.g., 0.06 for 6%)
    return total investment amount chosen
    """
    total_investment = 0
    chosen = []
    for cost, revenue in plans:
        rate = (revenue - cost) / cost
        if rate > interest_rate:
            total_investment += cost
            chosen.append((cost, revenue, round(rate*100, 1)))
    return total_investment, chosen

plans20 = [(40, 43), (50, 52), (70, 74), (90, 95), (120, 128)]

inv6, chosen6 = investment_decision(plans20, 0.06)
print("Q20: At r=6%, Investment =", inv6, "Chosen plans =", chosen6)

inv7, chosen7 = investment_decision(plans20, 0.07)
print("Q20: At r=7%, Investment =", inv7, "Chosen plans =", chosen7)

21 IS 曲線

問題
消費関数 C = 300 + 0.9Y
投資関数 I = 200 − 0.2r
政府支出 G = 300

財市場の均衡式
Y = C + I + G

代入すると:
Y = (300 + 0.9Y) + (200 − 0.2r) + 300
Y − 0.9Y = 800 − 0.2r
0.1Y = 800 − 0.2r
r = −0.5Y + 4000

👉 IS 曲線: r = −0.5Y + 4000


22 貨幣需要(ケインズ)

ケインズは貨幣需要の動機を 3 つに分類:

  1. 取引的動機 → 所得 Y が大きいほど貨幣需要 ↑
  2. 予備的動機 → 所得 Y が大きいほど予備的に保有する貨幣 ↑
  3. 投機的動機 → 利子率 r が高いと貨幣需要 ↓、利子率 r が低いと貨幣需要 ↑

したがって:
貨幣需要 MD は

  • 所得 Y の増加関数
  • 利子率 r の減少関数

関数形:
MD = L₁(Y) + L₂(r)


23 LM 曲線

与えられた式
MD = 10Y − 2r
MS = M/P = 200/1 = 200

均衡条件:
MD = MS
10Y − 2r = 200
r = 5Y − 100

👉 LM 曲線: r = 5Y − 100


24 IS–LM 分析

  • IS 曲線:財市場の均衡 Y = C + I + G から導出
  • LM 曲線:貨幣市場の均衡 MS = MD から導出

両者の交点 (Y*, r*) が同時均衡を決定。

  • 政府支出 G の増加 → IS 曲線を右上方へシフト → Y 上昇、r 上昇
  • 貨幣供給 M の増加 → LM 曲線を右下方へシフト → Y 上昇、r 低下

25 クラウディング・アウト

設定
C = 300 + 0.8Y
I = 200 − 10r
G = 300
MD = 0.4Y − 20r
MS = 400, P = 1

IS 曲線
Y = C + I + G
= (300 + 0.8Y) + (200 − 10r) + 300
0.2Y = 800 − 10r
r = −0.02Y + 80

LM 曲線
MD = MS → 0.4Y − 20r = 400
r = 0.02Y − 20

均衡解
連立:
−0.02Y + 80 = 0.02Y − 20
0.04Y = 100 → Y = 2500
r = 30

👉 均衡点:Y = 2500, r = 30

政府支出増加(G=500)
IS 曲線:r = −0.02Y + 100
LM 曲線同じ:r = 0.02Y − 20
連立解:Y = 3000, r = 40

クラウディング・アウト効果
もし利子率が変わらず r=30 のままなら Y=3500 となるはず。
実際は Y=3000 までしか増えない。

→ 投資減退による 500 の所得減少 がクラウディング・アウト。


# IS–LM Model and Crowding Out
# =============================
# This script computes and visualizes IS and LM curves
# for the macroeconomics problems #21–#25.

import numpy as np
import matplotlib.pyplot as plt

# ----------------------------
# 21. IS Curve
# ----------------------------
# Given: C = 300 + 0.9Y, I = 200 - 0.2r, G = 300
# IS: r = -0.5Y + 4000

def IS_curve(Y):
    return -0.5 * Y + 4000

# ----------------------------
# 23. LM Curve
# ----------------------------
# Given: MD = 10Y - 2r, MS = 200
# LM: r = 5Y - 100

def LM_curve(Y):
    return 5 * Y - 100

# ----------------------------
# 25. Crowding Out Example
# ----------------------------
# IS when G=300: r = -0.02Y + 80
# IS when G=500: r = -0.02Y + 100
# LM: r = 0.02Y - 20

def IS_G300(Y):
    return -0.02 * Y + 80

def IS_G500(Y):
    return -0.02 * Y + 100

def LM_case(Y):
    return 0.02 * Y - 20

# ----------------------------
# Solve Equilibrium
# ----------------------------
# Intersection IS and LM (case #25)
Y_star = (80 - (-20)) / (0.02 + 0.02)   # solve -0.02Y+80 = 0.02Y-20
r_star = IS_G300(Y_star)

Y_star2 = (100 - (-20)) / (0.02 + 0.02) # with G=500
r_star2 = IS_G500(Y_star2)

print("Case G=300 → Equilibrium: Y =", Y_star, ", r =", r_star)
print("Case G=500 → Equilibrium: Y =", Y_star2, ", r =", r_star2)
print("Crowding-out effect =", 3500 - Y_star2)  # potential Y - actual Y

# ----------------------------
# Visualization
# ----------------------------
Y = np.linspace(2000, 3600, 200)

plt.figure(figsize=(8,6))
plt.plot(Y, IS_G300(Y), label="IS (G=300)", color="blue")
plt.plot(Y, IS_G500(Y), label="IS (G=500)", color="blue", linestyle="--")
plt.plot(Y, LM_case(Y), label="LM", color="red")

# Mark equilibrium points
plt.scatter([Y_star], [r_star], color="black", zorder=5, label="Equilibrium G=300")
plt.scatter([Y_star2], [r_star2], color="green", zorder=5, label="Equilibrium G=500")

plt.xlabel("Income (Y)")
plt.ylabel("Interest Rate (r)")
plt.title("IS–LM Model with Crowding Out")
plt.legend()
plt.grid(True)
plt.show()

26 AD(総需要)曲線

【問題】
消費関数 C=c₀+c₁Y、投資関数 I=i₀−i₁r、政府支出 G=G₀、貨幣需要 MD=m₀Y−m₁r、貨幣供給 MS=M/P が与えられている。財市場・貨幣市場が同時均衡するとき、所得 Y と物価 P の関係(AD 曲線)を導け。

【解説】

  1. 財市場均衡:
    Y = C + I + G = c₀ + c₁Y + (i₀−i₁r) + G₀

→ r = (1−c₁)/i₁·Y − (c₀+i₀+G₀)/i₁

  1. 貨幣市場均衡:
    MS = MD
    M/P = m₀Y − m₁r

→ r = (m₀/m₁)Y − (M/P)/m₁

  1. 両式から r を消去 → AD 曲線

P = M / { m₁[(1−c₁)/i₁ + m₀/m₁]Y − (c₀+i₀+G₀)/i₁ }

→ Y と P は負の関係、AD 曲線は右下がり。
→ G↑, M↑ → AD 曲線は右上方シフト。


27 AS(総供給)曲線

【問題】
マクロ生産関数 Y=f(L)、労働市場における賃金調整が
(1) 完全に伸縮的な場合
(2) 名目賃金が下方に硬直的な場合
AS 曲線の形状はどう異なるか。

【解説】

  1. 古典派モデル(賃金が柔軟):
    物価変動に応じて賃金も調整 → 雇用・生産は完全雇用水準 Yf で一定 → AS 曲線は垂直

  2. ケインズ・モデル(賃金が下方硬直):
    物価下落 → 実質賃金上昇 → 雇用減少 → 生産減少。
    物価上昇 → 雇用増加 → 生産増加。
    AS 曲線は右上がり


28 AD–AS 分析 1

【問題】
財政政策・金融政策は物価・所得にどのような影響を与えるか。古典派モデルとケインズ・モデルで違いを説明せよ。

【解説】

  1. 古典派モデル(AS 垂直):
    AD 曲線のシフト → 物価は変化するが、所得 Y は変わらない。
    政策効果=無効。

  2. ケインズ・モデル(AS 右上がり):
    AD 曲線のシフト → 物価上昇+所得増加。
    短期的には政策効果あり。


29 AD–AS 分析 2

【問題】
C=20+0.6Y, I=20−2r, G=10, MD=0.2Y−4r, M=400
AS 曲線:P=(1/6)Y
均衡 (Y, P) を求めよ。

【解説】

  1. IS 曲線:
    Y = C+I+G = (20+0.6Y)+(20−2r)+10
    0.4Y = 50 − 2r → r = −0.2Y+25

  2. LM 曲線:
    MD=MS → 0.2Y−4r = 400/P
    r = −0.05Y − 100/P

  3. IS=LM → AD 曲線:
    −0.2Y+25 = −0.05Y − 100/P
    Y = 100 + 400/P

  4. AS 曲線 P=(1/6)Y を代入:
    Y = 100 + 2400/Y
    Y²−100Y−2400=0
    (Y−120)(Y+20)=0 → Y=120

P=(1/6)×120=20

👉 均衡点:(Y,P)=(120,20)


30 フィリップス曲線と自然失業率仮説

【問題】
フリードマンの自然失業率仮説とは何か。

【解説】
・短期:フィリップス曲線は右下がり → インフレ率と失業率にトレードオフ。
・長期:人々がインフレを予想に織り込む → トレードオフは消滅。

自然失業率(un)は摩擦的・構造的要因による失業で、長期には失業率は un に収束。
長期のフィリップス曲線は 垂直

👉 ケインズ政策(需要刺激策)は短期的に失業率を下げても、長期的にはインフレ率を高めるだけで実質的な効果はない。


26. Aggregate Demand (AD) Curve

Model Setup

  • Consumption: $C = c_0 + c_1Y$
  • Investment: $I = i_0 - i_1r$
  • Government spending: $G = G_0$
  • Money demand: $MD = m_0Y - m_1r$
  • Money supply: $MS = M/P$

AD equation (after eliminating $r$):

$$
P = \frac{M}{m_1 \left(\frac{1-c_1}{i_1} + \frac{m_0}{m_1}\right)Y - \frac{c_0+i_0+G_0}{i_1}}
$$

👉 AD curve is downward sloping in (Y,P).

import numpy as np
import matplotlib.pyplot as plt

# Parameters
c0, c1 = 50, 0.6
i0, i1 = 40, 2
G0 = 20
m0, m1 = 0.2, 4
M = 400

def AD(Y):
    return M / (m1*((1-c1)/i1 + m0/m1)*Y - (c0+i0+G0)/i1)

Y_vals = np.linspace(50, 300, 200)
P_vals = AD(Y_vals)

plt.plot(Y_vals, P_vals, label="AD curve")
plt.xlabel("Income Y")
plt.ylabel("Price Level P")
plt.title("Aggregate Demand Curve")
plt.legend()
plt.grid(True)
plt.show()

27. Aggregate Supply (AS) Curve

Case 1: Classical

  • Flexible wages → output fixed at full employment $Y_f$.
  • AS curve is vertical at $Y=Y_f$.

Case 2: Keynesian

  • Sticky wages downward → AS curve is upward sloping.
  • As P rises, employment and Y rise.

👉 In code, you can plot both shapes:

Yf = 200  # full employment output
Y_vals = np.linspace(0, 300, 200)
AS_classical = np.full_like(Y_vals, 50)  # vertical, P irrelevant
AS_keynes = 0.1*Y_vals  # simple upward-sloping

plt.plot([Yf, Yf], [0,100], label="AS (Classical)")
plt.plot(Y_vals, AS_keynes, label="AS (Keynesian)")
plt.xlabel("Income Y")
plt.ylabel("Price Level P")
plt.title("Aggregate Supply Curves")
plt.legend()
plt.grid(True)
plt.show()

28. AD–AS Analysis

  • Classical: Fiscal/monetary expansion shifts AD → only P increases.
  • Keynesian: AD shift → both P and Y increase.
# AD: Y = 100 + 400/P (from your setup)
def AD(P): return 100 + 400/P
# AS: P = (1/6)Y
def AS(Y): return (1/6)*Y

P_vals = np.linspace(5, 50, 200)
Y_AD = AD(P_vals)
Y_AS = np.linspace(0, 300, 200)
P_AS = AS(Y_AS)

plt.plot(Y_AD, P_vals, label="AD")
plt.plot(Y_AS, P_AS, label="AS")
plt.xlabel("Income Y")
plt.ylabel("Price Level P")
plt.title("AD-AS Equilibrium")
plt.legend()
plt.grid(True)
plt.show()

29. AD–AS Equilibrium Example

From your derivation:

  • AD: $Y = 100 + 400/P$
  • AS: $P = \frac{1}{6}Y$
  • Solution: $(Y,P) = (120,20)$.
Y_eq, P_eq = 120, 20
print(f"Equilibrium: Y = {Y_eq}, P = {P_eq}")

30. Phillips Curve & Natural Rate Hypothesis

  • Short run: Trade-off (downward sloping PC).
  • Long run: Vertical line at natural unemployment $u_n$.
u = np.linspace(2, 12, 200)
pi_short = 10 - 0.5*u   # short-run PC
u_n = 6                 # natural rate
pi_long = np.linspace(0, 10, 200)

plt.plot(u, pi_short, label="Short-run PC")
plt.plot([u_n, u_n], [0,10], 'r--', label="Long-run PC")
plt.xlabel("Unemployment rate u")
plt.ylabel("Inflation rate π")
plt.title("Phillips Curve and Natural Rate")
plt.legend()
plt.grid(True)
plt.show()
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?