/; Adjusted to run with standard graph plot /; For changes see "source" %b34slet runb34s =0; /; leverage plots /; /; Runs ln m1 /; %b34slet runb34sc1 =0; /; /; Runs ln m2 /; %b34slet runb34sc2 =0; /; /; Runs ln Real Financial Assets heldby nonfinancial Corp /; %b34slet runb34scf =0; %b34slet runb34sbi =0; %b34slet runratsm1 =0; /; With time %b34slet runratsm2 =1; /; Without time %b34slet runratsm2b =1; %b34slet runratsfa =0; %b34slet runstata =0; b34sexec options ginclude('b34sdata.mac') member(disag2); b34srun; %b34sif(&runb34sbi.ne.0)%then; b34sexec btiden$ title=('identification run with for m1 Model'); seriesn var=ln_lab name=('ln_lab log of Labor')$ seriesn var=lnk name=('ln(capital)')$ seriesn var=ln_m1 name=('ln(m1)') $ seriesn var=lny name=('ln(gross domestic product non Financial')$ estvar p=2 output=normal numirf=12 granger ilarf; bispec iauto iturno $ b34srun$ b34sexec btiden$ title=('identification run with for m1 Model'); seriesn var=ln_lab name=('ln_lab log of Labor')$ seriesn var=lnk name=('ln(capital)')$ seriesn var=ln_m2 name=('ln(m2)') $ seriesn var=lny name=('ln(gross domestic product non Financial')$ estvar p=2 output=normal numirf=12 granger ilarf; bispec iauto iturno $ b34srun$ b34sexec btiden$ title=('identification run with for m1 Model'); seriesn var=ln_lab name=('ln_lab log of Labor')$ seriesn var=lnk name=('ln(capital)')$ seriesn var=ln_fa name=('ln(fa)') $ seriesn var=lny name=('ln(gross domestic product non Financial')$ estvar p=2 output=normal numirf=12 granger ilarf; bispec iauto iturno $ b34srun$ %b34sendif; %b34sif(&runb34s.ne.0)%then; b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_m1$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_m2$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_fa$ b34seend$ b34sexec regression residuala maxgls=1$ * kmenta test$ model lny=time ln_kdl lnsqkl$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_m1$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_m2$ b34seend$ b34sexec regression residuala maxgls=2$ model lny=ln_lab lnk time ln_fa$ b34seend$ %b34sendif; %b34sif(&runratsm1.ne.0)%then; /; /; Monti Carlo Integration. See Rats 8.0 Manual UG page 495- /; b34sexec options open('rats.dat') unit(28) disp=unknown$ b34srun$ b34sexec options open('rats.in') unit(29) disp=unknown$ b34srun$ b34sexec options clean(28)$ b34srun$ b34sexec options clean(29)$ b34srun$ b34sexec options copyf(4,29); b34sexec pgmcall; RATS PASSASTS pcomments('* ', '* Data passed from B34S(r) system to RATS', '* ', "display @1 %dateandtime() @33 ' Rats Version ' %ratsversion()" '* ') $ PGMCARDS$ * * Rats run under B34S(r) system * display @1 %dateandtime() @33 'Rats Version ' %ratsversion() * * * based on MONTEVAR.RPF * RATS Version 8, User's Guide, Example 16.2 * Monte Carlo Integration of Impulse Responses * @dfunit(lags=2) lny @dfunit(lags=2) lnk @dfunit(lags=2) ln_lab @dfunit(lags=2) ln_m1 @dfunit(lags=2) ln_m2 @dfunit(lags=2) ln_fa @johmle(lags=2,det=constant) # lnk ln_lab ln_m1 compute lags=2 ;*Number of lags compute nstep=20 ;*Number of response steps compute ndraws=10000 ;*Number of keeper draws * * * * EC Model * @johmle(lags=lags,det=rc,cv=cvect,eigval=eigval) # lnk ln_lab ln_m1 compute cvect=cvect/cvect(1) disp "Normalized Cointegrating Vector" cvect equation(coeffs=cvect) ectmod * # constant lnk ln_lab ln_m1 * system(model=varmodel) variables lnk ln_lab ln_m1 lny lags 1 to lags det constant ect ectmod end(system) estimate * ****************************************************************** * system(model=varmodel) variables lnk ln_lab ln_m1 lny lags 1 to lags det constant end(system) * ****************************************************************** * estimate compute nvar =%nvar compute fxx =%decomp(%xx) compute fwish =%decomp(inv(%nobs*%sigma)) compute wishdof=%nobs-%nreg compute betaols=%modelgetcoeffs(varmodel) * * declare vect[rect] %%responses(ndraws) declare rect[series] impulses(nvar,nvar) infobox(action=define,progress,lower=1,upper=ndraws) "Monte Carlo Integration" do draw=1,ndraws * * On the odd values for <>, a draw is made from the inverse Wishart * distribution for the covariance matrix. This assumes use of the * Jeffrey's prior |S|^-(n+1)/2 where n is the number of equations in * the VAR. The posterior for S with that prior is inverse Wishart with * T-p d.f. (p = number of explanatory variables per equation) and * covariance matrix inv(T(S-hat)). * * Given the draw for S, a draw is made for the coefficients by adding * the mean from the least squares estimate to a draw from a * multivariate Normal with (factor of) covariance matrix as the * Kroneker product of the factor of the draw for S and a factor of * the X'X^-1 from OLS. * * On even draws, the S is kept at the previous value, and the * coefficient draw is reflected through the mean. * if %clock(draw,2)==1 { compute sigmad =%ranwisharti(fwish,wishdof) compute fsigma =%decomp(sigmad) compute betau =%ranmvkron(fsigma,fxx) compute betadraw=betaols+betau } else compute betadraw=betaols-betau * * Push the draw for the coefficient back into the model. * compute %modelsetcoeffs(varmodel,betadraw) impulse(noprint,model=varmodel,factor=fsigma,$ results=impulses,steps=nstep) * * Save the impulse responses * dim %%responses(draw)(nvar*nvar,nstep) ewise %%responses(draw)(i,j)=ix=%vec(%xt(impulses,j)),ix(i) infobox(current=draw) end do draw infobox(action=remove) * * Modified source * source "c:\b34slm\ratspgm\mcgraphirf.src" @mcgraphirf(model=varmodel,stddev=2., $ header='Impulse Response functions for log VAR Model') *@mcgraphirf(model=varmodel,stddev=2., $ * header='Impulse Response Functions for log VAR Model',$ * subheader ='2 SD Bounds set by Monti Carlo Integration') @varirf(model=varmodel,steps=nstep,page=byshocks) impulse(model=varmodel,result=impblk,noprint,steps=nstep) errors( model=varmodel,steps=nstep,impulses) * b34sreturn$ b34srun $ b34sexec options close(28)$ b34srun$ b34sexec options close(29)$ b34srun$ b34sexec options dodos('start /w /r rats32s rats.in /run ') /; dodos('start /w /r rats32s rats.in ') dounix('rats rats.in rats.out')$ B34SRUN$ b34sexec options npageout WRITEOUT('Output from RATS',' ',' ') COPYFOUT('rats.out') /; dodos('ERASE rats.in','ERASE rats.out','ERASE rats.dat') dounix('rm rats.in','rm rats.out','rm rats.dat') $ B34SRUN$ %b34sendif; /; uses time in model %b34sif(&runratsm2.ne.0)%then; /; /; Monti Carlo Integration. See Rats 8.0 Manual UG page 495- /; b34sexec options open('rats.dat') unit(28) disp=unknown$ b34srun$ b34sexec options open('rats.in') unit(29) disp=unknown$ b34srun$ b34sexec options clean(28)$ b34srun$ b34sexec options clean(29)$ b34srun$ b34sexec options copyf(4,29); b34sexec pgmcall; RATS PASSASTS pcomments('* ', '* Data passed from B34S(r) system to RATS', '* ', "display @1 %dateandtime() @33 ' Rats Version ' %ratsversion()" '* ') $ PGMCARDS$ * * Rats run under B34S(r) system * display @1 %dateandtime() @33 'Rats Version ' %ratsversion() * * * based on MONTEVAR.RPF * RATS Version 8, User's Guide, Example 16.2 * Monte Carlo Integration of Impulse Responses * @dfunit(lags=2) lny @dfunit(lags=2) lnk @dfunit(lags=2) ln_lab @dfunit(lags=2) ln_m1 @dfunit(lags=2) ln_m2 @dfunit(lags=2) ln_fa @johmle(lags=2,det=constant) # lnk ln_lab ln_m2 compute lags=2 ;*Number of lags compute nstep=20 ;*Number of response steps compute ndraws=10000 ;*Number of keeper draws * * * * EC Model * @johmle(lags=lags,det=rc,cv=cvect,eigval=eigval) # lnk ln_lab ln_m2 compute cvect=cvect/cvect(1) disp "Normalized Cointegrating Vector" cvect * change names to adjust graphs set lnl = ln_lab set lnm2 = ln_m2 equation(coeffs=cvect) ectmod * # constant lnk lnl lnm2 * system(model=varmodel) variables lnk lnl lnm2 lny lags 1 to lags det constant time ect ectmod end(system) estimate * ****************************************************************** * system(model=varmodel) variables lnk lnl lnm2 lny lags 1 to lags det constant time end(system) * ****************************************************************** * estimate compute nvar =%nvar compute fxx =%decomp(%xx) compute fwish =%decomp(inv(%nobs*%sigma)) compute wishdof=%nobs-%nreg compute betaols=%modelgetcoeffs(varmodel) * * declare vect[rect] %%responses(ndraws) declare rect[series] impulses(nvar,nvar) infobox(action=define,progress,lower=1,upper=ndraws) "Monte Carlo Integration" do draw=1,ndraws * * On the odd values for <>, a draw is made from the inverse Wishart * distribution for the covariance matrix. This assumes use of the * Jeffrey's prior |S|^-(n+1)/2 where n is the number of equations in * the VAR. The posterior for S with that prior is inverse Wishart with * T-p d.f. (p = number of explanatory variables per equation) and * covariance matrix inv(T(S-hat)). * * Given the draw for S, a draw is made for the coefficients by adding * the mean from the least squares estimate to a draw from a * multivariate Normal with (factor of) covariance matrix as the * Kroneker product of the factor of the draw for S and a factor of * the X'X^-1 from OLS. * * On even draws, the S is kept at the previous value, and the * coefficient draw is reflected through the mean. * if %clock(draw,2)==1 { compute sigmad =%ranwisharti(fwish,wishdof) compute fsigma =%decomp(sigmad) compute betau =%ranmvkron(fsigma,fxx) compute betadraw=betaols+betau } else compute betadraw=betaols-betau * * Push the draw for the coefficient back into the model. * compute %modelsetcoeffs(varmodel,betadraw) impulse(noprint,model=varmodel,factor=fsigma,$ results=impulses,steps=nstep) * * Save the impulse responses * dim %%responses(draw)(nvar*nvar,nstep) ewise %%responses(draw)(i,j)=ix=%vec(%xt(impulses,j)),ix(i) infobox(current=draw) end do draw infobox(action=remove) * * Modified source * source "c:\b34slm\ratspgm\mcgraphirf.src" @mcgraphirf(model=varmodel,stddev=2., $ header='Impulse Response Functions for log VAR Model') * @mcgraphirf(model=varmodel,stddev=2., $ * header='Impulse Response Functions for log VAR Model',$ * subheader ='2 SD Bounds set by Monti Carlo Integration') @varirf(model=varmodel,steps=nstep,page=byshocks) impulse(model=varmodel,result=impblk,noprint,steps=nstep) errors( model=varmodel,steps=nstep,impulses) * b34sreturn$ b34srun $ b34sexec options close(28)$ b34srun$ b34sexec options close(29)$ b34srun$ b34sexec options /; dodos('start /w /r rats32s rats.in /run ') dodos('start /w /r rats32s rats.in ') dounix('rats rats.in rats.out')$ B34SRUN$ b34sexec options npageout WRITEOUT('Output from RATS',' ',' ') COPYFOUT('rats.out') /; dodos('ERASE rats.in','ERASE rats.out','ERASE rats.dat') dounix('rm rats.in','rm rats.out','rm rats.dat') $ B34SRUN$ %b34sendif; /; does not use time in model %b34sif(&runratsm2.ne.0)%then; /; /; Monti Carlo Integration. See Rats 8.0 Manual UG page 495- /; b34sexec options open('rats.dat') unit(28) disp=unknown$ b34srun$ b34sexec options open('rats.in') unit(29) disp=unknown$ b34srun$ b34sexec options clean(28)$ b34srun$ b34sexec options clean(29)$ b34srun$ b34sexec options copyf(4,29); b34sexec pgmcall; RATS PASSASTS pcomments('* ', '* Data passed from B34S(r) system to RATS', '* ', "display @1 %dateandtime() @33 ' Rats Version ' %ratsversion()" '* ') $ PGMCARDS$ * * Rats run under B34S(r) system * display @1 %dateandtime() @33 'Rats Version ' %ratsversion() * * * based on MONTEVAR.RPF * RATS Version 8, User's Guide, Example 16.2 * Monte Carlo Integration of Impulse Responses * @dfunit(lags=2) lny @dfunit(lags=2) lnk @dfunit(lags=2) ln_lab @dfunit(lags=2) ln_m1 @dfunit(lags=2) ln_m2 @dfunit(lags=2) ln_fa @johmle(lags=2,det=constant) # lnk ln_lab ln_m2 compute lags=2 ;*Number of lags compute nstep=20 ;*Number of response steps compute ndraws=10000 ;*Number of keeper draws * * * * EC Model * @johmle(lags=lags,det=rc,cv=cvect,eigval=eigval) # lnk ln_lab ln_m2 compute cvect=cvect/cvect(1) disp "Normalized Cointegrating Vector" cvect * change names to adjust graphs set lnl = ln_lab set lnm2 = ln_m2 equation(coeffs=cvect) ectmod * # constant lnk lnl lnm2 * system(model=varmodel) variables lnk lnl lnm2 lny lags 1 to lags det constant ect ectmod end(system) estimate * ****************************************************************** * system(model=varmodel) variables lnk lnl lnm2 lny lags 1 to lags det constant end(system) * ****************************************************************** * estimate compute nvar =%nvar compute fxx =%decomp(%xx) compute fwish =%decomp(inv(%nobs*%sigma)) compute wishdof=%nobs-%nreg compute betaols=%modelgetcoeffs(varmodel) * * declare vect[rect] %%responses(ndraws) declare rect[series] impulses(nvar,nvar) infobox(action=define,progress,lower=1,upper=ndraws) "Monte Carlo Integration" do draw=1,ndraws * * On the odd values for <>, a draw is made from the inverse Wishart * distribution for the covariance matrix. This assumes use of the * Jeffrey's prior |S|^-(n+1)/2 where n is the number of equations in * the VAR. The posterior for S with that prior is inverse Wishart with * T-p d.f. (p = number of explanatory variables per equation) and * covariance matrix inv(T(S-hat)). * * Given the draw for S, a draw is made for the coefficients by adding * the mean from the least squares estimate to a draw from a * multivariate Normal with (factor of) covariance matrix as the * Kroneker product of the factor of the draw for S and a factor of * the X'X^-1 from OLS. * * On even draws, the S is kept at the previous value, and the * coefficient draw is reflected through the mean. * if %clock(draw,2)==1 { compute sigmad =%ranwisharti(fwish,wishdof) compute fsigma =%decomp(sigmad) compute betau =%ranmvkron(fsigma,fxx) compute betadraw=betaols+betau } else compute betadraw=betaols-betau * * Push the draw for the coefficient back into the model. * compute %modelsetcoeffs(varmodel,betadraw) impulse(noprint,model=varmodel,factor=fsigma,$ results=impulses,steps=nstep) * * Save the impulse responses * dim %%responses(draw)(nvar*nvar,nstep) ewise %%responses(draw)(i,j)=ix=%vec(%xt(impulses,j)),ix(i) infobox(current=draw) end do draw infobox(action=remove) * * Modified source * source "c:\b34slm\ratspgm\mcgraphirf.src" @mcgraphirf(model=varmodel,stddev=2., $ header='Impulse Response Functions for log VAR Model') * @mcgraphirf(model=varmodel,stddev=2., $ * header='Impulse Response Functions for log VAR Model',$ * subheader ='2 SD Bounds set by Monti Carlo Integration') @varirf(model=varmodel,steps=nstep,page=byshocks) impulse(model=varmodel,result=impblk,noprint,steps=nstep) errors( model=varmodel,steps=nstep,impulses) * b34sreturn$ b34srun $ b34sexec options close(28)$ b34srun$ b34sexec options close(29)$ b34srun$ b34sexec options /; dodos('start /w /r rats32s rats.in /run ') dodos('start /w /r rats32s rats.in ') dounix('rats rats.in rats.out')$ B34SRUN$ b34sexec options npageout WRITEOUT('Output from RATS',' ',' ') COPYFOUT('rats.out') /; dodos('ERASE rats.in','ERASE rats.out','ERASE rats.dat') dounix('rm rats.in','rm rats.out','rm rats.dat') $ B34SRUN$ %b34sendif; %b34sif(&runratsfa.ne.0)%then; /; /; Monti Carlo Integration. See Rats 8.0 Manual UG page 495- /; b34sexec options open('rats.dat') unit(28) disp=unknown$ b34srun$ b34sexec options open('rats.in') unit(29) disp=unknown$ b34srun$ b34sexec options clean(28)$ b34srun$ b34sexec options clean(29)$ b34srun$ b34sexec options copyf(4,29); b34sexec pgmcall; RATS PASSASTS pcomments('* ', '* Data passed from B34S(r) system to RATS', '* ', "display @1 %dateandtime() @33 ' Rats Version ' %ratsversion()" '* ') $ PGMCARDS$ * * Rats run under B34S(r) system * display @1 %dateandtime() @33 'Rats Version ' %ratsversion() * * * based on MONTEVAR.RPF * RATS Version 8, User's Guide, Example 16.2 * Monte Carlo Integration of Impulse Responses * @dfunit(lags=2) lny @dfunit(lags=2) lnk @dfunit(lags=2) ln_lab @dfunit(lags=2) ln_m1 @dfunit(lags=2) ln_m2 @dfunit(lags=2) ln_fa @johmle(lags=2,det=constant) # lnk ln_lab ln_fa compute lags=2 ;*Number of lags compute nstep=20 ;*Number of response steps compute ndraws=10000 ;*Number of keeper draws * * * * EC Model * @johmle(lags=lags,det=rc,cv=cvect,eigval=eigval) # lnk ln_lab ln_fa compute cvect=cvect/cvect(1) disp "Normalized Cointegrating Vector" cvect equation(coeffs=cvect) ectmod * # constant lnk ln_lab ln_fa * system(model=varmodel) variables lnk ln_lab ln_fa lny lags 1 to lags det constant ect ectmod end(system) estimate * ****************************************************************** * system(model=varmodel) variables lnk ln_lab ln_fa lny lags 1 to lags det constant end(system) * ****************************************************************** * estimate compute nvar =%nvar compute fxx =%decomp(%xx) compute fwish =%decomp(inv(%nobs*%sigma)) compute wishdof=%nobs-%nreg compute betaols=%modelgetcoeffs(varmodel) * * declare vect[rect] %%responses(ndraws) declare rect[series] impulses(nvar,nvar) infobox(action=define,progress,lower=1,upper=ndraws) "Monte Carlo Integration" do draw=1,ndraws * * On the odd values for <>, a draw is made from the inverse Wishart * distribution for the covariance matrix. This assumes use of the * Jeffrey's prior |S|^-(n+1)/2 where n is the number of equations in * the VAR. The posterior for S with that prior is inverse Wishart with * T-p d.f. (p = number of explanatory variables per equation) and * covariance matrix inv(T(S-hat)). * * Given the draw for S, a draw is made for the coefficients by adding * the mean from the least squares estimate to a draw from a * multivariate Normal with (factor of) covariance matrix as the * Kroneker product of the factor of the draw for S and a factor of * the X'X^-1 from OLS. * * On even draws, the S is kept at the previous value, and the * coefficient draw is reflected through the mean. * if %clock(draw,2)==1 { compute sigmad =%ranwisharti(fwish,wishdof) compute fsigma =%decomp(sigmad) compute betau =%ranmvkron(fsigma,fxx) compute betadraw=betaols+betau } else compute betadraw=betaols-betau * * Push the draw for the coefficient back into the model. * compute %modelsetcoeffs(varmodel,betadraw) impulse(noprint,model=varmodel,factor=fsigma,$ results=impulses,steps=nstep) * * Save the impulse responses * dim %%responses(draw)(nvar*nvar,nstep) ewise %%responses(draw)(i,j)=ix=%vec(%xt(impulses,j)),ix(i) infobox(current=draw) end do draw infobox(action=remove) * * Modified source * source "c:\b34slm\ratspgm\mcgraphirf.src" @mcgraphirf(model=varmodel,stddev=2., $ header='Impulse Response Functions for log VAR Model') * @mcgraphirf(model=varmodel,stddev=2., $ * header='Impulse Response Functions for log VAR Model',$ * subheader ='2 SD Bounds set by Monti Carlo Integration') * @varirf(model=varmodel,steps=nstep,page=byshocks) *impulse(model=varmodel,result=impblk,noprint,steps=nstep) errors( model=varmodel,steps=nstep,impulses) * b34sreturn$ b34srun $ b34sexec options close(28)$ b34srun$ b34sexec options close(29)$ b34srun$ b34sexec options dodos('start /w /r rats32s rats.in /run ') /; dodos('start /w /r rats32s rats.in ') dounix('rats rats.in rats.out')$ B34SRUN$ b34sexec options npageout WRITEOUT('Output from RATS',' ',' ') COPYFOUT('rats.out') /; dodos('ERASE rats.in','ERASE rats.out','ERASE rats.dat') dounix('rm rats.in','rm rats.out','rm rats.dat') $ B34SRUN$ %b34sendif; %b34sif(&runstata.ne.0)%then; b34sexec options open('statdata.do') unit(28) disp=unknown$ b34srun$ b34sexec options clean(28)$ b34srun$ b34sexec options open('stata.do') unit(29) disp=unknown$ b34srun$ b34sexec options clean(29)$ b34srun$ b34sexec pgmcall idata=28 icntrl=29$ stata$ pgmcards$ // uncomment if do not use /e // log using stata.log, text describe regress lny time lnk ln_lab ln_m2 qvf lny time lnk ln_lab ln_m2 b34sreturn$ b34seend$ b34sexec options close(28); b34srun; b34sexec options close(29); b34srun; b34sexec options dodos('stata /e do stata.do'); b34srun; b34sexec options npageout writeout('output from stata',' ',' ') copyfout('stata.log') dodos('erase stata.do','erase stata.log','erase statdata.do') $ b34srun$ %b34sendif; %b34sif(&runb34sc1.ne.0)%then; b34sexec matrix; call echooff; call loaddata; call load(contrib); call contribi; /; /; specific settings /; _mi=2; _m=10; _alpha=.3; do_ppexp=0; iols=2; lnl=ln_lab; lnm1=ln_m1; call character(fsv_info,'1. Disag M1 Model'); call character(l_hand_s,'lny'); call character(_args, 'time lnk lnl ln'); call character(_argsg, ' time[predictor,3] lnk[predictor,3] lnl[predictor,3] lnm1[predictor,3]'); call contribl; call contribd; b34srun; %b34sendif; %b34sif(&runb34sc2.ne.0)%then; b34sexec matrix; call echooff; call loaddata; call load(contrib); call contribi; /; /; specific settings /; _mi=2; _m=10; _alpha=.3; do_ppexp=0; iols=2; lnl=ln_lab; lnm2=ln_m2; call character(fsv_info,'1. Disag M2 Model'); call character(l_hand_s,'lny'); call character(_args, 'time lnk lnl lnm2'); call character(_argsg, ' time[predictor,3] lnk[predictor,3] lnl[predictor,3] lnm2[predictor,3]'); call contribl; call contribd; b34srun; %b34sendif; %b34sif(&runb34scf.ne.0)%then; b34sexec matrix; call echooff; call loaddata; call load(contrib); call contribi; /; /; specific settings /; _mi=2; _m=10; _alpha=.3; do_ppexp=0; iols=2; call character(fsv_info,'1. Disag FA Model'); call character(l_hand_s,'lny'); call character(_args, 'time lnk ln_lab ln_fa'); call character(_argsg, ' time[predictor,3] lnk[predictor,3] ln_lab[predictor,3] ln_fa[predictor,3]'); call contribl; call contribd; b34srun; %b34sendif;