因此,我想为战术资产分配豚鼠实现马尔可夫转换模型,并想对某些交易策略进行样本外测试。例如,假设我有两种状态:高通货膨胀和低通货膨胀。在高通胀制度中,我投资无风险资产,在低通胀制度中,我投资市场投资组合。
要做到这一点,我需要概率在t + 1时处于每种状态,并相应地进行分配。平滑的边际概率是我可以用于样本外测试的第一步概率吗?即可以说,我一直运行转换模型,直到周期t,t + 1时处于高通货膨胀状态的平滑概率为98%->分配给无风险资产。
该解释是否正确或我缺少什么?如果没有,那么战术资产分配练习将如何像应用马尔可夫转换模型一样?
在下面找到我的通货膨胀率估算代码。
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import requests
from io import BytesIO
import pandas_datareader as pdr
from pandas_datareader.data import DataReader
from datetime import datetime
import pandas_datareader.data as web
from openpyxl import load_workbook
from pandas import ExcelWriter
from pandas_datareader.famafrench import get_available_datasets
# CPI
# Get data from FRED
cpi = DataReader('CPIAUCSL', 'fred', start="1950-01-01", end="2016-10-01").resample("QS").mean()
cpi = np.log(cpi["CPIAUCSL"]).diff().iloc[1:]*100 # log difference
cpi = cpi.dropna()
res_cpi = sm.tsa.MarkovRegression(cpi, k_regimes=3, switching_variance=False)
res_cpi = res_cpi.fit(maxiter=200)
print(res_cpi.summary())
print(res_cpi.expected_durations)
# Plot the results
fig, axs = plt.subplots(2)
axs[0].plot(cpi)
axs[0].set(title='US Consumer Price Index (CPI)')
# axs[1].plot(res_cpi.smoothed_marginal_probabilities[0])
# axs[1].set(title='Low Inflation')
# axs[2].plot(res_cpi.smoothed_marginal_probabilities[1])
# axs[2].set(title='Medium Inflation')
axs[1].plot(res_cpi.smoothed_marginal_probabilities[2])
axs[1].set(title='Smoothed Probability High Inflation Regime')
plt.show()