为了预测 2024 年以色列的通货膨胀率,我选择了来自以色列银行的消费者价格指数 (CPI) 数据集。该数据集基于 2022-12 年和 2023-12 年期间的每月消费者指数,使用最大似然估计、布朗运动过程和蒙特卡罗模拟。
动机
消费者价格指数(CPI)从消费者的角度衡量商品和服务价格的变化。它是衡量购买趋势和通货膨胀变化的关键方法。
所有用于消费的商品和服务,包括销售时产品的适用税费,都包含在调查中。对货币的影响可能是双向的,CPI上升可能导致利率上升和本币升值,另一方面,在经济衰退期间,CPI上升可能导致经济衰退加深,从而导致经济衰退。当地货币下跌。
为了预测 2024 年以色列的通货膨胀率,我选择了来自以色列银行的消费者价格指数 (CPI) 数据集。该数据集基于 2022-12 年和 2023-12 年期间的每月消费者指数,使用最大似然估计、布朗运动过程和蒙特卡罗模拟。
随机过程预测
随机过程是由概率定律生成的一系列事件或路径。也就是说,随机事件可能随着时间的推移而发生,但受到特定的统计和概率规则的控制。
主要的随机过程包括随机游走或布朗运动、均值回归和跳跃扩散。这些过程可用于预测看似遵循随机趋势但实际上受到概率定律限制的众多变量。
我们可以使用python来模拟并创建这样的流程。随机游走或布朗运动过程可用于预测大量时间序列数据,包括股票价格、通货膨胀率等。
布朗运动随机游走过程
布朗运动随机游走过程的形式为
或者更通用的版本采用以下形式
为几何过程。
该过程是几何过程,因为趋势项和波动项与S的当前值成正比。消费者价格指数水平通常就是这种情况,其回报率似乎比原始美元回报 δ S更加稳定。
因为 δ S / S仅代表 CPI 升值,从实际利率中抽象出来,μ代表 CPI 的预期名义回报率减去实际利率(就 CPI 而言)。
该分布的主要特征是波动率与S成正比。这确保了股价将保持正值。
事实上,随着消费者价格指数水平下降,其方差也会减小,这使得消费者价格指数不太可能出现大幅下跌,从而将水平推向负值。
在本文中,我将简单地使用以下方程
在哪里
S 0 = 时间 0 时变量的现值
T = 变量在时间T的未来值
T = 预测范围(年)
μ = 年化增长率或漂移率
ε = 标准化正态变量。
σ = 年化波动率
为了估计一组时间序列数据的参数,可以通过迭代搜索最大化数据发生的机会(或可能性)的μ和σ参数来找到漂移率和波动性。
最大似然估计(MLE)
最大似然估计是精算师根据历史数据估计模型参数的方法。它涉及选择参数值以最大化数据发生的机会(或可能性)。
为了说明该方法,我们从一个非常简单的示例开始。假设我们在某一天随机抽取 4 只股票,发现这 4 只股票其中一只的价格当天下跌,而另外 3 只股票的价格要么保持不变,要么上涨。价格下跌概率的最佳估计是多少?
自然的答案是 1/4 或 25%。让我们看看这是否是最大似然法给出的结果。假设股价下跌的概率为p。
1 只特定股票价格下跌而其他 3 只股票不下跌的概率为p (l — p )³。使用最大似然方法, p的最佳估计是最大化表达式p (l — p )³ 的估计。
对该表达式对p求导并将结果设置为零,我们将得到 (l — p )²[(l — p ) — 3 p ] 或 (l — p )²(l — 4 p )。我们发现p = 1/4 或 25% 可以最大化表达式。
这表明p的最大似然估计为 25% 或 0.25,正如预期的那样。
使用最大似然估计估计布朗运动参数
我们现在考虑当使用布朗运动或其他随机过程时如何使用最大似然估计(MLE)来估计参数。定义
最好的参数是最大化的参数
其中 ln 是数字的自然对数(即以数学常数e 为底的对数),NORMDIST是正态密度函数(也称为概率质量函数),即
X是我们想要分布的值, Mean是分布的算术平均值, Standard_dev是分布的标准差。我们看到这相当于最大化
有必要迭代搜索以找到模型中使上述方程中的表达式最大化的参数。
让我们使用 Python 来展示如何组织计算来估计布朗运动参数。
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from numpy import random as rn
from scipy import stats
import scipy.stats as si
import seaborn as sns
from scipy.stats import norm
名为“Consumer's_index_Total”的 csv 文件包含 2022 年 12 月 31 日至 2023 年 12 月 31 日期间以色列 CPI 总计数据。
cpi = pd.read_csv("Consumer's_index_Total.csv")"Consumer's_index_Total.csv")
cpi["Month i"] = 0
for i in range(0,len(cpi["Date"])):
cpi["Month i"][i] = i
cpi["CPIi"] = cpi["CPI"]
cpi.drop(['CPI'], axis=1, inplace=True)
cpi
数据框中的第一列Date记录日期。数据框中的第二列Month i计算月份。数据框中的第三列显示i月底的消费者价格指数水平CPI i。
首先,我们创建第四列,显示第i 个月末和第 i -1个月末消费者价格指数水平的差异。我们将该列称为δCPI。
cpi["δCPI"] = 0.00"δCPI"] = 0.00
for i in range(0,len(cpi["Date"])-1):
cpi["δCPI"][i] = cpi["CPIi"][i+1]-cpi["CPIi"][i]
cpi
数据框中的数字将基于两个布朗运动参数的试验估计:μ和σ。
μ = 0.0150.015
σ = 0.001
其次,我们创建第五列,显示μ与i月末消费者价格指数水平CPI i的乘积。我们将该列称为u i。
cpi["ui"] = 0.00"ui"] = 0.00
for i in range(0,len(cpi["Date"])-1):
cpi["ui"][i] = μ*cpi["CPIi"][i]
cpi
第三,让我们创建第六列来显示δCPI和u i之间的差异。我们将该列称为v i。
cpi["vi"] = 0.00"vi"] = 0.00
for i in range(0,len(cpi["Date"])-1):
cpi["vi"][i] = cpi["δCPI"][i]-cpi["ui"][i]
cpi
第四,让我们创建第七列来显示 σ 和v i的乘法。我们将该列称为w i。
第五,让我们创建一个名为NORMDIST的函数,它返回指定平均值和标准差的正态概率密度函数(也称为概率质量函数)。
def NORMDIST(x):
z = si.norm.pdf(x,mu,sigma)
return (z)
第六,我们创建一个八列来显示vi的正态概率密度函数,平均值为 0 ,标准差为w i。我们将该列称为PDFi。
cpi["PDFi"] = 0.00"PDFi"] = 0.00
for i in range(0,len(cpi["Date"])-1):
cpi["PDFi"][i] = si.norm.pdf(cpi["vi"][i],0,cpi["wi"][i])
cpi
第七,让我们创建第九列来显示PDFi的自然对数。我们将该列称为ln( PDFi)。
cpi["ln(PDFi)"] = 0.00"ln(PDFi)"] = 0.00
for i in range(0,len(cpi["PDFi"])-1):
cpi["ln(PDFi)"][i] = np.log(cpi["PDFi"][i])
cpi
第五、第六、第七、第八和第九列中的值基于当前的μ和σ试验估计。让我们计算所有对数的总和(即第九列中的数字)。
cpi["ln(PDFi)"] = 0.00"ln(PDFi)"] = 0.00
for i in range(0,len(cpi["PDFi"])-1):
cpi["ln(PDFi)"][i] = np.log(cpi["PDFi"][i])
cpi
-983.3796156937556
我们感兴趣的是选择μ和σ来最大化第九列中的数字之和。换句话说,我们感兴趣的是选择 μ 和 σ 来最小化第九列中数字总和的负值。
这涉及迭代搜索过程。可以使用通用算法算法,例如微软Excel中的Solver。或者,可以使用特殊用途的算法,例如 Polanitzer 的算法。请参阅 R. Polanitzer,使用两种不同方法估计几何布朗运动随机过程的参数,Medium,2024 年。
from scipy.optimize import fmin
cpi = pd.read_csv("Consumer's_index_Total.csv")
def ImpliedBrownianMotion(c):
df = cpi.copy()
df = df.rename(columns={"CPI": "CPIi"})
df["δCPI"] = 0.00
df["ui"] = 0.00
df["vi"] = 0.00
df["wi"] = 0.00
df["PDFi"] = 0.00
df["ln(PDFi)"] = 0.00
for i in range(0,len(df["Date"])-1):
df["δCPI"][i] = df["CPIi"][i+1]-df["CPIi"][i]
df["ui"][i] = c[0]*df["CPIi"][i]
df["vi"][i] = df["δCPI"][i]-df["ui"][i]
df["wi"][i] = c[1]*df["CPIi"][i]
df["PDFi"][i] = si.norm.pdf(df["vi"][i],0,df["wi"][i])
df["ln(PDFi)"][i] = np.log(df["PDFi"][i])
f1 = df["ln(PDFi)"].sum()
val = -f1
print("[μ, σ]=",c,", Object Function Value:", val)
return(val)
c = fmin(ImpliedBrownianMotion, [0.015,0.001])
在我们的示例中,参数的最佳值是
μ = c[0]0]
σ = c[1]
print("μ =","{:.4%}".format(μ),", σ =","{:.4%}".format(σ))
μ=0.2441%,σ=0.2958%
上式中函数的最大值为-2.878738。下面的数据框中显示的数字是在搜索最佳μ和σ的最终迭代中计算的。
df = cpi.copy()
df = df.rename(columns={"CPI": "CPIi"})"CPI": "CPIi"})
df["δCPI"] = 0.00
df["ui"] = 0.00
df["vi"] = 0.00
df["wi"] = 0.00
df["PDFi"] = 0.00
df["ln(PDFi)"] = 0.00
for i in range(0,len(df["Date"])-1):
df["δCPI"][i] = df["CPIi"][i+1]-df["CPIi"][i]
df["ui"][i] = c[0]*df["CPIi"][i]
df["vi"][i] = df["δCPI"][i]-df["ui"][i]
df["wi"][i] = c[1]*df["CPIi"][i]
df["PDFi"][i] = si.norm.pdf(df["vi"][i],0,df["wi"][i])
df["ln(PDFi)"][i] = np.log(df["PDFi"][i])
df
蒙特卡罗模拟
前面两节涉及概率和统计。前者涉及根据实际数据估计分布参数。
有了估计分布,我们就可以进行下一步,即模拟随机变量以预测未来。这种模拟称为蒙特卡罗模拟,是金融工程和金融精算科学(基本上是金融风险管理)的核心。
它们允许金融精算师对复杂的金融工具进行定价。它们使金融精算师能够预测金融资产的未来价格,而金融资产的价格过于复杂而无法进行分析建模。
模拟方法非常灵活,并且随着计算技术的进步而变得更容易实现。然而,它们的缺点也不应被低估。
尽管模拟结果很优雅,但它在很大程度上取决于模型的假设:分布的形状、参数和定价函数。财务精算师需要敏锐地意识到这些假设的错误可能对结果产生的影响。
模拟涉及创建具有与投资组合中风险因素类似属性的人工随机变量。这些包括股票价格、汇率、利率、通货膨胀率(即消费者价格指数水平)和商品价格。
预测 2024 年以色列通货膨胀率
首先,我们将每月的周预期回报率μ = 0.2441% 乘以 12 个月,将其转换为年度预期回报率。这给出了每年μ = 2.929%的预期回报。
μ = 0.00244111 * 120.00244111 * 12
μ
0.029293319999999998
其次,我们将每月的每周波动率σ = 0.2958% 乘以 12 个月的平方根,转换为年度波动率。这给出了每年σ = 1.025%的波动率。
<span style="background-color:#f9f9f9"><span style="color:#242424">σ = 0.00295782 * np.sqrt(12)<span style="color:#1c00cf">0.00295782</span> * np.sqrt( <span style="color:#1c00cf">12</span> )
σ</span></span>
0.010246189039286752
第三,我们将截至 2023 年 12 月 31 日的当前以色列 CPI 水平设定为₪105.00,预测期限为 1 年,模拟数量为 50,000
σ = 0.00295782 * np.sqrt(12)0.00295782 * np.sqrt(12)
σ
第四,让我们创建一个包含 5,000 次试验(即 50,000 次迭代)的随机数的数据帧,这些随机数是 0 到 1 之间的连续均匀分布,这仅表示 1 次蒙特卡洛模拟。我们数据框中的第一列称为CPI 0,显示当前以色列 CPI 水平。
CPI0 = 105.00105.00
T = 1
M = 50000
第五,让我们创建一个 RAND 函数,它返回大于或等于 0 且小于 1 的均匀分布的随机实数。
I = CPI0*np.ones(M)
d = {'CPI0': I}'CPI0': I}
df = pd.DataFrame(data=d)
df
0.373886595478248
现在,让我们在数据框中创建第二列并将其命名为RAND。RAND列显示了统一U (0, 1)变量的实现。
def RAND():
d = rn.uniform(0, 1, 1)[0]
return (d)
RAND()
第五,让我们创建一个 NORMSINV 函数,它是标准正态累积分布的反函数。该分布的均值为 0,标准差为 1。
df["RAND"] = 0.00"RAND"] = 0.00
for i in range(0,len(df["CPI0"])):
df["RAND"][i] = RAND()
df
1.6448536269514722
现在,让我们在数据框中创建第三列并将其命名为NORMSINV。NORMSINV 列将这些变量转换为平均值为 0.0、波动性为 1.0 的正态变量。
def NORMSINV(x):
x = si.norm.ppf(x)
return (x)
NORMSINV(0.9500)
第六,让我们在数据框中创建第四列并将其命名为CPI T。CPI T 栏显示了基于布朗运动随机游走过程的以色列 CPI 未来一年的预测水平。
df["NORMSINV"] = 0.00"NORMSINV"] = 0.00
for i in range(0,int(0.5*len(df["CPI0"]))):
df["NORMSINV"][i] = NORMSINV(df["RAND"][i])
for i in range(int(0.5*len(df["CPI0"])),len(df["CPI0"])):
df["NORMSINV"][i] = -df["NORMSINV"][i-250]
df
第七,让我们在数据框中创建第五列并将其称为Inflation。通货膨胀 栏显示从今天起一年内的预测通货膨胀率。
df["CPIT"] = 0.00"CPIT"] = 0.00
for i in range(0,len(df["CPI0"])):
df["CPIT"][i] = df["CPI0"][i] * (1 + μ*T + σ*df["NORMSINV"][i]*np.sqrt(T))
df
V = df["Inflation"]"Inflation"]
Simulations = 10
Trails = M
G = 1629562571
np.random.seed(G)
from datetime import datetime
start_time = datetime.now()
from datetime import datetime
# datetime object containing current date and time
now = datetime.now()
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
def NORMSINV(x):
x = si.norm.ppf(x)
return (x)
time_elapsed1 = datetime.now() - start_time
from scipy import stats
Workbook_Name = "Inflation Rate 2024.ipynb"
Number_of_Simulations = "{:,.0f}".format(Simulations)
Number_of_Iterations = "{:,.0f}".format(Trails)
Number_of_Inputs = "{:,.0f}".format(4)
Number_of_Outputs = 38
Sampling_Type = "Latin Hypercube"
Simulation_Start_Time = dt_string
Simulation_Duration = "{}".format(time_elapsed1)
Random_N_Generator = "Mersenne Twister"
Random_Seed = G
e = ["Workbook Name","Number of Simulations","Number of Iterations","Number of Inputs","Number of Outputs","Sampling Type",\
"Simulation Start Time","Simulation Duration","Random # Generator","Random Seed"]
f = [Workbook_Name, Number_of_Simulations, Number_of_Iterations, Number_of_Inputs, Number_of_Outputs, Sampling_Type,\
Simulation_Start_Time, Simulation_Duration, Random_N_Generator, Random_Seed]
Per5 = "{:,.4f}".format(np.percentile(V, 5))
P5 = "{:.0%}".format(0.05)
Per10 = "{:,.4f}".format(np.percentile(V, 10))
P10 = "{:.0%}".format(0.10)
Per15 = "{:,.4f}".format(np.percentile(V, 15))
P15 = "{:.0%}".format(0.15)
Per20 = "{:,.4f}".format(np.percentile(V, 20))
P20 = "{:.0%}".format(0.20)
Per25 = "{:,.4f}".format(np.percentile(V, 25))
P25 = "{:.0%}".format(0.25)
Per30 = "{:,.4f}".format(np.percentile(V, 30))
P30 = "{:.0%}".format(0.30)
Per35 = "{:,.4f}".format(np.percentile(V, 35))
P35 = "{:.0%}".format(0.35)
Per40 = "{:,.4f}".format(np.percentile(V, 40))
P40 = "{:.0%}".format(0.40)
Per45 = "{:,.4f}".format(np.percentile(V, 45))
P45 = "{:.0%}".format(0.45)
Per50 = "{:,.4f}".format(np.percentile(V, 50))
P50 = "{:.0%}".format(0.50)
Per55 = "{:,.4f}".format(np.percentile(V, 55))
P55 = "{:.0%}".format(0.55)
Per60 = "{:,.4f}".format(np.percentile(V, 60))
P60 = "{:.0%}".format(0.60)
Per65 = "{:,.4f}".format(np.percentile(V, 65))
P65 = "{:.0%}".format(0.65)
Per70 = "{:,.4f}".format(np.percentile(V, 70))
P70 = "{:.0%}".format(0.70)
Per75 = "{:,.4f}".format(np.percentile(V, 75))
P75 = "{:.0%}".format(0.75)
Per80 = "{:,.4f}".format(np.percentile(V, 80))
P80 = "{:.0%}".format(0.80)
Per85 = "{:,.4f}".format(np.percentile(V, 85))
P85 = "{:.0%}".format(0.85)
Per90 = "{:,.4f}".format(np.percentile(V, 90))
P90 = "{:.0%}".format(0.90)
Per95 = "{:,.4f}".format(np.percentile(V, 95))
P95 = "{:.0%}".format(0.95)
Minimum = "{:,.4f}".format(np.min(V))
Maximum = "{:,.4f}".format(np.max(V))
Mean = "{:,.4f}".format(np.mean(V))
Std_Dev = "{:,.4f}".format(np.std(V))
Variance = np.var(V)
Skewness = round(stats.skew(V),9)
Kurtosis = round((stats.kurtosis(V)+3),9)
Median = "{:,.4f}".format(np.median(V))
Mode = "{:,.4f}".format(stats.mode(V)[0][0])
Left_X = Per5
Left_P = P5
Right_X = Per95
Right_P = P95
Diff_X = "{:,.4f}".format((np.percentile(V, 95) - np.percentile(V, 5)))
Diff_P = "{:.0%}".format(0.90)
Errors = 0
Filter_Min = "Off"
Filter_Max = "Off"
Filtered = 0
g = {"Information": e, "Result": f}
st = pd.DataFrame(data=g)
a = ["Minimum","Maximum","Mean","Std Dev","Variance","Skewness","Kurtosis","Median","Mode","Left X"\
,"Left P","Right X","Right P","Diff X","Diff P","Errors","Filter_Min","Filter_Max","Filtered"]
b = [Minimum, Maximum, Mean, Std_Dev, Variance, Skewness, Kurtosis, Median, Mode, Left_X, Left_P, Right_X\
,Right_P, Diff_X, Diff_P, Errors, Filter_Min,Filter_Max,Filtered]
c = [P5,P10,P15,P20,P25,P30,P35,P40,P45,P50,P55,P60,P65,P70,P75,P80,P85,P90,P95]
d = [Per5, Per10, Per15, Per20, Per25, Per30, Per35, Per40, Per45, Per50, Per55, Per60, Per65,\
Per70, Per75, Per80, Per85, Per90, Per95]
d = {"Statistics": a, "Statistics Result": b, "Percentile": c, "Percentile Result": d}
st1 = pd.DataFrame(data=d)
from datetime import date
today = date.today()
now = datetime.now()
import calendar
curr_date = date.today()
print("\033[1m Simulation Summary Information")
print("\033[0m ================================================")
print("\033[1m Performed By:","\033[0mRoi Polanitzer")
print("\033[1m Date:","\033[0m",calendar.day_name[curr_date.weekday()],",",today.strftime("%B %d, %Y"),",",now.strftime("%H:%M:%S AM"))
st
八、我们来分析一下模拟信息
![](https://i-blog.csdnimg.cn/blog_migrate/f03489a62a2933752fe5ba2d7508536c.png)
九、我们来分析一下2024年模拟预测通胀率的统计数据
print("\033[1m Summary Statistics for Inflation Forecast for 2024")
print("\033[0m ==================================================")
print("\033[1m Performed By:","\033[0mRoi Polanitzer")
print("\033[1m Date:","\033[0m",calendar.day_name[curr_date.weekday()],",",today.strftime("%B %d, %Y"),",",now.strftime("%H:%M:%S AM"))
st1
![](https://i-blog.csdnimg.cn/blog_migrate/2413654913ba5f1c9f2985e963c4873e.png)
第十,让我们可视化 2024 年预测通胀率的概率密度函数 (pdf)
plt.figure(figsize = (4,4))4,4))
sns.set(font_scale = 1.2)
ax = sns.histplot(data=V,bins=10,color="red")
ax.set_xlabel("Default Probability",fontsize=14)
ax.set_ylabel("Frequency",fontsize=14)
ax.set_xlim(np.min(V),np.max(V))
print("\033[1m Probability Density Function for Inflation Forecast for 2024 (Sim#1)")
print("\033[0m ====================================================================")
print("\033[1m Performed By:","\033[0mRoi Polanitzer")
print("\033[1m Date:","\033[0m",calendar.day_name[curr_date.weekday()],",",today.strftime("%B %d, %Y"),",",now.strftime("%H:%M:%S AM"))
![](https://i-blog.csdnimg.cn/blog_migrate/6c47831883dc9056abf3e7891263986d.png)
让我们可视化 2024 年预测通胀率的累积分布函数 (cdf)
plt.figure(figsize = (4,4))4,4))
kwargs = {"cumulative": True}
sns.axes_style("whitegrid")
sns.set(font_scale = 1.2)
ax = sns.distplot(V, hist_kws=None, kde_kws=kwargs,color="red")
ax.set_xlabel("Default Probability",fontsize=14)
ax.set_ylabel("Frequency",fontsize=14)
ax.set_xlim(np.min(V),np.max(V))
print("\033[1m Cumulative Distribution Function for Inflation Inflation Forecast for 2024 (Sim#1)")
print("\033[0m ==================================================================================")
print("\033[1m Performed By:","\033[0mRoi Polanitzer")
print("\033[1m Date:","\033[0m",calendar.day_name[curr_date.weekday()],",",today.strftime("%B %d, %Y"),",",now.strftime("%H:%M:%S AM"))
![](https://i-blog.csdnimg.cn/blog_migrate/444741854716f9b0ff935b5b5dd7354f.png)
结论
print("The Israel inflation rate forecast for 2024 is {:.2%} with a standard error of sample mean of {:.3%}".format(np.mean(V),np.std(V)/np.sqrt(M)))
以色列 2024 年通胀率预测为 2.93%,样本均值标准误为 0.004%
为了预测以色列 2024 年的通货膨胀率,我使用了最大似然估计、布朗运动过程和蒙特卡罗模拟。蒙特卡罗模拟广泛应用于没有解析解和其他方法(例如二项式树)的情况。
蒙特卡罗模拟根据假设的概率分布对风险因素进行模拟,然后分别计算每个模拟的通货膨胀率。违约概率的平均值称为预测通胀率。
样本平均值的标准误差通常用作模型精度水平的指示。由于该标准误差随着模拟次数的增加而下降得非常缓慢,因此通常需要使用数十万(甚至更多)样本模拟才能达到可接受的精度水平。
在预测中,我们可以确定发生的概率,称为置信区间。也就是说,给定两个值,结果落在这两个值之间的可能性有多大?
我使用了 10 次蒙特卡洛模拟,每个模拟都包含 5,000 次迭代(1 次试验的 5000 次),因此在此计算中我总共使用了 50,000 个随机数(10 次模拟乘以 5,000 次迭代)。
最终结果(在本例中为以色列 2024 年预测通胀率)有 95% 的可能性在 0.97% 到 4.89% 之间。另一方面 ,有 2.5% 的概率预测以色列 2024 年通胀率将低于 0.97%,另有 2.5% 的概率预测以色列 2024 年通胀率将高于 4.89%。
即,双尾置信区间是以均值、中值(即第50个百分位数)或众数为中心的对称区间。因此,两条尾部将具有相同的概率。
预测以色列2024年通胀率平均值为2.93%,中值为2.93%
预计以色列 2024 年通胀率平均值为 2.93%,即 CPI 为 108.08。2.93%(按 CPI 计算为 108.08)是截至评估日以色列未来一年的通货膨胀率估计值。
这一结果也得到了费舍尔公式(1930)的支持。为了检验我从蒙特卡罗模拟中得到的以色列 2024 年通胀率预测的合理性,我根据非 CPI 挂钩和 CPI 挂钩以色列之间的收益率差异,重新审视了以色列 2024 年通胀率预测,约为 2.94%。债券 期限为一年的政府债券(分别为1024系列和5904系列)。
![](https://i-blog.csdnimg.cn/blog_migrate/4430c8a3a172d8f69ea78f46db216417.png)
这两个结果均基于我们上面描述的某些假设,代表我们的最佳估计,而不是绝对精确值。然而,考虑到这些模型的准确性,我们认为以色列 2024 年的预测通胀率将与我们的蒙特卡罗模型的结果非常相似。