# Shock decomposition with Occbin

**URL:** <https://forum.dynare.org/t/shock-decomposition-with-occbin/28027>\
**Category:** Occbin\
**Created:** [13 October 2025 10:18 UTC](https://forum.dynare.org/t/shock-decomposition-with-occbin/28027 "2025-10-13T10:18:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ManuelG1](https://forum.dynare.org/letter_avatar_proxy/v4/letter/m/50afbb/32.png) [@ManuelG1](https://forum.dynare.org/u/ManuelG1)\
**Post date:** [13 October 2025 10:18 UTC](https://forum.dynare.org/t/shock-decomposition-with-occbin/28027/1 "2025-10-13T10:18:31Z")

</div>

Hi, I am feeding to Occbin eight different shock sequences over 100 periods using the shocks(surprise) block, like below. I would like to obtain a shock decomposition for Y, is there a way to do this without running eight separate counterfactual simulations, each time isolating one shock and setting the others to zero? I understand that standard shock\_decomposition tools don’t apply directly to Occbin, but I’m wondering if there’s a quick workaround. Many thanks

> shocks(surprise);
> 
> var ea;
> 
> periods 1:100;
> 
> values (shockssequence\_ea);
> 
> var er;
> 
> periods 1:100;
> 
> values (shockssequence\_er);
> 
> var ep;
> 
> periods 1:100;
> 
> values (shockssequence\_ep);
> 
> var ez;
> 
> periods 1:100;
> 
> values (shockssequence\_ez);
> 
> var ew;
> 
> periods 1:100;
> 
> values (shockssequence\_ew);
> 
> var eqs;
> 
> periods 1:100;
> 
> values (shockssequence\_eqs);
> 
> var eme;
> 
> periods 1:100;
> 
> values (shockssequence\_eme);
> 
> var ec;
> 
> periods 1:100;
> 
> values (shockssequence\_ec);
> 
> end;

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [20 October 2025 20:09 UTC](https://forum.dynare.org/t/shock-decomposition-with-occbin/28027/2 "2025-10-20T20:09:14Z")

</div>

@rattoma should know more. There is an undocumented `occbin.shock_decomposition` command.
