Skip to main content

Macro Simulator

Macro
Simulate shocks within an IS-MP-PC model
Author

Mike Aguilar

Published

November 6, 2026

Interactive simulator

Change any exogenous variable or parameter. Black represents the stored baseline; red represents the current scenario. The baseline remains fixed until you select Set New Baseline. Presets apply one isolated shock relative to that baseline.

Model reference

Variables and parameters

Symbol Definition Type
\(y_t\) Real GDP (level) Endogenous
\(\pi_t\) Inflation rate (percent) Endogenous
\(r_t\) Real short-term risk-free interest rate (percent) Endogenous
\(y^*\) Natural level of real GDP Exogenous
\(\pi^*\) Target inflation rate (percent) Exogenous
\(r^*\) Natural real short-term risk-free interest rate (percent) Exogenous
\(\epsilon_t^{IS}\) IS curve shock Exogenous
\(\epsilon_t^{PC}\) Phillips curve shock Exogenous
\(E_t[\pi_{t+1}]\) Expected inflation for the next period (percent) Exogenous
\(\alpha\) Sensitivity of demand/output to the real-rate gap Parameter, \(\alpha>0\)
\(\beta\) Monetary-policy responsiveness to inflation Parameter, \(\beta>0\)
\(\delta\) Phillips-curve slope Parameter, \(\delta\geq0\)

Structural equations

\[ \begin{aligned} \text{IS:}\qquad y_t &= y^* - \alpha(r_t-r^*) + \epsilon_t^{IS},\\[5pt] \text{MP:}\qquad r_t &= r^* + \beta(\pi_t-\pi^*),\\[5pt] \text{PC:}\qquad \pi_t &= E_t[\pi_{t+1}] + \delta(y_t-y^*) + \epsilon_t^{PC}. \end{aligned} \]

Curves in the graphs

The IS curve relates output to the real interest rate; the MP curve relates inflation to the real interest rate. Combining IS with MP gives the aggregate-demand curve, while the Phillips curve is the aggregate-supply curve:

\[ \begin{aligned} \text{IS:}\quad r_t &= r^* + \frac{y^*+\epsilon_t^{IS}-y_t}{\alpha},\\[6pt] \text{MP:}\quad r_t &= r^* + \beta(\pi_t-\pi^*),\\[6pt] \text{AD:}\quad \pi_t &= \pi^* + \frac{y^*+\epsilon_t^{IS}-y_t}{\alpha\beta},\\[6pt] \text{AS:}\quad \pi_t &= E_t[\pi_{t+1}] + \delta(y_t-y^*) + \epsilon_t^{PC}. \end{aligned} \]

Equilibrium solutions

\[ \boxed{\displaystyle y_t^{eq}=y^*+ \frac{\pi^*+\frac{\epsilon_t^{IS}}{\alpha\beta} -E_t[\pi_{t+1}]-\epsilon_t^{PC}} {\delta+\frac{1}{\alpha\beta}} } \]

\[ \boxed{\displaystyle \pi_t^{eq}=E_t[\pi_{t+1}] +\delta(y_t^{eq}-y^*)+\epsilon_t^{PC} } \]

\[ \boxed{\displaystyle r_t^{eq}=r^*+\beta(\pi_t^{eq}-\pi^*) } \]