@@ -9,30 +9,27 @@ kernelspec:
9
9
name : python3
10
10
---
11
11
12
-
13
-
14
-
15
12
# 商品价格
16
13
17
14
## 大纲
18
15
19
- 在全球超过一半的国家中,[ 商品] ( https://en.wikipedia.org/wiki/Commodity ) 占 [ 总出口的大部分] ( https://unctad.org/publication/commodities-and-development-report-2019 ) 。
16
+ 在全球超过一半的国家中,[ 商品] ( https://baike.baidu.com/item/%E5%95%86%E5%93%81/1245866 ) 占 [ 总出口的大部分] ( https://unctad.org/publication/commodities-and-development-report-2019 ) 。
20
17
21
18
商品的例子包括铜、钻石、铁矿石、锂、棉花和咖啡豆。
22
19
23
- 在本讲中,我们将介绍商品价格理论 。
20
+ 本讲将介绍商品价格理论 。
24
21
25
- 相对于本系列的其他讲座,这一讲座内容较为高级 。
22
+ 相比本系列的其他讲座,这一讲内容较为高级 。
26
23
27
- 我们需要计算一个均衡,该均衡由价格函数描述 。
24
+ 我们需要计算一个由价格函数描述的均衡 。
28
25
29
26
我们将解一个方程,其中价格函数是未知量。
30
27
31
- 这比解一个未知数或向量的方程更难 。
28
+ 这比解一个未知数或向量的方程要难得多 。
32
29
33
- 讲座将讨论一种解 [ 函数方程] ( https://en.wikipedia.org/wiki/Functional_equation ) (未知对象是函数的方程) 的方法。
30
+ 本讲将讨论一种解 [ 函数方程] ( https://baike.baidu.com/item/%E5%87%BD%E6%95%B0%E6%96%B9%E7%A8%8B/6162392 ) 的方法,这类方程的未知对象是函数 。
34
31
35
- 对于本讲座,我们需要使用 ` yfinance ` 库。
32
+ 本讲需要使用 ` yfinance ` 库。
36
33
37
34
``` {code-cell} ipython3
38
35
:tags: [hide-output]
@@ -97,7 +94,7 @@ plt.show()
97
94
98
95
## 竞争性储存模型
99
96
100
- 在竞争性储存模型中,商品是一种资产,它们 :
97
+ 在竞争性储存模型中,商品被视为一种资产。这些商品具有两个特点 :
101
98
102
99
1 . 可以被投机者交易,并且
103
100
2 . 对消费者有内在价值。
@@ -107,17 +104,15 @@ plt.show()
107
104
供应是外生的,取决于“收成”。
108
105
109
106
``` {note}
110
- 如今,像基本的计算机芯片和集成电路这样的商品在金融市场上通常被视为商品,因为它们高度标准化。对于这些类型的商品,使用“收成”一词并不合适 。
107
+ 如今,基本的计算机芯片和集成电路等高度标准化的产品,在金融市场上也被视为商品。对这类商品来说,"收成"一词并不太恰当 。
111
108
112
- 尽管如此,为了简化问题,我们仍然保留了这个术语 。
109
+ 不过为了简化问题,我们还是沿用这个术语 。
113
110
```
114
111
115
112
均衡价格是通过竞争决定的。
116
113
117
114
它是当前状态的一个函数(决定当前的收成并预测未来的收成)。
118
115
119
-
120
-
121
116
## 模型
122
117
123
118
考虑一个单一商品的市场,其价格在时间 $t$ 为 $p_t$。
150
145
151
146
因此,如果预期利润为正,则市场不处于均衡状态。
152
147
153
- 因此,要达到均衡, 价格必须满足“无套利”条件
148
+ 所以要达到均衡, 价格必须满足“无套利”条件:
154
149
155
150
$$
156
151
\alpha \mathbb{E}_t \, p_{t+1} - p_t \leq 0
157
152
$$ (eq:arbi)
158
153
159
- 这意味着如果预期价格低于当前价格,则没有套利空间 。
154
+ 这表明当预期价格低于当前价格时,就不存在套利空间 。
160
155
161
- 利润最大化给出了额外条件
156
+ 利润最大化给出了额外条件:
162
157
163
158
$$
164
159
\alpha \mathbb{E}_ t \, p_ {t+1} - p_t < 0 \text{ 意味着 } I_t = 0
165
160
$$ (eq:pmco)
166
161
167
- 我们还要求市场清算 ,即每期供应等于需求。
162
+ 我们还要求市场出清 ,即每期供应等于需求。
168
163
169
- 我们假设消费者根据价格 $p$ 生成需求量 $D(p)$。
164
+ 假设消费者根据价格 $p$ 产生需求量 $D(p)$。
170
165
171
166
令 $P := D^{-1}$ 为逆需求函数。
172
167
173
- 关于数量,
168
+ 关于数量:
174
169
175
- * 供应是投机者的持有量和当前收成的总和,且
170
+ * 供应是投机者的持有量和当前收成的总和,并且
176
171
* 需求是消费者购买和投机者购买的总和。
177
172
178
- 在数学上,
173
+ 用数学语言表述:
179
174
180
- * 供应由 $X_t = \alpha I_{t-1} + Z_t$ 给出,其取值在 $S := \mathbb R_+$ 中,而
181
- * 需求为 $D(p_t) + I_t$
175
+ * 供应由 $X_t = \alpha I_{t-1} + Z_t$ 给出,取值在 $S := \mathbb R_+$ 中。
176
+ * 需求为 $D(p_t) + I_t$。
182
177
183
- 因此,市场均衡条件为
178
+ 因此,市场均衡条件为:
184
179
185
180
$$
186
181
\alpha I_ {t-1} + Z_t = D(p_t) + I_t
187
182
$$ (eq:mkeq)
188
183
189
- 初始条件 $X_0 \in S$ 被视为给定 。
184
+ 初始条件 $X_0 \in S$ 为给定值 。
190
185
191
186
192
187
193
188
### 一个均衡函数
194
189
195
- 我们如何找到均衡 ?
190
+ 如何找到均衡呢 ?
196
191
197
- 我们的攻击路径将是寻找一个仅依赖于当前状态的价格系统 。
192
+ 我们的思路是寻找一个只依赖当前状态的价格系统 。
198
193
199
- (我们的解法涉及使用 [ ansatz](https://en.wikipedia.org/wiki/Ansatz),这是一种经过推测的猜测——在这种情况下是针对价格函数的猜测 。)
194
+ (我们的解法使用了 [拟设( ansatz) ](https://baike.baidu.com/item/%E6%8B%9F%E8%AE%BE/18875444),这是一种基于推测的猜想——在这里是对价格函数的猜想 。)
200
195
201
- 换句话说 ,我们在 $S$ 上取一个函数 $p$,并为每个 $t$ 设置 $p_t = p(X_t)$。
196
+ 具体来说 ,我们在 $S$ 上取一个函数 $p$,对每个 $t$ 令 $p_t = p(X_t)$。
202
197
203
- 价格和数量随后遵循
198
+ 价格和数量随后满足:
204
199
205
200
$$
206
- p_t = p(X_t), \quad I_t = X_t - D(p_t), \quad X_ {t+1} = \alpha I_t + Z_ {t+1}
201
+ p_t = p(X_t), \quad I_t = X_t - D(p_t), \quad X_ {t+1} = \alpha I_t + Z_ {t+1}
207
202
$$ (eq:eosy)
208
203
209
- 我们选择 $p$ 使得这些价格和数量满足上述均衡条件 。
204
+ 我们选择 $p$ 使这些价格和数量满足上述均衡条件 。
210
205
211
- 更准确地说,我们寻找一个 $p$,使得 [](eq:arbi) 和 [](eq:pmco) 对应的系统 [](eq:eosy) 成立。
206
+ 更准确地说,我们要找一个 $p$,使得 [](eq:arbi) 和 [](eq:pmco) 对应的系统 [](eq:eosy) 成立。
212
207
213
208
$$
214
209
p^* (x) = \max
225
220
\qquad (x \in S)
226
221
$$ (eq:einvf)
227
222
228
- 事实证明,这样的 $p^*$ 是足够的,因为 [](eq:arbi) 和 [](eq:pmco) 对应的系统 [](eq:eosy) 成立 。
223
+ 事实证明,这样的 $p^*$ 是充分的,因为它满足 [](eq:arbi) 和 [](eq:pmco) 对应的系统 [](eq:eosy)。
229
224
230
- 要看到这一点,首先观察
225
+ 要理解这一点,我们首先注意到:
231
226
232
227
$$
233
228
\mathbb{E}_ t \, p_ {t+1}
236
231
= \int_0^\infty p^* (\alpha I(X_t) + z) \phi(z)dz
237
232
$$
238
233
239
- 因此,条件 [](eq:arbi) 要求
234
+ 因此,条件 [](eq:arbi) 要求:
240
235
241
236
$$
242
237
\alpha \int_0^\infty p^* (\alpha I(X_t) + z) \phi(z)dz \leq p^* (X_t)
243
238
$$
244
239
245
- 这个不等式是从 [](eq:dopf) 直接得到的 。
240
+ 这个不等式直接来自 [](eq:dopf)。
246
241
247
- 其次,关于 [](eq:pmco),假设
242
+ 其次,对于 [](eq:pmco),假设:
248
243
249
244
$$
250
245
\alpha \int_0^\infty p^* (\alpha I(X_t) + z) \phi(z)dz < p^* (X_t)
251
246
$$
252
247
253
- 那么根据 [](eq:dopf),我们有 $p^*(X_t) = P(X_t)$。
248
+ 那么根据 [](eq:dopf),我们得到 $p^*(X_t) = P(X_t)$。
254
249
255
- 但这时 $D(p^*(X_t)) = X_t$,并且 $I_t = I(X_t) = 0$。
250
+ 此时有 $D(p^*(X_t)) = X_t$,并且 $I_t = I(X_t) = 0$。
256
251
257
252
因此,条件 [](eq:arbi) 和 [](eq:pmco) 都成立。
258
253
261
256
262
257
### 计算均衡
263
258
264
- 我们现在知道 ,均衡可以通过找到一个满足 [](eq:dopf) 的函数 $p^*$ 来获得。
259
+ 现在我们知道 ,均衡可以通过找到一个满足 [](eq:dopf) 的函数 $p^*$ 来获得。
265
260
266
- 可以证明, 在温和的条件下,$S$ 上恰好存在一个满足 [](eq:dopf) 的函数。
261
+ 在温和的条件下,可以证明在 $S$ 上恰好存在一个满足 [](eq:dopf) 的函数。
267
262
268
263
此外,我们可以通过逐次逼近来计算这个函数。
269
264
270
- 这意味着我们从对函数的一个猜测开始, 然后使用 [](eq:dopf) 更新它 。
265
+ 具体来说,我们从一个初始函数猜测开始, 然后使用 [](eq:dopf) 来更新它 。
271
266
272
- 这会生成一系列函数 $p_1, p_2, \ldots$
267
+ 这会生成一系列函数 $p_1, p_2, \ldots$。
273
268
274
269
我们继续这个过程,直到它收敛,即 $p_k$ 和 $p_{k+1}$ 非常接近。
275
270
276
- 然后,我们将计算得到的最终 $p_k$ 作为 $p^*$ 的近似值。
271
+ 然后,我们将最终计算得到的 $p_k$ 作为 $p^*$ 的近似值。
277
272
278
- 为了实现我们的更新步骤 ,将 [](eq:dopf) 和 [](eq:einvf) 放在一起是有帮助的 。
273
+ 为了实现更新步骤 ,将 [](eq:dopf) 和 [](eq:einvf) 结合起来是很有帮助的 。
279
274
280
- 这使我们得到了更新规则
275
+ 这给出了更新规则:
281
276
282
277
$$
283
278
p_ {k+1}(x) = \max
295
290
\right\}
296
291
$$ (eq:dopf3)
297
292
298
- 实际上,我们无法在每个 $x$ 处进行此操作,因此我们在一系列点 $x_1, \ldots, x_n$ 上进行 。
293
+ 实际上,我们无法对每个 $x$ 进行这样的计算,所以我们选择一系列离散点 $x_1, \ldots, x_n$ 来进行计算 。
299
294
300
- 然后我们得到对应的值 $q_1, \ldots, q_n$。
295
+ 对这些点,我们可以得到相应的值 $q_1, \ldots, q_n$。
301
296
302
- 接着,我们将 $p_{k+1}$ 计算为在网格 $ x_1, \ldots, x_n$ 上对值 $q_1, \ldots, q_n$ 的线性插值 。
297
+ 然后,我们在网格点 $ x_1, \ldots, x_n$ 上对这些值 $q_1, \ldots, q_n$ 进行线性插值,从而得到 $p_{k+1}$ 。
303
298
304
- 然后我们重复这个过程,寻求收敛 。
299
+ 我们不断重复这个过程,直到结果收敛 。
305
300
306
301
## 代码
307
302
308
- 下面的代码实现了这个迭代过程,从 $p_0 = P$ 开始。
309
-
310
- 分布 $\phi$ 被设定为一个偏移的贝塔分布(尽管可以选择许多其他的分布)。
303
+ 下面的代码实现了这个迭代过程。我们从 $p_0 = P$ 开始。
311
304
312
- 在 [](eq:dopf3) 中的积分通过 {ref}`Monte Carlo <monte-carlo>` 方法计算 。
305
+ 我们选择一个偏移的贝塔分布作为分布 $\phi$(当然也可以选择其他分布) 。
313
306
307
+ [](eq:dopf3) 中的积分通过 {ref}`Monte Carlo <monte-carlo>` 方法来计算。
314
308
315
309
316
310
```{code-cell} ipython3
@@ -322,7 +316,7 @@ grid_max = 35
322
316
grid = np.linspace(a, grid_max, gridsize)
323
317
324
318
beta_dist = beta(5, 5)
325
- Z = a + beta_dist.rvs(mc_draw_size) * c # 冲击观察
319
+ Z = a + beta_dist.rvs(mc_draw_size) * c # 随机冲击的观测值
326
320
D = P = lambda x: 1.0 / x
327
321
tol = 1e-4
328
322
0 commit comments