2013-08-06 3 views
2

dynare (Matlab 용 패키지)의 DSGE 모델에서 Zero Lower Bound를 처리하려고합니다. 나는 ZLB에서 확률 적 시뮬레이션을위한 알고리즘을 개발 한 논문을 발견했으며 저자의 코드 중 일부를 발견했지만 코드의 일부를 해석 할 수는 없다. 나는 어디에서나 답을 찾았다. 이 코드는 다음과 같습니다.dynare/Matlab에서 "@ #"사용

@#define TShadow = 30 
@#define TIRF = 15  
@#define TSimul = 300 
@#define TDrop = 100  

@#if TShadow > TIRF 
    @#define TInitIRF = TShadow 
@#else 
    @#define TInitIRF = TIRF 
@#endif 

var pi, y, i, shock_pi, shock_nu, shock_i; 
varexo epsilon_pi, epsilon_nu, epsilon_i; 

@ #의 사용은 매우 신비적이며 사용법을 하나도 찾을 수 없습니다. 나는 코드를 실행했고 작동한다.

답변

2

이것은 Macro-processing language 구문과 관련이 있습니다. 이 링크는 표현식, 지시문, 일반적인 사용법을 설명하고 MATLAB/Octave 루프 대 매크로 프로세서 루프를 비교합니다. 이 pdf에서 Dynare 매크로 프로세서 구문과 일반적인 용도에 대해 자세히 알아보십시오.

0

Dynare의 savemacro 명령 줄 옵션과 함께 코드를 실행할 수 있습니다.

dynare mymodel.mod savemacro=final_mod_file.txt onlymacro nolinemacro

는 전처리가 final_mod_file.txt 파일에 명령을 매크로 언어를 해결 한 후 작성하는 일반 읽을 수 Dynare 모델 코드를 작성합니다. 명령 행 옵션에 대한 자세한 내용은 Dynare 매뉴얼을 참조하십시오.