• 大小: 29KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Matlab
  • 标签: matlab  tvp-var  

资源简介

tvp-var模型,matlab代码。直接改数据就可以使用,nakajima的原包。内附pdf教程。

资源截图

代码片段和文件信息

%%--------------------------------------------------------%%
%%                   TVP-VAR package for estimation                     %%
%%  This code is modified from Primiceri (2005)and Nakajima (2011) 
%%  Function files for MCMC estimation of Time-Varying Parameter VAR model
%%  with stochastic volatility
%%  setvar.m    sets variables or options
%%  ssmooth.m   implements simulation smoother
%%  svsamp.m    implements multi-move sampler for SV model
%%  ftsvar.m    computes time-series variance  
%%  fAt.m fXt.m fXh.m finvm.m  functions for some matrices 
%%  fGeweke.m   computes Geweke statistics for convergence
%%  impulse.m   computes time-varying impulse response


%%--------------------------------------------------------%%


clear all;
close all;
tau = 40;
y=xlsread(‘awm.xlsx‘);% load data

my = y(tau+1:end:);  

asvar = {‘p‘; ‘x‘; ‘i‘};    % variable names
nlag = 2;                   % # of lags

setvar(‘data‘ my asvar nlag); % set data

setvar(‘fastimp‘ 1);
global m_my  m_nl m_ns m_nk m_fli m_flSb m_nimp m_flfi ...
       m_iseed m_dvb0 m_dVb0 m_dva0 m_dVa0 m_dvh0 m_dVh0 m_k
   
tic;

if isempty(m_fli) == 1
    m_fli = 1;
end
if isempty(m_flSb) == 1
    m_flSb = 0;
end
if isempty(m_nimp) == 1
    m_nimp = 12 + 1;
end
if isempty(m_flfi) == 1
    m_flfi = 1;
end
if isempty(m_iseed) == 1
    m_iseed = 1;
end

rand(‘state‘ m_iseed);
randn(‘state‘ m_iseed);


%%--- set variables ---%%

ns = m_ns;  % # of time periods
nk = m_nk;  % # of series
nl = m_nl;  % # of lags
nb = nk * (nk*nl + m_fli);  % # of coefficients in beta 
na = nk * (nk-1) / 2;       % # of parameters in a

if m_fli == 1
    vym = zeros(1 nk);
else
    vym = mean(m_my);
end
m_my = m_my - ones(ns 1) * vym;

myh = zeros(ns nk);
mya = zeros(ns nk);
amX = zeros(nk nb ns);
amXh = zeros(nk na ns);
amG2 = zeros(nk nk ns);
mai = zeros(ns na);
for i = nl+1 : ns
    amX(: : i) = fXt(m_my(i-nl:i-1 :) m_fli);
end

mb = zeros(ns nb);
ma = zeros(ns na);
mh = zeros(ns nk);

mSigb = eye(nb) * 0.01;
mSiga = eye(na) * 0.01;
mSigh = eye(nk) * 0.01;

vidb = 1 : nb;
if m_fli == 1
    vidi = (0 : nk-1) * (nk*nl+1) + 1;
vidb(vidi) = [];
end
[v1 v2] = find(triu(reshape(1:nk^2 nk nk)‘ 1));
vida = (v1-1)*nk + v2;
%%--- prior ---%%
[BetaVBOLSsigma_u] = prior_ols(y(1:tau:)nlag);
%Find lower triangular matrix At
C0=chol(sigma_u);
C0=C0./repmat(diag(C0)1nk);
C0=inv(C0)‘;
C0=reshape(C0nk*nk1);
va0 = zeros(na 1);
for i=1:na
    va0(i1)=C0(vida(i));
end
sigma_OLS=diag(sigma_u);
if isempty(m_dvb0) == 1
  if m_flSb == 1
    m_dvb0 = 25;          % Sigma ~ IW(vb0 I*Vb0)
    m_dVb0 = 1e-4;
  else
    m_dvb0 = 40;          % sigb_i^2 ~ IG(va0/2 Va0/2) 
    m_dVb0 = 2*1e-4;
  end
elseif m_flSb == 0
    m_dvb0 = m_dvb0*2;
    m_dVb0 = m_dVb0*2;
end   
if isempty(m_dva0) == 1
  m_dva0 = 8;             % siga_i^2 ~ IG(va0/2 Va0/2)
  m_dVa0 = 2*1e-4;  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-11-17 15:43  TVPVAR-master\
     文件        1027  2019-11-17 15:43  TVPVAR-master\DataDescription
     文件        8522  2019-11-17 15:43  TVPVAR-master\Estinamtion result.m
     文件       11442  2019-11-17 15:43  TVPVAR-master\Forecast TVPVAR.m
     文件       16637  2019-11-17 15:43  TVPVAR-master\awm.xlsx
     文件         657  2019-11-17 15:43  TVPVAR-master\fAt.m
     文件         768  2019-11-17 15:43  TVPVAR-master\fGeweke.m
     文件         534  2019-11-17 15:43  TVPVAR-master\fXh.m
     文件         559  2019-11-17 15:43  TVPVAR-master\fXt.m
     文件         544  2019-11-17 15:43  TVPVAR-master\finvm.m
     文件         872  2019-11-17 15:43  TVPVAR-master\ftsvar.m
     文件        1255  2019-11-17 15:43  TVPVAR-master\impulse.m
     文件         357  2019-11-17 15:43  TVPVAR-master\mlag2.m
     文件         304  2019-11-17 15:43  TVPVAR-master\prior_ols.m
     文件        2390  2019-11-17 15:43  TVPVAR-master\setvar.m
     文件        2871  2019-11-17 15:43  TVPVAR-master\ssmooth.m
     文件        5542  2019-11-17 15:43  TVPVAR-master\svsamp.m
     文件         507  2019-11-17 15:43  TVPVAR-master\wish.m

评论

共有 条评论