From 376222b264a3c60ec178d1588b15582cbdacd91a Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sat, 18 Jul 2026 18:40:50 +1000 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=84=20resync=20perm=5Fincome=5Fcon?= =?UTF-8?q?s.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .translate/state/perm_income_cons.md.yml | 6 +++ lectures/perm_income_cons.md | 52 ++++++++++++++---------- 2 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 .translate/state/perm_income_cons.md.yml diff --git a/.translate/state/perm_income_cons.md.yml b/.translate/state/perm_income_cons.md.yml new file mode 100644 index 00000000..6eed61ea --- /dev/null +++ b/.translate/state/perm_income_cons.md.yml @@ -0,0 +1,6 @@ +source-sha: 089e35ca27a9cdff6d341269f77d857f1c46dfd3 +synced-at: "2026-07-18" +model: claude-sonnet-5 +mode: RESYNC +section-count: 5 +tool-version: 0.17.0 diff --git a/lectures/perm_income_cons.md b/lectures/perm_income_cons.md index d62be035..036fd18e 100644 --- a/lectures/perm_income_cons.md +++ b/lectures/perm_income_cons.md @@ -7,6 +7,24 @@ kernelspec: display_name: Python 3 language: python name: python3 +translation: + title: 永久收入 II:线性二次方法 + headings: + Overview: 概述 + Setup: 设置 + Setup::Digression on a Useful Isomorphism: 关于一个有用同构的补充说明 + Setup::A Specification of the Nonfinancial Income Process: 非金融收入过程的具体说明 + The LQ Approach: LQ方法 + The LQ Approach::The LQ Problem: LQ问题 + The LQ Approach::Mapping into the LQ Framework: 映射到LQ框架 + Implementation: 实现 + Implementation::The Exogenous Nonfinancial Income Process: 外生非金融收入过程 + Implementation::Comparison with the Difference Equation Approach: 与差分方程方法的比较 + Two Example Economies: 两个经济示例 + Two Example Economies::First Set of Initial Conditions: 第一组初始条件 + Two Example Economies::Population and Sample Panels: 总体和样本面板 + Two Example Economies::Population and Sample Panels::Cointegration Residual: 协整残差 + Two Example Economies::A "Borrowers and Lenders" Closed Economy: '"借贷者"封闭经济' --- (perm_income_cons)= @@ -29,10 +47,9 @@ kernelspec: 除了Anaconda中已有的库外,本讲座还需要以下库: -```{code-cell} ipython ---- -tags: [hide-output] ---- +```{code-cell} ipython3 +:tags: [hide-output] + !pip install quantecon ``` @@ -59,7 +76,7 @@ tags: [hide-output] * 展示如何使用LQ控制方法获得LQ永久收入模型的解。 * 将模型表示为线性状态空间系统,如{doc}`本讲`所示。 -* 应用[QuantEcon](http://quantecon.org/quantecon-py)的[LinearStateSpace](https://github.com/QuantEcon/QuantEcon.py/blob/master/quantecon/lss.py)类来描述消费者最优消费和借贷计划的统计特征。 +* 应用[QuantEcon](https://quantecon.org/quantecon-py/)的[LinearStateSpace](https://github.com/QuantEcon/QuantEcon.py/blob/master/quantecon/lss.py)类来描述消费者最优消费和借贷计划的统计特征。 然后,我们将使用这些特征来构建一个简单的横截面财富和消费动态模型,这是按照Truman Bewley {cite}`Bewley86`的思路进行的。 @@ -73,7 +90,7 @@ tags: [hide-output] 让我们从导入开始: -```{code-cell} ipython +```{code-cell} ipython3 import matplotlib.pyplot as plt import matplotlib as mpl FONTPATH = "fonts/SourceHanSerifSC-SemiBold.otf" @@ -152,9 +169,8 @@ $\{y_t\}$ 的动态仍然遵循线性状态空间模型 如果我们设: -* Barro模型中的总税收$T_t$对应LQ永久收入模型中的消费$c_t$ -* Barro模型中的外生政府支出$G_t$对应永久收入模型中的非金融收入$y_t$ - +* $T_t$,Barro模型中的总税收对应LQ永久收入模型中的消费$c_t$。 +* $G_t$,Barro模型中的外生政府支出对应永久收入模型中的非金融收入$y_t$。 * $B_t$,Barro模型中到期的政府无风险一期资产对应于LQ永久收入模型中到期的无风险一期消费者债务$b_t$。 * $R$,Barro模型中无风险一期政府债务的总回报率对应于永久收入消费模型中金融资产的总回报率$1+r$。 @@ -169,7 +185,6 @@ LQ永久收入模型中对$\{c_t, y_t, b_t\}$的所有特征描述自动适用 在本讲中,我们假设$\{y_t\}$是一个二阶单变量自回归过程: $$ - y_{t+1} = \alpha + \rho_1 y_t + \rho_2 y_{t-1} + \sigma w_{t+1} $$ @@ -206,7 +221,7 @@ $$ 这里我们使用基于动态规划的{doc}`LQ方法 `来解决相同的模型。 -在确认两种方法得出的答案一致后,我们使用[QuantEcon](http://quantecon.org/quantecon-py)的[LinearStateSpace](https://github.com/QuantEcon/QuantEcon.py/blob/master/quantecon/lss.py)类来展示模型的特点。 +在确认两种方法得出的答案一致后,我们使用[QuantEcon](https://quantecon.org/quantecon-py/)的[LinearStateSpace](https://github.com/QuantEcon/QuantEcon.py/blob/master/quantecon/lss.py)类来展示模型的特点。 为什么要用两种不同的方法来求解模型? @@ -222,7 +237,6 @@ $$ ### LQ问题 回顾我们在{doc}`LQ理论讲座`中提到,最优线性调节器问题是要选择 - 用于最小化 $$ @@ -483,7 +497,6 @@ print(c_pol, "\n", -F) * 消费者在事前是异质的。 在第一个示例中,消费者的非金融收入路径显示 - 样本早期的明显瞬态 - 这些会以显著方式影响结果 @@ -543,8 +556,8 @@ def income_consumption_debt_series(A, C, G, μ_0, Σ_0, T=150, npaths=25): debt_var = np.empty(T) for t in range(T): μ_x, μ_y, Σ_x, Σ_y = next(moment_generator) - cons_mean[t], cons_var[t] = μ_y[1], Σ_y[1, 1] - debt_mean[t], debt_var[t] = μ_x[3], Σ_x[3, 3] + cons_mean[t], cons_var[t] = μ_y[1,0], Σ_y[1, 1] + debt_mean[t], debt_var[t] = μ_x[3,0], Σ_x[3, 3] return bsim, csim, ysim, cons_mean, cons_var, debt_mean, debt_var @@ -594,6 +607,7 @@ def consumption_debt_fanchart(csim, cons_mean, cons_var, d_perc_95p, d_perc_95m = debt_mean + d95, debt_mean - d95 d_perc_90p, d_perc_90m = debt_mean + d90, debt_mean - d90 + # 创建第二个图 fig, ax = plt.subplots(2, 1, figsize=(10, 8)) xvals = np.arange(T) @@ -675,7 +689,6 @@ $$ 下图绘制了{eq}`old12`左侧的实现值,这在{ref}`我们上一讲中讨论过 `,被称为**协整残差**。 如上所述,右侧可以被理解为未来收入预期现值的年金支付 - $E_t \sum_{j=0}^\infty \beta^j y_{t+j}$。 在实现过程的早期,当家庭的收入现值和借款几乎同时上升时,$c_t$ 大致保持恒定,而$(1-\beta) b_t$和$(1-\beta) E_t \sum_{j=0}^\infty \beta^j y_{t+j}$都显著上升。 @@ -721,9 +734,7 @@ plt.show() 我们可以使用几乎相同的代码,通过以下方式构建一个"简化版的Bewley模型" {cite}`Bewley86` - 和之前一样,我们让每个人从 $b_0 = 0$ 开始。 -- 但是我们不是让每个人从 $y_{-1} = y_{-2} = 0$ 开始,而是从以下分布中抽取 $\begin{bmatrix} y_{-1} \\ y_{-2} \end{bmatrix}$ - -$\{y_t\}$ 过程的不变分布。 +- 但是我们不是让每个人从 $y_{-1} = y_{-2} = 0$ 开始,而是从 $\{y_t\}$ 过程的不变分布中抽取 $\begin{bmatrix} y_{-1} \\ y_{-2} \end{bmatrix}$。 这构建了一个封闭经济,其中人们以总无风险利率 $R = \beta^{-1}$ 相互借贷。 @@ -769,5 +780,4 @@ plt.show() ```{code-cell} ipython3 cointegration_figure(bsimb, csimb) plt.show() -``` - +``` \ No newline at end of file From 4d2a7ffa78cfbadebd798a1a3d419d419e89b359 Mon Sep 17 00:00:00 2001 From: Matt McKay Date: Sun, 19 Jul 2026 14:04:36 +1000 Subject: [PATCH 2/2] Restore trailing newline (engine issue tracked in QuantEcon/action-translation#116) Co-Authored-By: Claude Fable 5 --- lectures/perm_income_cons.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lectures/perm_income_cons.md b/lectures/perm_income_cons.md index 036fd18e..dd5e8422 100644 --- a/lectures/perm_income_cons.md +++ b/lectures/perm_income_cons.md @@ -780,4 +780,4 @@ plt.show() ```{code-cell} ipython3 cointegration_figure(bsimb, csimb) plt.show() -``` \ No newline at end of file +```