You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在无均值标准差下模拟对数正态分布并计算Lucas模型名义无风险利率?

问题解答

1. 无均值/标准差时模拟对数正态分布的方法

对数正态变量 ( X ) 满足 ( \ln(X) \sim \mathcal{N}(\mu, \sigma^2) ),若不知道 ( X ) 的均值和标准差,可通过以下方式推进:

  • 矩估计反推参数:若能获取 ( X ) 的样本矩(或现实数据的矩),可通过对数正态的矩关系反推 ( \mu ) 和 ( \sigma ):
    [
    \mu = \ln\left(\frac{E[X]2}{\sqrt{E[X]2 + \text{Var}(X)}}\right), \quad \sigma^2 = \ln\left(1 + \frac{\text{Var}(X)}{E[X]^2}\right)
    ]
  • 校准法:匹配现实经济数据的典型矩(比如消费增长的历史均值、波动率)设定参数,或设定参数范围做敏感性分析。
  • 贝叶斯先验估计:若完全无数据,可基于经济理论设定参数的先验分布,再通过模拟后验分布生成样本。

2. 带通胀的Lucas禀赋经济中一期名义无风险利率计算

假设采用CRRA效用函数 ( U(C) = \frac{C^{1-\gamma}}{1-\gamma} ),根据Lucas模型的欧拉方程,名义无风险债券的定价满足:
[
\frac{1}{1+i_{t,t+1}} = \mathbb{E}\left[\beta \cdot \left(\frac{C_{t+1}}{C_t}\right)^{-\gamma} \cdot \frac{1}{1+\pi_{t+1}}\right]
]
其中 ( \beta ) 是贴现因子,( \gamma ) 是相对风险厌恶系数,( g_{t+1} = \frac{C_{t+1}}{C_t} ) 是消费增长,( \pi_{t+1} ) 是通胀率(( 1+\pi_{t+1} = \frac{P_{t+1}}{P_t} ))。

已知 ( g_{t+1} \sim \text{LN}(\mu_c, \sigma_c^2) )、( 1+\pi_{t+1} \sim \text{LN}(\mu_\pi, \sigma_\pi^2) ),且二者独立,利用对数正态变量的期望性质 ( \mathbb{E}[Y] = \exp(\mu_Y + \frac{\sigma_Y^2}{2}) ),可拆分期望计算:
[
\mathbb{E}\left[g_{t+1}^{-\gamma}\right] = \exp\left(-\gamma\mu_c + \frac{\gamma2\sigma_c2}{2}\right)
]
[
\mathbb{E}\left[\frac{1}{1+\pi_{t+1}}\right] = \exp\left(-\mu_\pi + \frac{\sigma_\pi^2}{2}\right)
]

代入欧拉方程后整理得:
[
1+i_{t,t+1} = \frac{1}{\beta \cdot \exp\left(-\gamma\mu_c + \frac{\gamma2\sigma_c2}{2} - \mu_\pi + \frac{\sigma_\pi^2}{2}\right)}
]
或对数形式:
[
\ln(1+i_{t,t+1}) = -\ln\beta + \gamma\mu_c - \frac{\gamma2\sigma_c2}{2} + \mu_\pi - \frac{\sigma_\pi^2}{2}
]

3. Matlab实现方案

参数设定(无原始参数时的处理)

若无给定参数,可采用宏观经济中的典型校准值(或从历史数据估算矩),比如:

  • 相对风险厌恶系数 ( \gamma = 2 )
  • 贴现因子 ( \beta = 0.99 )(对应季度数据)
  • 消费增长对数均值 ( \mu_c = 0.0025 ),标准差 ( \sigma_c = 0.01 )
  • 通胀(( 1+\pi ))对数均值 ( \mu_\pi = 0.001 ),标准差 ( \sigma_\pi = 0.005 )

生成向量/矩阵样本

使用 lognrnd(mu, sigma, m, n) 可直接生成 ( m \times n ) 的对数正态分布矩阵,示例代码:

% 基准参数设定
gamma = 2;
beta = 0.99;
mu_c = 0.0025;
sg_c = 0.01;
mu_pi = 0.001;
sg_pi = 0.005;

% 生成1000个单期样本向量
num_samples = 1000;
g_vec = lognrnd(mu_c, sg_c, num_samples, 1); % 消费增长向量
pi_plus_1_vec = lognrnd(mu_pi, sg_pi, num_samples, 1); % 1+通胀率向量

% 生成50期、100条模拟路径的矩阵
T = 50; % 期数
N = 100; % 路径数
g_matrix = lognrnd(mu_c, sg_c, T, N); % T行N列,每列是一条消费增长路径
pi_matrix = lognrnd(mu_pi, sg_pi, T, N);

% 计算名义无风险利率
marginal_term = (g_vec).^(-gamma) ./ pi_plus_1_vec;
inv_1_plus_i = beta * mean(marginal_term);
one_plus_i = 1 / inv_1_plus_i;
nominal_rate = one_plus_i - 1;

disp(['一期名义无风险利率: ', num2str(nominal_rate*100), '%']);

无参数时的扩展

若需进一步分析,可遍历不同参数组合(如 ( \gamma ) 取1-5,( \sigma_c ) 取0.005-0.02),做敏感性分析观察利率变化。

内容的提问来源于stack exchange,提问作者Expo0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 22:20:27