From 3adb030e4103116f6d44bde069d26c28f0672293 Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Mon, 19 Dec 2022 05:03:11 -0500 Subject: [PATCH 01/19] Journey 3 --- .../IndShockConsumerType.ipynb | 11 +- .../ConsIndShockModel/IndShockConsumerType.py | 4 +- examples/Journeys/HAFiscal_Fig1.PNG | Bin 0 -> 115789 bytes ...=> Journey_2_Engineering_Background.ipynb} | 0 .../Journeys/Journey_3_PolicyMakers.ipynb | 577 ++++++++++++++++++ examples/Journeys/Journeys_into_HARK.ipynb | 22 +- examples/Journeys/Lorenzcurve_DiscRate.PNG | Bin 0 -> 65222 bytes 7 files changed, 607 insertions(+), 7 deletions(-) create mode 100644 examples/Journeys/HAFiscal_Fig1.PNG rename examples/Journeys/{Journey 2 Engineering Background.ipynb => Journey_2_Engineering_Background.ipynb} (100%) create mode 100644 examples/Journeys/Journey_3_PolicyMakers.ipynb create mode 100644 examples/Journeys/Lorenzcurve_DiscRate.PNG diff --git a/examples/ConsIndShockModel/IndShockConsumerType.ipynb b/examples/ConsIndShockModel/IndShockConsumerType.ipynb index 62708e898..58a057623 100644 --- a/examples/ConsIndShockModel/IndShockConsumerType.ipynb +++ b/examples/ConsIndShockModel/IndShockConsumerType.ipynb @@ -823,7 +823,7 @@ "formats": "ipynb,py:percent" }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -837,7 +837,14 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.11" + "version": "3.8.8" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/examples/ConsIndShockModel/IndShockConsumerType.py b/examples/ConsIndShockModel/IndShockConsumerType.py index edf2368af..a3f7d41f4 100644 --- a/examples/ConsIndShockModel/IndShockConsumerType.py +++ b/examples/ConsIndShockModel/IndShockConsumerType.py @@ -8,9 +8,9 @@ # extension: .py # format_name: percent # format_version: '1.3' -# jupytext_version: 1.14.1 +# jupytext_version: 1.13.7 # kernelspec: -# display_name: Python 3 (ipykernel) +# display_name: Python 3 # language: python # name: python3 # --- diff --git a/examples/Journeys/HAFiscal_Fig1.PNG b/examples/Journeys/HAFiscal_Fig1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..6c1406b10558eaa7509608b4f5159646ef5bff67 GIT binary patch literal 115789 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%0A?=ZsTnfUX@S1+?mcuX`Nx? zPDXaf5&c+=*1rWBc^Cd%a*Unuqk>xxzlawi)4bbZe4m)Ac`4+qhS2cxesg!!5$0n0 zE@9|D(k?WI(NF}R+AU<-I6~!_-bAOuqAsP)VHi#HnRVB7Y3E3fCRJD#dXuwLm3}{E zGL*vcaJDwPKOG4PA02n|7;%Vp&EDodZ-|ICmA6#Kmr_$Uu7XV!W(txiZw>bgyKzjZ zf<#Tf;wDN&)?74-Wfi-naPPYBWOi4RMBHhbi;moG&R0{ zZc(r13z7nAS{*F4H5?ff}GqY(_r zI&xGccERisKy=xHKta$~YJvr9c}Qqt5NrX@8sA%GZd3`kdx-H2C{mT5xUk-1!X zMpCT6miyHQA`!W`Tc(5m z_GCoRF0Hy4*-~l~qXwUc&5`U##X7P7bj28r5T^$+m9;q(uxupAvgKoke%7BG6?0VC z`XO4>{-~gZctswTSM&tLvL!&e)UpRy^Y^N_saa_q&F{{)7yFKC$=2#|eiq5Rjj*Z& zDw(8~sN`>w-xx-bhN!kzf04YE3Tx@}gsT27~6|b;;7R5kgN29-O^_n+o#% z(_2PcP<;bs(i)nDD+(>Z9|izm6Ifhxw&oa<=i6=Y+-#+dtDa2O+Xn4BE}IYdyiFf+ za%C*lc6z!;gi+PE2IW+h$qVRi%=8G?hQ_ya%@0?afuoABH4e6h+1>Gc2WC>#A~$q9 z4vV5yNBw`D)B%w+%CO|R+8{zZ&pT6zqu<`1PkZBcSKwvQsQZZp))6v|w%M9DlFW&x zhHB2a>)Hd4{DK&HuE?YBwqIUPx_%LEzgRbIfvKa3v!iR3_g@nQub1vkwWdEHG`Bn! z1ozBnx!3fiXg;Mk1fc&L3tye*$}37p%AqezPWifM)ERCRD6;%mLm!-0*DBXk{I8xS z|1XYbv0O&MW23q!MU(WZ&{^(HCHgY{h*7MOo1#m#^DPiwL66B6% zC}8dUGq3*XT4-onpMr%8X;D4-?a$_9f?=7xUgZU7O9o*c>4U$}p#f{I_=HFK#$4?6 z|4J}8dzR{l1&i%I>ql+tl&YE`pldG{BD)E--*A`GEd^`=9Nn)eke`2-IANj~co=qs z4LKqyB&bwL9hKuEuOl%k3}23>pZf;JIc+KQs>I7z;KZ;rW|S1rRPdgC$Thn~W!ZEx z0$H1C+TUSkgY3vK%dVc=uRV^0{%1X_W5Z{qm=9uFqNQT=82&V8AWss7P4j_{jZT`Z zYrd7kW#~K!gU`(nj}`!VlqUf3?RC>I659)#qZw&l`MTlb(=|gOB0qbq?Rg={-^^Rw$kRFY9MO3qTR8I8 zN5AM=y#&(3U##2dk`pt0?Py^3=2l**9X;fss5Z;}U7?kQfDP4?mmtyG!Vh<2iz&cr z7#+A5?$Ihxs%P@@23`vUVh+3?yMJbL6thO%))e>8zJe6Z7&g62>2lUQtU8&>wV=bi zA9(d|i(6F-jqDc7SvmhX`>xRwh;j@cOqc#P{CN4ER~|ek(4NuXgASQG&;=4U&Nup0 z?rdsP928s*l3zR0RZ_}o!ek**G5GQ>fHBGzgd6}V*ZJ+{$-m_ut3f5HY|qTV9W zdlq>I)%m-O%IGFV-XEP$Orh&)?-CwHLCGdG^Yv}zi7O?lb$>Rl<{9KfeB{HxIZk91 zHz8xEqdj6+0&H^6m}|K}jeP(VP6t$!zE3M4q$Wep z=VQ0ZK94>Axl>v!zlzmRg{ydPj`o?2h|X&ysDX0rBuBIPW1VT?gx}u-qAO59g_G{-` z<9Yki9d9mwJJ)_+;4T*h7vDiB73FBdv0Rr#dwqufd7jw)E-=Fti}cZhhtl*Y_)i5y zw$7zS2pqCD7GwlXiw}Am@9xkM(2I+oI%jf|8$~`lcw$MQxHhYH?nr8L&Walsm^^|6 z7%ocBC37EK%-jidU%_iCte>HXnVEvdr5H3a5~n(!6l82%XIOqe#=>^W>Ltl*lLB;w`O)LbyH8c=SP{ZRDv?uhh_FySE}ss<)Y{6vQRCR z=m<5m;x6_bsRoA6&I@?Y5)z^37A6|Bvtev)=G&tX3=OoEc|l=+)Rr0|(TfuB>3&M7OBxi)$xbs7B zUl_#La1?f=%=O2$a!sWsmNs2%Ov{6Wtas3O_%);|gv zRd&&=ft%8HAHJW#a_yeIq~h07nW?D#r%?iOLLE}p{(wLDkiu;jW9?;Vx+4kQYg&bo zP!s*vHz6lUNo7)V;h|{ac7OHt@cbp0ktzeFvC>B0Z||v5vEM+&Xvvrc1B^(ybHB;z zeN|uV5R!~2`N$`DgC#;}2zy(m&u+0!lBJD`XgBg%>uPGUy$7Il(~Dl?B+|^DD^>m* zRf}~1jlMvv^30r!`1I0DdhnHbJpnU`Hs!9IVTsj9LcS_|(M2xj@k#@B~E zzP(R`EX?^2Csh~dnhK#mLWX&H7n?@8G|@;x3Sf}lU}2=%MzIk^=AJrU2|s8ku(w{Z zdN~@s7;Rh*Ez^_G|GV7U6W|I3sKIV&ydgi5t4Pldr##cJejN$z{rn)ovZ>W3#;;(U0$(sD{7TDu9>|s?9Rc|CLoE$8) z!jPjLLdRJb-ZnHwfnWAzXgHq}eh%R4)qK<9qKHrukwb3%MNiWt2Og^*5+$F(_!U!rHx43CwnC-=nmsa^)l!p<6Rv%#O_TlEP*;Hz9Dq} zvSm=xPyiH?L;yi-%S+~Gzi2m#%~-o{JgEE&KZ49lOaVvwQfZuVXF#6zx9Jj2)5qBaeE^FbmYaaatML$m3F%o8F z;J70cfL=dS*;w2GtZO3!HkNyQ_=Y8e?RJ?&C8HfbI^?0YfKZL1yl0KtABm@wt_xmN zXb{MR!dP&c6}d!{YNwuaf6*i4$h`4cl;DhwEs1wky@)1Dmrb=d&vVMZoEPS=X#dG`}u}uQ%@AHv2SNh-q4I-rqda1?_z?ENp z!eqOITpdR-dCX~poaWHL_f~&~~lJW$b375j{mjf=NmYkiJ@fwI7U(hENJ9LL1GP^fmA0m^T_dVS@ zNg{Aaj-g3VSIRB{0NRd5Rp<@*e6xV;VbY@7sc^H2QK=US?9{8sA?UF7*^HPaD!%%A zxe>xC7+66@SgL;l9Q#xk6rhtPlZUjF=M{XHaA`^JFFYcs(hzWVR}mzlUj&UnsGGLN z@LMqLAt>nC3WYjRM^uF#O7p=cBL;Ku6SqU%IgS)Vux)T_&v_MiFqGrVd@@C(UcqHp zF__r}a+r-_BrT7s4A~Dhru2B>GFoF+WL1k%{0ub}LR0|^>?+Cdq{s?V&^>BPmoFQs z^3ag5s9I9TRRrz8B*ZMaIc{UK^n9`VI?D-@ARSB+XW0M(xZ$17)gV9}AktSc@Yt0b z1(E-~EMP}tDYRD;bjb*_SHLrWe|5T>k`lu~VP4^41`YdrLlvQ_&^zn7woNU2_Yc|C z*P+k%m12=VhaR~gpVj3s+l6H3E4{7if3GNV@ia+!s_d4HJe*O$*luacL2n*Hl>$?3 zu782+*EhyUz{1Ival-&@Qg={ z3e3y%5z`cuF=nS89M)Xz;{_5FdS}cvk;E>R#g*-eMU^9hA#@>-|6OF8US`P8$>o(R zwDFPWIi>db&2Y zZ1Vjl!n$n#NIqN_s9ih-Lw zau|9n5B_VlkYWAf;8$_3Nx1K_gH_R45bMSexe_%+TdUJ4$dm|_T;ux@dB=Oo_*UP6 z-R%-2ZCAyie*rM+ew~r<>TuuphbgD*AmkueM{dpZ2;^NU%{K2V1Js3R5$#XT6w`6b zcKC*&$UJco@pr{dejXb(l4Z?DIpwv_54WhnV3#3eC})6Zht9ZJpjv-rC3C^5p~PM&=qfBpJf@4YS~#wIB3E1SzUelQTU&CdD- zD7WV$ecIANP4mDTDiaj7PD%4td^Y;9THuVg1ej%@)GK+i8Gw&5?)Gwakh;N>V2}6t z-;t@HVUq(s)95w%{QPsljSb82w6xvd$sX@?|JsqOi9dD-$tn0Oq?b-tLy9rSTza6& zhyxC_C5_%<#dB z8TfWRW!HJsJzC*BVwmL69ZUM(HtIndO$OHh0#^vK3q&>&50E6gFjil@VMa`fdaI@( zLwzqd(|2;%_M0sdHTN*cdcv^C0}%Jd`&waW-~@l*5_WBI>>7%W=>VznmK~Io!x=$4 z>$fdUYAxA6i?|L2)LR0lLT0=4z^;%8IN1W>)!OJ5Ha~Ir_T22H*s8 z6#&2SsjQa=fTXU?51WF0*>y=dehoHv*au8^dOgMY9}xc6)y4!D+h- zNV*1qr#;Uv>ym0zV4`>Om8~#>P(&4*v}Wh!JK~-Wh=`j?qlKIyBq`_~tDd_BemhJ6 z9EAsh=V;0ml|;6Jz!)^-4o_lbRGi10pZmIfnWg0tyo3=_*1eety7$;mNvQ1amZhEP zq$7ak>$tq<_xlhm`K|>A*}=M3CUG(3^pI!qFW2hH7UENX=P;%yjMiS+eH1Y*wlWs? z|5A9>6zo;F4O2Y2!H{1T@=_yOAC;IJEGV&DB;xZ@{t+E>;x!=dmRIf{0fZy=jHFeS zel&Q;)eQW9|KtqO6A66LuNPg&KwR_uk?-;D-)LbqvCnO0{QO{TetCyr zuEv#a6~Rt(6@J&S@adX=Mu;Z}lR?mzxSycrT`=nELSjJ7ZJ1#i*v5^1YrRj0OF#m# zG)!8ZM!?bG;|H<|9vH$!WTvSCW=J|n5Ay39?}DMfvd`gU;Nc&P$|*6_URvsD&w)Q9 z*h}Q%+Aw0A?ahgF8LrTqM>Mj)jX{T5XIS?sE;iYn;QJmvLeYA`oCSGOTW~X&kMv_V zS=KxyGcwcEbBPRt81;|=He`PZk-*?beRelJj$f;*c?PCAatv7g9w8H0 zJs&XQfnabK6r}lR{O1#^^xL3^29aG5)s841Y}P71Bn zSYLtZM=(hmHS~A)=naP=nb_cpge4pG1snIbe0L&yJqIuX^KslmGw{R4U z3k!c1KS3aF4dN1h7pmi12y-@qh+`exgLq?QU|xl@QVUff`*l1ZT&{Z_)R8kTSJsHe zLLh5yAs z_GiuQjWd^eqFqlrGa#7Vj|FVuSk-xOSf2Lyrunlc>#q5F+4)34aLMvkl9VIl0Z3Rb z2uYtHl3~^`A5jtIW`{uXBTPab7GA7bjYsUaa)%%#KnN#qJe{8}cQk`tLjg`B^~b?4 z>xE-DB(T{|=216*1dl|jT-~^#g->o5VdUeWggt5m3|#~b3|*L@Huhx$x~v1Zp8(UL zFq|O-FomY*Z5SAHIRA zhWW2*3zI9Ze=o0uM}g_(YT_oP7_jFayOb`uaRuV0J2n%a`7CK5GWhml9#S_zsK19s zl4i`I>!YtB^?iUkikm%wulFSp54$}}&^dd1&T)=;J&392q~#mJ0Lv#BA$n%r6frwB z351UTW{xi-e}Tb+yeK7f!Pol`bI=$+)0wGqjXvc{eQ+&;um+q#;ZXGYaqs*fW;^=q zb3Ln%_DNp@UVa|F4<1f94Mn7s40wSIFgK#Tp0l1bHv-jB1jz-UhMjYJTlx$&b;+3k z-fi(O25B-*gb!IofiNHcDf=8PI18fRY()uVc6FZ-P;KhI!L}BGj9_bKQD3lM-0aDR z1olb3ng9-q$5e+!0mtxj(?wlKF;+Rkcbtd;x0xTAWb zqBB^llM%yaxIfgLWSB@UFxGx*eGSCOP~8Vdbq+!qPar5lI~m3+50=bY-RfoPk9-){ zY4bHgx*+moj(wQnw=9&omF?KObGcAZdx0k~ba+Sjbplw*iNIDkebz!M4(mOEB^ug{ zVVoN2W2JzK(pH$XzXh>l%JgjFdCrzk^M0J4Lp_L;px!cU!DM_7kMfElnp*)3fXK}u zQO*D0k{9il*A37*2IThORJb4lJX(49_e!)BQXXJx-tA<9Q_4g3wYJ8)P#ZN9OVhE!D z^DJW`9Ij=)vV%2`{yogaR7o{B;zr~yH9q?654(z!tR`7TAA)X6;8uy*xCr6zYrCrE^Qme zjL(f3IqvrtXNMCv@t{lJTMmI$9$#$v2p)^0o9ZiAh!M*>Km+zI5Rv=7zsm|bzZ~Md zFk;pj5ZYJ9b;j)kr?kD%YB@}AKil-DeHJXd>AabJ5NRU2=e3hNBjMY0 zNqetNOV@e8BL|3?>b+!*K#i)nOx4vGKb@YBb5N{5Rk&U?Uc!2Bto^*)H~vm4Fis~_ zDm@#~P$dGoRpDVE0)no6?*XNEc;bdgx*Vr}S{-!XSbZ~z`Q$9ssWenB)tKkiA zPeEuNBOlSh=$IxleahlK5H_%qDt#$&RP*Jp0KRY@=8V=^?graS!sh{8fVqkSv7{`s zSGLiy98&6MZ_VJ?R8pmEB0P>B-BqOegx=nm7k97!BTHIt`r0c6@J43ldwEcLdjFT` zi%)mQyzg*xk15~OyzFJE4J{z#Qx)7AX-pAox}x6-(jY`6OGL3kwVL??;ui+wpA4{; zD`2ikmAR$53`hJL({}->(=e8PdZVgEAd`7=FDP-!^?h^AkII-36vE>NJ_@hn%$Mq{KX&QTDzo?>I0*nHVMvfv#t$Z zgsN&<{UFtIk436{gbuZSGa0<+4@EPP$0S) z7#&19yesTJvT?$=Z(2XyYG&50`5|M394U(3LdKB%6_c}7Jidh;K5+%T?g@>=$21L+ z7GBUsm@So4hO{tEnrpA1 z4k!}Xp%cq*;lDN`0PR%tXO$D?ug}}VFuDnceu~6XI(}t~LN2!he%1EK%xg_{;Fmx5 zi7dUActjV6Rtf2hS_I<&Kv}z4LSBBW`Mtx(NA^mB0I?sCHE5y6^2i&8JKb3v1TeI< z@OF_P8}T4J^zl)hL*=Q&5i!~7JYVkNptv&sTChy?m0wHpqkCd2cBp#tcXZS)%<(O% zcW*(#{Q#sgR;gRSMcksQ<8h!nEn_4Lvq}d7;1m@M! zLD@##nnAaxO68QUXFm|u{Q#n3>`CVX{?{d$W0)}7BANyBMf>m}O|K-7Q0}?(5GYl? zKt?Ki=TmZOpj+ipkrmgrxLS0SYV|f2Y>*b*apc0_MD5G@+NX#N(OrY z3Oe)XkC5G!%u$NKsz7vhDEPv`%dz qAeaLU+rDPbZLZ9WsKFa18pvs10)Atqfl^6U{E=tqv-}D^0y(^1o@8?{o?d zKE0>t&G2xwmjfbOj=b^y=&MOUK4D1Y(ii=;(shkw-Kk{su`j0uR`GimQ z^Ejv^P?G0`VQN-Af|0*S*%9&fm=v0~Lq9xw>U1p6hY9KRli^8wZnX$~KE$oA1`=20stnI}1~pUw$2mPt9r?V+>$8p8`p0iIe=F0JErGjstzY6f{BsyV7>olgCP z)1)=C0FY`jGO@9m9-3n>p5Y)cW)p_C52BMEte}+(OV5_?0i7A}q2f={~9^qidd$@;L;M?JRgAi%J$Sihmuqt0SipIi4<2wTE!GN6w zSu_hj3WvbLt~Zx8T>tFe*INkl7wR8X2@9ITfp4S<-QHk^5^y@u?lCy6SeE4te4N=n zX?mCKFRJnqPOeU{U&@xc=mOohmV9vgkg48oB~kBnKKrj9v}m5BfolnMATk%Lic|ab zKOZ#nA?)ejTcxlvREcXP7K(ht#TTOf7R(Q~B==v;GVMSXj~U!y=1!0jgel00t3L;? zPJ?3fX0*45d$z~}Hl%`p?rT5WUO4FUafV*VK7Gw6QJAj;S{winQKe-612ib(LW zDZSB?ig~#~uY~pyMJwuQg93g*l%YdP=Drc9nALTn<@X2}&Vz1yt zrOECmK+{#^{9DDyv@*BboG&pAKTbI%pZfEYxqg91vIK0MI}nRAxCPpi!IBN6yj&Qs zIjdS3%q~^DK_KOplt0;yP!gzZe{#_h;tKjcsdQ{URKJo$$oT$hm0TW@((~ zGGPqm`!^bC-j+@3e=LbbWb`Arl0DDG)J)pKc|g9Qb=V5pkXY?vlN?XPPb2y-ic^C# zLDW9wKY!o8ci$)Fdz&KaoJk8WNCB=r0uH7CLWvT#))WI$4c_@F5EjBA)v5_YDb*&g z9)&AUl9xb`aWu#>>sJw*gAc+xU{uxNPh|nNRswR!YUh=dvA`k8V*4*|eAd1+VNLh{ zDUts;-l|-A@sZl4%OZLj4n-A6&_bRqdZb*@+j)HB)D@=^3NkP zUIqs39G%ja-HF22!Mv2lT-B^^$OV8a(f9YEGkms<9B;dfqfOh;NqsB?J(vb%5S2!E zn-5;9wEvNlVN>&k%v>0|d47HDNj-!&9DM-Xnup7rVve)wjuB>n0QKYryu;6jC@iNN ziTQ>U^C^Td>si=1bX-751K}2nnk!UD#uV=#k-kG z<$592^FeQ0s{HaC@ad@QW_T(wdh4u71auZ9LSgxqJ}@1sv#~CVm0c z1ej2G442kTe+y8Jsyn{nHK^16Oi>1BvaBpN0X4lXd%evh;6)z5^ob%V6$svpZ9W>~ z@TjZn%1$+l7jICFMp>H z6tRpq0PueGT<;M@uM2|xy8-t?SfbT=l?*?Iiw`GeB>;%|^X)2;qaT;4Lo&Vz z*Y_KvSB?}lLvV((!ThT3Sj}tLpr?N*!v&Cxv$gqsKRdk1pPsAx{ihlMT|H8mkrj%2 zY%3!jAr3wTGON&Q=pKYoZo*h#iv8->chN`uRv)}D@^r#hY@n|?>SpZrOso6l z2f8Yj;R;v6q!yhgcM{+l)-0u1l-WV&j_|j|-S38xCX`_W@|;O}^>@$*ggcT?5*7qJ zOc(HlVd7gUcku>6B4xbfO6JxM?aOsgHXMC`D{IUDWO{DA#Jo?r@KF9QE<7~{gU!zj z>{(yz*$nJ6Ufb!=QA=*~7Q(4qD&mC8p0iJUBWdeMEO8Xa;{xjBC`d4?(onX)H}qkm zA1r~I38kPfO|KMe;C_)h?*M)F#mXV9pl))3#}oAoGGxy?JF z>W804X(1^Jou~d-u}XecaKU4chrH-CL4dS2%tqF=jtVbU6?WxVD=@yQqh_B^5bv{P zyn%d|ugq0e<5k7CaeQ=LT15KS8O3|xTAMEwqwy*6R!=Mp)=F^fX<)I{U0ntdk09vb zzWBaNMuiWD_W>_nr^Skma$X9%^9mhq2I=266&e!0@yoTE@Gy@FVa$f;Fho0qA?DG$ zJwnxU;OsV?vMgrpW za;X{Yu0Xn>9IAmp9tty(T|)38zRlg<5bUfnT&v`UfsMtOdrbI$x{mcXpy)G$f!8XF zo6z%3;8O6r)+IR4iOzUibyGfVX7{#3V(&F?xc4gnOv7S$*~5-C^&Ak)kttFuZ0SuK) zZjKmv&|XSt%(vYCNki;YTa3{B8%ZKPz{bPKMAQ~8xiX-Cib3c<0=6n$9D931827C0IA;pVNdO zi0*h7+UmmrFBZb^h~m|-TTZjzO39ZnO0!I?F%8{^L|4td=Ep`qenzt1Uz<@ZkJ8je z+K9O*|@cw_f|1eh;AjUO3_IqQZ83j^clXIk?oFo+>+&iU9O+ z?6+aHP^)ws1klvZ;c)t5cBN0rsQTq>3@+5zB$(H~z?sAOMF|A;0NyKj?arU0G^)-7 z$_@1;)n5BGW33}7GsW=or&{NtC-kE4N6CfHI{?CF_U6&C)|5VYs>Kg=UK-xucYfq0 zFy9AZMr1qS83Of6Paj?oy=Wl>k#@k*GI#)mOA!uGja#nJjKB<2bugY^>4PfqiIM@2 zfjI>Nsq?u1Qv!d&3ztpGUFZ9Tn;ZNx zQE!7!|YYkw*Q-TXJT1{j=j!$>$w<+F6k&!d`#0$K(ntRK5@kEs(e`(*mO;solPsc2HgQX zcRYkNQ3=p+IfR-j&vwG-h9VJ|si@vK!mp`+I8N2BG(;oeGGZXanK$P@D3}0qrUxl` zV47*W;>kIXS?Q$`TwtjFbqquxaI&%-9$_u7xZGYP=;2twF>;|IAB}@5UpUpEoB76V zSMU&^0hs6^?2N<|I3j6oX$Rnqhh%!{qL=WgF4IVQ)gdmS+n5eAZi#udtNvLpNB5a# zA)(>vesff%kY=PXjEFnO&=hL0i6VCpl#X)jl0@y}zyp)x{pTYaN#8ww!|CzETi*-e z{yM{ih^^ht1Y}l;)exs?L_0$C;T=dX+&Bq&znacT;ye6~#KM#Q1YK#&@+05hiqMKB zLOE{thI5OzyCcLQ7Y<|qMD9~&8}pWfn(`W$J_a9<>czlRly5Zh<9my^Rz9dC8$x|_ z*<1j89E1{DP-4C?TAb-|u=9OwuAg-?{avy-#RsI%@%p_Dj38CN(63v9@JiFmXgd!nE91J9*VHPALUUIzTtZPBZwAKAMRBY ze_;7rgN;GE#fcZnflJKr6v}5O2>oQblecC%P7R&11^FeF?c~UD9Y*S)RALvDXj)frGmz301ILaM(2z6WYIypw^ln}s zz7rOT440*F@!D3jpMKl_>7xDUjAU2-$QwA40R5vnL0AtSjtn3x^e{_{S6(IPyYObzq??mhD9P8Qe?d8ECoelQ=k z%5en8QfQ}KA+sFloUmk4;r){hu>&~V)Ya^Oe^>#1gVvsWv)r*M@IBOt9g>Y}?&3Xo zdwNy^j7ojhVG!%+5+z_N|FPWq*(wJM%Ovzq_few@y34d#BTpdm)O&>;3pGK40v}Ji zP@nqzLE)Vher0*J%=_T7Jeu8-UbCE=Rc`rtQ|JV^1kQmfR3uy%hLppfKvVteEb`5; zuL!g%N{&tgTp>79S~!0O01PguD2#rVkX#iB;HVNxQSOO{WJ~NKUOQ;rq1JUBU?slo zFh1k+IK@g6^wFrUVsUBaKZU4PMd)L*j9UT*8oj-T9``80C&b6I%j#vLq zDp_vwvowpAO;xEA#0(}^5`)@z;a*Mx#9#&?O#=W4f>JgDM7;)37g$&o!pml)0a`+T zbLS9H+Qqn5jo|<$HNfPSgyLZn1kI!1Y3~9RgvK|DbX^D;3scYrJmc^+%Dd7{5?8*? zEY*K*kviqomNHN4g?hcH%C+A-^deSkO9`uNEGz^F52~66X%w?!@}=^`NhhG3?nB1a zQ07GLQ5PDQ8ZZ{WBic{%Bd1b}*Ff;0?%%YtKaNSk>NR@6fu;4nM`j=b)pF58}W_mI81_Xowo{zgh%T zZD_=pGOvE?=uRtCFKk_14)YKJXRGNeoWBzV$fS;cf+Mf?q4hxhE3c+b3qLE4V4JAw zARy+f?sr_Wwjfpc2Ps_fMqcOMwfMO^3E=r(U!c#_m{Vlh+pUL+A2buMxSBA$X8MD% zc)`Jt&?lkNq^lHYM0D04bK-Y)M#p^i|**T z4>)_+|A|dt**0?Wm99H4KpzOQLElcSdED~ct&ojf&1m(V%}{NYKqH>eBSdH)cWFKU zNSq|Rg3qPgVx7WsTSVCQQ7kGlYu+MB*J{Hd*s7oXb|rl1LpVO5kv2WaTIwO!ouJzUco4En2`UT(eG(VB@ z?4}O2*2kbngxkNey^vQlm^;lOB_-8lcsUN*z^*qwSaPMKQN8G%{XXONBEj*psC7XO znGgv4kIp_BpkHI`8+POoI*d>N$Zu~)d6b!eEzwmIII114<*|PZou{szA)eADPb#x4 z>WC{y9B(j%XJihF{CYUj3klxors;rF5G*~&^qJ!p!is>V1EQ&qGnQ_*S$*o01sp5h zeGmc#5bEmqq3X46cm9BaCkS@b9pK;1fR!)t+IOSOUj{E1Fe(UhuW?W@+r5Fw^++>Z z`g$4L+R|3FHj+Iw&LYlWEHMb-zAMrW6>w&mc8MO{A$!nkmhE>-jGy{8COrMf|Id?2 z(1OkdwO2Rq{}>l5--k{Ey&X3o2h3ImJ~j6yR8M(6EE%bOALC^=%tTJ1;YPRE@K1Y_ zB#ON3j$Gm4#!OjR;Awf*(iFx31~KFSWvcMeTMk#2{$(OSgZ26~oFQl9yZb~~C#)z`7_X4(R7gihNDi^h z@vy4PC|ar2k9sAg1;4v=nKTkEAb736BmixhqhDKra7y4m*unl93Dx;Jgmh|jiCl$c=%Xa^#{358)t3#{3Ay&fb%2NyNK2 z0{&#V#vB$bNo>8Q(Wz|~_g7L@jaV|2p;0RY2wSnvWpxJHU@HO0_WB9XrtpaMyAaB6 zFmqU?LN^ERrTxkKW1oo6PLv-kq#&9AUh}CckDU?(0YY_s#hF)yb;YtN{ ze9ON9U|O->G$7? z474_K+kRU@m!jOJe5gk!r6GQ^Xk?o@zfy6M;8owdmsLBj|iXYA>&Iuzt zLCRz7GZml<(Oy6RBMZUs*Ng7&y^5baYhl)w=`Ft@GC!^ned=5o?kSZwsF6UU5mE`j zEI;@VMtC;p`jE?i(;mvt;Pcl<8OUt6**>3leYtO^P>ub9w@*aeH67 zj5#QJ28vA;;0A_`m;Uqv(K`nxpa27hxceCi!vM}OG?&ka%nz%nHPOfQuxGr1r@Yo- z9~z+A2@BT=E0p;Q;?8RYO5twDX4M>V7bHQd5=Ad+=XbgM-G^7Vz5(yI>-6O%r$vy3 z-OU)p+O$jBj%HU949wg5#EV!C-2{L?3`^nQ`D4<>dl^Uw0<^1LHDw6^E}7X6 ze$=%;ol2zeQfLfny@xkkGWtS>8Y5yipx!G2V+G7xSO*e-G{U%?c&+qK&rJQViD)?L z=oAcv9A|G>f-g_E>?F}sI2H0N1;$aI(tdcwoqcVesh)>a%O2}(DFlWzTp0h$dLdGu zV#tB4-bK;uhX<>6sI8yXwrDbDL8RYoUw*RYHF1O;{#6ykuv*`Qr)l+;Vrl*^|a=?HPWO{dpb{`(Hwy zzg=w<$(~c}axB2Nb&!C!aMeaNFU529I3dnvta(}R+&9#A%qhk}rfj7W;z6JGy*9cw z2eeq0TT%j|oxz+K1&AS?do%d!uYi5PGAR93Is!>%yu%qNPbygyt^b<)<{s_Z|i89gI1k8f)kh<1Su$kkYiZle$d=P)y#fQj434&Olb!|G zH)ElVrgvXL4qO;vL@T5Nui8O+I|>&zy>%@9)QD2`sK#V@p38LBRYh*5r48o) z`P3!1D`gMHGZb5>cKt;X$a2$1bd{2HPvWKDzPN69Dl+28tPU%ULIq&neLrfd1zO%6 zaQ223^cnvsgQ>I&q_0oJnT>fx@>A^M;M_x6%r(}^jq6va&dQuVBRb#-IVb3x1JP!f z$2-G7;T+xDrMI-Lh;fDvF>!4#1A-+yJJZu-4}g4fHa5p3^-$e8X}^idH!-NR(?_KN z^r7&Q3xXKZv`cv7ru%aF$RPjVxw*Kd69~Rtr&C_}e?PRVElIxK}f+}pAZ z2FNRso=0ddA?}Ln{ds@@@P9y+fhX77$Y5qb132E!IuS9q!HZu^|CF<%{Y#-6i*ZZi zSsf#u8=(&D&@)A1N*W3}A|4BiQ9iu99F&d!+ROB#UtQD+=s8htv5JM4RdmJ2D= z2JqX!aAHMVhJbC)?FLwY6a&y|-ZCI!ISxJJ4GvSj`0p-(p^T0h23>fxBr9x37FTIE zcHM74;$znQvg-7sh(BZS>|OZL_+;7wtViT(yfO`+_86ye6mLY0v156a72zw%BGlKJ znGjB}j|AV~Dj*9lv3>iwH0s;XAZNk&g%psA5QR&4`qJP<&RicK*8vcXWLMkUApMBIk;nc|5wVrHz@Vx7L-S5xZ6|VtO1m-J$_QC zLqi&jobs=!MjBkCz85Ag7=*WxMFK1qstd1l6ci5HKMs|4$tT-8uHyTWT^{ahrvLLX zSf8lYc!LN*&(!WjW@X|+b=){RM)!WWFbkYXR8Am&V27VB2D%yWjv~Y^az*B}_#Bb@ z=PMds`JA>4N9LwKngC&Z?8YZUFRs!8Nq5Q5y2EDR}k?`W0t`(k)5=3_Rwcm_xCDRjYwb#lRl?rJ_p(h zH)7z9LAG<4+$zQ$&a)UIND``MuIA(eZnO^RJCEbBV@P%>JM-y%@+rmVT?Qn4+Bc&^ zpFP2n_|uu|vK`qq`3wz!TUc#oYkUtZD+lO+V~{zm;JyD)Evg5{d+Oam@oKI5GUT3f zH{o#9*o&uL#=jmg2Ere`*5I+j2LC%b1qFrP>wSRPx|W||=7Wwy2X!CePwkaq2O34* z=LQ!)pR^G)tD0SJ5r-=egMls^qJR+C0OlwrRH9JsU>{f6*(I_X=*+IeUML>eO9c|c znE)qxA=h8x`^^V0$?|ElOn5LzVLJ(Mclwb zAmWtA^9bRJkl4NU!<0&aT6y(d$tI+B1M)fJvqvJUnLqHt$$kHL>IAd)b*tzS4dH}~ zI>`Kldl^ybHIHiW2fCxUbp(Ombvp^qhCKkws+sacFltoR1b^2?uM?7jGX9Z*dT6b9 zx#@q>{-oY_&4W(?JDbWM}A`y$5RdRE2UjQTP;8}%zgX4r+m0{dicc$t=8lV zrEJBDyV8le6MG$}rkhS+Tg~~*a$dV|9iV3#Jkok>xEg@@^JI)8VZo`V4{ByF8T^G(Zl4iFXbwg^#h zYhIO2L9H5EvH+r{4p8BN*aF4PwEr3(y!BCMQp8UC)oY-l4nABa`uE59t3{R}T)6^P zFeC`lU~l<)GpzzfE?ThdaAqq%SQiWJWEE%vS23}of8 zQ!W1f-TChi0~02)UZ|Tk`xRY};UKen_e@42n1%6Dz=5D<5uq8sv@kSA$)CZz=*k}L zHOUPvI0@NHV`ehKOqPsi;ODOei3$f2@;;#xR`Ogv(i!cCX9uivW*zG*%J1}8Q8XK}qqT$8!4JrZcj?Z{Q3D0CH20L#mNt3gxhvq!HA!50g!0!0nx&-D3 zYChUqOe_&Fs}({6pX(-%^rbQ6+D7k+Ax1?Pjy0>l%95QE-JyV;zIaKF@q+wlpnU28(bLcaa+l=fF4h}f zrqHJW6+*HvCUGcTL{Gm?(x_z^&1EdA=t=kAj*7#?W>+ox`Pq$58R_~p(p!AQd5=## zgRmB5&1lAYA)R_nh>_rri1d7?%rS)Xm6};X2Q}rq~9=>%m-pN9~GbRKrt)92d1B^|uf4hPyLX_+i@m8(n-zlXQ4o?@Xt92}I*pF0TuhsR|?xXssYHOD53r3i!h5>h=1!>8HaP4`tlma7$#kYaHr|13gMY|oS7$W$wdP(x@G-IudGpO-i%-1duNLRpE+71)c6PTR9%)LiqvG#!_S-T2lo1gp~3Nnc(<8V(`kAY0DAxP8X8I6s;J)+rriu>cS^Eauw&IE zB2p@())N0n{t2ssSAUr+gz?IYj_P$5=au{YSZko&Q^|v?Rbt$7;tz zohD@vq1b1CSzHp^zvQMJEm>)S5NCzGoKoHYBz7@hqWfUx|X0ZJK z-FFL@h+@=klI&xpVYDlO(2ntI_8wj9sG_p|Xd+nn$#olVT=gTHf`GgEVvP~c1I}y8WpPp5%i1}gf2IuP z-sNU`I-JA!U7LKA4J-o-LjCF_WtJC&Ki23+-`0EE31*(Zx?y1!LF05RLYy~cidCi6 zCb8`Ljl*otiuJ0qxxeT%U7Kag;do?vg_+2+PYoriA5D=EZaCk69n}>S;{cG19|v+h zq4Xqp&R)m{lgAMh!hx*9B%O>;fHT9l9g8g|L(3&qwA|NaS+6&|XePRO-;nQC%1Hn7 z>q<#UNF~@r z2^L{GNBUm8GPny`Dz&`kXpk8F=lqy6*K1%YG0tQ+ZL=Q8N@CZrw$45NUC<~r?^(CV zc{L3%xqNaj=DBTbXqCMFS_PeckjxEqXq?OPu-SHz{nnRm^_R@uK=arwKGEJZ1QFY@$m2Aj@_T z=1q+M10?XCSOshzrN?l-Pg&r313rLk)9n!eP01o-(*kK{BlXKHW{wxP~V95NqSPaARmt7IND$y{o7m!{67*m9N|>oS{j;ZSHXlc?rCkE zse-nNH(I}T3t4EMqy}aD*{gR1;sn*5TzBk_H!mW635AAKZ4sxdG*C7DNovbW#>FXet`|S6NR)L7des-k7{o0pr( z8*>vblWLhSJ4SNYZ1ft2ihIE9)5D(a`F5@Uc>*{}(!PeIlMql_3x2`HB$f@luyDor z3NFNUy13mde6$eTTZSXN^SYSbv*80&F?YH31>tG>C`inpT4h{3(+m^dbpW_$RA@|n zL14ykXO0R4=wy+#c9T@q4k|^?4AkXr-&!$=-G&wEk?%!fzx&8rtooaMX!169>8zd>mu|YC`(C)GqDy^YCj0z5JP}PhPuP_g zh97n^aXmbtSwi zc|uMLNcKul6xUIvT8QqPj@M?cXNo|#0NjOmjx%}J4~oYdqP~sqY*D^ZA-&=B!-@|! zNvVQPJos75%aFvirlHMG(Y{x?!!S`ZC5rO(c8{jwzU5l4K@$1X>)q~KLnB)THl|)5 z%%I8C%paWj!i*up{T33x@qe7~)(#5p-*OwzUf+sfOYK08+kt$yXb9@ zZ*!R%+CcpUGdD%+==hHUT1nzATq+$6PsC@h>_`=P+)7UGsM$Ky8i#-k&?cb9tiCC~GM)zn?<#MlB9#NVc~xK&f3x&TH>0={>j;54I*W3rjQQ-LO0h2721w8$6#b3DMyXo!aptBGIr zyVxgbE;m!i;d19F9J&{b2TFhfl8& zN^zxs^0ju)sY3%u!9%+NgDJVn1miPOR^@KFNa%>n1^gL}5_AAPOQ6{d4krF^Xk@wMhIEa#~5 z@wc`&*^`#Z;{1eF6K*&*liW#vmSgPMLZU67{ro#G@itcraBH;Y$(SJnAuw{K^nX-tos z3K8lFvppx6HR~{mu7kJ1Kp}cK)oP%$h@DlzTF|}FGYI(dtrQ^tcpJ=JCG{Kph&wvfy3sn0LJ5V2q00OWWO-6vpW6&jU)WRAOJFw( zy*ZVho&SYcgZ2h|QT)PJG(Un%pbHBm zS^O519b2vcS-S>_OTl&hZId1cw%T+_$dp_&GyXp=9mFZd2wC=>>T!}|Fb6$hYv$+2 zuIl_Zuv_F_t5U~(Z2RoRT^f;MF-hDv6HS~r*azYz-x+SV$5_mXdGf)IP5N$rjh^f%AL!-fx~x^xUwVd96Xwwhjx(;Mr~CI2g^_Yqvhtfb9Q@uvTOoBCJgRl21X*C> zPYHDE@&Y*1S9sNT?KfTV3BYAZAi{{jS$kx zf;7PUD-+_=w6ep0MQea|v$7aIm}#P2r|@d}v3P}$ zL@A;`Io%h39UQt@Zf~n$k?u?_n8Q)--gaqt6sUD6gXAf(jXqUam)uip_e~<#K0Uxq z6Blvv=k>b1I*Nj{)TH7P*7rr>?-+6|sMhtCw7b*8?%Z?EeWZ1M_fYNib1J>u;o%wU z{Y#GrYE$>wyBCDFO57t}iY}!V<<4K!Q`fI_*cZf?Shy3+Srr~QBtw)1oJVVBFu0ii z!<@-B;EUfT{d!Te!4xuxE+F67}wcgJu!-%ibarHp08BC0x@ z{p9@xqE`>xr1(U-MW=I(zv=Ox!`#^;RU_2eAEhzbU8lj!^7NUt$YUPV3p$ z@4WJnUW<=F#vW1tcp!}U(27s3~ogbciVxBfDK`8mQi^4#vH?t3NkAJG}3b zXM5@)oV3Ev%*U}YyN5qbnw}dt(KTw5QWzh1`%Z3rYP|7=RIkZ6P1EnBI~_)9;yvBI zQ%|)u1aB!~RKL};O5Jn5uDo%U`FfeL8*R4t{^LRWwaQBhw~}`1j3})gjsJXY(X zo9W$9IX2G7IxuPU5$wpQ|L>qnwo`&sCLn}8(oa_1Gev0O(x=MasC7xPmWZHyJeeE6 z&h(j0rzUdm%S6w+VJ%j!CVKp;XSbEC>`jhteDYG0RYROhPx$w90yk}@=U_;raC=OW zS7PjSQAjtbyyBM~jY#K2yi9~>_wr*8);b7sp9Pbb?X$2mF%UZm8S|b`6dFO|HGFrN z86+Qfmx_N~4F#GL63lv`HJ>;G20!&)oDDYcWtJk)*f#Ji3syNMNm!?hZLO<}79rfx zE4Z!(HNOU4SaSX9#3d4TedV@|<7n!y88!1;OY+(CXK5q6wY>L!)Jh!6nk$+?7&j~x zYFm$Di9oQLKgVXGOM ziph9XypUfuB}L|GIAh`5PS9fDw6zA1!quTaf@G=wCLR8H%>#!{3iMwJdF3dnLmMz> zG)nB2cx77w`$Id(uu^~05sBTn6K0Hwe+=t{v9tQ=qiN!1awF%p`EQ(zkXa$vxZe_D zA5XxWV=z(jtHPzxr~cgMp#CjVqe(AJPZHEUTCmF-2FXV_HmyR;O3yBTr3#QqgL<$B z?J3GZhoE>oGqN{gH-*9tvI+w{fy>nb1qGuXq_t8S`_Qp#X|3$H^KN&Gk%&I1tXkjM zijC?9(b&iDnGd+}YA<P#t++D;{HmAHlJ&(}kgcM9qY&z04^}UTk;z`qo}zJ^zxaM6 z;A#O37qA65{x_retscY#$Z4l(R^+~vKHU{F=+-f(6AY-3B|(P8R2<8<7GCp>k?9ZN zFm`OzQE*ji9eR+6b~4qM^lnO2Sg>Jhb2w8-9R`x@93s~xr5bvSM~sm)Bj2sWn~|UedZ@zIKbL_okK4wyU8o{ zcpv6HZoT}DwDd&vLMJKTuQpH9Ms8kLexd;4qFuouBiR*Jb#7L4Ph>cT>)oA&Bhrz< zg`7*18wmQa;&U&cTq}WIR-Fb{`#BRNr=kG^a;12cNUOUkb&?-5m*(r1ce=18kmkk$ z>-AZWU+Ze?2#VYe!_Ru1vtJM3qCT1 zG24JCtRit`3DEd8h|$khY*lIeM~Hu{(w+}A4eFmD=19{AtCbcKUM^&4}Zun9%p;YPQh{t8C{RNg^1DotabRW8cBOio&jy zQG^w&RVoHe-2HNLu7F>c4m^W{j{gy3{=q$hAgMHQ#RXOdjMurUL1x(tb}DDTfD-}4 zmkLJ%hg`@)^s5}Cz@toW;^PZG5D4Eu;yD8M@G2+*WW$?a*MhG&vnjoCP1Qw4@_+aHuY- z=WDBgNt0~qEaX6;7~*Gb+I3neZ44SxXV)k1+;LJfu}_k_EU&*McSD&QNBy?|)k-XQ z8LmP0pgyDf&{32|%Xbh#wo-;3{|x%pp&ig2=JHNnNTKkE5S?(50lIm5?c()zfZZvP zH2?^K&TsePs6lU}qkhln$+vfCSL}5Vxa%>R-qR;PceA_qMN$@=>QTJLA`!Zi%}3p%4y8w*B1=8kIo@Its$WCv$7>FRx@9oG1)0b}2%MZS`A6zcjk23VEe7 zaA@&Hl)4l>fatT&3=U54$;{zsL$1ANZ3gAgKPu=a@yGb$b?R5&I83sn9-qh+4al43=8FS&Ue4DAnyyfDNTKB{bAoT_B=rhsV;p{U)~v~C z8iFL^0CcUra=`fw;@p}>&Sm_BXEj1STUiRSs4Q(%%n~56({1_uefh>yH&S+M%4#I%jrl*Ipgl6`}U|9C0% zXAqeZRxJ194e9ogyOV52b8yEyLY7v)l@iwdUJ$K8yK%mi${$yT8nhXaV7-f z=dYN_;bd1T$QTA8#b!$CW#_{2M(@dsN|DCk;9S^jYm{yH0+$WVi%tb^8>=2hou)by z51EYUfkaV=C|uwhC^=eHY7h5UysgOMVbw?WrHQd}Yn`?apBp@H%R`KzCiz=m9`^1} zWhU?N%O4Reyn|#?;_Z<|D1K-O&nBbvXNXsqxm@v1yo4hxswo>hC%vUeS^;ol(JmL@b$Pn|0sCHGO5_MQL>lVB9xa_ zvRWu6ozU11X3%I4+CuO1JSn^m+zZv;z!e$;)Kwm3nZsHx%v|ut+b$|i_!7+Hp7CG; z5-W~Izy$moY}re~R)g1syB(O@+#BH>xDWeYrpab_vK@Xw-u6C`a%3m?m7pCCp-jK# z`-Ns@(|N*GVV@`{{|9`3Bwycwl=C5_nQdw(ic*0yb7*b-0$Fxjx{pDjo|uz?lO7S} zcfBRiMHkS~ngD-6B&H9DX1@qr>!v+a04*aHXezJ@nX5Y*c_hK&s< zIG`##_;oQDwH9=rIO>9z@Y`qS$yksTWl#I0fv9i6NimK)!HtJuiv3t~J1|3eyT;&b z99*2=rcDL`@TFH%o1B^qEp#-?-6Y9sGz#IsKdpI>n1v>U#evBAB=} z+FFiXbhc37^@Dj;jaQ$MshC)3PQc$W?xWfUd^pt%*^@iH-Upc#{W26%Q9HX|E+hi& zO38>50wT0*0}DL5WUO*{{S-l;@)%3-c`5K#>>#jFbU00JOn>}d9j-uUI>bsXT#N*# zMW#c6VWR^J1t+CKql3i})Jr*2AcUZ@I+{*@ky?C;f}#9ui5C?%1> zYsNFXE|WQIBpKxD$A#jMxDVzsp{>z$QQQF4{!oWZl$P4$GY#URLCgnGdFR=_QO<>* zh3>WwZrB=He+CXwWQyX$wnDua-OW4AgA90AkKc1Uj(x|a$SCAQoqRl}5x^&$*v$g# ztuzv^!j)git>jt*s~0d`pM>m8osI)wVTb(&QtE(^YD!Yiv$hGaWfzvpl&3!J{K zai{J60sock(8%gU7wGVVE?suZpZfdB(*>s(vQfIv=l&P%;E%R4zFAb`w0J`6VLRl< z;RN`lN&BTMg@0#UBd)82q}=rP%QOaEpbtLQ?EE|xl5!wD0jC!{yuCkl7D1e^|-Gyaix)xVE!M6bIyaFHj#l+{BB z>)M9z1HY?8GLl#Yl?^Dcl4X_A(J%7KcDIS_$&j5LVdlAadok^32Vj-M*ZahS%1tiQ zVWLlX*1!#_g1hd6M2DZHgaQShIvWcb5W2pxj_73n!JTmq-<4#RrpW=Xv;^fc9XnnQ zhNA4?zSG7xPYX$$XB#{lLd8R8l6`u?<-N}sa@;@7z3SI`F(5RZny?Cg5PXZw-UmCc ziqGB$)W|8Cwj~UUsBk2km6@qUb`Q^1#ZcPCXCeY`khE+{{2K=>ElNyO=RnHAbaA56KDGE63y=iaPfWuJ z*NDftrC4j>IB3F&wwZQP=#w|oxOmG{)#XOe54O4AN&DQ`k>!u_`+* z_4rf=^4o}zhCw_Fk*D*OGc3w2jWnHj7TuSLcZ9yz34UKC5Q5A*A^}+%@ed9}O+EbB zvQ;|M7iUhbw1MI;r$UygIfE$v0#OqkQ_Neo-`WCHeU2nWIjr5c!$!zN$&SN5d)tXR zSJY{lb`clRx)m5tov1t1Bieb(f1AY~YVlOF>f3leqCC1|H)rFuGT`G{CDla$V%L0H zllw5-I8eLuIScMA#xY>xm<7XSUUDfig4kOdYfbw1O4EG8#FSps5JkqOeff(_rGFCq5n{p{4>dE})%bOfLsKn( z^?BZ}&`zszxh6R0oDO`e{I=yOUEPR)J*(TbwBvrpY;!)%awl1+13jXO-dH(gr+yjt z`G>|B*UdSeDDP@u>$zs34JN@Na}F9+`(}m*c;U)zG8cXMPv`kWEi$J<2cgN#>&qfE zMi!2}mRk}ZK@z=?`DzYa{)2bPjy)AC!Ew^D@!ngmL=v+cu+HL39xtejJ=t=qcz`#+ z%>?`Hh@p2u02%VBo^FJEuZ6S06;uJDCK8wQqOmN)CC0JexZ-EZf(|gFp|#HOQ4%(s z?Hb|(KX<=)`WN+#kSKdM^=OYfNYPV$7YY|)wuj-%PO3)I>$i(A85ge~xQ+P3pNblX z6YE`jPEZpV{R@PIW8W6vGx|>WS6f4ZYi5A7QM}lJoT-0{IO~~-6+Gc!k0xXjHJh6| z+hTyn%uM6h5SN}7Y1cd+TovhOa0YJ}>?L*#%!GU`i~ftztlh-{OhlU|LJI;39!#~c zJqO>%VOc&qte+?R^(d*Gs!0QEn1=4$+Gamr-J4f zRnk3)yUgm28_)#gq*%;-{!Zh9Wl#h~R0jkrFYKzmv>uPFJepTwK`DH#LCWZ#U%@{~ z{x5!`Yd{DCr`rqsqun$x55rgLI+)aTicS2NCL1S5We&_BhIcLX@VA2JJ{Z?_plvk= zTcA}^P&+G1DIjMZ=|D|Mb~2#xLS($U#q1nJ?!>{uncSlO3(M=hlFy)< z&9h};IqI^HO+oh`i=5lHdr_-;us3-a(sM_x<>bMy#={OkX*HSzmarHaA-W1loxqpL zOwFsOyoZ4T8Vv=g1C+@#kf9!T6mA21Xxr%_JBAO{oMTugXx!VWDPegp#LjOwJG_S= z2<(y1h&DuXe#RpQNSi_4wxzN1u2IvGJT1Ni*jz*>f^sTQ3_Qxuk41S=5Tr0TO$_ zbl-Q)w1#Z}R(Qrx*oUS;v6yR@lHhR4wmV(`8TM%0d{2e088k|HhXkSnKdT^y z4rU*h$*fB-2P_=cL74e(fIM^W zQhQZ^v6Uvmh1luLZ#|$4)g)V>m((bd_<*X$FIZ3=<#zgKJ%jgq00?A|t=AwGIcbrr zABCHShcG}QAqrSPX}y57dUrH<&}d>VgyG`K8k}?|iav^xwYyWm7sWz- zmm4Si2;cl1?C?>eG^Ow}&8|DfnG~Oi6&i3*u`taN^{?8bj%b zUhw3u5o`I-6>dV=iA4@RxF6X8r&>YO{h82_@G&WI*3D#Hq)bMd>$<%kwN~46Xb;1^ zjc`r?3Q$5W+*3}J;Z(OXo5V>f$ov$sn`mDu-0_zOMWAa_ghU3jmH?t$gZ^9%F4x6^ zN)%0&TlfW!S+&CE;~;C211|GB3D&-I-t5FN2VuLFYBkfB9 zu*^_|(hseHOcb>*^!kN@B3CS>lXKyxTX5Yz4RdH-!#RVyr73=-B$K!iP17nrOJ%_N zHUoD_!>|^AkU#eyZ__$Emx5LAFZP2F^1peRl*|yCYuRYJnNrB*k5S?!QrGV{~vpA{T9{xMS&`fG$@@S zB1$9OprBHND4i-G-5@ao3`j^x2!f;tjC6O1APu81bSg3Q&@kkE=X3A(x%Y3l_xkvQ zFpp=>IdAQ~_S$Q`QFZYQ(3uHUwR{PBGZz+cQgyoW<22bgZt9jQ0!V?o0}9APz}`N* z;yw}aZ^-3kfPuKsq0mW_H~7a5D{zKfv`{MR2NP7T2!^#TgI z7p8F&`-hS>&8;a=VklZ5`?LY9ZxFA6+L7)pVR8po{`x9M_HHxdnfH(LFgTd{Qx}+n zg^P$EIsbf?`)<`}0lZ=EmNCed-oz?X!Ao#*OLNOX=H?`R>Hg8FJ2N1-Z=t^TH_R01 zYolVsm9mrX>3&_fM*2I7O%g-xY$Zeb0~yI~j~J?Rlv~}box^4UWnYGYgr!1NwoofUH=}}P>?JMd)|_~NyFa= z529AS9o8cQy8>B~23U0=790fj^^9~h~@ThZsde?RWnERY6 z?)v?2THQlz-U3Q5K+>}CQXJFs>hsGRoQ}S*z>Q-fRt^W)Rb~ z52{v4W;{4)+wu6ClC^lO-hLI;@cYNhY@(A{kpt9$XfU&i{K1auwY8J0MN9~UO4Tqj z0_TWCL&*B#x9jm#G4&VWHj*%iW$VKkd9}A;O}~N~^dY*x-uyDWpzBZ<)&a2l{~jw- zBQ_mhTr)OK>0Y%RGd04hwF1N&piNX5MYHdf8hjH^oIJ)8XfBE1sRJ{ObtaNeJ09=) z$Wc30pMR@ToM`|*2|SU5VU^!Y_Ff+9rFh~8t{rmDpGWu~8aiHU*#gIv?WWt{mtf{g z@6S;J&C+P#lLLB)z`Yj#0CGLr4ZizrUF@=u-p--Q7=Q{~1m0;bNum!a&$gkv-1pORO-%gS&I;*#tr?2rky2 zrj8Tn`a%R>abqYG0wlu&6R$b)Bi|E4gp@hMUaHYZa0z>amH%e_unr`b308Ra zJ+~Z{{DSZdt^7WOShOvLbb6)PW1Gm{aN^pbphpFPo?$REd(3#Uc?i-u>d0NUj)?4Eb_!c8E=73aWD>Svmtf=MqchNUy(_(Uxy%B|LYx=r7{gZ?(bwNS0E+{Tl4 zm4uuD>*mp`@GqZ8qz9$fe%=6n;v~YJ49d4*KFwh#3~k&npn-%VKRvpR|EV1u7)3W8 z-ZulA#ZuGn=|a$*!lfVI`79lX;YikQQojQ(U2E^T(iz<&9~08vd6Ip@&pM~{+N$0A zANPTLuf4XQ9A$9qYoS6AQh)#ZVMz6XNJ%H~?2Q&^0yscnQ2!rb12Gy^DJ}fkK9%7c4?w56L%|pIlQB**{yH2NEyD$8#z{5t)9amQQ&6Hf38CVv)Z- zj^IpKIgz_(i_(Cgt{bQPIs6ynfD>K*fUD`d>(|*=YDuulnAioo75gRNzl z73cH(J}Op`cST=}!5oOa0Z#3so5DC>s4VDFDnORyI%l|X5AOe)g-pIz)x?w&*je~} z$sxYwm!C>TBmGl>K!GtWvRnNj!DEu|K)NCS!#?#hTbpc~%k5Q)75fPUDHqF6kx-vi zBMjdFuRn+b533sBw{-vDQ+E$$y37TchvZz8i2S=&RP@iMbHhqd>hYr`r~j4%SP=n1 zOd#&nMJ-N#20wwAlh~5$+5igxjd6k_xPX`@o=TYE32x2fTH5}vKRx*Wy8!rw+<*H1 z|K}(F-~Qmd6YR@NI5Zd+c>+nQdpKM&c4811`vH#zE64ZM;Ou${8r5EH=A_gBwk6IG zia=qK;2Mfwc!Dba}vG9#@@81=#&L=)C`r0s{lBcKq>REouNU z$t4iMrDSJw_JUXv6pR4Moe9z|LOX<%xXYaBSgBc&d0=zx#Tk__`>jT>GxY&iZe9?a z=p&VJIlfy`0GomdE*u1C8$8h9_KhdFz5yJ_4I+Tspx|b3NSlN!s{yk$^Ly_$ah6Kp zNm2j^)qNtEquN4*p1>6aggg2mJ{`!Z?|QtGKxDFFd>eGOBmlJp9P_x445u;;_B&hF zno>}Q(E#Gx%OKNuDe09Z?{C9O%1_0ikc86#3?ZWU1`-5!;6cPBY#D?Ln_DDjgRcn! zA$L%JV?AVN1ddH^OVXiSxKcf?Pyrg!-)`0x<^k$< z#@s@L3(DOd?r=gLf7vRjn|oeHI7AWaB%_n#6oENj`QlQDIR=%!esG3G=l*A$p|IH# z&%OR?1SnE9;Ck-8ShoP(4Ch4+R4skEAZGx-Uj`)B%6Gf3yhN?DkL;<9Z>NLpqd6U@ zRsyTl5@w2bPT)Yb27W5_XVGolVCO@5Kp2}(s2+XkRuX9eV?DCU|<7{a|db}15x?6g{)g#QLis3atSXl z&s=a8Yn?GHuQ(=G)oWb)FA7z0Andc zKE+8{>;sKSgijhK2dQv2FySDuf|dhmMdKu7X(RqnhbR65f)gNdeD4AP+roBL zA*x#`xH3hX14uJtT5dA!7~w3fq~Cn#xt*y1y^lj~(5j(AR_%jrz&ySXQlb=$=MLO* z7JH%qyNoU1BDzOu3uujrx-UI>{ooZ~J#wGedQqY@ahfrD>V{kp)!D95J7cZ*yz43w22s@mqCu*W<4*Tx&MCabZuKkpJJq{ZC31R?I5;K9(wP$XRfD!Z$iP zL8c83sGi#(cK0A>z?Bn6Jp?MViBl!*&U;@;NYozDbOv1~P=5Rf zLj7pqde!vR*>`Di6zWBmCo-eKXXQdcM^WtfKzerc)|}tG#d}KSt!G^{s808|!1Ki> zPzQ(YJXPdE5VkuSE)v#QT&x?|O>I=Wlpm9X{d*3J2W3uw^ZPD^<|v!8iPt}I}9@UAEqidbQp*fAL}H7eHR zMsQ(X7M2}ey}aJGMym7fr?CJc!*lqlU9S^~eJ-i8(@|))H_sx8eXZB-&)}y7;zB`x zTnLnf*&K?qyF}!->lcUfvn9;Z^{My0+3`BR%%873K797K47ydlEi>MrEgEWZ{*OVO zC<^#?1(qdlGsp5Hd{yJ?v}HEgL@Bp1XJEtjm2p&%)4t}=Myh^U>h8f7`-mgGF+d3Z z{o&B?pG2Z@FX+hXK09N_$G{?Eh+ct*0(GC-a)>DQcep|lUV<*1`TCT&w1;FHc954A zbzVErX62+~*6+m`D0H=DnD|jB({5tm!)XK5fJqkBZ^TtLDQ3L{p`6P0uj|uj+4D7O zJ2wlIpiD$jEy?vBGmR@?=KwQkX7+TfPFu)@shgd!eO-n6&4Pw-CX_jR(^8pI)~;Qq{sWtH#be^d6Z^z}X$@u7sCO?En+pkR(mAX%4|2|za&iUx zTbswbS2pVQeA3U*`?;rnNwDYIi_fW1OEIT8nFygp)MGEct1z91v2l{mAc;OM&hZfV4#HcL;oYOE~TpuD<6{h^x^ON@QL&mk`-xH>=3dc&nwY(I;!2Ot@ z-QTKIT9myH>%&48omRfo5xQ+!oK1~;gERd2x4eSqyY!jdSeg5g;^D0BPo_4OM$2Gc zQ<6D{KMB^(J9!oUuz^m3H45|O5~R?JZVf!YANef?cHD&DLkJmrCV5euxsE*0)Rai z36|;m84;$7PP$Ve)|qqFOH<~rGe_3$y;u6jblp3ILgL9h4+5z5m_G<;qq4Taw`0LP zOEhTgSM>T8n!749RD^Fsx2J;cUZbCf~(#@Q<+; zuyQr9*M|};wHxfBnzkDqXp!hB-6uyX)4FQ0GqBk#5<+b0+>;d1S+{OBy)#HwGuy-^ zYd5>UW8+x8N~P^^D=KaVMtH*(WCaT>{lAAi%n~{Ff^zRUnICZpP#!*RNGd-bUSwA@ z8?}O`p?k(X3EE#Nn@qpWjTzQNxC=)@n@3BWKRvp2IH3{N_1I*wPHxLiXG5@Qv$DM) z3cr2jAv~>l7mu@T+H*uJ1(TP&RR#^Iq;P6U`qA$-cXfGOa49gYAS5bvx|*BlG$bTv zxfsxO$sBYW(O_ezcyPs}aXU`xUqm%c8>T|zob+hd2*-yc~KQdnI=wVsTHfsleSogZfTx*4 zf!yC*iV&e?Cb_7C2Ul{CKHf4y*~4FlhZm(nas7Mr4ANN}&DMW-`V&GXeQ&Fe=Lc1(p#zwJ)ZBTex$CDv2fD!>~2u@kaf12m?Or@TQ~hNI_uBw}py0 zsH5mQYpq*v7piKKH^dEHPp2MTow|h7ghSN}_3_)E-s{EJ-n z&fC|U&*nC5BsJP=Bx7#CrQaw7PIR!>{w$WsNEU_msIn&vqs`U4rKDsS+q(mH&Z(fQ zs(Rtejo8yiguxBA{1xOs#g@>Vh_#?S+mTi#u@v>J?EDdK>UYlnBF>i(9x{1}_!dJm z@!@+Z3td=GCl+$Fr;O(|(-6J7f%H;20pqo#Ep(yEEDwmQYdNT-lNezkbkuvy+4K5t$D%9 z;CuHT?L=eP_)OcTwUCB(ipSKKmiqLjH7%F4J?WHq(FH?4ZFFROA3gy`JG`27V9dxi z9{Dp&Yd;LfG93SZoDC}-+LtQ zI^Qk7?Y4I87#fgZYn$Pvf1d*$V(rdkeb`O~b8XPuIG&0^x?gyKRUABss-?h7dYilM zP5JRI4XS!xPg|O2^2NV>DY3iyw?=N*_uwJfFz>pTq5Qg$0(YscS&Ye^z%9KWxu&1- zhR;{h1t2yhN#(Hk1c4IavtvHVN4Ym)B!qpD6rLE6I9}Ri$0;tu;Ci*6TvsM1MaO@4 zV=obP0fj853>TtbdXLuWA|y9To1EAEHB6(F@~^4|BK%LBNv(eD?`EWJElW5tki9y?pscx)V+^Q%qBcU@v>mvyZ+{Q`BGLMg6PRlZ3ft(}&MFL@5HrJvPj zK{HLyQjq~RH_qjo(7)B!Z3R3$u7#5_)oniWJWUFH0LWqy$9_5wMxVQXj2x zv`-2=Em-9^1wB->&(k;O>t(UIB)jfG=Jmr89w7Gi9yEYpc}TGb|224D zNOwP62*)d#H>w|PRf{Va(xXn~6nrx04QioS&y=Pa9_Ucln=h|k!Fwr781NbSy|s|M z=6#1*F@IHyJfH`p_U8frsw-{KOAIW@8(AG>9C`!>0sss2&pI}q3~V$U*>Bvz5u zl^@@r4E!cD_B>SV5KYxR0hJEf%iYCq<{d)2o5kl8IPcIezc3qQ^E$u#2fa%mU87$3zF8Idu~8x&vclUyN!)N z!EA%$ZB{L%~^Onb(gE6R&t7rX2K;h)T{i? zs^q=$OOSLel&eBrEvno`ON<}#CXhbMYqHKF5P@-MD1`jFA$wcud3Pj*xJ~2w7t|sM zX5ad+w>+f}PT_JR=ArQnU}~60C)*g(NKsVwV)xgh&a{Ib>^PH~f9e0+grc{!~no9L_h5YiaZzuJ`U zQ$1{$2>qFyZR7gscXpu5rx2OGWR@PML)}o0@w@D)P8L)Lv@Qoc0Z72^t=)+}w_hHY z+=#M7U-mU^8|WV<=)kpy5}AFA=S;Wk4K(oWN)2wujk-)v)vJ-cYWAqfPL3BuJ17gN z{utQ~DBwZt9CoKtTLDHINGzC==Xb>=&g25;&si8 zLt0tq{F}Co#?n}X>iLxDe8dZ*&^tdrS*zUCD?7=Y^hSZH%VRW=^`^HVq~vdzZ8c#< z=t-r}3JKhj$ss+v%T?sbqi{dt?Eo5n57T=WQKYw{Xq+>WgTz_X!zq6{W?IF*yL5I~ zi83;r{85+x&lVlo(Jh?9Sn(#CQ~*ki+9d2I9i&E@){)P|2-47zqzN$k+i}WhexNjI zC={!qPWb!QV}X>fB;X@)kqTtwdy|f|sOjr(TI!{n&*+~)M%L0AmYYgwgnjKjUtErQ z-66AIe`4gVU_iWnEpb1eorK!Kipb_WsdoOYbfu)la_Tlz6Z4iPbA+_GFOxP|6+t+u zeR?fFg3p#anJ07nUS)uzKsY<`aw)&@@^=_XVP9(KJwkDb@;JFKn%Sm5zcZMUK8rc8 zYx=A&z3o+bn85LNnr;S`P~_WI%3HuPys zuWdZ)sHKJsAl#IzLKLm3Mv1y%1TB8$T*uwH1mYnyP-wZr=)ha3#)j-LhCNCdl1Myc z^n5Hl6}?`>Bv%u(ighUaM)Nq{m*i{6C1Y! zf#W^tTpI#T4z<1Yp{B4Os_#TbY$~jlkfMD5m}!2Hvn$`};8%=>9ZNF~d1#x6ovM-A z%TV|_e>ZKZPTWWGG1)|r+7HoHg;^2wAD_yYX*|y0-TbVeAjs-Z8KSM5u@;i+e31Co zcFZEiU#L1ef9Spr+{glQ?N!u#|8&B8S``!C_SVUv8S1y+|;}p7Xq4?#C ziDg7HQ-i)y8i}r95`Nu5FnvU+lbc-j)QJc?ehD`I(F;#I|4nIc!-Yr{DQOOmg#A`O zGnbBHk9rE}$Iq~dJszB(6FZ5`{iOoVCYr3C2CHT9{uJ6CvddOK;{-zSW08)EM=e!x zB|OU%DtrB+5o*8Q80%>;?`@^W~bt#Sy&TWuYz)k*A?h1nfU z$$GEbwe0$+p>wLNmq=dYJ@P*l{%~}gu~vJg@k9>ak&nQ(lLFcGXE^wP=`FJ3yG!K5 zT!I=}HhkMyd^Oao2*Sn=ayNQZG&@zty*SJyL#M|man7Kx2HuvBh~RKqMy#%0TGhvY z^Nr`w*5B|n8lx$(;5Ut#sex4?jXAN zvmFYF$$qZvgJB+5`ad3)X4^DWD0LtAE$A(%cJBL{3GKy)Y$UVoG;Gv%22rEndC@J^ zB;=h-3eS`W6%tsS>#b-X92nTF&n>baKiMiV&rh;y+TvR~J~THein1dVKe8(-seRVA zzv=ab<1T`fmGJ9OMSE?>g55&WEXuaolA_Jm)z5xZ2-A^o_iIKJ`m z#(=79n|!M%Fbhvr$II2Hgwv1ZTQz!L(Vz~B0-mG8oC05q24kd*`M+h`_-6)eSZAdFvceNmV6GHsxk0Wf1?a-*4y>)D&Onr!xDCw$tB zM&W7J>&uy=so()E<;D>7w?E!Okr_LYPr=Inb&_P^8oJH!^x^R5M;!g}pOX9`s=)P>HpIzN=!$ zi42j^Zhb>S4nt2Z-mp&>|7RbGWB^Ct*RFbaTCV3$hG&qf_*x8&gp@(ao-YV_z6_fQ zrDUo>5|3f3clc~oCM_J2w}va(j(c6=@65Rg3a~6J(0uQg%w>9yGCwsWhcolzS8OKg zt(jvvOZoa`ggL;T_8FZ=Zf)|)V_)9btD~I~!6EUvbhimSt2j-67wOESI53zovw|V_ z#Af)3tJQhh3r2-L`^G>1gl+!)CRy_V!bsH4#jvdk{i-30CXCd6GmR(QF?b)la6Fk+ zBXnYV1D@8}?KLs)7j^)K#8{NRylMxA3TeHn>KX*&kZ0ESDo`DfX8+YaUF za-XV+_fEUfHjkM}d}eWjWmlnAL(SG^Il5QDN-)0qMsw80wNHMG@w?;0)1xPg1Iti2 ziE9yEShe_I{recbJfm>KIP;$kU}9<)QU-URPg!{~N*%N+mps5gJ!iPCGH(@XoA5)L zpyuz%HW(8bOJtRP!&0t!n0!n&QSLjuisrZvwMed19=MKO|H#!AW_j=xEC0{9RG!Jm zml%S(9qB*8BxZUi+}IaJGr2X%6(QV{T`XnDErh1 zIU~SFSmXC2Xt2lSnT_fhQA-3%tC&60bm1#wOT5U`)>GjPhp3LEILmIYQfp3&! z>aCac`m=h&C0_i4y?Xi}^W+6l*sqk$k#*xeCb%*6K%98t`)F=NFkP1`Hg@R8C{;RBKC#vwM;W+_AjLmrY+kGjd=qwi~lEtDy2l%>=e?ORaz4j;1fbq;8`w_4~gMKmFF z6U-+FD+8<=Oz+4cRY5sMpqMyyuB`vEUW>?duZ-Li8c zC*NZBTMLlP-{)Y7<<}1MoY~ zKj_anYz)5%b7i90%?euJj@av}@4XkqGEZkr47TvLS zQNK75d_LFx$i%z_-b3hlaJ!dv)lqrp4QHE-*|yU`kVI3*B& zM}KzfxP_D@d8uNJsLDR)6&MS1^Y{@(a;M&7`!=@<68oL7Ky0cfLv%X0&HgVc3f)P5L=3r!Or$IC$(sjxpr*abJ4~ z7GU;|NtFdi=)=J5CwU^x9$GPGE=OJ)e|;#P!j5U5^#=_dfpxT6R<=#3p8A&T^4!xR zd^mGO-*Aa;51GoxJcmOT>jhshGJDUTw-@pu#o@MiN_G(&+JRsRAPSln7S#NB`IBiOdaMncl)aK( zgHHGBzRUBzV(7ARcVNu@~-i%QDHjJ@uf^7ab;0RLk+gVFi9B7@ECe z6k_R>gQ<9v0d(eM!A6sh^dGCr{4`XdTLM!)8&pYJ){F|aBM`@D*vvv(KQJMuLmki% z5zI7&mDH6j-GQeumDZG1K;UVf4c=rI_ph|FTsRwQJ;3+EKPgRN!T*GL4hky^2qn&d zUOeKg;^=mHtk#plz_$AY;=W(wYQxvd^Ae8s^u_`{SAz`-BKz@5f+L=9=-l zVDG>tG*fcLHI@EZruE+a=n~`Hu@8zslaNUl7ys$$Qek+)pI#|U4>%T?Y6kj6jnC49 zg2t!LJ#MBy(jb@m7TQG5%FR~rXC`^^ff*Rwc1@*a=c^QYHI`AgDjF>VA*Q>C$)pDQ zCMA-;4{2vaEl!71o?Ghu6L`M<`E)|kVOaCS>C0m<${)?wTrF~=$&}|F44T+b$!?an z7xaHL*N!8OS9?Qv zQL?|DUn}XLtmR+LUr&#!owWIKN1M2P{Z89*q88>g7;iSTR`J$@NoMNXDoZ?`8oL5n zo3|^}cQja;?&3RTQbjJQBC2})0+F7&|&p~ZQT02?kGs0%6ob|E0 zqDngDOBr_!Uq1$tN~$ID?>^9Nb5D~G+52d5Ii`FpuTG|I>MIcb$1~7l zPK@=1cD>(|AV}<ulxJElek1O?s!-HZx?BQ?v<0DX=3q}o^+^WB6*NC%IW@Oqr&g=#21%oUx(od~ zoA!I*{}MC=nF9QHSb)Rili&w+Jia|gC#`L4AHA;>my`68iHESwqP<&@uM1+0hFd{v zYaa6M_ty{~k~UUBWU|w@y^~dS#kBN7KLQW~Nuj4)hoWYZC(XQ`nDD(XqCI@+OR8UO zgy0x%pOo~!ON_v#vTYZ&78P9Hy;-GuiTsnqk=Z+~0oA|ZQtGmje(`*Q3jHmmd~Kf7 zFymdt$7_9-6ee>j^41Ilx}gM4l64f`N=gM5)p4)M+K?(2^+KY?_bN;1zNOCI(aJQN z9zece4(xoffque*KwDW!X2KJu~lC@eZ9# zn&5BT#B-tams**h056x1WDmlWE6e8%jV5%k%7siy0c zpnWv?a5am(F@o+u)`)Rwkr|St2DfS;3=O_}sLJs<#dt+7<1X8tR`jd#k(z_{Qtqt7 z3ZnXpL9}P4#iq+`oi#dL-io!_g26t+zd}7_=zRPjCrX*E48+IV%fvJ zlyP}e7Tno16G8i@VmEl&(4&sJ%@Q8!)oaprY6OGXw;5eyqifx?HUEm=UPHvZFwYcm z^urXw7kjvtXQ*`;H8L`pUgY!15}c(ckF`FAb#Qr7Q?tQxM^+}*PSVBJmstxQ1h#dO ze7-2!6tjG-^EI-Ld;Os&Q9525?-QDv5f5bUeVI%?_FmecGU+PR^t@NPY<_uIxAz6Z zZVY$w3i-$bEyW1v5nS`iWe*-+TX~4K{WyQQa(+BW;`n#!uqG+5&Fd`>D|PG`kQzv5 zePSp6X}Vo`-J@9Sk)BrvNvf!%>{pC6m5lySiSF~Sq}QumywkOlRoBjjzf!m*ZKnJ? zopcMj_6=t4)iaM5u0QQ$Wn(-~+hx?wbzibX;O~pHwHGpD;<;0_#C=zUFQtX{eEUVD zcCaqXE6sa5J{Huo#IiXGZpD%5>v4XiLuWG=_O?%<{qQu5M=&i9{t(?da^}SXM?Gj^_fIu$T~Io;b0dD{AFZz z>~E{PkEF@!LrK2I&?r@NK%bXxOvSg_8UD8AjAk58gVq#UaSyCm3sq))f)ceFLaC{+ zv{U{LHjZj6wi*-Proz(LR3349SIF;m*iI6ysY4YUA)$fo3S>_vx$s?<9UYD|gdOdS zp@Hh8XNB{7zL(BNEGNm!1MZh}ToBHoI`Olpl4R$LR{wPqhxu=6#%A;8)q4?xceF`* zmhq=Eo$h57s$J6RP3Tm8j!Y(E-2XvxK7=vr7F)xdn+ai1>Lg>I8ZPgQU)Qi7C9^g= zy#cW)UC#8nOv}sF*$J#FNw3;cQcx6lL~<ygOB&M0av>Jl!K}u?9G3_X#u3sQ7$6O-k zw#&?E9S+c!-b)A89A%kKy(#n~h>gj*@yr@1e(|0-($xSBR0Vb_h|JXgN*fm$S4$p4 z#&Ru9BF6eUj;j=hy2@D&`L#lVZSM9HE3}I4Hh0?nD{0jE#=TR;OLTj(m9=WOVTs2= z4qethLHqB^?9q^VqEDCW^o#bF{?+x^td8j|Ll&C%+->H1?9Lt24FL@c(@Zia%-rm57vO$w1s*g1K=2ODm?fyz1mIN>$J6r~q^%nQXYS{XmC$QLm z(xf+Y_e^E(?tW1h*)(=+ulKsQD7k0C=6ceG?7RVB@l}scF9idA{~jwK1JMub+dQlr z`*L;2_nU?#dk))O0`iCYQj8+(TxT2EZD*P=rew$>N{xbm=adQ?9X0z^GUpj>LL4Y* z-;WoSPoeBdu%?Hf$g7Oj-7PNM$^AVqis;!ulL(m)ALC2G}P{c)g3;R zQT1Hr1A#~Gr}m$>F&ZF|f=_b&771y>EGz7{YtmGW4BSt9NzF{qp4L$hKn4Qk-$-UV zEU|dUkj$Q^B%Hoo0O9aWda-`%hYMBmDfGg8s}?jG%NJ8|6@`+4-7I;5uw4gyY-!gk3?#@Gc-d+PHfA!7er|gj^hO zV28}um>i`|_jv13%{F~q{bQfQA`5vor2pK0BbiXMtEh?6l zf3vf^wz3N_dYW+SZWhO9ym>&R+}o{iRIzPwb!gFqV^_}Nv+o3L@5TiN90LlS8`cew z0&31u0W~%fns3Q-QhGSi43H-fZYM+fIO&fqNHw6lY0@ zYLK1zOF0{^c>ed{^fDmip%(^3wWa=sE`R+o-gbEiPzLIc86HE@v*2r!Lu-H_k-w|W zV3$}Rco?ShTW?Sq_>@wdq}2{p*~ty7U!#)iGK_{!bdOEN2x{^M3luNb9*)>~xuJB` zy>QoS!UgWVLMMOXV5r%Hd`T@Y2T&3+-XN?2YAyRASBJUCfSE=1ls!i$1{BF9gQ;u# zLYV}(icZtjIr2&qYi()C=P~@0*9%NI3{hZ>@1H31q|8y}W=gPe!o^cZ1rbIvYM+9V5GnSNn>yZC7V)1&iBYlI|h<7w<|o^zLD#Vx?C;w~r=sWj9@Hxn$WyOF8@Y zo8(X0x1ZOa{EHe{eMn>XeIIZZTVw%kw-JmNM~II85@@}$*rpzX8>=lGZrUo!#&nfZ z1RPamX|=nSi`vLtPPbi{kl5q9Pp2Nz%8ZjMJK0r%_F*4%hR@tW*-PXFxQQ2Wv2uGo z2XzVy0A|>fn0lLAZHm3R#9R%d9Ud&+P%v?QC2{P37FF&RW>S1IeEg#)im;1N7V&h zlC8Tjda$`wHA&_GhqXOafr1x;PA)e42#llnXiLpw$bK;wq6UzjAG=S3;~C+*8)eaK zOel`;wXVC_Q72m4!+9R9N@Cy7`7wqTRN6-g80EJmsDbfonSk)>^wFq-yYTEl>X-o zr~&>e-Vuw-y_9y|2V$|=HZ~zKs{&MJEaeuaB=$}!5R>>BZx9zeYbIIn8*efvv5!i^ z?NeL`tsb!~?7;R?q7M6cjm>@s$7Q)c*rDW}-nAQddr&{Wy4j)0yFVeusC-m^ClT9Ft+sh7J)39I;sI=K1t7{b} zr~x;@i7oa!I%(FZ%?;O;4;%v)y9P8lz4#cOiSVnGE=JbxX9uHDAVy1h>yn$ z+U=${%*fX%U(b@3Q%%)JLz9tbrAW0L^Ltdj-+@yFlo?&eWH;dZ*SLXlrB+N6;=%E+ z)`$vwIfWE9^#Ju$>#03MHm{|FQ%STx)>qBkcPzcTAtUzZ#ZpY|DpQU0R`&aihSI%6 zqT^ntarAly@>|uX)^yl>5wh;%)o{XAP~aykC!ufMHBiaATvKg42dAFD0rLx=&{iH- z$AMRpr1n##4lB8}+{4*|D~;b{?|B@`)r~)Oy$C4d2SnY=0WQV8t9_6AidpD3d6#*y z)AW)=n{e2V8smB!voWTuv+10n(d8V+eHYWf^h);k4onX#!nXvR-J+JUALC>w5QO4( z!*ipATT>V{E)G;)y6w^2^X(FtHS>Y&WUEw?#eB_j?!L4DW$mCiYJA2=DXr~vw9Fev z9-IPjrT$6^y6>K9*4hIU*Es*5?JBe9lv6IX0$xVr%O5vt_FK_sxtj?xXz69LrX}ga zs}j+$4ZCR!nEB6r=}<`?Fnx7j9qe+|d2@%k(m$U}1Czhu_X4+OFeXc94fzflDb3#H zWRvvRq2hH2?i`7J^_0{;f7HK4-j;JehYEVHB`Et==ji}TB&*Dvg8T2pxMAf{UEA*L zFm6lIs0|MS<8%A%R%wcPnTvz=f(HpmS%`TG_c$@}0J|;d**o7`d|-inc6w24lt@tH z#%KU}fc=lv?%u;Sn-k8SW>dP=xKU~+9U*D%X6%qOVluavyv>Asr*>Q(F7JrVp8%k@ z>J5E<-a{;qk8Vo{!M+y?$e9L=?~#ZKe|PWWiPv#AXX^9MKy%=V-J~;?{`t_hy24(( z=k}IMp#N#+*}DcjH<>7@otZM&VbMs}PXq9NN36aVAIQitgg1wt9D#zHU>+|zq+@2ex7SU$Dd-EA?upYTN)WxU6QTwkEnffwt7^z zRHpmRuI}NB>AEvbX#W^^>!o~o{I^kJp{_eYPCvHqMP`4K@#lD#;iGf3qT(TR{aSpK zK!Wq(h@;`LzIFrhkK`J0UU!sg^XL@0sZ#~j@sXSkY%fudxrWzw;gXom^Y;yCL;ytl zi(}9wT;6rCJa6%S%aGY59-`6oaojPb@on65Sonq1B>kZ#_MXFX!bVez zrP;K2Rf&&|f0h#g%zS@xul4hzsdgOtRn3p*qH_U^LI3 zTPTwZZE0QQY@%pfyjQ9UA4s=Npofpv+o0RBuqr^oq#EMy_z`>7m@gqTI91?{%(OpV z=WSbXa`88*B!%#P`!t`^S|6sM<$KUhr5ot}<@q@3&!EI~@!0~gqSVRQhjJ4~S}s%H zdB8h2xh$r}y2J{6>!+I*TSEv{RKVH`8mX|Lbu&oT~h6Md=K^(}Nev#x1&>-hr3b@&F|UWCSW`>w!W#LSkn zk4BrvTuuj)L}v5pvJ6&EJyfjIH$E1CA-hip7JiS#Ubp@8+@S1?!SY0);5Q1nA)@`SMHEVG(=r!j; zLfMz`I#vBQA#5($A?!M_IrBi8->ND{W3!;EWy?TEgbc4tlr21R=7?Z~Ng0JZNB_%O zZiHPeDqeC+w@k%!cxhbMhB$h6TqkBNKleCJqQ5S{70RthF?HF3fnshFyfbGE_SV5_ ztQM(X)-bhyxYp;goY$-$Si_(UycydgIF)7B>B^x7*{Z_(36$_ePm-UJtb16n!q=M# z#IGm(u*>iodun&9nQW-qODuc_DOO1VXE}WSn=@O4PPD)lWJKCkq>+*(x_%OgP(AcF zapKZe4bB>iuM3|)qEs?zA}`O{u4G4vk3C%u&v1#+jUo4GJ5u{?p@`d#2$zNyYPSht zI}F|Ef2Srah||5M$V_0=$19{<#c5#!k7nGBbp) zCH4m+@>`x+SU~CJifm8m+k($F>QDl{Nmd*LbyLyMr^^|h*f!+ymw?-w_hi=ueo3CrKBZt?Z?-L(%;FLIJAGsUM<4c|us=fFpO4J`Q~^e* z`$+MZexZf=t2<@(!M92awl<=c97;ph(`<(&&ImHygnKwGYG>U0UtDDi(qtUQcb1se zeS7bkpFS~OIrM$HlR4z65rjM6-ltDPc9emorw9AkRDjre^8Qw$e7wb`O=RPOWCQGb z)_Ps_ndujUxl=DEJ&Q$;pEO*04gHD|DpwvL&GsQwmRt0TwaC9(aHY?Khu zZ!3`-l}CPU&e{p({T9G@SC9xK2<^p&2XJQFj+|UmpII*h&|c^I$TJ_$bi4taQf&#@ zU8#e?Mb|{*?yZ+!NE9gV++Ix()Ry=*BEPqB%+?u0JEU`w@!WIqp)4}K7cEWP%Izw> zQCyW=peiGMuyD z>uZ=aa7I2Av+0r8`9>xGagQ3GAdnq~#};*vamH}6{FCWwoiU_l62cgdh*-$;*>J?x zaPbJm)SP_DxEtyzs$22WnzhaMNVh`oYZl2X88u33CxS%GjB|JczrVo=Z`(snq@c}@ zbLLt=sBT_+90o0>dDo}nUBmvTem#JoHuBVoXH2{GdYa%fa!&!+x0##Xv8g|aeJaU0 za?05pt48x(_W4 za)+LnZ>GPAHb(B&m!Zp#qxJXljZEUh7|xSe)44{{D#=cG_olx~S_s);G#?=nBdfz_ zud*GlKPS?}(b;uWbZ>rp5`6Y$3b*XxmJ|A1c}aRDQV5hbN&Pp|a2{Xj8O;>Lt%wsM zj!cIoy|S+5meF{xEAAF>%qwb`S@XOgp(kMQef24Z-sioRZ3QCiqjhY2)aI?w@EjRN zL;`22QCgox)~!x>)Xjn`jNtHXREwdplfP=42i4alaalYo)xZguam2wHPoRy<<@$!W$9KcD8rC&YEaAiSmixLILV zK#L-XSc67}Ca(sg+AGnPBzRHL$tjs}tw1)By1gX6Y2++uCX+3e#uNPeI}Iu__SE#+ zmrOr-vVtBo-Xk?xwU78PKQy69XN*#IK*xp;vy>aNh67X(EFbQ?>~Q*0EFU%HIwD7xfGKus348%;%SIP>H7>zcOV7n;ccKg9MUdVwxt?!1 z;j6Osfe!C28udXE{_u6m9ZThiR4OPn$*MQ)TcKUPj}KdrO7ZHN7JP_aInkl|79)G5 zbZN!Hu01<;M17Kxd9D3(y54s9jCO6$^=gj{F~;&Ttxecg`rlvSNK4v`CuM*;l%GLJi3%--)PMrw=9gYFzW>uEeX-eoit+0xg)a%!Av3XiFhSaLgq+Ps%B3gua)t zvII<4U+j0oufMRB^!>J^avhxk$dsop92y$j2>S0%Ii;%QM)`b)ghV%Rc6d?!H86(v z`5$CM%D=ku0(aG?U+LpSLhmVjK8QcMTjrA5N}mx>PJ1SboQ>qcW-}j}`8*!hEY|TU zexdDoNMZ0i_aLCLL14^>#CAyTH%$y3fDvW|=C}uwq9=!onl|4zd@&+*Bw`x)wZ=33 zBXfa9<1M zNd{{(E$5SJS`?En3#WW$;SP*tYN%g=;1v_iqR39O`MSLGlDdRzucDKF0E2=yV|41h zzz5nTKOg;g+G4;$Ac8*K)Cp@__rId8EX!2rg}AE@77eopyWDpq_Zbbf$JYrSbuy^^ z*gT&gi7GWxS$Rsw!RwLbbX_r6>QPWN=r~>64@rTqGyPRauYOo?;bM26Km^a+=}?x; z5mubUC91C7{~OMl@4cf=d9i)hkS+G0KG=?~Wd$5Dt6vh#Y(CGPb|s2Edo#%IHVB?Z zDD`!Jvv2uuyBX+bE0{4Y`6=vK#a*26V)3&OU2P$o@@KRt-tIS}oQMr#ip~_@#N+Lf z%Ft<7r^jGP>UGi8!Y$QGFgNdT-4$6Dp)K^T7pLw0gf2GIsc zbTIj=-8Rd80~yy|7jRb&B>khj<_aPcp$HfkJ37Han==65KXCobizvkB11Pnxh3xy} zYsFM-F?*zfLVa4PxL>?ERzSQ!i^6PMs7)JtkH~B5QJDx$pZOR7%=%lF_Z8*kRY%8x zSR0(*O3h-&^F2@9n;A#s-9}Bv(i&-RNdfrE*ZdsDIw4epS-fYDS>(+DV6NVx$@c;q zV|fasm>`{!z9(Pn{VyqlN(77?1Th^CVaC}@_#2jt0WlOCifyjGrF--bd9ETv72KdM ze_)dqWh`L!G#lQa9~pyr?v|`7`BhYGQFF*L1>+r$$ zh+qxHIlqba=`$nkag|9If&cPimM^Pc6NtDC0L6!UthoM(EVioGgNpUNg_AH908S}F zgi=BTRRUL1221-N46}jsq#s~12~J?L@<@*==McfT<9{B9kIUd3+U(-fh6T6Z5Mb>r zjC^L(UIN)L=v9^@UJngN>OCog6S@3M-{PI=zh0@>h-|fRN}c|WxU@T`mS~C%8Q*sG zmR&4}0UM9%JE&ukXWG?y-SvQNR#A>kkV`LzD?fCY0A1WGCjaeN-$e!Nf`mu)d!ODS zYSc$@^QzIl;{a5Dgkd6_NT_~5c69fJl*0C3jy6A5hnpZ|8#N@2ivamWp-t~BIEua; z_*AxK=1XnCk#igM&!p68y@MQ4buV?)PHui%Y<(sAZIcb|jf+6?SGb*ak|p2bNrYX9 z-)G)N=gEpi{yezycHcP`0PMiPkd*y@X2<6Uc6J2m8_0b`yRUrWf%ixPA$N38vsc+` zZ!$;aSA;T2=QWi5_$H^9>L7*NL6c$hs8Dkzy(j(L11{71WmpI38)nb4_4t+^Qiim_ zvz%B;o5QQ%cB{>`s)vFcG^n=r#2_VNd4^>bYR&DHCaPN=xc!V!Vg!0mW+N!+X6$s9v8yh0)G$GpIJ#bY(NStUJ%4~ z>UZ%8`2u**>ya`p;zBS!wM-l=aiEA6HE=-_u(ns16u^J`J_2iFA*dEKkVoA!dEJK( z;r?%P?`r9`TaEgvbc@ky4$|YnMOg!l!im1**spIHJ<`E8eACh%4n^C4<6Zvnk8-lgoed3v7zmx`F-Ry%-qZN^2w+L{XI+eCeD8W4U-W;1#hiu5KY6nB4`F<4<%(&Qm z3YNylewYt9`9b)bb4;2nct^AwtcZy@gM{z=*&VFLF0TI-;7Mq2IhDfK2XmP4(_0zj zXFyE9TZwjhE z;+pP}ia}1D{zIYO9|_8rn(8|D7D9Fup?7-7#5v@jcAwA&Pee;O%4@ip2pFat0G5As zY4)C{ZLm(2K7okPa2`M!t^8-#>MCel)kuWPb~GY8_L)`q@DOVC_ipCnv@J~7J}mNq z$Gae*0{_!-K=UHu86OJFll7L_Do-TYpW=y(GWI~*rYst7VNi7X7PP& zE}`2NV5b-|E=tKia8P*YSn#Fk6e;%|Of)yIxJ@8po4f7!?GB1O_Ivmu<|J&?_(+Bv zUvtj6TEp+wPK8)`5ybgp&`vM+9*)S*(@V_x1c z>k3HOjrdi19hYhHXD%<&9~ZX-w(I;?dvCY4F1>^DsyT|J4$$luhZ$3@GFMZh2s|># z7sYsr0&U-|UnTbY)s-bmRshE!XXkKYzPK&We+N^`Dp+)k1e=hRS2vImhVj3}cH8N9 z80meW{_sQ~Ud4;WU@yuRrzkCh>H)2Nn&;kfnpC)E8!8dxQe!%l0c2VXvj5ttzImD- zjrtXHL^j-FplyV6RIq(ZH4<`OYAd<+Uj5ua;deg$D`!U*BCcPHU|1_rTgPC8JCIZY zi}tmIQ>NSC#Cl6LubQfVG(rAc*$jv-h+qw#z`De2kLVId)$ZG?K`K9YgW3t$ zb6p<3B^z#eMId4w?SS$07We@{Bh@2&`bbe!8uq?3c#S&nBzOg18nmEFS{QD zUEoBqxyV1SXJ-p=F{_$dD!2dbiDL#H_t!gP_-C!3T%BsHo@5_;QVg>5#_uR2YrERl+XAmXu@Q*0`z(4q^}k4kK5@3w z|9n;4Hv4dip;jxPL7;Hpgf7TbBX?XK9 ziQvKu)oWZ^3So4KkV*+-w%~^D-AC1vRf^Z+{C?duH}k9{bKEYUiJY}xd}8&L#(g6} zPm?~tgZ&Cz*LBAiDz$YV6M)X@^ag;ffK`@d?$CX(JuJ|A$N9Wz%WRL~Ohf`ey#skR zQXlb4jZC*|A)@aLhc!E_f!ToBk%)~LNl`^UfmLp8@^%1$h)ZP3cEGtVf;?U3(WMD> z&%fxtP6K>CX|1fnozpY<^S5Mbv1_h8RG5~meCB0;WM~@*N`(c$2scpDaBqb;q+>ho z019JR<(6+c)caRU)c*qPp(^|o7}4p+Seo5jW+Vpap+HX4@^R%Xp~&?Q+<)wXUK6XS zq(~`dqdVpzy4v6FgeO5fNbv#;Bn_3PF(y%A%&>QCPy0{SSv?;~bY^&I-YJ+}jtUcv zsv~u7NxJq*@|Vfep5^_wvaYYE7o+{~f2EndofnZwKHT}f59CKI?}|m7IZm3vTDB4tU_n`e_QHkPDno`sWJBLGpZ501*!J_u9Ee5bT%P% zTHzsUOMP9#AKA_5np!4rYHIPi&G$9_%GSo*rZlL58~YLv(|g~MGh7Q^4WKd}d7IOO z&g@tkuem^G$6@0__J9{Oara6yl5e6te16$-x|@y{s6gDV9C$-%Rp5TRYgOz6I$^#0 zb9h1)0j-o6>Cc`g&sbsChB=lFZr)hav>y=-7?vT3ieJj=6D1zGz`mt5n`YcG3Eq-! zeDErfi0$L4s+9jyQw{acvu_zXOa6UPGGji8>^dV@(&l4ObJ2Zj?`ui6hz)!0-Q!H$ z8h^Kw+1o6zp;ggr+|Kd+Gbr1xELvh%)%(ZZj-e8-exRKU33X11Omg54ky@emHWrNZ zVNIBA^C5W4bi9^XuY9IgYFrB8ot?4f2-R5Spj*(4y6%kktWZ4(|2Pf7Qw8X)@3**6 z_uqfbw?76s-ErPb4;I1Jw>xG&Gwg)vWv*?VkWdPRng)30jlRsg1CrU0DSKcOd+crA z`a0E>Pd&vfcTbn7jJp~0g_+fDMqJuPyG;hv>SItu2Og5yg=9(l++@%%{*uy-9sKE~$)eTl*i@qO08vtyhwZ~b&{p_O&8YH*Yk$vL zsr1pAZ2wU(%d+e6)YLspT>4wk3z@;{?n4%x3M;TddvxOv(Q}u)JxIMY7Hr}(c0!NuZME2R80h*b^%eIINXWdP+((+O?3xinoWZd(e^A!3U( zI)Og!(Px1%*4UeQsSb*lcADK%J2(Eh<$)fkuCoi6saej=C z!RWCnusRJo7V8ucDz)sr#r$ZUjgwSzb4MJ&$|p-yv5T$=9~S*7+g-Dm<3}ltZS%In z_{JTV@0CjT3B^U&lpYwNUMHKNv3#W%+LW7Z(uP@gR_vSC#`a96e5h$_u8V&2HfIiP ztMYDH(4)rjU#|=np1Y1$=E1iUEVk zz6WBvbvYCLuhk0~8l^)r8G-X=V0PxvQM|ZSYrOb3z*(KenL0-~s62z&Ijf5Q=QjB% z>Jevn(_3>R6uPgWqihn*jBzqfz@O_1Uq0B6s&PkBVOXiCCsY=wioJ(&b|-t@Zm_rY z2(1m=<36=woQxq$FOsud{H4Oo_9d}8PbS^(XZUC$^ZN$XN${qp zk;;5)A`6lAQVXuXfobL^@8J|06StFnSU2RKl@XIQz7!!@M0LPOJf|eBA3j4G!W}BK zQ^Sw{^_`v>fZy z@>MM_MWonFTgb2LJ<~B=_~ahudNeFfufJOSeMUZR&V{TL z-5SJ}L0P8mU}dCX=zA;kGw8fkcgb#jgT0L2;wbu0KRz1Ql02N~o7g%hY3%Drl>W44 z&H0B6N<_2T7MgJ;+gB595}5I(y*bzGtB!fcrHV|yaAbVz8v3LW8`nB6nH(c)?7)>h z1ujD?bih}Ds~1{>L|aV_E_&Cr7#37Yb7<^swjBtp3ny;l^hwGp-@N%*RuW7y7u*A@>A3p~29DkP8o>9U2`8dk(#8FG&wPj7TP%Lp*#@4N zsrokKUNNI=U&;FWmc?LvPkO!YB~F#a(3TmZeN(@E!5CxT|4f>?s))?CgScQo+)2ci z%5I+lv!a6z_y6rmt*0R%`#}F()I{{g9NNupU|$elkD2O<6Z)SoOJqqR%y^;r#{zS1 z(j()**SDM(S&m?!l4?JYQj;)#vq9%US(5Qgyz4aie_+r5^NZhXN^hgKA6TszGRobW z+T`A%7lLi8tPLuQ%11e@v~PBn)C`I(N;j9-OkbEDg;y42Po2cfeirzDuM4i;Ys5n+ zGR?a%*Vz>D@wt_r9x%;xR(A6A{6VPmgK>vr-cp)`7B9WOxb8@&`hB$qY(gWQbxwPh zw@<8TnPT1#lo|sbVE?~Q0zzZIF%M$-6HnQz3tBD#7S^J*j=7em^B%?_u!&mU30U~J z=Hj&QX-&gyA$EQ66{v^$kEd7gHy@6**Mf$@q^`=2i|wg1Z!{~yj*3tk6Qs9fV`{szS93JZ|fzxKPrT2oCq|F@C& zvi~bJ3LuOZ<;Qf-w!}_I8g^MO|EU}UR?vHU<%%?0N>-z?&C0&w$JCAikSZ&4S@IA3 zy8s2}>OWTq&D&PsWl5Z^8RN85)z3fAaZANA9|Lf(eRtAE zEIZN+4mghY{^L>8d2$s3F!9;W7rXEf$`|shvqM@zxbZiD@!T~(s!ERX-UgWLJm_WG z@{lnt_#c=g7JkuJO!54!?0=oRQi~@;OWSAEBM7}KQ0B%yxm#NfbvZ`XHS?WY zNPkk^fTb-$`izz-X*aNK!_-09528^bqzbEW4MeOu5n zd-NHk9BX{8zG{-I1%VJ*=ze~(c^VOusam~r>xyq)E+9Hkhz(dzh4`R>d*f0(>#IgV z1hkL4!0WC>z~7~K_|MAjd+E48%s$gOS43rFyr!gso1MquUiRrPbdnNpWznl0peQFU z_n+Tt03ygDf539gn(a6mZe6TdT-ctp$L)p$R~;|-7cAnk_7<<)0)twA-zk4C#9&A9 zc67|G;};P@|6bkikf`C%Nx)1hb4R>AA_$T z_p$0<8=7xlV3$9GTt9eO|1im|zvj`h#~YebJ2mZ`)yqG~1hxS>uHp^61Eq+vd8Ici zX56oyhu%FJUf5rW%d>-cxAeKO|8fDTKi^-|V7-77%W!$WgPGa02>6YDZZH8*?>s4I zMy#w!$)CF<@BcHbyG9zm(Q@4E`gVTHT#S^WI^)iBFF8z4jMrO$ZtMDk;)LJyLUPk8 z`~OhQEr8Ix_`5W)%C&Mu))rdm^5fXq=4P*5!cyJ=j=uRnqINfz<^0dm!0*tuQfBVU zE7n+Z4GVg}2DynMta1Sh3;EXM*G^_Wa=tDG>Tjg5-hX|DEn}tCLz44XfWAX zVkcrd1xV0Y)^QW$lM76A5#Y>?xiPYmYw@zPq0tWT(h}gJJWuh)EkxLt9anD4TO@-L zj}mK~8PvVc?HnGAodL{p&$SoVu|BZ4tZ?|_Z&X=$cYCU=fv8kNLqEVxMZUdt&5O`x}R&EFsZ zfHtbg;YLHW8c;+M8vfgr-5zmnOawSwl8)L4a_&vzYas>gbh#^;0h$ky=ynZc&aa@| zP0A}RzD04&e<}oEsVDcZn8n8)hcgW9SW-2x-d_r|jQ|b_*Vxuy00&SN6x_*8o7zEFxYl z40q-2T+O!nNKppeanj;L00Ds93)!q!zujZ}O%E;bX*1zRfS2TrdO>z5!AKdkI=>fq zJQ8gGlGM>Ifck7wU!Eds(EhH<0(qM%Z0hF^UP2L~bDEfUN@=Mz+S1rUEsg3&;S!qF z9Au76r%NxAs^H($y}bZLe_1{D#QI0Y4E29*&7 z3NGTH#NfPNorNvgy?UQl6F<(KK*S_GQ)QCE@v9pStv!EZ3D-LJ>9m5T45ND5JF8R|BwFYmgdSS-gm!Uxx2U?6={M+g;?o`UIQh z+J66fu?kd_g#28U@A-?B!PoPN+s|H=z-Gbv`|sIuhCjFZ)wYRT(FB7*02_;1ns}*! z-)4#KqeZXl=6$wy!N>z9=V2B0gd!=bRx1WWMzSC6j?#)kazTYkf%*OOr9W$UC;RJ) zQ}%>r4A`qxqDE7ypyRldaY$t`o!@zq2T`G4)0Dk&QSA4i)q$XPl3c|1HF6SU5|c5f zoN_0Hd;=IeRVDH&L=@%Txtxo-0kZ8n~vHFK5+5 z*xRCS{1)0wx$88&&6R~s1gie97R3Fsd!wC15Y1K7Q^Hkk_>Oeki&CCIP zwg`c`N@D8|I_&NzeZQCU;@qZg`jhIWWtpCBI-`pAft2sV@_^w*=zyWN&8-1l;l=<{ zd5sHhxed>KDrKx^uA7Dn%6Sze%-7O(giK^8v&=5mkz%~roX-Ne-ny1}vG4*13v;T2 z` zRE^Mk{ry%u@-hd`W9hxNYjj}&Q!IZQ=hck9fG_)$$}WyU`?u6Q`4tK1wr1)HJelzkH}-8o8KGbd`mC<_bcjZo)wckWf7cvaWSD>WhZ?se-cPkCh3R?F7(yw@ z)qK8_xfg(b;e8!UoXF^ud_&0(d?g2U$F~*Pp_13I{ekK$Bn6Rsz!KosJaE>d3wR=d zY4`NEL7c@=w&!jY`D4|nUdU^3uD(6`q*p-t!u*Gz^P+gy3=tgj=gM>b*i+!Ex=it3 z;CgMD)&O?BD;hpW!jI(MzWSO>A$Pw)I(f0IKiL1E$iLU-c+y8EM6|R_9o9rcl6L2m zAD2(i6uYnl=)1gl zzQ!T%viPhV^&r_Su#@|SDP6=AF4%`>+}-I43_KAd;80kpv2UD}kb-CMx+0U)k-9&I zm;(0OH?p++XUBCVSG6>|A69#b^Eg8TJqv707SdA6CuYBkk~t<}s~a)8zQz}2d@-}# zAr#ug9&Qd)udzBS%Yw|a+oO)nd#-}fM>`a}M|?jd`_*`@}FZ|+)u zM+QGuFYr69NtrXsY{&PubJ$GA?0XOn4(lu}fd}Xb%4deom#@4=W_U)-?J*0e59uBs z{_Q)K81@~)_$}G*aP}Aq?&r%G;|&CIlMPGmM7luZnxp@bE!YiFagC48UgqCM9p>X~ zygfi0X-%IlbcgwLo|fpGfgE@C&a>jo{>u||j`3?xK`ktJ74dqpe(`O6)*Q9w1s z&q$){+JCTFBY8ilMhn?5bZTnUqlo+&DR<;aHyd?ypT)x$=aL#0d2Lt*s*=4Q36XvP zEsIi1M*hyY(A-bZnX0)C8nBo%7vY;s4fzZm*cUjzCR;0zDIy-*=^3`728pfAttyr^ z@5DG(L|EoX*tEPTENZ!f+jGs}>+q3tU-#U%31aVLKD0%TCpHDT#fXR<-YgPUO%L#v zJAn^#u2ZZ0;zU1KjtEM#I?Y%~uUZ~6{#qtkE}+{rHV;v(=K9KVC_UEE9h)>6e9+68 zol%yV{nBK=WHYSPi3x+wi`O*fu6Vryblu0TL5?ccR3RrPM*XF((}vlV`Ix6^r~iQ5 zDwW6?s)9?DnbSUf*Qs`FScipd6Xw0&`OVlP3U*zVWsevQt9d zl_P^t8B3Z=gJ}DR^gV_4LL)^Bha?i18#mmTHw1kZQ|&)H*LoZ=wnF4oW}vc#4PWo! zO8qe^6FJ*;b|g1;3*X3YsA|3Ny>`9}Bw_pduG3W5;&Lth>^u#rUYBW4ZVOpoo_i~| zdIgTOWPbCgbtC@S-L`%`^(DEiA6a9q?#naSCt8py6Q_c!;pN3ZW*FTYL@R#Mn&f${ zE1C^eRLZV6^{NPL^wbq1eg zd4#@Zk{@)9)J|{C38sH~XQI_k$#lzj>V<0`HzY$llU`Ve{XdbbR!D1q2jk%jeaXb$ z^D^H-C*W|nS5TP}b$BJ)D-0>35uV=<6H`ZfA68p~^%26#iVmfl=p`BOs!(FlL_pmC zFhyi!RWDc?S{7G7`14&L*X_7*QHBuT$OeHw~Z!! zXh1m$>9X11VR}dOH9Eh{?opDaW0#DVc3wylMS=^%U zGydxs72oBH&97*o>NrJ1V*MVMQIY8oQ-dReh85<$6v<}Q5u$uOT!b}j|H(P!P)J>` zACezcyvQdXMeX+43>zgmYs0f(Kq*C>u(sT zat*!aD`4My!WL6=fA}X->r>O;$l0c|(c|O|`-n+!yZke^zUE36QX-t}D!$v1K`ZOd zJxu!p3ytOs?S)aTBvL7zKzBl(z#GT(V*GQH} zMwH|3op8C`5wFh%64%#FhJ?O(Br|yO~Pz_*(#dN7h(2)q=WP%2@=`QsN^e}v{}pwhQl0f zHXktZzVp)D7byRyy5_8dN6&~}Ah2){`nNT^ZPtB!j)a8CT;^la)kgnMDy#L2 z2j?V+?P%F3fg;zwonNh+EiJkk)8QUZ+`2gueM@Bax%=hS@zT+T1*V4gs2isl*}nQe z5<@0jqBe6)<7K{dVNMRotdnNZ@2+&(W%*{Sd&N%9$OfHm?G-o$=6X#fu7Tsrcb}Fr z>9{>23y%|tyllCgd+QfwnPWtqN|-RZgsoP^db=9pK%;x){HKb?b_br>os$eqI#bg@ z8za#_H8$(~dXLd>CD9|AGeHi=Kv17*t6b1CoX6DEoLWA@P!X@ZlQcgnkU0D;yQKez z$UnbXC!;zNgte5f#frpX?hto@X>xwD*;qJm7VH)C&4P|MT>gG*|9KX#k>^5xZyM)( z=^%sAXDIl)LCd2C42nYvR&;|;sB6|gi2)Gz&akT&bq10l>P5kx)NXDSqpCpf1LbHP zpiW?4`gl_2H39oXscz!|Hpg^#e=`%O35oD{P?vup^V2`WExo3vS!qgQzU`&UP%b@? zYe1iw39(8MZx@kNWxnRFWK)LEcfI(G`XB0DJc-R*TKxkS?@%n)0g%)xKUXPzz@TiN z)%9*eTFoQaGB3AGOC(FHfHj-*L);gwQX^sV!l%m3kAOwCZ8O1wUrkC#Z=r*kUdt)p z-@34nfxma`6Rt}Xv^9Gjt(B-yB9L0!qu-n&Zx;%!)rxOtbS7zYYcMT3EXDGuX#U`; zx#Q9+L>jP#nYiwBisdRkixcadl}xc5_R{Y>A5&$yYb)v8TL4!uDm(Zvi@81bGY z1Rg1bn-G!HyTph5O5+nPX3w5Y*dp0f)_5!c+@M>PV%M0^1+?c_87B8N11W{RWVavR zH1YpFH7c@E5^<5RsR$qc@!0rEpi(6>_B9HpdA>cyuKoKEsay~t=giO9>ch77L6rAj z*&K^XO!f2UBU31!g*H8;SnY%S^FJ&ZJlVH^)#DQ)+l2cTU#T1{i}Nku1|6xkZwZ1+ zC1of#k-_f2*s}?^TpDQY5*Q!Xig0o6ua#2=yr{(QQ?D=XFMaAl#{|JDU)10Tv5&|s zK%W9=WJA$Vn*7+00}|OSNi{leGhYD;c4yvE81=%<*a_~|H7)KA@>Z?WFEO^-u{1r@ zGURUg25#nFh5#L#vC@nsj7 zyHeY}0V%-phX`8~`DlIW&sj?V77@}!Kt>whnIhjw;|qBFzCNdBtwVzU?}aN&Hyi+ee2GDq}|pUs69g}RO%@HV~> zx$O7c+ESYnzcGbnoSL9?oK{4R24`+P;)H5C366VKYWkKqj%g1i z$~!44fnP|{GpP5it_6w;TNy~}W05x91hO8HhyJ?;m+Tas)(+H-H0fInMcL@70c+%$ zwN)>P?sxJ3SSBbPjAr{+mY*0XTKw@rd< zirNPQ*h7dLSLCa-E@QTLHWg8@NoLvAct7p8n*cbYQxdvn+<*RpfHblOf_TP#Y?v*c zFF9%T=MQ02u4D`?IbW{rqd+peSAgrx;!{b`D~>N5&mCW}Bt@CDixVsE7YI$nK~V0# zd8Q;K?2<+f%eSXe=JloKC2x3_-m&DVYe`kgO;Of|w-*n7$0!<@4(F1mfy>|W^ zotdsP@wy|BMgb1ROs!dn*ZlXj}2f!nhsjM6w=Ga8z3b@3Lc{L)=IBUieYJoWGri zId`0X`uim}qTL%@5jrC%AGMe#x1Np?MJ+mWU9ZQI8|iN{dJO{jcDD^n*pG>jDcz}A zjJ}D2$6)7YsqBK*@-K4t7y|6Qf9Upn;YIXHRmy7w`b=e0S<@T|3S7S>7a=#G+sAe@ zNM~->#Fv#{hq$`DEOYDFxbmZH==WE3hA;-2a@WL2WLx&%Opg=J#%1%+I0Ke)^(!a2 zgl?=-sIInC1mk9zr?WmcB4W*S*b^z}DNN>gW>s0aRkL}`q_`Y8sLJ<`Lb0TSw((77 zvUc>)+7^y7ee&+2y`uM}Y#BVPso^U-qFo|Ttr<(ZdaTut)=56(^A7l_ z%x$uUvSyNxYRz}mIX1ZPuv9OWo=|z5Sd|h3C-R-$Y=r|SCPQ1_p-LPpPyK61~pa)x$SQ}dgs8CJnLs7wF@YsaZtzLa|> z*nO5hzCq6-5ys%9pOHIzUso$HWaOoklL%N;5c=CXA zupNCm#G@r}f&9Tnot85&NZCNBKdo(*Yc%W0ovUpHl?z5z<2k(g`oWJ9;FgxO5PNtR!9 zh@Ir4uGv^BS^P>i?0mFgO{Qi5a%!phF}LQzpK8fLh&qMUA0cQe2A&l5S7>S5TwY0S zMuM*y%}k!}2%1ju3QoBUKJQtzm4spy8{e8Ymk>|Y=pB8XFsO!49{N5a)xUBUuD8w-MltU^H7KbWn0Y$u5!<8>PNjod~xv-+O!p`tnWWv`^OP5%j@0|X)mwal*K+ZuL!qR#!c(foGT}bMslkhnk{#L0 z#Yr$KdBjmJgb(51#23eX+`DF}&LpJ1WJrGo-Yp5mfwZ0Tx zyD-7C&Zdd0Ug|blrFOhz@>GL+qVqD{E4GF{U7vDKv2Az9G+wpZq z^^{PfZn)KGoOg1OeB9(}RnOe%aCQ@|piKc&Vk!xI;5FAhgCE(*=i9o<&S4i4R2hli z{~N$H6SR5kb0f518L!G*yNeoLKLFSBHJGU26RgTMnfePN@MAU5B$bMhU@%ZvzSVY^ zM04ASpZKJwfO_xmC`#)*ZZCq=Skx{7zMhu#QgZrx6jxi+y@Ma4r{OA7$$ zPWtU6e}83n!M{H&?=XI$DX3Qtob%mc-Q3sXNPXt&yNlR*6yG$(&SGwI_dy!-TAg!7 z1Up9`Fp-k81zfoa&#;q6w(0QL06^s7rGHFTMWk~15ye@9@y ztWT$X;`=u$?>h;46n&J%H0>ew>Wc_PC~x6EvLIL$OSQ^A9{`)i>_X|^1s zkRN~am?JfTG>7(gY8MSkT8o+KR6&IEJqsp9XZ_Vi@B!Bs%34=_-SlN?l4x<$ zdT0@(^qLow!BurprI;U`TifY+`|~qxz2m5Njg#V_FE0FbAyAGglfX+o2D*hqIDk}* zG*D(3$SWkIG|w?JAnN$YTg>(42B6wIiU8E^(gJL!*8QwinD0QxorcGI8&%9Tz8MCAuPk=w6i`!H{1zEW8X z?d_};WMQZ%#wLX{RY)Csej9QljNIF(P?M)zgtb*#88L8WxQAK)cdUyw1dq_7Qz?X( z$yQ#2`OTVI<^9q9a)0r4ezvvxDJczClL)EFYghBdFV-V9 zj(#5CJ{S#X12LYRUa>U=e3Pu}rrpXVaNsECfal!5dx92fW z2nAM2@~T@!HPJcGyY=81#&$?(Hd9kV^q(4-aaNRgG`vfv2+~~`E~(87ANr^mTQHK| z%*|3w(!Ep{SxZy?i_~3#@P3PmWi@%ieU`*UJ}?VKm7eN8DTOC3iVJIM3vmOfpaU9v zL7hvDs9q}*0q$W)^Iioq$I>MS2C#p0yTODPX;e*The(9}1n(U$7TFu;#3#Yn1!O5i ztm1(Zu_BvtyW}FnqsFpNJ|%%r^Tech;rm9_^}5md>Za7a)16{nz1H&4-~vMVGxlA>Vc3Z5%(|j zj%)YKKpr@Y{rE$l>OwtjT)!u^rMl0^-rQ+9`@7-03Kd&NKfOe7k*0w-DTnn-9%2*T z9!7uvD*;d`or5>%vT45kXeS`NDih4InLN2+!Pn?c>TUbtprW`eYLo$snt^smm%~O1 z+@M_&ymZYE@7))KF-bjN-}hKO{b+F)qc#vvZ@nXRTm4(Hl)q5nOABLIS@jjafc~k#d|Me#A)9{D zexnw&TCwMACHVXFJcHx;xP<$FakXWhDuZ{REu<^}EHHFWhdX;W$V$ZdCCOahIas-h zRHIR3)((^&>L#?eNgvASov&v^HaRw1-R_hKYp^9#28w6*v`r5nA{%$;Z?)3ocWn1# z0`qO$NE7#kIQj!_#TeQix+FjMJ96^<3K$+4(`jG{p)PRbY*c2!7(DruBq<}lu992zx)qT$}y)?EzOz2JMqWX%ghZ_nq zcXbE7d$W%-m9;%foo$T$w`^D4X>WG7A4gD?naqZ#0dB(9^;=wnrKP@%n9bW17U5F3 zUH|oCt0}csKD`@`I3cVgu`+0)7EjcVIJCl6Cm^c5rRa%*l<$#v91cTy8+WS$Gc{h% zCA?%24Tap=ylV-XRcsiV{GeMEllxW{R5s3uQ0=w`{W&eROU@Ae; z0NL(X%EK9u*=+WMb^4!0me%~A5RG1i(3Eo57-N^w8>B6eUM~5;e#Ys$EiWZll`3vp z6rnLCA24?>QGqixu(VfY!^ndbl%a1|(sQxXZzZ_x4^88D4^IyGwl{233!6$-vc3eE zx%5{3tm21sN}qArYL9UuQronvCBexkZ0n}IQxJj{B^^W`4+iI%Rv;+~5)zAfH$C9z zqB8SHg(tt0{m5YJpc44~(ItV#cX)+MOqzsS_JpGuxF#ii$gdkIBu|p?5FaBs(CYYH z^oH6Y*Z7A&jayB^w8EAlBpxc)h~n-~1b?G3#HE0^?T(RVT4I2G^vs8M_4W+Ql)}6I z)qkVRan*kr`*KfAgiM}7l0)blZsh$Y$*RK+9ZV+ZiXXrVnFj(m; z1bINQasAbdP078uA+7=|W_uP8s8oX%g^t?a>jvV@NRIT;W$J5oPK;exl_8Q0JnENw+2-5)qR0bVo9&Y5vpOyxm=X}|Q&^1$!1YULrtFE}zC6LMIi!&Fx zd5TlQwop2PVd=@@BX*1>P!>?939d_0>{HPcn=^>{7NZ8vGEZG;VQIpTEabxjw#a-) zLe>UwI^W9zmHhtkLQ`ycHGq;GVH3a^_yzhgEP@g=aH`&pa=riR&0vr47C)KeY~&u= z4+&mmg(1%AH2Vlkvpw`s%}3tN-R!qUc4?Kcs9dXPS<~Q~au?x4;5WhMwUa%lqAldq zeCJns<^7KWr<~t4!EJnazvS+H!x1XvLAcyWCmTMv<0Q3HR|}tHAm0SBQ31~|@WtX1 zsY%W}isvyZ=BjfX{!gla4=qPpG#zXkrZ(zVd7f0I99f2(UU!p~_)we}t4wsshchyOHG0raqg166&*rPv# zIg2Ys9iL`ve>(gV(9KIG=tHR&{2b6MkSFs}N_bWpM6J%6g# z=4c9MBz`;k>Kqhfl$Mm!nR5R2R+KXH+!s_r!C9NP@}lpfU?$u`Dlu&ar8%efcGN``Ty6 z)eqL14!sLi8Bb3pRn@3{bl@+n=s=>*y;R^C=k+bK2lVu?&Z|p{Ca3jOo}GJ2WPIH5 z49qzv7}CFF5$vw=|A2;7RhCU%kJmc>;@ZsN>0(8Ix%Db=I1+X z0oHbJ?J&CvBYLnX52G@-O)MDscG+)*=MP3VQ%6=@yvIG(jE;f9{GH*lUB{1WExPEI z!uO{?D3r-s5ev3bG6xGZUMRe}!2*4=pV`0yhX0FU(^J0>@39$FLT{ANYP4L&)r>~& zm!^1p9G~*7Rv)|MHv+%1dVW9=W`P&%FS#m$ffmunPu$)`U5wwI0FTozL@bQ=msbK| zE$;WGOrgVLQ3cxL9$cFxKgRYyM>hqH;n`;NZ zEWW&YGHGg&fxgQ(5A6_(d@+h>x7}e-RTVn@n#Qdcr4yCV;dws#LEzb{*lq>d;H_5` zo3-Me>(SHXsmGCCH;T!PSrqHHG#$N5HYv1T92FaBe||`_+ns-PAmkTo&$VwxFV38y zfRPg_CzRjc>`fRJ(f!h|Z}q)s_Pxq2-NYclMSF2}{Ql_n+-H=2K269Qb9(-`FF$Yh zc7j+P`5cEtJfpga!(-@nt!RAQ4~M{>(>6D-XU8wd&^fJtooUR5^~YmKemcz~Zif~vozr3!HpqeUfZk!$ znc27T)mP=tAR=Eqno2mPeU2BPT!WFW!vgNX686@D-Iyl%(tGYz^sI`=S-cBuarlAz z=)9{$F$kTISH2il!5WZj!N4~mJGRwFb#X2erpI1}xN-6a7%>HXwcIaJ!4hWi69QXR zqsTrYXU)@U@E=-t7hdq9>8@C&TniRsb&|&K2m0#C%BP3uV+ZMfi!I(#o;c&i{5S>Q z*~#z?ZBj9Dx-ogf^8=;iY>ef$-MH02UEoqiu8+%vmE`a3Z>+sz-VA)zU4ckU-MO#T zn&gg_I=6L)@epEiZb`}G;quh)y|}ZHMjw*mH%b$JhLCopzZnito~od=x2)epW;wTO`5OqY=b?1> z2H3QMt!6ahcK)%-$E~b*2OE91WRTtawjAUpuv*yS`EeqGfB*5A;Tv+pGTkR*P`gtc zhi0RCR#6Tf-HL*WeYXT%Q8joI2C$$LaX6M5P29rq`Ubf=Ak^X4uZ?lJquiji6=)4M z=Fth3I*9KtbTF}3)(+5Utg@3U8sN13jU$nt{J8l!O)0zo7f&K2VSgbtF^<5Nyw}Km zVgOEepaG3P?K^IbAU-|Qzk2H6Ca3FbksNah)^zs- z<&EUMSZK|14&mIK|B?RYsC%~=dS?DnsmgNWv-o2@rnX@DfRdI<;nf!0ot29v|0WpwLNIu@4${aRYtw^Q+^h4~2!b4H3>xx#T z#(yhJbND1Lz^bLzI!O3WEpPlcT84920#Bdf=>6`C2OU=L$qhpt$>*m~aqDZ1lOOl* z5Wfx=TkM&0*;!R<{B^z)ix!|1Zp9lID6XOwrG-h?L~|IHBnqr1mkVZ`~X z^rz>cz2pFHUzC6y!)39#)Dyc0?)YI!R`=cnyPjeW_9WSooZ3HFAy@7+uIv*FOV`3y zdZpA$G4&!O%FvbmazP(j{M-SHr4Bmk@*NDHU@A6}T)5 zoz0a&)XL|L6x$K27xstI z8B7n^Z@!5=ALgBAiy zJq7iB!u>noN7%>Y5aVp`s@F=fDc;v4TG1#vbX#)-Y~et)ljC%HJSNkK>2r?grDDcc z=IBqZX?YUgxL7+V7U_f6qoCQE(q_Ih(({T3ysc&gGt84V{mb?_g;HA;?x`#HtMZV{ zb}yt)Zx#7wbwE4TE8{Y5sLOErag0kZS&JpcA6&3pRuC9Wu8kEeO$lZdEq9+hr9QFk zA>MlenpL~r^_7>QW}t^{t>Lv;ch-_-6+fmoo>Q`WII=C`ltprKO-V`7&0QJ#pmeUR z{fr%3Ig8JwMd7P;KHfB4OMdc-dR<}-HL@Auh7YB>v@N^KIB>tLP{|=Ho6TOdHD$t{ zGqiVyuRk*&?O>O~C(7Yi9lyVR%UkAF@%>88qazF3z6%6f8Zo?7h+y zXmB%o!p`?0yCBMjcdTyF*}~Y=!kGJC$4-#Tt&>`5ZzjaxcmIrv?Y47|VwS80M{DyGCN@_(xaLexiM;fyk*|Pp}g_0dvr*R#8 zzV-s_bMxruu`e&pvP>v`+K>v^=r_d=>If6bj5zh%A7_wp1AZmhf;@*eLR43-wVvD> z$f;@32+hhiQ{0#oj=H(8AD-;OsvPzzuXM#BY7}8evQbGA!Q~mM&5c7tY~Ta&Xhq<1 zaz$8u#zBv(IFD8ez2;jR-<)KCC;R6L-3%}!0w7LzLqU*ttH#T zESti&0QOeXF!+oXOWq{$EiP_7xQC}K|BBChvs1fukFfG^sA1#b^ZB8^*ETw#Z#r(f z?lOF9UBNu@xvHk#Yoe8)zo2eK7P?5T7pPC(Ai_hR9^4LH!A1BRDMxnrUildDK)L^0amC~+x^pWHAvIiI16(oxqiIgO`ue$_=xP3Ldr zyv6A(7h&G%Lr+cJj7i9kh$5sq+1Ts%9-0^X!mp`~GG*g2=nWQNVKfo?BXGOGaZ4WO z{%NZ&7@`%}YLus+q!$8l~B*bpX&S>^$t(FeZKKcdwFV}^<^_E@LKGc(yXS{t)t-3V&1?;>&#J| zb6LpJiR!AdzCZ;{&OdXq4=lEm$rr|4$UU3iJIV911=xM4NaBO%aqV6z0S6~W(S8VP zZ6G$u170p5F^r_fn9{0^tQFX5J0p;M6UH6n{Cg7_{rSfwnX@s z->+k$!gE;NrTGdc(8AA}#s?x?x4wt#1=WH4o+<|F7yl8}aD{#(Jzn>H&UaDFZ?lE} ze!X^ke)mk9qd}m%E9#RMIFe_*eP!FHoAwK>JT4YnGC0n(nItDj$yOQzu9s>YI;ZtY zD&C)MTu8FcSJ-{Zq&VH>f3&lk`SPgB<`~)k;8APs>%h>Gaw0d*($F;=PyTzU7geY8 zf8k*8QAJ2_c>fC)gX5w3AJNqR{*aOSwg2~z!1_h~%>VZ%Db%d`|Mw^VKOb`Gf1p(= z`USX1E5I+IKoZN*5WvuI%cXUH-?a;X@7?}w79a=Sq#oT6(TP7M9)BXPz^o1?#~MHq z$uVc}1uFi`r2ao{Gt4z-|(hQnMuY!L&r{WI*1m(~_ zK*hOjI^Jjb56GpmhFB`s&@RwE`GcyocLO~4dMq%JJiTJyP7MtKl6jGpmaU|+vk*qa z#6LjWwg9%VC3%(dUy4J4W+dPa!D$nh5DUeoN*PBUO7rLZ^XLwVtV zn2Wr3yq-Se-?p_8LMZ0R-_YrBv@$ayO&=g@$G=S3&W$k-&<<~cQ&$=^CKtClv-jpy z!vStX1{>pEbu`zhWAJTG+zRAhk4V8>c?TpjcDMyLFv}_E{p*q9My%YrCYD}t zZvu}~B#s+2u<7jW&vL#`2N-b~7DS&zTg8az%)-3Paq4I>3%=vTuf!KV%dx*E}I=BXYwGE>s3%v(j;V7n#?4zB6|Fq;J z@B#94grYMjc18?%HT0|n#`yozm1JqR0F2ZM z19>ZcfQ3k^X%iAa^im;}b^)gFedNkMNaa{wr#jq8fNE_51pmxP^B-pSMN2@*`cdUW zwG`r%Us*6-un|NGdJY zR|#ph=;tJ?pRVsJxM#flfU>+K2oS0FrBTv*RP3BkkU6QaVuE?%__St~^4@ai^EwqK z%?R}(&ZfUlX1Z6G11Qb41}f-;rBb`=)JUX2q)6}|rf~PZY$~Gt^;)&F>nwK{J22QL8WgWI6F9ZKA3px5{(BPVdG6UH%kVdoPw`I$KTvuc+y(o04m-;z1PwbAW zglFmwQ9^eQ!4+L^*)7>9z|1t_9$;PFnoaiCHLWTMTN_8K4#ROQ7UG3LaxF)2Y`kZ-S+`ndMieUDOnBIlwX@lYxUh;ECUMy6Xt`4>8@(A(Py}7dv7O zn<#5wQzXRzAe~hM7qq{_ECL zPdMVkcd%t|_9kWn-xuS<4RAQV>Ri4fvk8}OxSbcN4aJ6Fvx2yPt<|i20w=gi9iYBb zFig<;Iu&)FGPmCb(08sJd0uQGW4_imsP!NhOVB-3^Xq#c;8zx~3(64fuxy0= zcR>E{=8?~Ha^ofsxtoe;cs%hg7X>V$ZeTJEn~by@&t4mS1Lw@Dkj*Fi&x6Ms+Dcj#gTaoNEDJp(C#HR*C=k z?Jj`;B^yb|UD98Gr~>(NgP=m!5~!&39cY}FwrDjpuR|GZ)~%@r^okF{9$N?r$1 zU&N;f4i*3=um6e*@u@T^LQrRPZ_1qKR~;bAUw> zZKuk?>KvFlmG7!Qgfch{zfe+A{QkSQi+sk3kR5t-20j{0C$X#1dd|G(v&j}Yx%IGQ z%I1KgKj>c|=k{Q)svpdhkrzi4_Vq;8LSRcn>293nJz(&Bd%95OPxj~n_xIk6SNuXQ z5BYF*c*5hmgKj$0p(JPuP&+5e@C9@NNth|j32VrEmK4a7cd>aYlZ~l5?jgem1PSMg zH~;Qhp`UGuP@3 zB#%8x@!o5pa1I`st!?l2dHb)$Al^aqv_t89B*8-7Z~Z6sfK@(Z9fB?u&XJvq<^c&| zL&W# zepA4@A9UfV5gj!*eyH%lgEpb`k5nH+j}8BFv2f5i9VVN%*1WCYT6N{+jm`&z{${%0CHp!VifdKFA5ZuLAmg(fAcyH4ke8Qbf(#f#(eo>y)xjVe=pkWEl{J-obk%)DmgMzwBS?URmjs;4u9;aD{#v|%o`NYB z%Pms6z_N$WUkYs8AcocF6yYA+lDF{xQ_0_f`k^&R!sNa9B)vhesDYX2Iy&G=$O^qd zS1pE-M>YP6aZ6OYYGxkTBhtW}wYOZq<%$^*3)kY{*_yplTz;6)wmUhtny%V$SyfWA zwEu_T1f0a`!z1@Cw0_{!`f&!{_wx^-1_~}nOO{s3J!s|6QV{5(QayLGmgsxNs8e4G z<*wGQ2T*_a8BW{23usp&5Ky*TF<}g{wi4$PC*S9HqJ^Uevi<+Q4cA3Lh(N@_rvm@G$~Z-7U?~ z55&1KLrhXVv*9;>IrP^Gx99wqrqFIhd7UH4DHNI<2YAv|3Ly}*T`C zXS@RrwvwAs2h)sJx~MLvRk&ZWoT6~v_V^1O?qH|5M)c5X)tV(K3kuD^ttENg0EUok zFV=tfvpn?$Xe&B<4!fO2%2;VNp4PFs(Sw)-MnkzhzWamLrw?x<({d!wK%#`txtuJQ zO$Dx8h4Y2#=Mj@G&!Q1&dHqCA7LaF$Ow1uRZ&=>n!-=l;czH`V&jY|o?(ZRXTBT}OWlwB8*>uqDG6dag$Zs!Yo%@_BwPu8d^okv+NB#PT#%ZR@ z2w>JYt+-kX17wxMriS8;!u~fuZx>ED@4;#tEf}0GX+D9XBK3PnEq;Htq{xgJLc8aq z0unM_OxLyrpmOXqjLrWMd}5l6<1k2z6_SOsn9mr7ggSfoxaP-VI=f_PCW&QhVLGmLFJSC#!@=>h4a=W=x`TXQW{9T0o{Lk2xX!Y;@9pr?2RPj%dp_$0LvOc)-C#?) z);Lmh5xs3*>)qVF7gO^WI@2O{c8ruhJ)ky`1V$y*($N4A$0OWqS%{NzKg!=I5_aDW zUez>`ep6Qw?)w&GH>?$EBG<4M0?thQW#y|Bz+PP0V%d@J>*D zOn`UUR#mH0DlF2=3$C6S7lIiGfE~F0Zq2+*(&NU9eS1;j&_@DCG~q=?X&khG#8iRi zk+zSRVCG0d@mD$taw7WIuYGN8li2NlR)?LGBiZEBWMtVNt5CTwW%m>@APf->Z@HDM z>8MFjSoUKlbyNJ0u+oS$pM7n&velqvRTtH^%k!~YtE!1T) z5?D=Qmth%9w5*D&Vp!mu!LNf?`xO`#|3O?1Uo||ye)ycdAY*H7-EL}KB6)$7AG9t> zI=Irh$c5EYFRAk+2N5aHo^*jH@z3=ve_fZfBkZ61t1MAANEvR8V=V%CiZ|bsjFf;MuO^)9Oz%0SyK^N^WI-K=LbsuiwXa82poICXJD;DH3xqK6hHEwp= zaGOeAPlc3KsG3?9N)a0-gSWW|XR+DCM;7U>4e-F>(o|(64!%}I32Iv8anW+m4GAb- z^XHuVr5^e~VdEi#)9doFjq=dRXiJN|zJgX+heBiV*{oLn!aEr7L5~&paW=q6YSD{BQ^I&L*6~ma|Gx+Y`5y!OA{;w|P`*J6C3^2^R#BbXb{mA9!v? zSTnzsoV64nh@UR>|x@G@uzC(+v-O2e_ z7$r-M404O)f~5$qSPZ)}$`KiyY~C^p2;n-a*Q9>3|Ebui$mIV6%k(%c> zWYghS79nyzN{+DhuGe62j-y4e`@xHckeE~SV_K&oao$gw5s*+L?g6wji*Jm0M&R<- zJ0--CkDT95sNDVt4A}J(XajbJ^{M73{X6D}P zGoZgftvB?r8?hj`9Pj+gxCX=vYmSbmoYA5b!7@-p5MgeSP@Gn&&jNG)lKa7GfI*Qw ze@(Q3A_{b;OujTRL8priNZ*tp6@3J)e|WcrqKyE~LLdA2$SO3+g=xNC_J_`%Yd^JQ z_q2w_&Tb`j^v1zQa%OG)`TO$*JT$*w#LC3AFYB9t@wdJ}T~VClHjGsgK#&5AqT`MU455kud0G5^b$ z#IhBry#!bY^XQk$j^4ZKXZ7ZeD%vwB+V3im>M`2*MH%V~yl(XsY&$(qM(H2Z<{xBvxV4{-w_3LC)0WG|;~}0}^_#z_3c$Q3ePZt;%HZY5i8~}) zcdWYXxFk6@L%lh%?Xqx|HkU(gU;d5-W^#)_xLK%?dvFNyXZ;#ZXWt(?x%-vKpQD}f zwv@ZvE-S9}drg2ID`!o9IUi8K-)^@X)}A`~%QA>7p2p>&Cd*D=A@5o2KNekW&1zGz z_K>}f_xehdXklEFJVWa&LUYJrMImrXrfad157s>YGswpwBP5T_o%IIibGDqm<*Pq*OoTb9LWD;EYsq(>bX;p z5wBX$8a!*TWJ&X{te@@>(Mu1pPETAQC~lNsn>VU`FZh0WKdU^C>VmRQCj+mGK!Ww{ zepxTEKMZdnH@gE^$WOl9Z0bwXhsu!-6xS72dqC$|94 zOs#4)M0pJqDl{&j`!YOnq!!X*{Q&vZdY^lC@^X=N=1W*@z0brmN@4w$z)SPsU!tCB z99g@47DF3rr>f80mLluBy(}wbQyGl_w{7<&TD;=npLg{-JH>o|&nafr@9HdRzndA@ z8?A2uDb7aUy$u{z>h=;vEAcn2 zb=#ASM`xULeSPjr?31y~jjBh1V)(Jv5d1153KM%Yu7Sm_H`tLr&?~e8LlBz*1#0vf z19C@qmug=RQgMzONwW^_^`zCHr+&-H16r>B`qD*+N*k1*T08fXT*;UDFFKhRgCS3# z2~u`hG2dP4(y=bNPZ!{z?KkZDNUbqLyJk+;*I7QTGlb+^L;BupHPmQrK}IKpla5@Z z@O!!tbp6E)PCAhli5rgsy!KGx{Vi;&(kdCH8VIJ?3k6Wn|1AwYf~CMcChP>KMuiGN z9f71dkglYDZawMX_3fbB)%I6C@5x~QbGuuoa*bynPv=Y~7?ce{ClgbMP6KcYJc4n*6GPbPtM9ty*e90^Y+jLQdu_?h%Rtu5Km-ohYl_T z$ZXMg>v&vNi{j`VK%H4-(4p-I;J}-VX>ba=s#GW7n$x)IF{@C@Q@1VUmcS5SB@1Zi zlP_q$-hN76eA~@)ydMUx*nM5M*X!J^rgzsdyobotJNIrRi1!oh#so5gn%eRg;@nS>T&OxoEawUf%wCHS4-DZI{a0U;D?x-e zP-RKW<6mwIP;&9w%Z_T~as^;rI{pRPIH>$Qo-4CFROQIRqrc3z+PbI+BN!8L}HNm7@_D5uPd zuiXk*imWwD8%?T(S{G=VOWb*^JBTkS?3?!AJfDXW;$~INcp|7KTEnzFA^Sq3l2H|gd3r7<0>1L(Ppx& z0oG23u93U}b$&6aZ&LQ;tm-1qX!~kzeQ8rY@Gqvn#v(JHk0miSep^e!o+c&Y0)pNm zbMh%GVmm8#*kPmj5~AsQ48S=Vtb2nxn5DGF21W3)IgljB6X^vy7apR+pdm5)Irp?t z(Sa3}AQZPt+pVd6Yp&Bf5+k|97?q`X<*c0UQ(*TpDqfXp`L&N_<34`J7n}4lBdBRk z#j$?yj)0YnepEOvG`PXCz5=G!=2sTvhQ-dUW2jF_x|2SQ;=}V9PH~@vPJ`{b4XyTS zcKe~AgmjlW^WubCxbq(@{o8v#w?Vv57Fjo2hTIt>$)Wt5%nw3HaM+m!X9hK-N2)Ms z8;z9s+eaaUs61_~b1)h!?gp)+4NK;hJ6y|Q8#4Q})m@52yv9W_=b{B*r`_N_%pv4W zz{2-jWO9kn?R;gD;eu-8h38l`&Zb+LQt!1VkmH3|8P3XD>Q@-FI z?9c)%ZB20mu z=S4Kg2HV&T%MU~MzvdAC+|+q2#)PVq5(ZA9qpEU?xQwFk-k&bbA0y5IX+Z0PO}*Nl zj{u>gx!vxv#`h|!{UooxN2Nf-RpZkY{A$}zlw)q9Z3rnfP?*}f_bbp)kIW!!z}@lZ zpP-oCd~!K`fjD?RNH0x+&x6yCRYK=V#iuu@!2dj~<`Nku{-j-77R?cmB{y9j z5zTNQFiPGRduPp`A`fJ4!wv}_GN)S#2GL3>m7B0rG9yBN~Z^DvS>X z2tTID`QGN>0Ggp$_!}PtSk4X4fI=^8h%f&SZQraY!vXW~hWzHVuh3jATCa6iMmubN zlAI@^P<#6Jjk>)|lk3%ci|)L|)`j*hh_tpRP_1*EbjsQs{qJ7V<*EkawXCli{ss%+ zt^qdlBB~*(2|gyUxXb9of_myi+pv|x4fS9Z%k2B?NViVQ{r%$kDlOLbwi9&e1}cdk zSZFL_!rpsjOWEC3lFBWNfK*5X1zvou>}&Qx@tsiNgl>hzT*RIS*k$w~yELBlZ0{47 z{3fvyk(t0s8>hiu6Uh;;pE`mtRcl?XeSJj!{(DKvOzgYTD~Dk-RNZ*I7kNiKh0Aea zM;fIGo{_JaE%m^?6moT%rMB;oMkQ9c%#2Aqb4rIky2L6sl*fP#3>FinLO3fl>Td)w z#m#0MZ1J0kHSN-8CFzbJ*1T~>*{cm9MbpkZH@8|=aX{}ToXgzMS*S1)tZR1bV$I;K z@dzQ_d%nQx2|Ji_ouSN5XA3Fn?0>HvI{USS-3bw@ISL`a6~VBNUP|U|UW%cIkCRC?siG=bvu~n z8%jJk6704BZONW+CrMMAIfygk<9Z)o117;leOW${t?tg#h9HdbJQM7ug?i`q5;Y4vZwPy z=5JI|!JjFIKJQWA2P)9UHS+IG=a^887y`gnVwH5qC=Z7IXPqo%$S>IC!Lnuw};v%?gG4S zz*+D^!~`8uHulWCDMMDwWc5s8@1HBH4`01_dyeq)b|@1|@+*wc*%Y{{`~!4OM9!;i zfwna9HSk;4UnI5wpjWI>y}a9I0Ap~|dQ0wRU8*NtwQ-Br&sieX>N^{n@Sr5;)^)Fe zv+pn9l~R05-8Du*)mYhz9hzp65^)|8VV#xZJES3yhj~I z$~o&CSe`dc?xW{Xr=pZ;n9P}J5ebV?S^@ou#}Q-H)Ok~TEfz7gf1(`h_rR? zyhZeWe8#u2CDhrs3_#X9CG4x<(J~Z`q&>}OwwONRE!J|2pUG)i2^}I+;8yKoKm|EP zrMt41RB+#7U0TTRJf)9SEXMp+I?Qf6lYsN5CJOk8jR%f;3;njBje;hIh%}Qo_N}b% z1^Z@DXX|yZTRI6nQ7);DoCFT#=5-C-Nt;d3m`y3d=@Wo2-7R3PtglIlt+jyk2-mGr(`f z%=I_dzfVULuD%7{;I$g`CqY_Tu&ont%cds@F?kxxI$#m7zXKpXVTNnK)$Vzr17MRt zeY;I)Y26ws11C!^aQ0MII_-2*P&c(Ba{>$*Lb`i;fD3?U=eym~q_3D-ze#MUe+@bL=nAPtCymFTC5Ifyv$he8}qWPm#gj z8hf-QAM-vB(RAnmCIXcA@QLpkuA*&&roC2`9}ttl_lvZkwkGfGOfshBC9HB1G6maH z^7Jy2Tk>EsIWWuXHf5}#q_>u8l+4=EVcEbL0Qv8nWU}TN0Npw&Z&2P^NpH(s@G~|f^-1f%zbXzpu zE#Wz1`pWHaeSeGFYQp4<)4NtDoMGwCaUdDIdl)Es@3(oucnzE-KU#~?YnSR(rqD{v z!(JG@KU@ScqA|}NDczS=>Z^Qea6JV*k@L7&UUck*YYkP0Q6_=17oJ;HX|-i9ri?sM z{H-s+>*Y8$L6>TxLk8pI^J5tDjRGcRB%CRSDSb3U0h=` ziJ2FO(+;2oBEZwo^5ImZLxLZXWXASP6v1)Iq!o`^sP#TstWdI=^ysXZibMFW6;`mY z881wq*S0$4P&)1p+5r+imRDnD1a&}29YqQSy%eJs`f0hw$PfgDH z;e1Wd*qbo6%RdPn;*y}2|D+Ci!uq8?VzeNcjnvTq8227zSpRIL2F>TTv?E*R= zr0&oVfES_EKbu6BrK53zM|*?{S_u(~Kh_zS(3`FuKt?B5FM&dPw`Mumdlz&_GyUlJ z7BmpmhW`LFy@*WxZi&>2GT}9RAN-mxS*J`yaE7|Vt(7iC61jBLvv7G)<=m$xS`^KZ z(F_v@mP(QZI&?-Kj6`BAa5iN*juq;0&V>TQeTAuspe&3;q}vq4&c}>f1R;Uh&rt>n zF-}GW@@|;>fwVhXo+VpdGqG+_@Jp|I0kTbyn3iLA>w|R#|6gsv!c@38;QJ?O)4bSS zEWe}I=kdp@Y-Yl7=CxH*_Ip*Q9T`?i*G%i(Mc=YN=r4l-C zg8T-IG8PWN@1anVym#-CvMWY`q?K*fiM^{H@?o25A7I6kz(w6i8mmbzc21*As%PgQ z9c+(4$BM4gwl9RexZi!?p2;Ny2TuNd#2kauYF}F0$MYkDlPiq&i182UO0(K&it-zu z@nTo@k->kX#X>$1M*|mr%ZcFp&>`}ORq#INIPj`O`hp7d=F`VFKiN_hfnq!ea$OLeoo19ev}ja>B?AwoM} z-}b#-yJ2#VOsm(us`K4HB)m+@x(0dI0el(m?L}7t%|}#&3d@o0-6^T&f3IYwepzye zGJ@@4Tq^2oT+k|dnCbGHw`Rz&CkFuidv7^!z+~rYG;@=%yjpiqY*TT@>AvQVqnFqC zbE9btS)%m%glG~Grp<{3kM0!qFULglgZS`t@lA`n!1FMi1yYrE(JrcXw-klr%I9@6 zT`PdU%GxC0{2AJ}OeZV8mPL!oxQ~Xlu&ZaOLrjf^z#hDP!|ocr1eIOK%PLJ@ILEZN zRb1e8S*0I5zJx`;a@Ienkv!ux*txoLmuP;`#5(vyX39xMBs*UJV4n4Aw`Qr zzHyH}+sHz~0EDW7XzBWIynL=&I~gp=qa5QQS_qS)vtD2~r z?&DK7-~sE$dAjkFP3+3k1Q!I|hF{K*V|aa!|+t8}pPOKtx?qE{fIk@*A%IahFs-kO*=< zSgYm9u;>K(5KlK?(PFMqx3V}Lp!B^m6rN2Ptn7YKlWU@gaQBVo`uZ~n(He3a6YQPE z?9J@{+K{-s_yr9)0G$(MAxwY3RmOkan&vc&jNZ`x2{xyeiG1hA|C_jQPUWSxH|QiN z*1`|Ll=#&F!b4h{N+<{0@Nget*K6v~Io*Yc+)bp`ScV#O&YRrip4~}JCmt@CS2l+T zD;vvkt3$nu8HECr*A8%v_vwyE^(0gSYQQ`IrgEon=^Cvq(&9ngMj#;``#?QA15!)- z;i|*LM@p6zImgb;=8fIHs$<*t8*tM19T&?| zJ-NNTLqcn+>M-ba#48+(uQbFW>t?{!s;y1c5MQe7_AKx5b;dC*;diJFM|TDnT+Y0f z7MWW=w)>i~kzVn@8Mryx>iB20fvcBDn}&E8yId!9Nx2^RvCBb;JZZ$1h2SN;=H4Zl3|eW6LI_R)+ndQ}G{e_Bzl)sSU~>MuQ@2Ey}K*vIbvnHY6Gx%%at+rItt?o(@} zm#+d7%DC~`$c8CgP(EDL)xs>0!PteBGnXcg}+=(>!`skvW;wo6svl{Ld?Oy zog*YkzKwJ6uukD|!k9nji}%;I?qPBQEyYV%YRB!FyP<*ql6pl-_vW%21zc+=USMHV zQZ6?+w_Js{5efV=H7u0uSux$4r5xwK_de|*tI4Ud`iuAE(5j%J0LCWF{2SqR&}HNgokg{grd`NtsisL?xP&A_xn=3Q|RQJ zQvZr0I1<+~3B5fKyHK!mIA>k|+B)#*{l^}m1KzOA73sJP?{6aR+@R4jOv9t^YFl}9 z$Xv{%`I+Mxi_?lFQrdlc)q);p$-e6i-Y>4(cIq&pC0aKlMED9k z$6tE#&`h+j+tQe$gts^+`d(H##I=;1Pm7BLsDG4ykyX0Fj zInh)h6Cg1F+~U;I4(>`{>1}9uN-J?PPGL1aRY6({%66izAonM5LCqI!T@v3J zm7vidQ=88H_#O6+{lR1kCD)!G zi2?SxvMiI+Ay#7oOJeBmdZEIv9Wz&{_sO|?E>#)*_YrCg8q_68pis+bY4-=OTl6 zd!pq?xQae(iy1h<*FpZ)lKF7}{;Vzy=Y!YG<;PD~@O-_A3|)}gy>4~LN0&i9vFFxz zO1*$vE8NI86Fiw1C^B4*g>b4ImaDqy1DkgRnb-*e1tt4k@-%D?$TTI86Z_AJQ)VAm z@EFwPkzV2~9sBO}KCs+;>OP8}gyWce#>ZRQ6K%lq-g(+g&-&b;7xD6POltAOo8*`1 zNwpR2!sV*bv+HI|PJK5jzB5WL~6>*$>(~epJkK2>pU|)Q%m9vRm#k; zXD2_m)jQ+#BfE(-cpJphWc!dB2){LoWt-2*M_ru^bR!2fHn$DQ$V?wg+k^{WNh>i))4tb6_>f|JR7903u~D&kN_?YGnX`vc?;t*_Xf zC}H=of7A3YhQ3c`Nf36~1S&|v^x7)NEbgJLic<=ZJ}sMc?i^6@>eo4iXReozPPLS1?b8eL&&xlZeZ`f_`db59uA> z)sgYCUicc1QSLp3KmW=eBfxuISrhGt&A+wwU89;W*Zx%Zd&9J!_p5LpB6gw^lzb#q zdUi3wy|3DQ4*wOvbVG(%mhc?32CFSo^hSkpz%{8-2-+Zse23b*w|cxW6paR=8fOcP z-*YJ414sPb(I|&=e4khfVhnnXD|KmhQZpCZ0WtYY^C}F(ZPSVaaxEt_E1$_gs7)iVh(KFCR?ZV<~+3{Rdo>A zcD(Kv%9mNT;b>GM>$6=it2(HVShF|5hAOdT_NT;Tre zcz?$fdb2n#JV$qS52T%iZ1%i+cI)R2nAY|_?0Hz~lj`9jH!mNp1kCfWU)o_&+TQ`A z6IaHE@cb(+YSQFsdA;jK^~J9&w2YkB(4NQ-zt268UcI(>ZIh9E<^Qnu)^AO|f80MJ zDbfleEmBH|NH-#gNQr`U$&d!=*bq?SO-ttpDM=aKB@Gi8HM*rX7;M0(`{MIGj_*Hk z-#@Yg#=@2jQT>eo@$ei28TKG%PdEGE>*u z2)6(_CHec%ebIuqBjN8)$a}d5JKqv*n5GQyC6+L$gXpmlEljum+c0MF>goX8y=vcO z@nXmtc4r00H}<~=8|PK~>ArLn&G-s4Pl3Pq3=OvNRRFdx#d(Vm%5n4v)f3Ke8U?bu zL?F0Y)QDHpJp_KRRa-|dY}o6^CVr$E2&hFBNnO8k?0}fe5nr4irK+SO8lvQXB*2Xl z=Fn3M6-*1Ryw2l_rqNY3fK!jan_2;fpn%?mjJ z#g2GwT|IY?RbC1@src!fBTVy-#kmTV9q%&oDmPnfH#6-;Pr5X_Y9~+WT2F<*-yO!g znF!b_EC&>)tzeQsT#HP0U{+)E{bWBkZbwgC3MrVfsef2Ipy=;kDP?etobc$+W^j$J+RC1o*^M{GGOdNW%7j z_97=(K_)Z16GkIW_8oT%Gb_~0@?&(m0cRNo231(fdkYmyzlac$1jg@q$9B(`+Mk)8 zk81>qY+10TR@9D4Yis%6lk+^1_}Lx{2<+4?4zF*9Af#=jK8;S$bty3@>~z0XvQlhK zlT;e%y=r@T_g!d09EfDJAcWwNxk*^nrl=aj^T7Z0b-MyUg`93(-Vr`$%>{8Pd$OPk zA)4O32sM^-V2P!u^iysIyL2(-iXH6(ZHtP-ezms8lef+k`Hp9w_hA!{uYm&v!|k@% z^it?tn@8nws8Z^}=gKl!4PfcjYb>QuJxZGW@{M3CyaW?CZCYtkSKtV3I*ZwEamf5Q zV$bruDG<;e@%~OMP67Pt*R)*Z`N%b5GfMME_gjuS-IeC#OPt#vVV8Q+wW3(7Qri}r z(PyZ+EcemaChEXb_idJ-H6HgfLG5gb{scN$j2U*&+nd?txT!J5Gc9f(lDy9TPM3mTzKcS=dg%pY{!xsyfW`zpV9&n zh~*Zd{f7svDB*9;U?bwq1sByGm&EYEIZW#~mE5}Cc1wWA739R<3oirzDkiGklqovr zG0`Y}T3cDs0-fZ;d=XYA@5?97JqAgbPLYJM#zISFuwrCC0pXmjeHf^>i=YpJKKuCa zZt?e71+&8~)OTSYVfhCvv0v+CwHwZB~1_<51LS`unseI_2s^svwm z)$;uLT<|sM<&WE@`FSkfTIzB}17oYMZaB$b%ZlVPk|~)9^IKm-9#uVh>z0|hX5n^6 zst5ENn{@Q-Vzii#G#zHEEnqj;$!K~^JX@u z&73<_!*@C3zOD&UORmn^ZOojta#s&3)9^3%yMzNm%B8f?=9r`LRrJki=2I!3H4CYD z?z^Dt#_Tb_X?l~?EDjf=Gy7x#00;htX6Efi>8x06K!*VkiyUx1Kx|p z>kZ~x^KCwj^BRez9>3f{UBMlIk*fb=nNOV|T*AqlKeNA}RS%amBqZ+zK2`pw^AFJ>K%2RrPE5_8JopSr{3DlyX%Hq5$@{&5T7 zHku(X=Xf8cHh#QAz4NU}Vu0iylV>J@GGC(YPF>S`s*f8u6&foF@`AP@Ud~^|v7@k3 z}1r2;a+OA^vq0(hKl)OJyLL;}?#U(iV$!^Spc?$xNMN|IP-h^hPfi=@}|mLZ?J z^!c>qyBl!1D)KuglcKi?@p_)xOHULcglZQirhX0xNa5ZGaxOG#XA^n7YR`j?Gj5-d z4Kf2pG0V&bxB~;q1bN77EXUBZnK%0} zG`rb&@ssy4c#ycNu}6%P=z%qjo|!{)0PQ2#QICDQ*wZq{u)QEzvDbXDz%ah}YLUaC z-5Yj6>yEDH26pe%j`TVDSiMc`Bavn2JI3qoa_)N9aYv#lMbaR1eQ}OR*B;Q4sPzbT z3YcX*uE%}A^R6knBG|A`$DPqHoSGNwwb^FqRG3Bnc^v*x(1h@@>&u*2pPA|m^v58(Yak{G#I=S zx*eTCs2@B46tZ9Z=4{&Z2jH8*s94A`g?kb%9JSznaxq+F0Fm?G^<`11v`jtw6dL0o z6LZ~@Vvq{P0E61qzNTS@c3YRrd7DzCHnkaerlYp*{u-WHv{#Xdpb`mS^th2`zkqxG8teSrv!%FmOr@#;H3>b zOWF)}Im~c}ozxJXhy=573!R{u{U$LIIf$QIGaDkzFqC`8{HeljKDE}5n8nY24i6!{ z;bmV#UP|#3(R2L^)?E!|0`)+3nLU|T>I|aL=caP7pQ?D`+#Z@3v7oBjL>Ic_luWUp z7A}f_<$hY2Q5eVI-LfeuHHyw$4}UYbDO{57UwuUq0C|E=`Kmb}0`7qlYp6P_J3{%4 zplh#(L`jvtJsbC<&uY;lC2~^vImM=i>K5U7ync})fy%nQcoD!75Cc9N-WYrMU6}JR zjiHHoQ<1Mj838a&;5#l6sZnJXD8Y^$f9XRK{5)P)(TeA5nn`~0Pv5H+>e(7TsI>Ob z%PJXu(APVz>y2JXwzf3EGk2XhA~^|Lr@#?p__3R7tsAa(JMp}he)cZRc>2rR>S@c~ zMJW|-=6>pz{)3NFff{@B1@bS1g{U}q!|o*UeTo(!`#287smdgfT>pBx;}e=QH^`;@ zRU9e3#c_(D@h5jcZRkLIX<^u<9oJ1u zPN`<)>HW{BNS@gn`6kEOr69MN!xhea--KcZc51FlJ=<*5?mkJ&En|`6vi!j(!H@6K zm*Q9R%+_?uN`ZpGbW6X4y5}LMv4elUb`(SEzJZ54r>^DNuO^oEU@gT??y6@;>;co4 zyH}cq^_VPeec@(S#*mCgs;U8S6|-YzjTGX$F8KJ}r!j#ulcZ;>$=8loiL4o&CcVRn z)2*PTny5I7dLB!4=+>j0FZ-p+N z#WBao8#nRoYl;ZPam@G>X6c5qkxJ|UFt(ROHST*aVgEYMWSm%#L~JO78q3u`@|?$! z&P92hh9{&+CD$8*43F}U0+9=wQ`$S2sB#Oxarr=cR4xM%tmk!`4G~DWY$TQ3x=y1p z*PT82&#_ZB3lX>YkGl6BnM`s-rW%%oX|EWGG;Zy8yc_g$KQpve&%xbu;s>tbBj3~; zrIBG#fBx2kGZ$mKMji6sfHcp$eNMEg1r1N{0xWDd0PVueFTku5>9W-Cv(f=Z0o_-) zezYbEs*n=ad2#TC!v7O-=T7exS8`@~#KiBu&by5MVzW!15EzCbvb_{B$2wh_Ps0SY zCsA^0g9Tb*gn{QwNa&Lt{i;GM-^5NbjqeQhh1GI#d-q@1^Mh}&Cc|O1KySHzLk=e* zjK=xH$3}qRhd&-YVOp=1`xgBJJ%k#JU@XSxEWZ3-8J`C1JJ?D<;i1>!Se#V|pt)}8 zEHXWT2VTIANOXKf_nGBGY-aTKbE$om2H_kZ7iOLz%APWF_&Xqwp>n-@eJ|{nD1yT& z&7EqVKD!&NJ2ThcyQA{azj^X}p;%8mu}(s>vD1~NtYn63477uLpCN{So)IwzE3K`6 z|G$gr+X*Y9Q9Fuh{YMQz4VqW_IpAH#r1J@@-FH}z4981d+7CO$fD8q{&$=%MXvbA z3EjTdnLoyXN2+MpSFpI`>OT1F4;6q_QL54@n+!G@_|9mC%!2ebZXYDKw^J@&)z?`h zFV@3lU3}SmxqNCT zzrFxy|2I$o;NE^~tNXk6iA3nVK#|H!Hl$NS8rp&wULJs0y^8GT?XT8AO>?QD*%mGbR zHyDvUGhlH12DB1O3Kam?G{ONs4j_kOOQ*WN28LF$NA0HnhtgTPzB<`PbMyxQ5qW{@eBee@VW=sZn^~n zBt!{^VG0+ybKsMO=9?L0ig%TOyynE?e*}~p$M=Ps33=4bR=4~%ZpC_|j#WVD3b+(6 z+ic&>FEU5D)L_0p^YVQ_`#z3DxNqh93Vq!K3}Ls+Y^GW#pNjyl-FlWcbt7&f1qcRZu+cX` zKd2ydxz-=t#$GXco}=3XPv*DeC8YjK1JEw$g#_ru`f-3n%L--lE})zV5sjp_lUx3J zyXod7hoswnqf%QQ%uY4BC*f+cc`|EJqD=r#qo#St6gAH3@mHxNe>WtjdcSV2uzGTo z1%Rm3lh{_SV}^vaAN5)d>M3^vD(Z|(!>r?mf6F(#9B+xn0nMfxh(=_SJe)3XL>y=c zDH~n`v+xfxv!ZTfP}|a&QBSkO{|r0;N)eRQmNDk$jxMmGT*KZkcJE-{tpdT=3ILca z$<~_gV}Vcb>7+WPwage0b~U%+kWZ7wLfDRT*5`%vi7L=OeKJiq#Er)xLN2%dy-bL3-4zg6gdGq4V!c`~qMk zjCh|+B0|ZBu3v&I0C0=mG}3$$}o+H`DO`kZp3 z?*C6tRms(+^m4R);!ai1z|9Q3osN(EXGV$U*^wpy7E(KamfWlAZsL{OR$sUca8FR{ z3EC*LgJ4Dv8C1jC^4w*n7t(Iw66M`~uRc=FWQdchdAb#q6mUC1^RE1XO%IetUtOH$X^CJZ9C(dz|>5N-Z!#($u{3p)&pMJIbOz zuzwcSN@>)pw2}s}FLXri|I;d%UhWv6af|-w&Y~ezHX={nOjl*^KAA-kx$Ygst;3rK z{kiW?TH_x<=lJncKrruju$>+qkEsV>I3;@mE*&q~@qZIZzx}n$st|vz=uYuJTa;tfI zj{JN9vqnTYbS88%cn0;iCZ3LDCIohw`FqMJoOUksEnOs|BHb^KX)AqRoeT$FpEzF& z*6%@N4d6v9q(zzI`=X4Q0Rcr><6;Wp1}^6QVKN?-nG{{IP>Po87qMv_-)uZz9$0@} z28Qpoe6L-uaW0~?s-TFbc}7W)%xVKLFO!mO`5P{q1iIpr@c`&YPKDq+j^x*{v&{@% zcByZDLn^}6Up+TWc!V0mm3zx=~RI&+Fu`O*-aBoIhY-# z^9M3etbTh*CG{9vPO{88_?L(Z`|UOIVHLf@?@FGx2jIJVOe$7k5hXV4W-oo_ZhFy! zv}elwYei@nTz;UQiP0{wi#|IJB{f{n9_p}HJtQ;`$TOPMmT?_PJS#@8Lgo$jF*{RC zTnmAjdx9H|$2BG_F4+9{#+<4LcmN)fd&cpFg?9C&#IuSR$>ED(XiC^5`8YV%e?Gr? z@I%G(7wsVyoQCgp*MOEeFxF{F6Zt@h(y=7UPj90VP>PBXi-j5}_Rpri>Kh$+J`$im zq`?H}I_956x78)bJX-`%9hdgI56B5s;w-sp+FpK3x^4zGz2yn9j2r!oy2=Z>#92F` z@HGw=$mxnTd|hPqmm^@pL2vnK-tnhlY%e@)NT^xB6R+A5C9nOTSHky#+UPAgwC{Ff z7`go#**FpBwBcu^=>3({N&t`)qMa;{cMj?7PCnG8bCz{``K65vTUm zBCYS86?#N`m&y+ZYgV{-IjFGdxM;iOIH6z~w>(|accFEF9DHB?7-QgZo%x7k&}rr2bc5=hJxdZ1f0w#Lfq+QEJng#soqXBY zGFxur>i5ZC=;O(C0WQe!ura{%dKXu!EiBTY)FCqCJIG&jS3Zj}KpzG=#Smn4R)WTT_)3Jo;Ewg1N*lhR!W2yX#&KYBiLuOjCb zP+oSuNJ)CGxAXm769GiEKu;pyt~W=W4SX7-6eF)Rve#xSyT-)7C`Rzi5maakdp`74 zo4+_|U5T@=D(M+!`c38BBCc-eyq)9Yq`*T59v>QlN~hp-t*kYT-_Sp0)xhZacw!1; zjq0P6;2fUUVh^<(?K~YF9`$VRnrum{-yQMs>U+%U49(%u_Dm-9P zU3GabLsp!_A(?BHOIs~c@&fR{6rwdzE{2is{;G}>3*@VgdrhCQ!v4;a$GX$d#@(yn z86JK|Q-i7WJpbjGQD~J=O?tX`vp1Uo%KKtH0WLKyH4O%% yeqAf)t)rgiTLGh6 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 IiMf^hU-4*aEC2ui literal 0 HcmV?d00001 diff --git a/examples/Journeys/Journey 2 Engineering Background.ipynb b/examples/Journeys/Journey_2_Engineering_Background.ipynb similarity index 100% rename from examples/Journeys/Journey 2 Engineering Background.ipynb rename to examples/Journeys/Journey_2_Engineering_Background.ipynb diff --git a/examples/Journeys/Journey_3_PolicyMakers.ipynb b/examples/Journeys/Journey_3_PolicyMakers.ipynb new file mode 100644 index 000000000..ab3dc46e0 --- /dev/null +++ b/examples/Journeys/Journey_3_PolicyMakers.ipynb @@ -0,0 +1,577 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "eastern-plaza", + "metadata": {}, + "source": [ + "# Journey 3: HARK for Policy Makers\n", + "HARK is a powerful toolbox to solve heterogeneous agent models in discrete time. Users can run off-the shelf models or use tools to build their own agent type. While there are numerous notebooks which introduce and describe different agents and tools it might be overwhelming at first.\n", + "\n", + "This guide tries to introduce HARK and point out the most important resources such as notebooks, model types, and tools such that users can get quickly up to speed to analyze macroeconomic shocks. The outline for today covers:\n", + "\n", + "1. Introduction into HARK\n", + "2. HARK meets SSJ\n", + "3. Benefits of using HARK?\n", + "\n", + "Author: Adrian Monninger" + ] + }, + { + "cell_type": "markdown", + "id": "funded-second", + "metadata": {}, + "source": [ + "## 1. Introduction into HARK\n", + "\n", + "Heterogenous Agents Resources & toolKit (HARK) is a toolkit for the structural modeling of economic choices of optimizing and non-optimizing heterogeneous agents.\n", + "\n", + "The open-source project [Econ-ark](https://github.com/econ-ark) contains the three main repositories [HARK](https://github.com/econ-ark/HARK), [DemARK](https://github.com/econ-ark/DemARK), and [RemARK](https://github.com/econ-ark/RemARK). On top of that, there is a [website](https://econ-ark.org/) and an [online documentation](https://hark.readthedocs.io/en/latest/) with useful descriptions and references to specific notebooks.\n", + "\n", + "- HARK: Includes the source code as well as some example notebooks of how to use AgentTypes, tools, and MarketClasses\n", + "- DemARK: Demonstrations of economic models using HARK.\n", + " - [Fisher Two Period](https://github.com/econ-ark/DemARK/blob/master/notebooks/FisherTwoPeriod.ipynb)\n", + " - [Diamond OLG](https://github.com/econ-ark/DemARK/blob/master/notebooks/DiamondOLG.ipynb)\n", + " - [Lucas Asset Pricing](https://github.com/econ-ark/DemARK/blob/master/notebooks/Lucas-Asset-Pricing-Model.ipynb)\n", + "- RemARK: R[eplications/eproductions] and Explorations Made using ARK.\n", + " - [Carroll, Slacalek, Tokuoka, White (2017): The distribution of wealth and the marginal propensity to consume](https://github.com/econ-ark/REMARK/blob/master/REMARKs/cstwMPC.md)\n", + " - [Cocco, Gomes, Maenhout (2005): Consumption and portfolio choice over the life cycle](https://github.com/econ-ark/REMARK/blob/master/REMARKs/CGMPortfolio.md)\n", + " - [Krusell, Smith (1998): Income and wealth heterogeneity in the macroeconomy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md)\n", + " - ..." + ] + }, + { + "cell_type": "markdown", + "id": "chicken-glory", + "metadata": {}, + "source": [ + "## 1.1 Structure\n", + "HARK has two types of classes. One for the micro level called: `AgentType` and one for the macro level called: `Market`. Today, we will focus on the AgentType and use the sequence space toolbox for the macro level." + ] + }, + { + "cell_type": "markdown", + "id": "stretch-scene", + "metadata": {}, + "source": [ + "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. In HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models, as well as there are many other subclasses.\n", + "\n", + "![HARK structure](HARK_struct_2.png)" + ] + }, + { + "cell_type": "markdown", + "id": "published-halloween", + "metadata": {}, + "source": [ + "## 1.2 Example: `IndShockConsumerType`\n", + "The `IndShockConsumerType` is our standard consumer that receives two income shocks at the beginning of each period: a completely transitory shock $\\newcommand{\\tShkEmp}{\\theta}{\\tShkEmp_t}$ and a completely permanent shock $\\newcommand{\\pShk}{\\psi}{\\pShk_t}$. Moreover, the agent is subject to borrowing a borrowing limit: the ratio of end-of-period assets $A_t$ to permanent income $P_t$ must be greater than $\\underline{a}$. As with most problems in HARK, this model is stated in terms of *normalized* variables, dividing all real variables by $P_t$:\n", + "\n", + "\\begin{eqnarray*}\n", + "v_t(m_t) &=& \\max_{c_t} {~} u(c_t) + \\beta (1-D_{t+1}) \\mathbb{E}_{t} \\left[ (\\Gamma{t+1}\\psi_{t+1})^{1-\\rho} v_{t+1}(m_{t+1}) \\right], \\\\\n", + "a_t &=& m_t - c_t, \\\\\n", + "a_t &\\geq& \\text{$\\underline{a}$}, \\\\\n", + "m_{t+1} &=& R/(\\Gamma_{t+1} \\psi_{t+1}) a_t + \\theta_{t+1}, \\\\\n", + "(\\psi_{t+1},\\theta_{t+1}) &\\sim& F_{t+1}, \\\\\n", + "\\mathbb{E}[\\psi]=\\mathbb{E}[\\theta] &=& 1, \\\\\n", + "u(c) &=& \\frac{c^{1-\\rho}}{1-\\rho}.\n", + "\\end{eqnarray*}\n", + "\n", + "The object-oriented programming language makes it extremely easy to [use](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb). A small illustration is below solving an infinite horizon and lifecycle problem.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "forced-sport", + "metadata": {}, + "outputs": [], + "source": [ + "from HARK.ConsumptionSaving.ConsIndShockModel import IndShockConsumerType, init_idiosyncratic_shocks\n", + "from HARK.utilities import plot_funcs_der, plot_funcs\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "worth-cholesterol", + "metadata": {}, + "source": [ + "### An infinite horizon Problem" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "split-plasma", + "metadata": {}, + "outputs": [], + "source": [ + "# Create agent\n", + "IndShockExample_inf = IndShockConsumerType(**init_idiosyncratic_shocks, verbose = False)\n", + "IndShockExample_inf.cycles = 0 # Make this type have an infinite horizon" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "popular-activity", + "metadata": {}, + "outputs": [], + "source": [ + "# Solve\n", + "IndShockExample_inf.solve()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "enabling-depth", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption function for an idiosyncratic shocks consumer type:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Marginal propensity to consume for an idiosyncratic shocks consumer type:\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAol0lEQVR4nO3dfXiU9Z3v8c9kksyEkISGQAAJEEFolAc1qZgA9TmeSNnqtdfK1r0AFXrkFKSY0h6RXUWWs9ntA0stDeL6QO1BzVHBdXcRTesKKLU1EZQKrSgPCRAIiZgJgUye5vwRZjBNApk83ff9m/fruua6zD33PfONg86H3+93f3+uQCAQEAAAgI1EWV0AAADAXyKgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA24m2uoCuaGlp0fHjx5WQkCCXy2V1OQAAoAsCgYBqa2s1YsQIRUWFNybiiIBy/PhxpaWlWV0GAADohvLyco0cOTKsaxwRUBISEiS1/oKJiYkWVwMAALrC5/MpLS0t9D0eDkcElOC0TmJiIgEFAACH6c7yDBbJAgAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2yGgAAAA2wk7oOzYsUOzZs3SiBEj5HK59Nprr13ymu3btyszM1Ner1eXX365nnzyye7UCgAAIkTYAaWurk5TpkzRunXrunT+oUOHdMcdd2jGjBnavXu3HnnkES1ZskSvvvpq2MUCAIDIEPZePHl5ecrLy+vy+U8++aRGjRqltWvXSpIyMjJUUlKin/70p/rrv/7rcN8eAABEgD7fLPB3v/udcnNz2xy7/fbb9cwzz6ixsVExMTHtrvH7/fL7/aGffT6fJKngjf3yDhjYtwU73IikON0/PV3uqPA3ZgIAwC76PKCcOHFCqampbY6lpqaqqalJVVVVGj58eLtrCgoK9Pjjj7c7vun9MkV5BvRZraaYPDJJUy8fbHUZAAB0W58HFKn9NsuBQKDD40HLly9Xfn5+6Gefz6e0tDR9d0a6vPGMoHTm/5Uc1alav+oamqwuBQCAHunzgDJs2DCdOHGizbHKykpFR0dr8OCO/5bv8Xjk8XjaHf/+reOVmJjYJ3WaYOeBKp2q9V/6RAAAbK7P+6BkZ2eruLi4zbG33npLWVlZHa4/QfcFx6POD1ABAOBYYQeUM2fOaM+ePdqzZ4+k1tuI9+zZo7KyMkmt0zNz584Nnb9w4UIdOXJE+fn52r9/v5599lk988wzWrZsWe/8BmiHgAIAcLqwp3hKSkp00003hX4OrhWZN2+eNm7cqIqKilBYkaT09HRt3bpVDz30kH75y19qxIgReuKJJ7jFuC+cX9NDPgEAOF3YAeXGG28MLXLtyMaNG9sdu+GGG/Thhx+G+1YIEzcWAwBMwV48BgneFHWxAAkAgBMQUAxEPAEAOB0BxSDcxQMAMAUBxSCdNb4DAMBpCCgGuRBPGEIBADgbAcVATPEAAJyOgGKQ0F081pYBAECPEVAM4qITCgDAEAQUk4T6oFhbBgAAPUVAMVCASR4AgMMRUAzCBA8AwBQEFIO4mOIBABiCgGKQ4CJZ8gkAwOkIKAZis0AAgNMRUAxCp3sAgCkIKAYhoAAATEFAMUhoDQozPAAAhyOgGIg+KAAApyOgGIQpHgCAKQgoBmKKBwDgdAQUAxFQAABOR0AxiMtFozYAgBkIKAZhCQoAwBQEFINc2IuHMRQAgLMRUAxEPAEAOB0BxSChKR4SCgDA4QgoBnHRCAUAYAgCikGC8YROsgAApyOgGIg1sgAApyOgGCR0F4+1ZQAA0GMEFKOwBgUAYAYCikEu9EGxtg4AAHqKgGIgFskCAJyOgGKQ0F085BMAgMMRUAxCGxQAgCkIKAZxid2MAQBmIKCYiDkeAIDDEVAMwhQPAMAUBBSD0KgNAGAKAopBQmtQSCgAAIcjoBgoQEIBADgcAcUkrEEBABiCgGKQUKM2S6sAAKDnCCgGcblYgwIAMAMBxUDkEwCA0xFQDMISFACAKQgoBgn1QWGOBwDgcAQUgzCCAgAwBQHFQAygAACcjoBiEBeb8QAADEFAMciFPigMoQAAnI2AYpLQIllrywAAoKcIKAYinwAAnI6AYhAX9/EAAAxBQDGIiykeAIAhCCgGYZEsAMAUBBQDMYICAHA6AopBaIMCADAFAcUgLJIFAJiCgGIQNgsEAJiCgGIg8gkAwOkIKAZhDQoAwBTdCiiFhYVKT0+X1+tVZmamdu7cedHzN23apClTpmjAgAEaPny47rvvPlVXV3erYFxMa0JhAAUA4HRhB5SioiItXbpUK1as0O7duzVjxgzl5eWprKysw/PfffddzZ07V/Pnz9cnn3yil19+WR988IEWLFjQ4+LRFo3aAACmCDugrFmzRvPnz9eCBQuUkZGhtWvXKi0tTevXr+/w/Pfff19jxozRkiVLlJ6erunTp+uBBx5QSUlJj4sHAABmCiugNDQ0qLS0VLm5uW2O5+bmateuXR1ek5OTo6NHj2rr1q0KBAI6efKkXnnlFc2cObPT9/H7/fL5fG0euDQ6yQIATBFWQKmqqlJzc7NSU1PbHE9NTdWJEyc6vCYnJ0ebNm3S7NmzFRsbq2HDhmnQoEH6xS9+0en7FBQUKCkpKfRIS0sLp8yIxRQPAMAU3Vok6/qL20UCgUC7Y0H79u3TkiVL9Oijj6q0tFTbtm3ToUOHtHDhwk5ff/ny5aqpqQk9ysvLu1NmxHGxSBYAYIjocE5OSUmR2+1uN1pSWVnZblQlqKCgQNOmTdMPf/hDSdLkyZMVHx+vGTNmaPXq1Ro+fHi7azwejzweTzilAQAAg4Q1ghIbG6vMzEwVFxe3OV5cXKycnJwOrzl79qyiotq+jdvtlkTH094WGsTi3ysAwOHCnuLJz8/X008/rWeffVb79+/XQw89pLKystCUzfLlyzV37tzQ+bNmzdLmzZu1fv16HTx4UO+9956WLFmi6667TiNGjOi93wRfWSQLAICzhTXFI0mzZ89WdXW1Vq1apYqKCk2cOFFbt27V6NGjJUkVFRVteqLce++9qq2t1bp16/SDH/xAgwYN0s0336x/+Zd/6b3fApIurA1iAAUA4HSugAPmWXw+n5KSklRTU6PExESry7Gtla9/oo27DmvxTeO07PYJVpcDAIhwPfn+Zi8eA9EHBQDgdAQUg9AHBQBgCgKKgcgnAACnI6AYxKWOm+UBAOA0BBSDMMUDADAFAcUgbBYIADAFAcVE5BMAgMMRUAzSyX6NAAA4DgHFIKFOshbXAQBATxFQDHJhr0AiCgDA2QgoBiKfAACcjoBiEtagAAAMQUAxSLBRGwMoAACnI6AYhEZtAABTEFAMRKM2AIDTEVAMwhIUAIApCCgGYYoHAGAKAopB2M0YAGAKAgoAALAdAopBLkzxMMcDAHA2AopBQq3uLa0CAICeI6CYJLhZIAkFAOBwBBQAAGA7BBSDXJjiYQgFAOBsBBSD0AcFAGAKAopB2CwQAGAKAgoAALAdAopBmOIBAJiCgGKQC43uSSgAAGcjoBiEERQAgCkIKAAAwHYIKAZx0UkWAGAIAoqBaNQGAHA6AopBWIMCADAFAQUAANgOAcUgdJIFAJiCgGIQpngAAKYgoBiE3YwBAKYgoAAAANshoBjEdWEIBQAARyOgGIRFsgAAUxBQDHJhkSwRBQDgbAQUAABgOwQUAzF+AgBwOgKKQdgsEABgCgKKQVyXPgUAAEcgoBiIARQAgNMRUAzCXTwAAFMQUAxCnzYAgCkIKAZxuViFAgAwAwHFRAyhAAAcjoBikNAaFBIKAMDhCCgGCa1BIZ8AAByOgGIS1qAAAAxBQDEQIygAAKcjoBjkwm3GJBQAgLMRUAxyoVGbtXUAANBTBBQAAGA7BBSDuM5P8jCAAgBwOgKKQZjiAQCYgoBikAs3GZNQAADO1q2AUlhYqPT0dHm9XmVmZmrnzp0XPd/v92vFihUaPXq0PB6Pxo4dq2effbZbBQMAAPNFh3tBUVGRli5dqsLCQk2bNk0bNmxQXl6e9u3bp1GjRnV4zd13362TJ0/qmWee0bhx41RZWammpqYeF4+2mOIBAJgi7ICyZs0azZ8/XwsWLJAkrV27Vm+++abWr1+vgoKCdudv27ZN27dv18GDB5WcnCxJGjNmTM+qRodYJAsAMEVYUzwNDQ0qLS1Vbm5um+O5ubnatWtXh9e8/vrrysrK0o9//GNddtllGj9+vJYtW6Zz5851+j5+v18+n6/NA10QGkEhogAAnC2sEZSqqio1NzcrNTW1zfHU1FSdOHGiw2sOHjyod999V16vV1u2bFFVVZW+973v6Ysvvuh0HUpBQYEef/zxcEoDAAAG6dYiWddfbEoXCATaHQtqaWmRy+XSpk2bdN111+mOO+7QmjVrtHHjxk5HUZYvX66amprQo7y8vDtlRpwLre4BAHC2sEZQUlJS5Ha7242WVFZWthtVCRo+fLguu+wyJSUlhY5lZGQoEAjo6NGjuuKKK9pd4/F45PF4wikNuhAcmeEBADhdWCMosbGxyszMVHFxcZvjxcXFysnJ6fCaadOm6fjx4zpz5kzo2KeffqqoqCiNHDmyGyWjM4ygAABMEfYUT35+vp5++mk9++yz2r9/vx566CGVlZVp4cKFklqnZ+bOnRs6/5577tHgwYN13333ad++fdqxY4d++MMf6v7771dcXFzv/SYAAMAYYd9mPHv2bFVXV2vVqlWqqKjQxIkTtXXrVo0ePVqSVFFRobKystD5AwcOVHFxsR588EFlZWVp8ODBuvvuu7V69ere+y0g6at9UBhDAQA4myvggG8zn8+npKQk1dTUKDEx0epybGvL7qN6qOgjzbgiRb+eP9XqcgAAEa4n39/sxWOQUKM220dOAAAujoACAABsh4BikNAaFO7jAQA4HAHFQEzxAACcjoBikM66+QIA4DQEFAMxggIAcDoCikEudJIloQAAnI2AYpALjdqsrQMAgJ4ioBjEJdagAADMQEAxEAMoAACnI6AYxMV2xgAAQxBQDMIiWQCAKQgoBqENCgDAFAQUA3EXDwDA6QgoRjm/m7HFVQAA0FMEFINc6INCRAEAOBsBxSAsQQEAmIKAYiDGTwAATkdAMUhwN+PyL84xzQMAcDQCikGizs/xVJ3x6+9f+6O1xQAA0AMEFINcnTYo9M8fHf3SsjoAAOgpAopBBg/06IXvTpUk1Te2WFwNAADdR0AxjDfGLUmqb2y2uBIAALqPgGIYb3QwoDCCAgBwLgKKYeJiWwOKnxEUAICDEVAM441p/UjrmwgoAADnIqAYJjjF09gcUHMLvVAAAM5EQDFMcJGsxEJZAIBzEVAM44m+8JGeI6AAAByKgGKYqCiXYs+HFEZQAABORUAxkDcUULjVGADgTAQUA9GsDQDgdNFWF4DeFwwoByprFeNum0Gj3S5dnhIf2vkYAAA7IqAYKO58QHmo6KMOn58/PV3/8K0r+7MkAADCwhSPgf4ma6SGJHiUMjC2zSPB05pH9x33WVwhAAAXxwiKgRbMuFwLZlze7njxvpP67vMl3H4MALA9RlAiSByLZwEADkFAiSBxsa0fNyMoAAC7I6BEEM/5fXrONRBQAAD2RkCJIHGxTPEAAJyBgBJBLqxBocMsAMDeCCgRJBhQGppb1NRMSAEA2BcBJYIEp3gkqb6JgAIAsC8CSgTxRF/4uFkoCwCwMwJKBHG5XPLGBHc6JqAAAOyLTrIRJi7GrfrGFn109EudPtvQ5rnY6ChNSE1gI0EAgOUIKBEmLsat02rU4hd2d/j84pvGadntE/q5KgAA2iKgRJi5OWP0698daXe8rqFJX55t1J9O1FpQFQAAbRFQIszCG8Zq4Q1j2x1/bfcxLS3aw9oUAIAtsEgWkiTv+R4pZxuaLK4EAAACCs4L9kg5R5dZAIANEFAgSRrAPj0AABshoEDShTb4NHADANgBAQWSWIMCALAXAgokfXWKhzUoAADrEVAgiZ2OAQD2QkCBpLY7HZ9joSwAwGIEFEhq3ek4uAUPAQUAYDU6yUJS607HcTFunW1o1l2/3KUYd9sNA70xbj0660rljE2xqEIAQCQhoCDkitQEfVT+pY59ea7D5zd/eIyAAgDoFwQUhLz43anaX+Frd3zbH0/o33Ye4hZkAEC/IaAgZEBstDJHJ7c7fvBUnSSpzs/aFABA/+jWItnCwkKlp6fL6/UqMzNTO3fu7NJ17733nqKjo3X11Vd3521hkQGxrTmWLrMAgP4SdkApKirS0qVLtWLFCu3evVszZsxQXl6eysrKLnpdTU2N5s6dq1tuuaXbxcIaAzznu8w2MsUDAOgfYQeUNWvWaP78+VqwYIEyMjK0du1apaWlaf369Re97oEHHtA999yj7OzsbhcLawwItsFnigcA0E/CCigNDQ0qLS1Vbm5um+O5ubnatWtXp9c999xz+vzzz/XYY4916X38fr98Pl+bB6wTnOI5yxQPAKCfhBVQqqqq1NzcrNTU1DbHU1NTdeLEiQ6vOXDggB5++GFt2rRJ0dFdW5NbUFCgpKSk0CMtLS2cMtHLQlM83MUDAOgn3Vok63K1beIVCATaHZOk5uZm3XPPPXr88cc1fvz4Lr/+8uXLVVNTE3qUl5d3p0z0kuBGgoygAAD6S1i3GaekpMjtdrcbLamsrGw3qiJJtbW1Kikp0e7du7V48WJJUktLiwKBgKKjo/XWW2/p5ptvbnedx+ORx+MJpzT0oeAUT1NLQA1NLYqNZocEAEDfCiugxMbGKjMzU8XFxbrrrrtCx4uLi/Xtb3+73fmJiYnau3dvm2OFhYV6++239corryg9Pb2bZaM/DfjKRoLzf/WBoqPaj5bljE3Rd795eX+WBQAwWNiN2vLz8zVnzhxlZWUpOztbTz31lMrKyrRw4UJJrdMzx44d0/PPP6+oqChNnDixzfVDhw6V1+ttdxz2FeOO0tAEjypr/dp5oKrDc9759JS+M3WUBnro/QcA6Lmwv01mz56t6upqrVq1ShUVFZo4caK2bt2q0aNHS5IqKiou2RMFzlP0QLZKDn/R4XMPb96r5paA6vxNBBQAQK9wBQKBgNVFXIrP51NSUpJqamqUmJhodTn4C5NWvqna+ia9/YMbdPmQgVaXAwCwiZ58f7PaET0WT58UAEAvI6Cgx4J9Uur89EkBAPQOAgp6LNQnpZERFABA7yCgoMdCrfDZqwcA0EsIKOix+PMjKHW0wgcA9BICCnpsgCc4gkJAAQD0DppWoMeCIyg155pU38E6lOgol6LdZGEAQNcRUNBjwTUo//qbT/Wvv/m03fNxMW49c2+Wcsam9HdpAACH4q+16LGcsYMV426/P0/QucZm7fqsuh8rAgA4HSMo6LHcq4Zp78rb1djc0u65J357QP+285DOsD4FABAGAgp6hTfGLW+Mu93xQQNiJUlnucMHABAGpnjQp0K3INMjBQAQBgIK+lT8+VuQmeIBAISDgII+NfB8QGGfHgBAOAgo6FPBEZQ6djoGAISBgII+Fc9OxwCAbuAuHvSp4AhKbX2jKmrOdXhOaoJXUVGd91EBAEQeAgr6VPz5LrOnzzYqu+DtDs/55vghev7+6/qzLACAzTHFgz41YlCcpqYnK9Yd1e4R7D77waEvLK4SAGA3jKCgT7mjXCp6ILvD576oa9C1/1isc43Nam4JyM00DwDgPEZQYJngAlqJPikAgLYIKLCMJ9qtWHfrH0Hu8gEAfBUBBZbiNmQAQEcIKLAUrfABAB0hoMBSAwkoAIAOEFBgKfbqAQB0hNuMYangFM8rpcf0x2O+ds+7XFLulcM0aWRSf5cGALAQAQWWGjwwVpL0m/0n9Zv9Jzs8p3jfSW1b+s3+LAsAYDECCiz1/VuuUMpAjxqaWto9V3OuUVt2H1Nlrd+CygAAViKgwFKjB8frkTsyOnzu6Omz2rL7GAtoASACsUgWtpXgiZEkNTS1dDjCAgAwFwEFtvXVVvjc5QMAkYWAAtuKdkfJE936R5RpHgCILAQU2FqC93yflAYCCgBEEgIKbC3UCr+egAIAkYS7eGBr8bGtf0R99Y1qbgl0eE6US3K5XP1ZFgCgjxFQYGvBVvj3byzp9JyhCR79x4PTlZro7a+yAAB9jCke2Nr0K1IueU5lrV+7y77s+2IAAP2GERTY2pJbrtC908aoubnj6Z0H/m+p/nDoC/mbmvu5MgBAXyKgwPYSvTEXea71j/C5BgIKAJiEKR44mjemtZnbuUYCCgCYhIACRwsGlPpGWuEDgEkIKHC0OEZQAMBIBBQ4WlxscASFgAIAJiGgwNG85/fqIaAAgFkIKHA07/kRFO7iAQCzEFDgaKxBAQAzEVDgaNzFAwBmIqDA0eJiWCQLACaikywcLTiC8v7BamWtLu7wnOioKP0gd7z+JiutP0sDAPQAAQWONmFYgqKjXGpqCajqTEOn523+8BgBBQAchIACR0tPidfvH7ml03Dyu8+rtPI/9qmezQQBwFEIKHC8wQM9GjzQ0+FzJ331klhECwBOwyJZGI1OswDgTAQUGM0bTUABACcioMBo3pjWP+I0cgMAZyGgwGhe+qQAgCMRUGC0r3aaDQQCFlcDAOgqAgqMFpzikSR/E3fyAIBTEFBgtOAIisQ0DwA4CQEFRotxRyk6yiWJXigA4CTdCiiFhYVKT0+X1+tVZmamdu7c2em5mzdv1m233aYhQ4YoMTFR2dnZevPNN7tdMBCu4CgKd/IAgHOE3Um2qKhIS5cuVWFhoaZNm6YNGzYoLy9P+/bt06hRo9qdv2PHDt122236p3/6Jw0aNEjPPfecZs2apd///ve65ppreuWXAC7GGxOlM37pt/tP6rJBcR2eExsdpZyxKaHGbgAAa7kCYd7aMHXqVF177bVav3596FhGRobuvPNOFRQUdOk1rrrqKs2ePVuPPvpol873+XxKSkpSTU2NEhMTwykX0A0/+W8dqT57yfPumzZGj826qh8qAoDI0JPv77BGUBoaGlRaWqqHH364zfHc3Fzt2rWrS6/R0tKi2tpaJScnd3qO3++X3+8P/ezz+cIpE2hj6a1X6MU/lEudRPGqM34drKrT4aq6/i0MANCpsAJKVVWVmpublZqa2uZ4amqqTpw40aXX+NnPfqa6ujrdfffdnZ5TUFCgxx9/PJzSgE7ddc1I3XXNyE6ff2Nvhf7Xpg9VW9/Uj1UBAC6mW4tkXS5Xm58DgUC7Yx158cUXtXLlShUVFWno0KGdnrd8+XLV1NSEHuXl5d0pE+iSBG+MJMlX32hxJQCAoLBGUFJSUuR2u9uNllRWVrYbVflLRUVFmj9/vl5++WXdeuutFz3X4/HI4/GEUxrQbQne1v8MGEEBAPsIawQlNjZWmZmZKi4ubnO8uLhYOTk5nV734osv6t5779ULL7ygmTNndq9SoI8kxrWOoBBQAMA+wr7NOD8/X3PmzFFWVpays7P11FNPqaysTAsXLpTUOj1z7NgxPf/885Jaw8ncuXP185//XNdff31o9CUuLk5JSUm9+KsA3RMcQTnjb1JzS0DuqEtPVwIA+lbYAWX27Nmqrq7WqlWrVFFRoYkTJ2rr1q0aPXq0JKmiokJlZWWh8zds2KCmpiYtWrRIixYtCh2fN2+eNm7c2PPfAOihYECRpPIvzoZGVDqSFBdDgAGAfhB2HxQr0AcFfW3C37/Rpc0Exw0dqDe+P0MxbnaJAIBL6cn3N/+XBSTNnDS8S+d9VnlGx78818fVAADCnuIBTLRm9tX66d9Mueg5N//sHR2uPquTPr9GD47vp8oAIDIxggKcFxXluuhjaKJXknTSV29xpQBgPkZQgC5KPR9Q/nisRuOGDrzouQM90UpLHtAfZQGAkQgoQBelJrQ2D9yw46A27Dh4yfOf+M41+qspI/q6LAAwEgEF6KKZk4frt3+qvGRDt7MNTTrb0KySw18QUACgmwgoQBddM+pr+u9lN17yvE2/P6IVW/6oY6e52wcAuouAAvSyywbFSZLKT59VbRc2IIyNjpIn2t3XZQGAoxBQgF428mutAeXTk2c0aeVblzw/LsatF//n9bo6bVAfVwYAzsFtxkAvGz04XleN6HrHxHONzdrx6ak+rAgAnIcRFKCXxbij9J8PTldD86Vb569/53Ot/c0BHak+2w+VAYBzEFCAPuByubq0riQ9pbUj7e7y09r0+yNdeu0ol0s3jB+iEefXugCAiQgogIUuT2lt+HbwVJ1WbPljl6+bmp6sogey+6osALAcAQWw0MTLErX4pnE6UFnbpfPPNbZox6entK/Cp0AgIJfL1ccVAoA1CCiAhVwul5bdPqHL59c3Nuvr/7BNtfVNOn22UcnxsX1YHQBYh4ACOIg3xq1hiV6d8NXrr9a9q9jort2IFxMVpaW3XqG8ScP7uEIA6B0EFMBhMkd/Tf+1t0JHw+xU+9x7hwkoAByDgAI4zJrZU3T/9DHqwl3MkqTDVXX60asf63B1Xd8WBgC9iIACOIwn2q3M0cldPn9CaoJ+9OrHqqz165XSo4qOCm9h7YRhCcoY3vXGcwDQGwgogOGSBsRocHysqusatOzlj8K+3hsTpT+suFWJ3pg+qA4AOkZAASLA338rQ5s/PBb2dSWHT+tcY7M+qzyja0d9rQ8qA4COEVCACHDXNSN11zUjw77unn97X7s+r9ZnJ89o0mVJ3XrvGDdbfgEIHwEFQKfSU+K16/Nq/ejVj/WjVz/u1mvcmpGqp+dl9XJlAEzHX20AdOqWjKGKcfesW+1v9p9UzbnGXqoIQKRgBAVAp27+eqr2rrxd/qYu3tP8F/LW7tDxmnr9958q9fXhCd2uI8rl0uUp8YpmugiIGAQUABfljXHLG3PpnZk7MmFYgo7X1Gtp0Z4e1/E/rhqmJ+dk9vh1ADgDAQVAn/nOdaP06ckz3R6BkaRAIKDqugZt//SUmlsCcofZxwWAM7kCgUDA6iIuxefzKSkpSTU1NUpMpGEUEEmaWwKatPJNnW1o1nVjkru8/9DFjBs6UI9+60pFEXaAPtWT729GUADYmjvKpevSk/XOn0/pD4e/6JXXfPezKs2cPFzfGNP1jrwA+hcBBYDtrbn7ar33WZVaemHA99e/O6KSI6f1421/0rihA3uhulbxsdFaeONYpQz09NprApGMgALA9pLjYzVryoheea0vzzaq5MhpfXC49dGbot1Rejjv6736mkCkIqAAiCizv5Eml0uqOdt7vVkOVtVpy+5jeqX0qA5X9c2u0VFR0uxvjNIN44f0yesDdkNAARBRvDFuzc0e06uvWemr139+fFxVZ/za9smJXn3tr/qovEbv/u+b5HKxuBfm4y4eAOgFpUe+0P6K2j557YCkf/zPfWpoalFcjFv9kU+uGTVIv7rvOprjoUe4iwcALJY5OlmZo/vurqAPj5zWlt3HdK6xuc/e46ve+6xaT/z2gEYMiuuX9/uqlIEe3ZIxlJGiCMcICgA4QCAQ0NHT59Qf/8f+6Vt/1usfHe/7N7qIDXMydftVwyytAT3HCAoAGM7lcikteUC/vNey3AkKSDrX0NQv7/dVR0+f059O1OqBX5f2y1TWpcTFuLV29tXKJSz1O0ZQAAC2cbiqTjOf2Km6hv6ZyuqKIQkeZQy353dPdJRL909L1/QrUqwupUOMoAAAjDAmJV6l/3CbfPW9dxt4d/nONelbv9ipU7V+nao9ZXU5nfrkeI3umDTc6jI6VH/2TLevJaAAAGylJzto96ahCdKW703TvuM+q0vpUEDS//mvfTrp8+u59w5bXU6HWvxnu30tAQUAgE5kDE+07fSOJF0+JF5v769UQPZcrVFfd0aPru3etaxBAQAAfaIn39904AEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALZDQAEAALYTbXUBXRHccNnn81lcCQAA6Krg93bwezwcjggo1dXVkqS0tDSLKwEAAOGqrq5WUlJSWNc4IqAkJydLksrKysL+BdG7fD6f0tLSVF5ersTERKvLiWh8FvbBZ2EvfB72UVNTo1GjRoW+x8PhiIASFdW6VCYpKYk/bDaRmJjIZ2ETfBb2wWdhL3we9hH8Hg/rmj6oAwAAoEcIKAAAwHYcEVA8Ho8ee+wxeTweq0uJeHwW9sFnYR98FvbC52EfPfksXIHu3PsDAADQhxwxggIAACILAQUAANgOAQUAANgOAQUAANiO7QNKYWGh0tPT5fV6lZmZqZ07d1pdUkTasWOHZs2apREjRsjlcum1116zuqSIVVBQoG984xtKSEjQ0KFDdeedd+rPf/6z1WVFpPXr12vy5MmhhmDZ2dl64403rC4Lav3vxOVyaenSpVaXEnFWrlwpl8vV5jFs2LCwX8fWAaWoqEhLly7VihUrtHv3bs2YMUN5eXkqKyuzurSIU1dXpylTpmjdunVWlxLxtm/frkWLFun9999XcXGxmpqalJubq7q6OqtLizgjR47UP//zP6ukpEQlJSW6+eab9e1vf1uffPKJ1aVFtA8++EBPPfWUJk+ebHUpEeuqq65SRUVF6LF3796wX8PWtxlPnTpV1157rdavXx86lpGRoTvvvFMFBQUWVhbZXC6XtmzZojvvvNPqUiDp1KlTGjp0qLZv365vfvObVpcT8ZKTk/WTn/xE8+fPt7qUiHTmzBlde+21Kiws1OrVq3X11Vdr7dq1VpcVUVauXKnXXntNe/bs6dHr2HYEpaGhQaWlpcrNzW1zPDc3V7t27bKoKsB+ampqJKlbm3Gh9zQ3N+ull15SXV2dsrOzrS4nYi1atEgzZ87UrbfeanUpEe3AgQMaMWKE0tPT9bd/+7c6ePBg2K9h280Cq6qq1NzcrNTU1DbHU1NTdeLECYuqAuwlEAgoPz9f06dP18SJE60uJyLt3btX2dnZqq+v18CBA7VlyxZdeeWVVpcVkV566SWVlpaqpKTE6lIi2tSpU/X8889r/PjxOnnypFavXq2cnBx98sknGjx4cJdfx7YBJcjlcrX5ORAItDsGRKrFixfr448/1rvvvmt1KRFrwoQJ2rNnj7788ku9+uqrmjdvnrZv305I6Wfl5eX6/ve/r7feekter9fqciJaXl5e6J8nTZqk7OxsjR07Vr/61a+Un5/f5dexbUBJSUmR2+1uN1pSWVnZblQFiEQPPvigXn/9de3YsUMjR460upyIFRsbq3HjxkmSsrKy9MEHH+jnP/+5NmzYYHFlkaW0tFSVlZXKzMwMHWtubtaOHTu0bt06+f1+ud1uCyuMXPHx8Zo0aZIOHDgQ1nW2XYMSGxurzMxMFRcXtzleXFysnJwci6oCrBcIBLR48WJt3rxZb7/9ttLT060uCV8RCATk9/utLiPi3HLLLdq7d6/27NkTemRlZenv/u7vtGfPHsKJhfx+v/bv36/hw4eHdZ1tR1AkKT8/X3PmzFFWVpays7P11FNPqaysTAsXLrS6tIhz5swZffbZZ6GfDx06pD179ig5OVmjRo2ysLLIs2jRIr3wwgv693//dyUkJIRGGZOSkhQXF2dxdZHlkUceUV5entLS0lRbW6uXXnpJ77zzjrZt22Z1aREnISGh3Tqs+Ph4DR48mPVZ/WzZsmWaNWuWRo0apcrKSq1evVo+n0/z5s0L63VsHVBmz56t6upqrVq1ShUVFZo4caK2bt2q0aNHW11axCkpKdFNN90U+jk4jzhv3jxt3LjRoqoiU/C2+xtvvLHN8eeee0733ntv/xcUwU6ePKk5c+aooqJCSUlJmjx5srZt26bbbrvN6tIAyxw9elTf+c53VFVVpSFDhuj666/X+++/H/Z3t637oAAAgMhk2zUoAAAgchFQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7RBQAACA7fx/dtQvEO1SQmcAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Show\n", + "print('Consumption function for an idiosyncratic shocks consumer type:')\n", + "plot_funcs(IndShockExample_inf.solution[0].cFunc, IndShockExample_inf.solution[0].mNrmMin,5)\n", + "print('Marginal propensity to consume for an idiosyncratic shocks consumer type:')\n", + "plot_funcs_der(IndShockExample_inf.solution[0].cFunc, IndShockExample_inf.solution[0].mNrmMin,5)" + ] + }, + { + "cell_type": "markdown", + "id": "driven-address", + "metadata": {}, + "source": [ + "### A lifecycle Problem" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "sealed-amino", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First element of solution is \n", + "Solution has 11 elements.\n" + ] + } + ], + "source": [ + "LifecycleExample = IndShockConsumerType(**init_idiosyncratic_shocks)\n", + "LifecycleExample.cycles = 1 # Make this consumer live a sequence of periods -- a lifetime -- exactly once\n", + "LifecycleExample.T_cycle = 10 # Specify the number of periods (T_cycles + terminal period)\n", + "# Adapt the time varying parameter. As you can see, you can specify different values for each period.\n", + "LifecycleExample.PermShkStd = [0.1,0.2,0.1,0.2,0.1,0.2,0.1,0,0,0] \n", + "LifecycleExample.TranShkStd = [0.3,0.2,0.1,0.3,0.2,0.1,0.3,0,0,0]\n", + "LifecycleExample.LivPrb = [0.99,0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.2,0.1]\n", + "LifecycleExample.PermGroFac = [1.01,1.01,1.01,1.02,1.02,1.02,0.7,1.0,1.0,1.0]\n", + "LifecycleExample.update_income_process()\n", + "LifecycleExample.solve()\n", + "print('First element of solution is',LifecycleExample.solution[0])\n", + "print('Solution has', len(LifecycleExample.solution),'elements.')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "demographic-means", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption functions across the lifecycle:\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print('Consumption functions across the lifecycle:')\n", + "mMin = np.min([LifecycleExample.solution[t].mNrmMin for t in range(LifecycleExample.T_cycle)])\n", + "LifecycleExample.unpack('cFunc') # This makes all of the cFuncs accessible in the attribute cFunc\n", + "plot_funcs(LifecycleExample.cFunc,mMin,5)" + ] + }, + { + "cell_type": "markdown", + "id": "banned-dodge", + "metadata": {}, + "source": [ + "### 2.3 Simulation\n", + "After we solved the model backwards, we can simulate agents forward using Monte Carlo or [Transition Matrices](https://github.com/econ-ark/HARK/tree/master/examples/ConsIndShockModel/IndShockConsumerType_Transition_Matrix_Example.ipynb). These results can be used for in-model regressions or plotting distributions of assets or consumption." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "derived-theology", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":4: RuntimeWarning: divide by zero encountered in log\n", + " IndShockExample_inf.aNrmInitMean = np.log(0.0) # Mean of log initial assets. The value of np.log(0.0) causes the code to ensure\n" + ] + }, + { + "data": { + "text/plain": [ + "{'aNrm': array([[0.13477216, 0.13477216, 0.13477216, ..., 0.13477216, 0.13477216,\n", + " 0.13477216],\n", + " [0.18458863, 0.19472881, 0.36019685, ..., 0.24694693, 0.23423864,\n", + " 0.19472881],\n", + " [0.2340878 , 0.19611905, 0.39512942, ..., 0.35783107, 0.32784551,\n", + " 0.31228166],\n", + " ...,\n", + " [0.76610173, 0.38338584, 0.79046548, ..., 0.46714871, 0.45734795,\n", + " 0.74678884],\n", + " [0.76745896, 0.35495771, 0.77488497, ..., 0.65295079, 0.42983132,\n", + " 0.80784208],\n", + " [0.86080718, 0.33702144, 0.73464255, ..., 0.52513369, 0.55314374,\n", + " 0.77669275]]),\n", + " 'mNrm': array([[1. , 1. , 1. , ..., 1. , 1. ,\n", + " 1. ],\n", + " [1.07996621, 1.09577145, 1.33687803, ..., 1.17503056, 1.15603281,\n", + " 1.09577145],\n", + " [1.15580731, 1.09793838, 1.38440091, ..., 1.33359968, 1.29204745,\n", + " 1.27001928],\n", + " ...,\n", + " [1.84083916, 1.36890351, 1.86956737, ..., 1.47822901, 1.46590501,\n", + " 1.81792705],\n", + " [1.84244932, 1.32961794, 1.85125928, ..., 1.70610176, 1.43019525,\n", + " 1.88993885],\n", + " [1.95203253, 1.30476291, 1.80351712, ..., 1.55094406, 1.58518537,\n", + " 1.85340397]]),\n", + " 'cNrm': array([[0.86522784, 0.86522784, 0.86522784, ..., 0.86522784, 0.86522784,\n", + " 0.86522784],\n", + " [0.89537758, 0.90104264, 0.97668119, ..., 0.92808363, 0.92179417,\n", + " 0.90104264],\n", + " [0.92171951, 0.90181933, 0.98927149, ..., 0.97576861, 0.96420194,\n", + " 0.95773763],\n", + " ...,\n", + " [1.07473743, 0.98551766, 1.07910189, ..., 1.01108029, 1.00855706,\n", + " 1.07113821],\n", + " [1.07499037, 0.97466023, 1.07637431, ..., 1.05315097, 1.00036393,\n", + " 1.08209677],\n", + " [1.09122535, 0.96774147, 1.06887458, ..., 1.02581037, 1.03204163,\n", + " 1.07671121]]),\n", + " 'pLvl': array([[0.85893446, 0.92780942, 0.85893446, ..., 0.96867555, 0.96867555,\n", + " 0.96867555],\n", + " [0.93517011, 0.8987463 , 0.93517011, ..., 0.93833233, 0.83202881,\n", + " 0.93833233],\n", + " [1.10169606, 0.83386528, 0.80324983, ..., 1.10542138, 0.90587642,\n", + " 0.94303961],\n", + " ...,\n", + " [1.17282113, 1.57006068, 1.2929715 , ..., 1.05848796, 1.37445963,\n", + " 0.99004756],\n", + " [1.27691612, 1.84964174, 1.34823004, ..., 1.02533141, 1.18057074,\n", + " 0.85038597],\n", + " [1.09678726, 2.17900786, 1.46789363, ..., 1.03047513, 1.39079524,\n", + " 0.8237481 ]]),\n", + " 'aLvl': array([[0.11576045, 0.12504288, 0.11576045, ..., 0.13055049, 0.13055049,\n", + " 0.13055049],\n", + " [0.17262177, 0.17501179, 0.33684532, ..., 0.23171828, 0.1948933 ,\n", + " 0.18272033],\n", + " [0.25789361, 0.16353687, 0.31738764, ..., 0.39555412, 0.29698752,\n", + " 0.29449397],\n", + " ...,\n", + " [0.8985003 , 0.60193903, 1.02204933, ..., 0.49447129, 0.6286063 ,\n", + " 0.73935647],\n", + " [0.97998071, 0.65654459, 1.04472319, ..., 0.66949095, 0.50744629,\n", + " 0.68697757],\n", + " [0.94412235, 0.73437236, 1.07837712, ..., 0.54113721, 0.76930968,\n", + " 0.63979918]])}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Specify parameters for the simulation\n", + "IndShockExample_inf.AgentCount = 5000 # Number of agents of this type\n", + "IndShockExample_inf.T_sim = 1000 # Number of periods to simulate\n", + "IndShockExample_inf.aNrmInitMean = np.log(0.0) # Mean of log initial assets. The value of np.log(0.0) causes the code to ensure \n", + " # newborns have have exactly 1.0 in market resources.\n", + "# i) Specify the variables you are interested in\n", + "IndShockExample_inf.track_vars = ['aNrm','mNrm','cNrm','pLvl', 'aLvl']\n", + "# ii) Initiate simulation\n", + "IndShockExample_inf.initialize_sim()\n", + "# iii) run it\n", + "IndShockExample_inf.simulate()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "placed-level", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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tlldioglvK0uQESu7JZbbmHu3Lmkp6ezZs0a7r//fs6fP8/s2bNdfi3DMHA4HHh7W/PXPiAggICAgAJ/3wMHDjB8+PAis6N2Wlqa1SWIWE49NyJuzM/Pj/Lly1O5cmUGDhzI3Xffzddffw2YYeW1116jRo0aBAQE0KRJE7788sus565cuRKbzcZPP/1EixYt8PPzY82aNTidTl599VVq1aqFn58fVapU4aWXXsp63vHjx+nfvz+lSpWiTJky9OrVi8OHD2c9ntlD8cYbbxAWFkaZMmV45JFHSE9PB6Bjx44cOXKEMWPGZPU8waWXpS5n7ty5hIeH4+/vT7169Zg1a9ZVj09NTWXkyJGUK1cOf39/brjhBv744w/gYu9FfHw8Q4cOxWazXbHnplq1arz88ssMHTqUEiVKUKVKFd5///1sx1ztvEycOJGPP/6Yb775JutnXrly5SXv891331GyZEmcTicA27Ztw2az8fjjj2cd8+CDDzJgwICs+4sXL6ZBgwb4+flRrVo13nzzzUtqf/HFFxkyZAjBwcE88MADVK9eHYBmzZphs9no2LFjtudc6XcnUmjk67acIpJrgwcPNnr16pWt7dFHHzXKlCljGIZhPPXUU0a9evWMZcuWGQcOHDDmzp1r+Pn5GStXrjQM4+LOvY0bNzaWL19u7N+/34iLizOeeOIJo1SpUsa8efOM/fv3G2vWrDE++OADwzAM4/z580bt2rWNoUOHGjt27DB2795tDBw40Khbt66RmpqaVVdQUJAxfPhwY8+ePcZ3331nFCtWzHj//fcNwzCM+Ph4o1KlSsbkyZON6OhoIzo62jAMw5g7d64RHByc9bP8e1fx999/3wgLCzMWL15sHDx40Fi8eLFRunRpY968eVc8RyNHjjQqVKhgLF261Ni1a5cxePBgo1SpUkZ8fLyRkZFhREdHG0FBQca0adOM6OjoK+6sXbVqVaN06dLGzJkzjX379hlTpkwx7Ha7sWfPnhydl6SkJKNfv37GLbfckvUzZ56vfzp79qxht9uNzZs3G4ZhGNOmTTPKli1rXHfddVnH1KlTJ2vH5M2bNxt2u92YPHmy8ffffxtz5841AgICjLlz52arPSgoyHj99deNffv2Gfv27TN+//13AzB+/vlnIzo62oiPj8/R706ksFC4EXFT/w43mzZtMsqUKWP069fPOHfunOHv72+sX78+23OGDRtmDBgwwDCMi+Hm66+/zno8MTHR8PPzywoz/zZnzhyjbt26htPpzGpLTU01AgICjJ9++imrrqpVqxoZGRlZx/Tt29fo379/1v2qVasab731VrbX/q9wU7lyZWPBggXZnvPCCy8YrVu3vmyt586dM3x8fIz58+dntaWlpRkVKlQwXnvttay24ODgbGHgcqpWrWrcc889WfedTqdRrly5rJCR0/Py7zB6OREREcYbb7xhGIZh9O7d23jppZcMX19fIzEx0YiOjjaArFA1cOBAo0uXLtme//jjjxv169fPVnvv3r2zHXPo0CEDMCIjI7O15+R3J1IYaMyNiBv7/vvvKV68OBkZGaSnp9OrVy/eeecddu/eTUpKCl26dMl2fFpaGs2aNcvW1qJFi6zv9+zZQ2pqKjfddNNl32/Lli3s37+fEiVKZGtPSUnhwIEDWfcbNGiAl5dX1v2wsDB27tyZ65/z1KlTHD16lGHDhvHAAw9ktWdkZBAcHHzZ5xw4cID09HTatm2b1ebj40PLli3Zs2ePyzU0btw463ubzUb58uWJjY0Fcn5ecqJjx46sXLmSsWPHsmbNGl588UUWL17M2rVrOXv2LKGhodSrVw8wf1+9evXK9vy2bdsybdo0HA5H1u/gn7/j/5LXvzsRd6RwI+LGOnXqxOzZs/Hx8aFChQr4+PgAcOjQIQB++OEHKlasmO05fn5+2e4HBgZmff9fA3qdTifNmzdn/vz5lzwWEhKS9X1mHZlsNlvWOJLcyHzuBx98QKtWrbI99s8P4n8yDCPrvf/d/u+2nLjaz5TT85ITHTt2ZM6cOWzfvh273U79+vXp0KEDq1at4syZM3To0OGqP0vmz/1P//wd/5e8/t2JuCOFGxE3FhgYSK1atS5pr1+/Pn5+fkRFRWX7MPwvtWvXJiAggF9++YX777//kscjIiJYtGgR5cqVIygoKNd1+/r64nA4cnx8aGgoFStW5ODBg9x99905ek6tWrXw9fVl7dq1DBw4EID09HQ2b97M6NGjc1P2FeXkvOT0Z27fvj1JSUlMmzaNDh06YLPZ6NChA1OmTOHMmTOMGjUq69j69euzdu3abM9fv349derUuWLoy6wFcOl3IFKYaLaUiAcqUaIE48aNY8yYMXz88cccOHCAyMhIZs6cyccff3zF5/n7+/Pkk0/yxBNP8Mknn3DgwAE2btzInDlzALj77rspW7YsvXr1Ys2aNRw6dIhVq1YxatQojh07luP6qlWrxurVqzl+/DhxcXE5es7EiROZMmUKb7/9Nnv37mXnzp3MnTuXqVOnXvb4wMBAHnroIR5//HGWLVvG7t27eeCBB0hOTmbYsGE5rjUncnJeqlWrxo4dO/j777+Ji4u74gyk4OBgmjZtyqeffpo1i6l9+/Zs3bqVvXv3ZpvZ9Nhjj/HLL7/wwgsvsHfvXj7++GNmzJjBuHHjrlpvuXLlCAgIYNmyZZw8eZKEhIQ8OQ8inkLhRsRDvfDCCzz33HNMmTKF8PBwbr75Zr777rusacBX8uyzz/LYY4/x3HPPER4eTv/+/bPGlhQrVozVq1dTpUoV7rjjDsLDwxk6dCgXLlxwqSdn8uTJHD58mJo1a+b4ss3999/Phx9+yLx582jUqBEdOnRg3rx5V/15XnnlFfr06cO9995LREQE+/fv56effqJUqVI5rjUncnJeHnjgAerWrUuLFi0ICQlh3bp1V3y9Tp064XA4soJMqVKlqF+/PiEhIYSHh2cdFxERweeff85nn31Gw4YNee6555g8eTJDhgy5ar3e3t5Mnz6d9957jwoVKlwybkeksLMZl7uAKyIiIuKh1HMjIiIihYrCjYiIiBQqCjciIiJSqCjciIiISKGicCMiIiKFisKNiIiIFCoKNyIiIlKoKNyIiIhIoaJwIyIiIoWKwo2IiIgUKgo3IiIiUqj8fwH1tHiyruSHAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from HARK.utilities import get_lorenz_shares, get_percentiles\n", + "pctiles = np.linspace(0.001, 0.999, 200)\n", + "sim_Lorenz_points = get_lorenz_shares(IndShockExample_inf.state_now[\"aLvl\"], percentiles=pctiles)\n", + "plt.plot(pctiles, pctiles, \"--\")\n", + "plt.plot(pctiles, sim_Lorenz_points, \"-b\")\n", + "plt.xlabel(\"Percentile of net worth\")\n", + "plt.ylabel(\"Cumulative share of wealth\")\n", + "plt.show(block=False)" + ] + }, + { + "cell_type": "markdown", + "id": "strange-masters", + "metadata": {}, + "source": [ + "# 2. HARK meets SSJ\n", + "HARK offers an extreme amount of flexibility solving the heterogeneous block in partial equilibrium. To include the general equilibrium parts, there are multiple options depending on your purpose. You could use the in-house [`MarketType`](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) to model your economy in which the agent lives or check out how we implemented [Krusell-Smith](https://github.com/econ-ark/KrusellSmith/blob/master/Code/Python/KrusellSmith.ipynb).\n", + "\n", + "TODAY, we look at the interlinkage of HARK with the [Sequence Space Jacobian Toolbox](https://github.com/shade-econ/sequence-jacobian) you are already familiar with. (If not, take a look at their example notebooks or (re-)take the [NBER workshop from 2022](https://github.com/shade-econ/nber-workshop-2022))\n", + "\n", + "The idea is to use HARK for the heterogeneous household part, solve the steady state values and jacobians, plug them in the sequence space toolbox and get all their nice functions for free! This is a way to combine the flexibility of HARK on the heterogeneity part and the fast and user-friendly general equilibrium part from SSJ." + ] + }, + { + "cell_type": "markdown", + "id": "complimentary-tablet", + "metadata": {}, + "source": [ + "Let's get into an introduction example [here](https://github.com/AMonninger/REMARK-ECB/blob/master/code/python/IndShockConsumerType_HANK.ipynb)." + ] + }, + { + "cell_type": "markdown", + "id": "lyric-charles", + "metadata": {}, + "source": [ + "## 3. Why use HARK?\n", + "The question might now arrise: Why should I learn a new Toolkit and not stick to SSJ completely. Why does it make sense to specify the heterogeneous block in HARK and not simply stick to the off-the-shelf hetblocks?\n", + "\n", + "The short answer is: HARK allows a lot of flexibility on the heterogeneous agent part! It enables the user to match mircoeconomic facts, introduce additional features such as retirement decisions or whole markets (risky asset, durable goods, labor) as well.\n", + "\n", + "Below, we look into two examples which use HARK and manage to match the liquid asset distribution. Afterwards, we highlight some agenttypes with additional features, and give a starting point if you want to build your own Agent." + ] + }, + { + "cell_type": "markdown", + "id": "plastic-mexico", + "metadata": {}, + "source": [ + "### 3.1 Targeting liquid asset distribution\n", + "In the [HARK meets SSJ notebook](https://github.com/AMonninger/REMARK-ECB/blob/master/code/python/IndShockConsumerType_HANK.ipynb), we targeted mean assets (SSJ targets mean MPC). But, what about the whole distribution? The importance of this is the difference between TANK and HANK: Households with large, but below one, MPCs respond to a shock not only in the period when the shock occurs, but in the subsequent periods as well. Those i(ntertermporal)MPCs are quantitatively relevant (see [Auclert et al 2018](https://www.nber.org/papers/w25020)) and shape the persistance of response functions.\n", + "\n", + "HARK gives you the means to tweak your model such that you can match the asset, and with it the MPC, distribution. " + ] + }, + { + "cell_type": "markdown", + "id": "afraid-tenant", + "metadata": {}, + "source": [ + "For instance, Carroll, Slacalek, Tokuoka, and White (2017) show that by having small ex-ante hetoerogeneity in discount rates, you can match the Lorenz curve remarkably well. The results can be seen below. If you want to redo the analysis check out this [demonstration](https://github.com/econ-ark/DemARK/blob/master/notebooks/Micro-and-Macro-Implications-of-Very-Impatient-HHs.ipynb) or [replication](https://github.com/econ-ark/DistributionOfWealthMPC).\n", + "\n", + "![Lorenz_DisCount](Lorenzcurve_DiscRate.png)" + ] + }, + { + "cell_type": "markdown", + "id": "separated-skating", + "metadata": {}, + "source": [ + "A recent paper by [Carroll, Crawley, Frankovic, and Tretvoll](https://github.com/llorracc/HAFiscal) matches the intertemporal MPC in addition to the wealth distribution. For this, they add a 'splurge' factor; households spend each period a fixed fraction of their labor income.\n", + "\n", + "Below is figure one from Carroll et al. With such a heterogeneous agent part in your quantitative HANK model allows you to make serious claims about quantitative changes from interest rate or government spending shocks.\n", + "\n", + "![HAFiscal_Fig](HAFiscal_Fig1.png)" + ] + }, + { + "cell_type": "markdown", + "id": "alternate-somerset", + "metadata": {}, + "source": [ + "### 3.2 Other HARK agents\n", + "There are many more off-the-shelf agents waiting to be used. Including additional features, allows you to analyse other markets as well. Note, that you can solve and simulate them already, BUT the jacobians are not ready yet!\n", + "\n", + "For a list, click [here](https://github.com/econ-ark/HARK/tree/master/HARK/ConsumptionSaving). Below some notable examples which solve problems with discrete choice. For them, the standard `HetBlock` of SSJ is not capable of solving.\n", + "\n", + "#### a) [Portfolio Choice](https://github.com/econ-ark/HARK/blob/master/examples/ConsPortfolioModel/example_ConsPortfolioModel.ipynb)\n", + "\n", + "Using the `PortfolioConsumerType` allows you to add risky assets to a one-asset model. A baseline [Lifecycle and Portfolio choice](https://github.com/econ-ark/REMARK/blob/master/REMARKs/CGMPortfolio.md) model a la Cocco, Gomes, & Maenhout (2005) is already implemented. Depending on your question, you can\n", + "- specify a share of risky asset holder exogeneously\n", + "- specify an exogeneous probability (a la calvo) with which agents can rebalance their portfolio (see [Luettike 2021](https://www.ralphluetticke.com/publication/aermacro_2020/) for an example)\n", + "- solve the share endogeneously with participation and transsaction costs \n", + "- vary returns by age\n", + "- ...\n", + "\n", + "For a life demonstration invite [Mateo](https://mv77.github.io/). In his JMP, he utilizes household expectations of stock returns to explain the equity premium puzzle.\n", + "\n", + "#### b) Search and matching model\n", + "\n", + "[Will](https://github.com/wdu9) combines a HANK with a Search and Match Model. For this, he uses the `ConsMarkovConsumerType` which can handle mutliple (employment) states. As a result, the model allows him to endogenize wage and unemployment dynamics.\n", + "Invite Will to present once his first draft is ready.\n", + "\n", + "\n", + "#### c) [Durable Good](https://github.com/AMonninger/DurableConsumerType_REMARK/blob/main/code/python/DurableModel_Notebook.ipynb) \n", + "\n", + "Using `DurableConsumerType` allows you to solve a household problem with non-durable and durable goods, where the adjustment of the durable stock entails a non-convex cost. This opens doors to analyze business cycle fluctuations of durable good demand, prices, as well as sectoral labor markets.\n", + "\n", + "My JMP uses this agent in a partial and general equilibrium context. For this, I show how unemployment expectations drive durable consumption fluctuations. Matching consumption dynamics of durables and non-durables allows me to re-evaulate the impact of fiscal and monetary policy. I'm happy to present this in the near future." + ] + }, + { + "cell_type": "markdown", + "id": "stopped-crime", + "metadata": {}, + "source": [ + "### 3.3 Build your own Agent\n", + "In case your research question requires additional featuers off-the-shelf models do not have, you can add them relatively easy! As seen above, agents inherit features from other agents. Hence, search for the closest agenttype and replace the parts you want to change." + ] + }, + { + "cell_type": "markdown", + "id": "celtic-store", + "metadata": {}, + "source": [ + "#### a) Understanding the code\n", + "Obviously, the most important thing is to understand the structure of the code. Then you can think about which code to replace and how.\n", + "A good starting point is this [notebook](https://github.com/econ-ark/HARK/blob/master/examples/HowWeSolveIndShockConsumerType/HowWeSolveIndShockConsumerType.ipynb) describing how we solve the `IndShockConsumerType`. Afterwards, look at the source code of other models which build on this one eg [`IndShockRiskyAssetConsumerType`](https://github.com/econ-ark/HARK/blob/master/HARK/ConsumptionSaving/ConsRiskyAssetModel.py) and observe how the replacement works." + ] + }, + { + "cell_type": "markdown", + "id": "extensive-float", + "metadata": {}, + "source": [ + "#### b) Use our tools\n", + "We update our toolbox constantly. Hence, there might be something in for your current problem. For many of them exist notebooks to showcase their function.\n", + "\n", + "Useful examples are:\n", + "- [DCEGM-Upper-Envelope](https://github.com/econ-ark/DemARK/blob/master/notebooks/DCEGM-Upper-Envelope.ipynb): To solve problems with nonconex value functions due to discrete choices\n", + "- [Harmenberg-Aggregation](https://github.com/econ-ark/DemARK/blob/master/notebooks/Harmenberg-Aggregation.ipynb): Aggregating distributions with a permanent-income-weighting\n", + "- [DecayInterp](https://github.com/econ-ark/HARK/tree/master/examples/Interpolation/DecayInterp.ipynb): Interpolation with decay which can be used if there exist an analytical limit\n", + "- ..." + ] + }, + { + "cell_type": "markdown", + "id": "thorough-teddy", + "metadata": {}, + "source": [ + "# Conclusion\n", + "In this journey you have learned how to use the `IndShockConsumer` and how to use its features in the partial equilibrium case. Afterwards, we have seen how easy it is to connect HARK to the sequence space toolbox in order to generate the general equilibrium blocks.\n", + "\n", + "The selling point of HARK is its flexibility in the heterogeneous agent blocks. We can allow for features such as ex-ante heterogeneity in discount rates to match the asset distribution and use the resulting jacobians to get IRFs from SSJ. Hence, analysing monetary and fiscal policy responses get more accurate!\n", + "\n", + "But, you don't have to stop there. HARK allows you to introduce the kind of heteroegeneity you need. Therefore, you are not restricted by the tools to answer your questions, but can start with the questions and define your tools after them!" + ] + }, + { + "cell_type": "markdown", + "id": "polar-capital", + "metadata": {}, + "source": [ + "# References\n", + "Carroll, C., Slacalek, J., Tokuoka, K., & White, M. N. (2017). The distribution of wealth and the marginal propensity to consume. Quantitative Economics, 8(3), 977-1020.\n", + "\n", + "Cocco, J. F., Gomes, F. J., & Maenhout, P. J. (2005). Consumption and portfolio choice over the life cycle. The Review of Financial Studies, 18(2), 491-533.\n", + "\n", + "Krusell, P., & Smith, Jr, A. A. (1998). Income and wealth heterogeneity in the macroeconomy. Journal of political Economy, 106(5), 867-896." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/Journeys/Journeys_into_HARK.ipynb b/examples/Journeys/Journeys_into_HARK.ipynb index b28e9e111..f24cb77f0 100644 --- a/examples/Journeys/Journeys_into_HARK.ipynb +++ b/examples/Journeys/Journeys_into_HARK.ipynb @@ -14,7 +14,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [1st year PhD student's track](../notebooks/Journey_1_PhD.ipynb)\n", + "## [1st year PhD student's track](Journey_1_PhD.ipynb)\n", "You have some knowledge in economic theory and structural modeling but you are not an expert in programing, in particular projects built in object-oriented programing paradigma. Therefore, this journey put a special effort to discuss how to create, solve and simulate HARK objects, not requiring a special skill in programming. \n" ] }, @@ -22,7 +22,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Engineer's track\n", + "## [Engineer's track](Journey_2_Engineering_Background.ipynb)\n", "\n", "You are familiar with numerical simulations as well as object oriented programming and Python. However, you do not work (much) with economic problems. Thus we propose you a quick tutorials to get used to the models and the basic classes of HARK\n" ] @@ -35,6 +35,15 @@ "You want to use HARK during your classes. We propose you a quick tutorials to get used to the models and the basic classes of HARK. " ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## [Policy maker track](Journey_3_PolicyMakers.ipynb)\n", + "\n", + "You have some knowledge in economic theory and would like to use HARK to solve for general equilibrium HANK models. This journey introduces HARK and shows how to combine it with the [sequence space jacobian toolbox](https://github.com/shade-econ/sequence-jacobian) in order to create a HANK model." + ] + }, { "cell_type": "code", "execution_count": null, @@ -59,7 +68,14 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.12" + "version": "3.8.8" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/examples/Journeys/Lorenzcurve_DiscRate.PNG b/examples/Journeys/Lorenzcurve_DiscRate.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4fbe5f66195e14d9963b74346e47bf29152a6615 GIT binary patch literal 65222 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 z Date: Wed, 21 Dec 2022 11:31:48 -0500 Subject: [PATCH 02/19] Rename Journeys --- .../example_notebooks/Journey-PhD.ipynb | 1 + .../example_notebooks/Journey_1_PhD.ipynb | 1 - Documentation/index.rst | 2 +- ...b => Journey-Engineering-Background.ipynb} | 11 +++- ...{Journey_1_PhD.ipynb => Journey-PhD.ipynb} | 15 +++-- ...Makers.ipynb => Journey-Policymaker.ipynb} | 58 +++++++++---------- ...ourney_1_param.py => Journey_PhD_param.py} | 0 ...to_HARK.ipynb => Journeys-into-HARK.ipynb} | 13 +---- 8 files changed, 54 insertions(+), 47 deletions(-) create mode 100644 Documentation/example_notebooks/Journey-PhD.ipynb delete mode 120000 Documentation/example_notebooks/Journey_1_PhD.ipynb rename examples/Journeys/{Journey_2_Engineering_Background.ipynb => Journey-Engineering-Background.ipynb} (95%) rename examples/Journeys/{Journey_1_PhD.ipynb => Journey-PhD.ipynb} (99%) rename examples/Journeys/{Journey_3_PolicyMakers.ipynb => Journey-Policymaker.ipynb} (99%) rename examples/Journeys/{Journey_1_param.py => Journey_PhD_param.py} (100%) rename examples/Journeys/{Journeys_into_HARK.ipynb => Journeys-into-HARK.ipynb} (88%) diff --git a/Documentation/example_notebooks/Journey-PhD.ipynb b/Documentation/example_notebooks/Journey-PhD.ipynb new file mode 100644 index 000000000..b571db467 --- /dev/null +++ b/Documentation/example_notebooks/Journey-PhD.ipynb @@ -0,0 +1 @@ +../../examples/Journeys/Journey_1_PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey_1_PhD.ipynb b/Documentation/example_notebooks/Journey_1_PhD.ipynb deleted file mode 120000 index b571db467..000000000 --- a/Documentation/example_notebooks/Journey_1_PhD.ipynb +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey_1_PhD.ipynb \ No newline at end of file diff --git a/Documentation/index.rst b/Documentation/index.rst index 520ccca9a..4c8314a4c 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -36,7 +36,7 @@ you might want to look at the `DemARK example_notebooks/GenIncProcessModel.ipynb example_notebooks/LifecycleModel.ipynb example_notebooks/HowWeSolveIndShockConsumerType.ipynb - example_notebooks/Journey_1_PhD.ipynb + example_notebooks/Journey-PhD.ipynb Indices and tables ================== diff --git a/examples/Journeys/Journey_2_Engineering_Background.ipynb b/examples/Journeys/Journey-Engineering-Background.ipynb similarity index 95% rename from examples/Journeys/Journey_2_Engineering_Background.ipynb rename to examples/Journeys/Journey-Engineering-Background.ipynb index 96064fc77..b1b11ab57 100644 --- a/examples/Journeys/Journey_2_Engineering_Background.ipynb +++ b/examples/Journeys/Journey-Engineering-Background.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Journey 2: Engineering background\n", + "# Journey: Engineering background\n", "\n", "This is a second of the possible journeys into HARK - the Python package designed to solve economic models with the heterogeneous agents. As it is a \"journey\", it is not a one big tutorial, but a set of the links to the notebooks/other resources which will help you understand the different HARK objects and functionalities.\n", "\n", @@ -62,7 +62,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.8.8" }, "latex_envs": { "LaTeX_envs_menu_present": true, @@ -94,6 +94,13 @@ "toc_position": {}, "toc_section_display": true, "toc_window_display": false + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/examples/Journeys/Journey_1_PhD.ipynb b/examples/Journeys/Journey-PhD.ipynb similarity index 99% rename from examples/Journeys/Journey_1_PhD.ipynb rename to examples/Journeys/Journey-PhD.ipynb index ff8cd1601..073d63ab2 100644 --- a/examples/Journeys/Journey_1_PhD.ipynb +++ b/examples/Journeys/Journey-PhD.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Journey 1: 1st year PhD student \n", + "Journey: 1st year PhD student \n", "====\n" ] }, @@ -148,7 +148,7 @@ "sys.path.insert(0, os.path.abspath('../../.'))\n", "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", "#we previously defined the paramters to not bother you about it now\n", - "import Journey_1_param as Params #imported paramters \n", + "import Journey_PhD_param as Params #imported paramters \n", "from HARK.utilities import plot_funcs #useful function\n", "\n", "Example = IndShockConsumerType() \n" @@ -451,7 +451,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -465,7 +465,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.11" + "version": "3.8.8" }, "latex_envs": { "LaTeX_envs_menu_present": true, @@ -497,6 +497,13 @@ "toc_position": {}, "toc_section_display": true, "toc_window_display": false + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/examples/Journeys/Journey_3_PolicyMakers.ipynb b/examples/Journeys/Journey-Policymaker.ipynb similarity index 99% rename from examples/Journeys/Journey_3_PolicyMakers.ipynb rename to examples/Journeys/Journey-Policymaker.ipynb index ab3dc46e0..f5fdd66f8 100644 --- a/examples/Journeys/Journey_3_PolicyMakers.ipynb +++ b/examples/Journeys/Journey-Policymaker.ipynb @@ -2,10 +2,10 @@ "cells": [ { "cell_type": "markdown", - "id": "eastern-plaza", + "id": "sized-cherry", "metadata": {}, "source": [ - "# Journey 3: HARK for Policy Makers\n", + "# Journey: HARK for Policymaker\n", "HARK is a powerful toolbox to solve heterogeneous agent models in discrete time. Users can run off-the shelf models or use tools to build their own agent type. While there are numerous notebooks which introduce and describe different agents and tools it might be overwhelming at first.\n", "\n", "This guide tries to introduce HARK and point out the most important resources such as notebooks, model types, and tools such that users can get quickly up to speed to analyze macroeconomic shocks. The outline for today covers:\n", @@ -19,7 +19,7 @@ }, { "cell_type": "markdown", - "id": "funded-second", + "id": "compliant-missouri", "metadata": {}, "source": [ "## 1. Introduction into HARK\n", @@ -42,7 +42,7 @@ }, { "cell_type": "markdown", - "id": "chicken-glory", + "id": "close-timeline", "metadata": {}, "source": [ "## 1.1 Structure\n", @@ -51,7 +51,7 @@ }, { "cell_type": "markdown", - "id": "stretch-scene", + "id": "wrapped-dancing", "metadata": {}, "source": [ "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. In HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models, as well as there are many other subclasses.\n", @@ -61,7 +61,7 @@ }, { "cell_type": "markdown", - "id": "published-halloween", + "id": "rational-refund", "metadata": {}, "source": [ "## 1.2 Example: `IndShockConsumerType`\n", @@ -85,7 +85,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "forced-sport", + "id": "happy-drive", "metadata": {}, "outputs": [], "source": [ @@ -97,7 +97,7 @@ }, { "cell_type": "markdown", - "id": "worth-cholesterol", + "id": "minus-gabriel", "metadata": {}, "source": [ "### An infinite horizon Problem" @@ -106,7 +106,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "split-plasma", + "id": "sized-harrison", "metadata": {}, "outputs": [], "source": [ @@ -118,7 +118,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "popular-activity", + "id": "processed-commerce", "metadata": {}, "outputs": [], "source": [ @@ -129,7 +129,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "enabling-depth", + "id": "special-identification", "metadata": {}, "outputs": [ { @@ -177,7 +177,7 @@ }, { "cell_type": "markdown", - "id": "driven-address", + "id": "taken-judges", "metadata": {}, "source": [ "### A lifecycle Problem" @@ -186,7 +186,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "sealed-amino", + "id": "adjusted-sucking", "metadata": {}, "outputs": [ { @@ -216,7 +216,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "demographic-means", + "id": "dated-washington", "metadata": {}, "outputs": [ { @@ -246,7 +246,7 @@ }, { "cell_type": "markdown", - "id": "banned-dodge", + "id": "positive-insulation", "metadata": {}, "source": [ "### 2.3 Simulation\n", @@ -256,7 +256,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "derived-theology", + "id": "charitable-excuse", "metadata": {}, "outputs": [ { @@ -359,7 +359,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "placed-level", + "id": "amber-duration", "metadata": {}, "outputs": [ { @@ -386,7 +386,7 @@ }, { "cell_type": "markdown", - "id": "strange-masters", + "id": "joined-conversation", "metadata": {}, "source": [ "# 2. HARK meets SSJ\n", @@ -399,7 +399,7 @@ }, { "cell_type": "markdown", - "id": "complimentary-tablet", + "id": "taken-smooth", "metadata": {}, "source": [ "Let's get into an introduction example [here](https://github.com/AMonninger/REMARK-ECB/blob/master/code/python/IndShockConsumerType_HANK.ipynb)." @@ -407,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "lyric-charles", + "id": "literary-horizon", "metadata": {}, "source": [ "## 3. Why use HARK?\n", @@ -420,7 +420,7 @@ }, { "cell_type": "markdown", - "id": "plastic-mexico", + "id": "cutting-battlefield", "metadata": {}, "source": [ "### 3.1 Targeting liquid asset distribution\n", @@ -431,7 +431,7 @@ }, { "cell_type": "markdown", - "id": "afraid-tenant", + "id": "attended-programmer", "metadata": {}, "source": [ "For instance, Carroll, Slacalek, Tokuoka, and White (2017) show that by having small ex-ante hetoerogeneity in discount rates, you can match the Lorenz curve remarkably well. The results can be seen below. If you want to redo the analysis check out this [demonstration](https://github.com/econ-ark/DemARK/blob/master/notebooks/Micro-and-Macro-Implications-of-Very-Impatient-HHs.ipynb) or [replication](https://github.com/econ-ark/DistributionOfWealthMPC).\n", @@ -441,7 +441,7 @@ }, { "cell_type": "markdown", - "id": "separated-skating", + "id": "fiscal-youth", "metadata": {}, "source": [ "A recent paper by [Carroll, Crawley, Frankovic, and Tretvoll](https://github.com/llorracc/HAFiscal) matches the intertemporal MPC in addition to the wealth distribution. For this, they add a 'splurge' factor; households spend each period a fixed fraction of their labor income.\n", @@ -453,7 +453,7 @@ }, { "cell_type": "markdown", - "id": "alternate-somerset", + "id": "protecting-tractor", "metadata": {}, "source": [ "### 3.2 Other HARK agents\n", @@ -487,7 +487,7 @@ }, { "cell_type": "markdown", - "id": "stopped-crime", + "id": "dense-disaster", "metadata": {}, "source": [ "### 3.3 Build your own Agent\n", @@ -496,7 +496,7 @@ }, { "cell_type": "markdown", - "id": "celtic-store", + "id": "increasing-testing", "metadata": {}, "source": [ "#### a) Understanding the code\n", @@ -506,7 +506,7 @@ }, { "cell_type": "markdown", - "id": "extensive-float", + "id": "functional-wales", "metadata": {}, "source": [ "#### b) Use our tools\n", @@ -521,7 +521,7 @@ }, { "cell_type": "markdown", - "id": "thorough-teddy", + "id": "actual-washer", "metadata": {}, "source": [ "# Conclusion\n", @@ -534,7 +534,7 @@ }, { "cell_type": "markdown", - "id": "polar-capital", + "id": "satisfied-robinson", "metadata": {}, "source": [ "# References\n", diff --git a/examples/Journeys/Journey_1_param.py b/examples/Journeys/Journey_PhD_param.py similarity index 100% rename from examples/Journeys/Journey_1_param.py rename to examples/Journeys/Journey_PhD_param.py diff --git a/examples/Journeys/Journeys_into_HARK.ipynb b/examples/Journeys/Journeys-into-HARK.ipynb similarity index 88% rename from examples/Journeys/Journeys_into_HARK.ipynb rename to examples/Journeys/Journeys-into-HARK.ipynb index f24cb77f0..561c8f63d 100644 --- a/examples/Journeys/Journeys_into_HARK.ipynb +++ b/examples/Journeys/Journeys-into-HARK.ipynb @@ -14,7 +14,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [1st year PhD student's track](Journey_1_PhD.ipynb)\n", + "## [1st year PhD student's track](Journey-PhD.ipynb)\n", "You have some knowledge in economic theory and structural modeling but you are not an expert in programing, in particular projects built in object-oriented programing paradigma. Therefore, this journey put a special effort to discuss how to create, solve and simulate HARK objects, not requiring a special skill in programming. \n" ] }, @@ -22,7 +22,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [Engineer's track](Journey_2_Engineering_Background.ipynb)\n", + "## [Engineer's track](Journey-Engineering-Background.ipynb)\n", "\n", "You are familiar with numerical simulations as well as object oriented programming and Python. However, you do not work (much) with economic problems. Thus we propose you a quick tutorials to get used to the models and the basic classes of HARK\n" ] @@ -39,17 +39,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [Policy maker track](Journey_3_PolicyMakers.ipynb)\n", + "## [Policymaker track](Journey-Policymaker.ipynb)\n", "\n", "You have some knowledge in economic theory and would like to use HARK to solve for general equilibrium HANK models. This journey introduces HARK and shows how to combine it with the [sequence space jacobian toolbox](https://github.com/shade-econ/sequence-jacobian) in order to create a HANK model." ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From be3aec71c7c225f7325c2c0af1f42cdcb99ed4c6 Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Wed, 21 Dec 2022 13:07:42 -0500 Subject: [PATCH 03/19] Rename Journeys and Figures --- .../example_notebooks/Journey-PhD.ipynb | 2 +- .../{HAFiscal_Fig1.PNG => HAFiscalFig1.png} | Bin .../{HARK_ind_sh.png => HARKIndSh.png} | Bin .../{HARK_struct_2.png => HARKStruct2.png} | Bin .../{HARK_struct_3.png => HARKStruct3.png} | Bin .../{HARK_struct_4.png => HARKStruct4.png} | Bin examples/Journeys/Journey-PhD.ipynb | 36 +++++------------- examples/Journeys/Journey-Policymaker.ipynb | 10 ++--- ...ourney_PhD_param.py => JourneyPhDparam.py} | 0 ...e_DiscRate.PNG => LorenzcurveDiscRate.png} | Bin 10 files changed, 15 insertions(+), 33 deletions(-) mode change 100644 => 120000 Documentation/example_notebooks/Journey-PhD.ipynb rename examples/Journeys/{HAFiscal_Fig1.PNG => HAFiscalFig1.png} (100%) rename examples/Journeys/{HARK_ind_sh.png => HARKIndSh.png} (100%) rename examples/Journeys/{HARK_struct_2.png => HARKStruct2.png} (100%) rename examples/Journeys/{HARK_struct_3.png => HARKStruct3.png} (100%) rename examples/Journeys/{HARK_struct_4.png => HARKStruct4.png} (100%) rename examples/Journeys/{Journey_PhD_param.py => JourneyPhDparam.py} (100%) rename examples/Journeys/{Lorenzcurve_DiscRate.PNG => LorenzcurveDiscRate.png} (100%) diff --git a/Documentation/example_notebooks/Journey-PhD.ipynb b/Documentation/example_notebooks/Journey-PhD.ipynb deleted file mode 100644 index b571db467..000000000 --- a/Documentation/example_notebooks/Journey-PhD.ipynb +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey_1_PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey-PhD.ipynb b/Documentation/example_notebooks/Journey-PhD.ipynb new file mode 120000 index 000000000..550352740 --- /dev/null +++ b/Documentation/example_notebooks/Journey-PhD.ipynb @@ -0,0 +1 @@ +../../examples/Journeys/Journey-PhD.ipynb \ No newline at end of file diff --git a/examples/Journeys/HAFiscal_Fig1.PNG b/examples/Journeys/HAFiscalFig1.png similarity index 100% rename from examples/Journeys/HAFiscal_Fig1.PNG rename to examples/Journeys/HAFiscalFig1.png diff --git a/examples/Journeys/HARK_ind_sh.png b/examples/Journeys/HARKIndSh.png similarity index 100% rename from examples/Journeys/HARK_ind_sh.png rename to examples/Journeys/HARKIndSh.png diff --git a/examples/Journeys/HARK_struct_2.png b/examples/Journeys/HARKStruct2.png similarity index 100% rename from examples/Journeys/HARK_struct_2.png rename to examples/Journeys/HARKStruct2.png diff --git a/examples/Journeys/HARK_struct_3.png b/examples/Journeys/HARKStruct3.png similarity index 100% rename from examples/Journeys/HARK_struct_3.png rename to examples/Journeys/HARKStruct3.png diff --git a/examples/Journeys/HARK_struct_4.png b/examples/Journeys/HARKStruct4.png similarity index 100% rename from examples/Journeys/HARK_struct_4.png rename to examples/Journeys/HARKStruct4.png diff --git a/examples/Journeys/Journey-PhD.ipynb b/examples/Journeys/Journey-PhD.ipynb index 073d63ab2..0cafa78e0 100644 --- a/examples/Journeys/Journey-PhD.ipynb +++ b/examples/Journeys/Journey-PhD.ipynb @@ -130,25 +130,14 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/sb/projects/econ-ark/HARK/HARK/Calibration/Income/IncomeTools.py:451: UserWarning: Sabelhaus and Song (2010) provide variance profiles for ages 27 to 54. Extrapolating variances using the extreme points.\n", - " + \"27 to 54. Extrapolating variances using the extreme points.\"\n", - "/home/sb/projects/econ-ark/HARK/HARK/datasets/SCF/WealthIncomeDist/SCFDistTools.py:79: UserWarning: Returning SCF summary statistics for ages (20,25].\n", - " warn(\"Returning SCF summary statistics for ages \" + age_bracket + \".\")\n" - ] - } - ], + "outputs": [], "source": [ "import sys #set path of the notebook \n", "import os\n", "sys.path.insert(0, os.path.abspath('../../.'))\n", "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", "#we previously defined the paramters to not bother you about it now\n", - "import Journey_PhD_param as Params #imported paramters \n", + "import JourneyPhDparam as Params #imported paramters \n", "from HARK.utilities import plot_funcs #useful function\n", "\n", "Example = IndShockConsumerType() \n" @@ -175,7 +164,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "

" ] @@ -201,7 +190,7 @@ "### 4.2 The Agent-Type structure\n", "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section).\n", "\n", - "![HARK structure](HARK_struct_2.png)\n" + "![HARK structure](HARKStruct2.png)\n" ] }, { @@ -321,7 +310,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -365,7 +354,7 @@ "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, in the economy there exist an additional aggregate fluctuation, which distribution is given by the finite Markov matrix. \n", "\n", "\n", - "![HARK_struct_2](HARK_struct_4.png)\n", + "![HARK_struct_2](HARKStruct4.png)\n", "\n", "\n" ] @@ -418,7 +407,7 @@ "\n", "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus when you will study the source code, you firstly will read the solve classes. \n", "\n", - "![Hark_struct3](HARK_struct_3.png)\n", + "![Hark_struct3](HARKStruct3.png)\n", "\n", "\n", "#### 6.2.1 Solution method for agent problem\n", @@ -440,18 +429,11 @@ "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", "- When you want to learn any of the modules, always firstly check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -465,7 +447,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.8.11" }, "latex_envs": { "LaTeX_envs_menu_present": true, diff --git a/examples/Journeys/Journey-Policymaker.ipynb b/examples/Journeys/Journey-Policymaker.ipynb index f5fdd66f8..bcbf7dd93 100644 --- a/examples/Journeys/Journey-Policymaker.ipynb +++ b/examples/Journeys/Journey-Policymaker.ipynb @@ -56,7 +56,7 @@ "source": [ "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. In HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models, as well as there are many other subclasses.\n", "\n", - "![HARK structure](HARK_struct_2.png)" + "![HARK structure](HARKStruct2.png)" ] }, { @@ -436,7 +436,7 @@ "source": [ "For instance, Carroll, Slacalek, Tokuoka, and White (2017) show that by having small ex-ante hetoerogeneity in discount rates, you can match the Lorenz curve remarkably well. The results can be seen below. If you want to redo the analysis check out this [demonstration](https://github.com/econ-ark/DemARK/blob/master/notebooks/Micro-and-Macro-Implications-of-Very-Impatient-HHs.ipynb) or [replication](https://github.com/econ-ark/DistributionOfWealthMPC).\n", "\n", - "![Lorenz_DisCount](Lorenzcurve_DiscRate.png)" + "![Lorenz_DisCount](LorenzcurveDiscRate.png)" ] }, { @@ -448,7 +448,7 @@ "\n", "Below is figure one from Carroll et al. With such a heterogeneous agent part in your quantitative HANK model allows you to make serious claims about quantitative changes from interest rate or government spending shocks.\n", "\n", - "![HAFiscal_Fig](HAFiscal_Fig1.png)" + "![HAFiscal_Fig](HAFiscalFig1.png)" ] }, { @@ -548,7 +548,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -562,7 +562,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.8.11" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/examples/Journeys/Journey_PhD_param.py b/examples/Journeys/JourneyPhDparam.py similarity index 100% rename from examples/Journeys/Journey_PhD_param.py rename to examples/Journeys/JourneyPhDparam.py diff --git a/examples/Journeys/Lorenzcurve_DiscRate.PNG b/examples/Journeys/LorenzcurveDiscRate.png similarity index 100% rename from examples/Journeys/Lorenzcurve_DiscRate.PNG rename to examples/Journeys/LorenzcurveDiscRate.png From 1a9b4f22e3199d046ecad0e4aef0bfcfa0f9dc12 Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Thu, 12 Jan 2023 15:51:45 -0500 Subject: [PATCH 04/19] IndShockConsumerType untouched --- examples/ConsIndShockModel/IndShockConsumerType.ipynb | 11 ++--------- examples/ConsIndShockModel/IndShockConsumerType.py | 4 ++-- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/examples/ConsIndShockModel/IndShockConsumerType.ipynb b/examples/ConsIndShockModel/IndShockConsumerType.ipynb index 58a057623..62708e898 100644 --- a/examples/ConsIndShockModel/IndShockConsumerType.ipynb +++ b/examples/ConsIndShockModel/IndShockConsumerType.ipynb @@ -823,7 +823,7 @@ "formats": "ipynb,py:percent" }, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -837,14 +837,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } + "version": "3.8.11" } }, "nbformat": 4, diff --git a/examples/ConsIndShockModel/IndShockConsumerType.py b/examples/ConsIndShockModel/IndShockConsumerType.py index a3f7d41f4..edf2368af 100644 --- a/examples/ConsIndShockModel/IndShockConsumerType.py +++ b/examples/ConsIndShockModel/IndShockConsumerType.py @@ -8,9 +8,9 @@ # extension: .py # format_name: percent # format_version: '1.3' -# jupytext_version: 1.13.7 +# jupytext_version: 1.14.1 # kernelspec: -# display_name: Python 3 +# display_name: Python 3 (ipykernel) # language: python # name: python3 # --- From 4d11971e4f1cbe4ec49074d584cdffb03ec2634d Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Thu, 12 Jan 2023 15:58:03 -0500 Subject: [PATCH 05/19] Journey 1 PhD restored --- examples/Journeys/Journey_1_PhD.ipynb | 504 ++++++++++++++++++++++++++ 1 file changed, 504 insertions(+) create mode 100644 examples/Journeys/Journey_1_PhD.ipynb diff --git a/examples/Journeys/Journey_1_PhD.ipynb b/examples/Journeys/Journey_1_PhD.ipynb new file mode 100644 index 000000000..ff8cd1601 --- /dev/null +++ b/examples/Journeys/Journey_1_PhD.ipynb @@ -0,0 +1,504 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Journey 1: 1st year PhD student \n", + "====\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 Introduction\n", + "\n", + "This notebook is a one of the possible journeys into HARK - the Python package designed to solve economic models with the heterogeneous agents. As it is a \"journey\", it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", + "\n", + "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", + "\n", + "As you have found this journey, you probably have a concept of what a heterogeneous agent model is, but here is a short recap. Think about a basic infinitely lived consumer problem as you know from first-year graduate courses (letting alone the companies and general equilibrium). Using the Bellman equation, we can write it as:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_t) &=& \\max_{C_t} U(C_t) + \\beta V(M_{t+1}), \\\\\n", + "& s.t. & \\\\\n", + "A_t &=& M_t - C_t, \\\\\n", + "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "\n", + "Where $\\beta <1$ is a discount factor, $C_t$ is a consumption, $A_t$ - assets, $Y_t$ - income and $U(C)$ is a standard CRRA utility function:\n", + "\n", + "$$\n", + "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", + "$$\n", + "\n", + "Now assume that every consumer faces some uncertainty on her income (e.g. it follows AR (1) process), which is idiosyncratic - the realizations of each shock is (potentially) different for each agent. In this setting the Bellman equation looks like:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", + "& s.t. & \\\\\n", + "A_t &=& M_t - C_t, \\\\\n", + "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. It was mentioned in the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", + "\n", + "*\"After months of effort, you may have had the character-improving experience of\n", + "proudly explaining to your adviser that not only had you grafted two ideas\n", + "together, you also found a trick that speeded the solution by an order of\n", + "magnitude, only to be told that your breathtaking insight had been understood\n", + "for many years, as reflected in an appendix to a 2008 paper; or, worse, your\n", + "discovery was something that “everybody knows” but did not exist at all in\n", + "published form!\"*\n", + "\n", + "\n", + "HARK was designed to help you avoid similar experiences. We see two main ways how you can use this package:\n", + "\n", + "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", + "- To solve your own models building-on the already implemented algorithms \n", + "\n", + "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods, however in the last sections you can find some guidance which were used and how the source code is structured. \n", + "\n", + "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", + "\n", + "---\n", + "NOTE\n", + "***\n", + "We will be very happy to see your feedback. If you have any questions regarding this tutorial or HARK as a whole please see our [Github page](https://github.com/econ-ark/HARK). \n", + "\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 Before you start\n", + "\n", + "As we have mentioned before, this journey does not require any special skill in programing. However, some knowledge about Python and object-oriented programing (OOP) is needed. We propose two possible ways to gather the basic concepts, however, plenty of others are available:\n", + "\n", + "- Quick introduction to Python and OOP: chapters five to seven from [Quantecon](https://python-programming.quantecon.org/intro.html) should familiarize you with everything what you need for the first tutorials.\n", + "- A little longer introduction (if you want to learn something about used numerical methods):\n", + " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", + " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", + "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way. For example [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3 Few words about HARK structure\n", + "\n", + "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different objects.\n", + "\n", + "Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with a such structure implies learning the different types of objects (classes). In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", + "\n", + "However, only two classes cannot accommodate the huge variety of the currently used models. Thus, each of the classes have subclasses and they have their own subclasses... In general more sophisticated class is a subclass. This journey will reflect this structure, by showing you first the most primitive models, then go ahead to the more fancy ones.\n", + "\n", + "---\n", + "NOTE\n", + "***\n", + "In OOP objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", + "\n", + "---\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 Agent-type class \n", + "Agent-type class enables you to build the macroeconomic models, such as presented in the introduction. It is also the essential part of the macroeconomic model in HARK. Therefore, to use HARK, you always need to use agent-type classes!\n", + "\n", + "### 4.1 Introductory example\n", + "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent i in the period t: $Y_{i,t}$, is given by: \n", + "\n", + "\\begin{eqnarray*} \n", + "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", + "p_{i,t+1} &=& p_{i,t}\\psi_{i,t+1}\\\\\n", + "\\psi_{i,t} & \\sim & N(1,\\sigma_{\\varrho})\\\\\n", + "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", + "\\end{eqnarray*}\n", + "\n", + "To get a universal solution of this problem we need to find a policy function (in this case consumption function), we can easily use the HARK solve function. Before we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/sb/projects/econ-ark/HARK/HARK/Calibration/Income/IncomeTools.py:451: UserWarning: Sabelhaus and Song (2010) provide variance profiles for ages 27 to 54. Extrapolating variances using the extreme points.\n", + " + \"27 to 54. Extrapolating variances using the extreme points.\"\n", + "/home/sb/projects/econ-ark/HARK/HARK/datasets/SCF/WealthIncomeDist/SCFDistTools.py:79: UserWarning: Returning SCF summary statistics for ages (20,25].\n", + " warn(\"Returning SCF summary statistics for ages \" + age_bracket + \".\")\n" + ] + } + ], + "source": [ + "import sys #set path of the notebook \n", + "import os\n", + "sys.path.insert(0, os.path.abspath('../../.'))\n", + "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", + "#we previously defined the paramters to not bother you about it now\n", + "import Journey_1_param as Params #imported paramters \n", + "from HARK.utilities import plot_funcs #useful function\n", + "\n", + "Example = IndShockConsumerType() \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we can solve the model and plot the consumption function:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption function\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Example.solve()\n", + "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", + "max_v = 20\n", + "print(\"Consumption function\")\n", + "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 The Agent-Type structure\n", + "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section).\n", + "\n", + "![HARK structure](HARK_struct_2.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 Main tutorials\n", + "\n", + "To reflect the agent-type structure, we propose you start with the Quickstart notebook. It is devoted to the deterministic case. Then proceed to the idiosyncratic consumers and then consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", + "\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", + "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", + "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", + "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 Supplementary tutorials\n", + "\n", + "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes, with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", + "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", + "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5 Market class\n", + "\n", + "In macroeconomic models, the consumers are only one type of agents. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.1 Introductory example\n", + "\n", + "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", + "\n", + "\\begin{eqnarray*}\n", + "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", + "\\end{eqnarray*}\n", + "Thus producers' problem is:\n", + "\\begin{eqnarray*}\n", + "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", + "\\end{eqnarray*}\n", + "\n", + "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", + "\n", + "In this case, consumers' income is determined by the wage:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", + "& s.t. & \\\\\n", + "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", + "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", + "\\begin{eqnarray*}\n", + "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", + "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", + "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", + "\\end{eqnarray*}\n", + "\n", + "In HARK, you can solve this basic case by using `CobbDouglasEconomy` class. However, to add the consumers to the economy you need `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", + "\n", + "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", + "\n", + "# Make a Cobb-Douglas economy for the agents\n", + "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, you can solve the economy and plot the aggregate savings function: " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capital-level steady state: 13.943289665216982\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", + "\n", + "# Have the consumers inherit relevant objects from the economy\n", + "AggShockExample.get_economy_data(EconomyExample)\n", + "\n", + "AggShockExample.solve() #solve the model\n", + "\n", + "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", + "\n", + "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.2 Market class structure\n", + "\n", + "As in case of the agent-type the more complicated macroeconomic models are the subclasses of the more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously. Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", + "\n", + "\\begin{eqnarray*} \n", + "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", + "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", + "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", + "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Therefore, the consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", + "\n", + "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, in the economy there exist an additional aggregate fluctuation, which distribution is given by the finite Markov matrix. \n", + "\n", + "\n", + "![HARK_struct_2](HARK_struct_4.png)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.3 Tutorial\n", + "\n", + "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using `CobbDouglasMarkovEconomy` class. \n", + "\n", + "Before, you can also check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.3.1 If you want to learn (a little) how the Market class works\n", + "\n", + "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` n the code). \n", + "\n", + "If you would like to get better knowledge about this structure firstly look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6 If you need to study a source code\n", + "\n", + "In the previous sections we showed how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", + "\n", + "Obviously, working with the code, even well-written, is much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", + "\n", + "### 6.1 A few more words on HARK structure \n", + " \n", + "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", + "\n", + "The reason for this is that HARK.core is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", + "\n", + "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you firstly need to understand `HARK.core`. \n", + "\n", + "\n", + "### 6.2 HARK solution \n", + "\n", + "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function includes also data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", + "\n", + "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus when you will study the source code, you firstly will read the solve classes. \n", + "\n", + "![Hark_struct3](HARK_struct_3.png)\n", + "\n", + "\n", + "#### 6.2.1 Solution method for agent problem\n", + "However, knowing the structure of the code does not be very beneficial if you do not know the solution method! While for the perfect foresight consumer it is analytic, for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) the policy functions are solved by the **endogenous grid method**.\n", + "\n", + "The endogenous grid method is now widely used in the macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", + "\n", + "#### 6.2.2 Finding general equilibrium\n", + "In the most basic case the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices to the point when actual aggregated variables (like intrest rate or capital) are equal to the expected ones. However, refer to the papers cited in the notebooks, to understand the exact used mathods. \n", + "\n", + "\n", + "### 6.3 How to study HARK codes\n", + "\n", + "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than we've discussed here. Here we give you some guidance how to continue your journey:\n", + "\n", + "- Before you start make sure that you understand the endogenous grid method, and general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", + "- Start with the HARK.core, make sure that you see the connection between the structure in the documentation and the code, check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage. \n", + "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", + "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", + "- When you want to learn any of the modules, always firstly check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.11" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 3849ba0e3c3006d414d226b3705a2d8ab90bf729 Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Thu, 12 Jan 2023 16:06:10 -0500 Subject: [PATCH 06/19] Reverse changes to Journey_1_PhD.ipynb --- .../example_notebooks/Journey_1_PhD.ipynb | 1 + Documentation/index.rst | 2 +- examples/Journeys/Journey-PhD.ipynb | 493 ------------------ ...{JourneyPhDparam.py => Journey_1_param.py} | 0 examples/Journeys/Journeys-into-HARK.ipynb | 6 +- 5 files changed, 5 insertions(+), 497 deletions(-) create mode 120000 Documentation/example_notebooks/Journey_1_PhD.ipynb delete mode 100644 examples/Journeys/Journey-PhD.ipynb rename examples/Journeys/{JourneyPhDparam.py => Journey_1_param.py} (100%) diff --git a/Documentation/example_notebooks/Journey_1_PhD.ipynb b/Documentation/example_notebooks/Journey_1_PhD.ipynb new file mode 120000 index 000000000..b571db467 --- /dev/null +++ b/Documentation/example_notebooks/Journey_1_PhD.ipynb @@ -0,0 +1 @@ +../../examples/Journeys/Journey_1_PhD.ipynb \ No newline at end of file diff --git a/Documentation/index.rst b/Documentation/index.rst index 4c8314a4c..520ccca9a 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -36,7 +36,7 @@ you might want to look at the `DemARK example_notebooks/GenIncProcessModel.ipynb example_notebooks/LifecycleModel.ipynb example_notebooks/HowWeSolveIndShockConsumerType.ipynb - example_notebooks/Journey-PhD.ipynb + example_notebooks/Journey_1_PhD.ipynb Indices and tables ================== diff --git a/examples/Journeys/Journey-PhD.ipynb b/examples/Journeys/Journey-PhD.ipynb deleted file mode 100644 index 0cafa78e0..000000000 --- a/examples/Journeys/Journey-PhD.ipynb +++ /dev/null @@ -1,493 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Journey: 1st year PhD student \n", - "====\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1 Introduction\n", - "\n", - "This notebook is a one of the possible journeys into HARK - the Python package designed to solve economic models with the heterogeneous agents. As it is a \"journey\", it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", - "\n", - "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", - "\n", - "As you have found this journey, you probably have a concept of what a heterogeneous agent model is, but here is a short recap. Think about a basic infinitely lived consumer problem as you know from first-year graduate courses (letting alone the companies and general equilibrium). Using the Bellman equation, we can write it as:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t) &=& \\max_{C_t} U(C_t) + \\beta V(M_{t+1}), \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "\n", - "Where $\\beta <1$ is a discount factor, $C_t$ is a consumption, $A_t$ - assets, $Y_t$ - income and $U(C)$ is a standard CRRA utility function:\n", - "\n", - "$$\n", - "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", - "$$\n", - "\n", - "Now assume that every consumer faces some uncertainty on her income (e.g. it follows AR (1) process), which is idiosyncratic - the realizations of each shock is (potentially) different for each agent. In this setting the Bellman equation looks like:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. It was mentioned in the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", - "\n", - "*\"After months of effort, you may have had the character-improving experience of\n", - "proudly explaining to your adviser that not only had you grafted two ideas\n", - "together, you also found a trick that speeded the solution by an order of\n", - "magnitude, only to be told that your breathtaking insight had been understood\n", - "for many years, as reflected in an appendix to a 2008 paper; or, worse, your\n", - "discovery was something that “everybody knows” but did not exist at all in\n", - "published form!\"*\n", - "\n", - "\n", - "HARK was designed to help you avoid similar experiences. We see two main ways how you can use this package:\n", - "\n", - "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", - "- To solve your own models building-on the already implemented algorithms \n", - "\n", - "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods, however in the last sections you can find some guidance which were used and how the source code is structured. \n", - "\n", - "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "We will be very happy to see your feedback. If you have any questions regarding this tutorial or HARK as a whole please see our [Github page](https://github.com/econ-ark/HARK). \n", - "\n", - "---" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2 Before you start\n", - "\n", - "As we have mentioned before, this journey does not require any special skill in programing. However, some knowledge about Python and object-oriented programing (OOP) is needed. We propose two possible ways to gather the basic concepts, however, plenty of others are available:\n", - "\n", - "- Quick introduction to Python and OOP: chapters five to seven from [Quantecon](https://python-programming.quantecon.org/intro.html) should familiarize you with everything what you need for the first tutorials.\n", - "- A little longer introduction (if you want to learn something about used numerical methods):\n", - " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", - " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", - "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way. For example [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3 Few words about HARK structure\n", - "\n", - "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different objects.\n", - "\n", - "Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with a such structure implies learning the different types of objects (classes). In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", - "\n", - "However, only two classes cannot accommodate the huge variety of the currently used models. Thus, each of the classes have subclasses and they have their own subclasses... In general more sophisticated class is a subclass. This journey will reflect this structure, by showing you first the most primitive models, then go ahead to the more fancy ones.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "In OOP objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", - "\n", - "---\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4 Agent-type class \n", - "Agent-type class enables you to build the macroeconomic models, such as presented in the introduction. It is also the essential part of the macroeconomic model in HARK. Therefore, to use HARK, you always need to use agent-type classes!\n", - "\n", - "### 4.1 Introductory example\n", - "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent i in the period t: $Y_{i,t}$, is given by: \n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", - "p_{i,t+1} &=& p_{i,t}\\psi_{i,t+1}\\\\\n", - "\\psi_{i,t} & \\sim & N(1,\\sigma_{\\varrho})\\\\\n", - "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "To get a universal solution of this problem we need to find a policy function (in this case consumption function), we can easily use the HARK solve function. Before we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import sys #set path of the notebook \n", - "import os\n", - "sys.path.insert(0, os.path.abspath('../../.'))\n", - "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", - "#we previously defined the paramters to not bother you about it now\n", - "import JourneyPhDparam as Params #imported paramters \n", - "from HARK.utilities import plot_funcs #useful function\n", - "\n", - "Example = IndShockConsumerType() \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next we can solve the model and plot the consumption function:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Consumption function\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "Example.solve()\n", - "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", - "max_v = 20\n", - "print(\"Consumption function\")\n", - "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.2 The Agent-Type structure\n", - "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section).\n", - "\n", - "![HARK structure](HARKStruct2.png)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.3 Main tutorials\n", - "\n", - "To reflect the agent-type structure, we propose you start with the Quickstart notebook. It is devoted to the deterministic case. Then proceed to the idiosyncratic consumers and then consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", - "\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", - "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", - "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", - "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.4 Supplementary tutorials\n", - "\n", - "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes, with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", - "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", - "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 5 Market class\n", - "\n", - "In macroeconomic models, the consumers are only one type of agents. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.1 Introductory example\n", - "\n", - "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", - "\n", - "\\begin{eqnarray*}\n", - "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", - "\\end{eqnarray*}\n", - "Thus producers' problem is:\n", - "\\begin{eqnarray*}\n", - "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", - "\\end{eqnarray*}\n", - "\n", - "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", - "\n", - "In this case, consumers' income is determined by the wage:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", - "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", - "\\begin{eqnarray*}\n", - "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", - "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", - "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", - "\\end{eqnarray*}\n", - "\n", - "In HARK, you can solve this basic case by using `CobbDouglasEconomy` class. However, to add the consumers to the economy you need `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", - "\n", - "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", - "\n", - "# Make a Cobb-Douglas economy for the agents\n", - "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, you can solve the economy and plot the aggregate savings function: " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "capital-level steady state: 13.943289665216982\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", - "\n", - "# Have the consumers inherit relevant objects from the economy\n", - "AggShockExample.get_economy_data(EconomyExample)\n", - "\n", - "AggShockExample.solve() #solve the model\n", - "\n", - "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", - "\n", - "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.2 Market class structure\n", - "\n", - "As in case of the agent-type the more complicated macroeconomic models are the subclasses of the more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously. Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", - "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", - "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", - "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Therefore, the consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", - "\n", - "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, in the economy there exist an additional aggregate fluctuation, which distribution is given by the finite Markov matrix. \n", - "\n", - "\n", - "![HARK_struct_2](HARKStruct4.png)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.3 Tutorial\n", - "\n", - "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using `CobbDouglasMarkovEconomy` class. \n", - "\n", - "Before, you can also check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.3.1 If you want to learn (a little) how the Market class works\n", - "\n", - "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` n the code). \n", - "\n", - "If you would like to get better knowledge about this structure firstly look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 6 If you need to study a source code\n", - "\n", - "In the previous sections we showed how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", - "\n", - "Obviously, working with the code, even well-written, is much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", - "\n", - "### 6.1 A few more words on HARK structure \n", - " \n", - "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", - "\n", - "The reason for this is that HARK.core is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", - "\n", - "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you firstly need to understand `HARK.core`. \n", - "\n", - "\n", - "### 6.2 HARK solution \n", - "\n", - "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function includes also data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", - "\n", - "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus when you will study the source code, you firstly will read the solve classes. \n", - "\n", - "![Hark_struct3](HARKStruct3.png)\n", - "\n", - "\n", - "#### 6.2.1 Solution method for agent problem\n", - "However, knowing the structure of the code does not be very beneficial if you do not know the solution method! While for the perfect foresight consumer it is analytic, for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) the policy functions are solved by the **endogenous grid method**.\n", - "\n", - "The endogenous grid method is now widely used in the macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", - "\n", - "#### 6.2.2 Finding general equilibrium\n", - "In the most basic case the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices to the point when actual aggregated variables (like intrest rate or capital) are equal to the expected ones. However, refer to the papers cited in the notebooks, to understand the exact used mathods. \n", - "\n", - "\n", - "### 6.3 How to study HARK codes\n", - "\n", - "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than we've discussed here. Here we give you some guidance how to continue your journey:\n", - "\n", - "- Before you start make sure that you understand the endogenous grid method, and general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", - "- Start with the HARK.core, make sure that you see the connection between the structure in the documentation and the code, check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage. \n", - "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", - "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", - "- When you want to learn any of the modules, always firstly check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.11" - }, - "latex_envs": { - "LaTeX_envs_menu_present": true, - "autoclose": false, - "autocomplete": true, - "bibliofile": "biblio.bib", - "cite_by": "apalike", - "current_citInitial": 1, - "eqLabelWithNumbers": true, - "eqNumInitial": 1, - "hotkeys": { - "equation": "Ctrl-E", - "itemize": "Ctrl-I" - }, - "labels_anchors": false, - "latex_user_defs": false, - "report_style_numbering": false, - "user_envs_cfg": false - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": true, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": false - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "state": {}, - "version_major": 2, - "version_minor": 0 - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/Journeys/JourneyPhDparam.py b/examples/Journeys/Journey_1_param.py similarity index 100% rename from examples/Journeys/JourneyPhDparam.py rename to examples/Journeys/Journey_1_param.py diff --git a/examples/Journeys/Journeys-into-HARK.ipynb b/examples/Journeys/Journeys-into-HARK.ipynb index 561c8f63d..8c0713e10 100644 --- a/examples/Journeys/Journeys-into-HARK.ipynb +++ b/examples/Journeys/Journeys-into-HARK.ipynb @@ -14,7 +14,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## [1st year PhD student's track](Journey-PhD.ipynb)\n", + "## [1st year PhD student's track](../notebooks/Journey_1_PhD.ipynb)\n", "You have some knowledge in economic theory and structural modeling but you are not an expert in programing, in particular projects built in object-oriented programing paradigma. Therefore, this journey put a special effort to discuss how to create, solve and simulate HARK objects, not requiring a special skill in programming. \n" ] }, @@ -47,7 +47,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -61,7 +61,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.8.11" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From e828530be70e0855365570ce4a3d1ca8c6ccb08e Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Thu, 12 Jan 2023 16:15:53 -0500 Subject: [PATCH 07/19] Ready to merge --- Documentation/example_notebooks/Journey-PhD.ipynb | 1 - examples/Journeys/Journey-Policymaker.ipynb | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 120000 Documentation/example_notebooks/Journey-PhD.ipynb diff --git a/Documentation/example_notebooks/Journey-PhD.ipynb b/Documentation/example_notebooks/Journey-PhD.ipynb deleted file mode 120000 index 550352740..000000000 --- a/Documentation/example_notebooks/Journey-PhD.ipynb +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey-PhD.ipynb \ No newline at end of file diff --git a/examples/Journeys/Journey-Policymaker.ipynb b/examples/Journeys/Journey-Policymaker.ipynb index bcbf7dd93..0c0affe1d 100644 --- a/examples/Journeys/Journey-Policymaker.ipynb +++ b/examples/Journeys/Journey-Policymaker.ipynb @@ -482,7 +482,7 @@ "\n", "Using `DurableConsumerType` allows you to solve a household problem with non-durable and durable goods, where the adjustment of the durable stock entails a non-convex cost. This opens doors to analyze business cycle fluctuations of durable good demand, prices, as well as sectoral labor markets.\n", "\n", - "My JMP uses this agent in a partial and general equilibrium context. For this, I show how unemployment expectations drive durable consumption fluctuations. Matching consumption dynamics of durables and non-durables allows me to re-evaulate the impact of fiscal and monetary policy. I'm happy to present this in the near future." + "[My](https://github.com/AMonninger) JMP uses this agent in a partial and general equilibrium context. For this, I show how unemployment expectations drive durable consumption fluctuations. Matching consumption dynamics of durables and non-durables allows me to re-evaulate the impact of fiscal and monetary policy. I'm happy to present this in the near future." ] }, { From 46186fe5536e5a438bab205c47e1b7c3267d3dee Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Thu, 12 Jan 2023 16:23:41 -0500 Subject: [PATCH 08/19] Redo renaming of pictures --- .../{HARKIndSh.png => HARK_ind_sh.png} | Bin .../{HARKStruct2.png => HARK_struct_2.png} | Bin .../{HARKStruct3.png => HARK_struct_3.png} | Bin .../{HARKStruct4.png => HARK_struct_4.png} | Bin examples/Journeys/Journey-Policymaker.ipynb | 38 +++++++++++------- 5 files changed, 23 insertions(+), 15 deletions(-) rename examples/Journeys/{HARKIndSh.png => HARK_ind_sh.png} (100%) rename examples/Journeys/{HARKStruct2.png => HARK_struct_2.png} (100%) rename examples/Journeys/{HARKStruct3.png => HARK_struct_3.png} (100%) rename examples/Journeys/{HARKStruct4.png => HARK_struct_4.png} (100%) diff --git a/examples/Journeys/HARKIndSh.png b/examples/Journeys/HARK_ind_sh.png similarity index 100% rename from examples/Journeys/HARKIndSh.png rename to examples/Journeys/HARK_ind_sh.png diff --git a/examples/Journeys/HARKStruct2.png b/examples/Journeys/HARK_struct_2.png similarity index 100% rename from examples/Journeys/HARKStruct2.png rename to examples/Journeys/HARK_struct_2.png diff --git a/examples/Journeys/HARKStruct3.png b/examples/Journeys/HARK_struct_3.png similarity index 100% rename from examples/Journeys/HARKStruct3.png rename to examples/Journeys/HARK_struct_3.png diff --git a/examples/Journeys/HARKStruct4.png b/examples/Journeys/HARK_struct_4.png similarity index 100% rename from examples/Journeys/HARKStruct4.png rename to examples/Journeys/HARK_struct_4.png diff --git a/examples/Journeys/Journey-Policymaker.ipynb b/examples/Journeys/Journey-Policymaker.ipynb index 0c0affe1d..a4a775564 100644 --- a/examples/Journeys/Journey-Policymaker.ipynb +++ b/examples/Journeys/Journey-Policymaker.ipynb @@ -56,7 +56,7 @@ "source": [ "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. In HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models, as well as there are many other subclasses.\n", "\n", - "![HARK structure](HARKStruct2.png)" + "![HARK structure](HARK_struct_2.png)" ] }, { @@ -141,12 +141,14 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgrElEQVR4nO3deXSU933v8fdXQgKENkASICEhsa8GYxm84yR2Ymw3TlrHW+LYjh1MTtwmvc1t0tu0aZvee5rT29w0jRtMvMV1Y5o4TuoFx1kNXjFgY/ZFEot2iU0LArTM9/6hYTEWaIARzyyf1zlzpGeeHzNfT8wnP//m93wfc3dERCSxpARdgIiIRJ/CXUQkASncRUQSkMJdRCQBKdxFRBLQoKDeOC8vz0tLS4N6exGRuLR27dq97p7f37jAwr20tJQ1a9YE9fYiInHJzHZHMk7LMiIiCajfcDezx82sycw29jPuUjPrMbNbo1eeiIici0hm7k8CN5xpgJmlAt8BXolCTSIicp76DXd3Xwns72fYnwI/B5qiUZSIiJyf815zN7Mi4NPAkgjGLjKzNWa2prm5+XzfWkRETiMaX6h+D/i6u/f0N9Ddl7p7ubuX5+f3u5NHRETOUTS2QpYDy8wMIA+40cy63f2XUXhtERE5B+cd7u5edux3M3sSeFHBLiISHaGQU3vwMJXN7VQ2H4r4z/Ub7mb2DHAtkGdmNcC3gDQAd+93nV1ERPp3uLOHqr29AV7Z1H48zKua2znaHTrr1+s33N39zkhfzN3vPesKRESSyIFDnVQ0t1PRdOJR2dxO7cHDHLt3khkUD89gQv4wrpwwkgkFmUzIz2RC/jDyvhPZ+wTWfkBEJFG5O3UtRz4U4JVN7ew71Hl83OBBKYzPz+TikuF85pJiJhQMY0J+JmV5wxiSlnpeNSjcRUTOUVdPiN37Oo6H98lB3tF5YgNhztA0JhZkct20UUwsyDz+KModSkqKDUhtCncRkX50dHZT2XToAwFe0dzOrr2H6A6duA/1mJwhTCzI5LbyYiYUZDIxvzfE8zLTCe8ovGAU7iIiYQc7Otne+MEAr2zqXQ8/JjXFGDcigwkFmVw/fdTxAJ9QkEnm4NiJ1NipRETkAjkW4tsb26ho6v25vbGdve1Hj48ZkpbChPxMykuHc0d+eCZekEnpyGGkD4r9hroKdxFJWMdCfEdTGzvCYb6jqZ3mthMhPiw9lYmjsvjIlHwmjcpkUkHWgK+HXwgKdxGJe2cT4gsm5zN5VCaTRmUxKRziF3o9/EJQuItI3DjY0cmO8DLKjnCYb2/8YIhnpKcyqSDzQyFemBPfM/GzpXAXkZhzpKuHiqZ2tja0sa2hlW2N7WxraKWxte8Qn1SQyeRRWUwalXwhfjoKdxEJTE/I2b3vENsa2tjW2Nb7s6GNXfsOcWyHYfqgFCbmZ3LlhDwmj85iikI8Igp3ERlw7k5T21G2NrSxvaGtd0be2MqOxhN9U8xg3IgMpozO4ubZhUwZlcWU0VmUjsxgUGrs706JNQp3EYmqtiNdbG8MB/ixR2MbBzu6jo/JzxrM1NFZ3H3ZOCaPzmLq6CwmFWQxNP38LrmXExTuInJOQiGn5sBhNte3suXYo6GV6v0nLvjJHDyIyaMyWThzdHgmns2U0VmMGJYeYOXJQeEuIv3q6Oxma0PbiRCv752Rtx/tBnqXVMpGDuOiolxuLy9majjExw5PzG2G8UDhLiLHuffeGGJLfRtbwzPxLfW9X3Aea0ebNXgQU8dk8cdzi5g2JptpY7KZMkpLKrFG4S6SpLp6QuxobGdTXQub6lrZXN/K1vpWWo90Hx8zbmQGU0dnccucQqaNyWb6mGzNxuOEwl0kCRzu7GFLQyubanuDfFNdK9sa2ujs6d2pMjQtlaljenep9IZ47/p4LDXCkrOj/+VEEkxLRxeb6lvYVNvKproWNta1UtXcfnzfeG5GGjMKs7n3ylJmFGYzozCHsrxhpGrPeEJRuIvEsaa2I2ysPRbkrWysa6HmwIndKqOzhzCjMJsbZ41hRmE2M4tyKMwZomWVJKBwF4kT+9qPsqG2hQ01LawP/2xoPXL8fFneMGYX53LX/BJmFOYwozCbvMzBAVYsQeo33M3sceBmoMndZ/Zx/rPA18OH7cCX3P39qFYpkmRaOrrYUNvC+tqDvWFe0/KBG0aMzx/GZeNHMGtsLjMLs5lemE3WkLQAK5ZYE8nM/UngB8BTpzm/E1jg7gfMbCGwFJgfnfJEEl/70W42njQjX19zkN37Oo6fHzcyg4tLcrnninHMKsplRlE22Qpy6Ue/4e7uK82s9Azn3zzp8G1gbBTqEklI3T0htjW2sa76IOv2HGRd9UEqmtuP7yEvyh3KrKIcbisvZvbYXGYWZZOboas55exFe839fuDl0500s0XAIoCSkpIov7VI7KlvOXw8xN+r7l1iOdzVA8DwjDTmFOdy80WFXFScw6yiHK2RS9RELdzN7CP0hvtVpxvj7kvpXbahvLzcTzdOJB4dOtrN+pqW3ll59QHWVR883n88PTWFaYXZ3H5pMReX5DKnOJeSERnatSIDJirhbmYXAY8CC919XzReUySWHbtMf+3uA8cfW+pbj+8lHzcyg8vGj2ROcW+QTy/MZvAgXZ4vF855h7uZlQDPAXe7+/bzL0kk9nT1hNhS38qaXSfC/Ng2xIz0VC4uyeWhj0zk4pLhzC7OVddDCVwkWyGfAa4F8sysBvgWkAbg7kuAvwVGAv8e/k/MbncvH6iCRS6Elo4u3t1zgDW797N29wHerz6xVl6UO5RLy0ZQPm44l4wbztTRWbqZhMScSHbL3NnP+QeAB6JWkUgAmtuO8s7O/byzcx+rdu5na0MbAKkpxozwWnl5aW+Yj8kZGnC1Iv3TFaqSlBpajrAqHOSrqvZR2XwI6G2gVV46nBtnjaG8dDhzinPJSNdfE4k/+rdWkkLNgQ5WVe0/HujHLhLKGjyI8tLh3HpJMfPHj2BWUQ5pWmKRBKBwl4S0/1Anb1Xu4/WKvbxZufd4mOcMTWNe2Qjuvmwc88tGMr0wW90QJSEp3CUhdHR2887O/bxZuY/Xd+xlc30r0HsPz8vGj+Cey0u5fMJIpozKIkVhLklA4S5xKRRyNta1sGJbM69V7OW9PQfo6nHSU1OYOy6Xr318MldMzOOiohztZJGkpHCXuLG3/Siv7WhmxbZmVu7Yy/5DnZjBzMIcvnBVGVdNzKN83Ajdy1MEhbvEsO6eEOuqD7JiezOvbmtmQ20LACOHpbNgcj4LJudz9aQ8Rqofi8iHKNwlprQe6WLFtmZ+t6WRP2xrpuVwFykGc0uG8xfXT+baKQXMKMzWurlIPxTuErg9+zr47ZZGfre1kVVV++kOOcMz0rhu2ig+OrWAqybmkZOh/uUiZ0PhLhecu7OhtoVfbWzgt1sa2d7YDsDEgkzuv7qM66eN4uKS4dqiKHIeFO5yQYRCzto9B3h5QwOvbGqg9uBhUlOMeaUj+OZNxVw3bRSlecOCLlMkYSjcZcB094RYtXM/L2+s55VNjTS3HSU9NYWrJ+Xx1esmcd20UQxX90SRAaFwl6gKhZxVO/fzwvo6Xt5Qz4GOLoampXLtlHxumDmaj04t0I2cRS4Ahbuct2Nr6M+vq+OF9XU0th5laFoq108fxY2zxrBgcr72notcYAp3OWcVTe08v66W59+vY9e+DtJSjQWTC/jrmwq5blqBuimKBEh/++SstBzu4oX363h2bQ3rqg+SYnD5hJF86doJ3DBjjLYsisQIhbv0qyfkvFGxl2fX1vDKpgaOdoeYMiqLb940jU/OLqQge0jQJYrIKRTuclq79h7iZ2uree7dWupbjpAzNI3bLy3m1kvGMqsoh/BtFUUkBinc5QNCIefV7U08+eZuVm5vJsXgmsn5/PVN07hu2iiGpOmLUZF4oHAXoHct/Wdrqnnqrd3s2d9BQdZg/vy6ydx+aTGjc7TsIhJv+g13M3scuBlocveZfZw34F+BG4EO4F53fzfahcrAqGhq4/E3dvGLd2s53NVD+bjh/M9PTOETM0aTPkh90EXiVSQz9yeBHwBPneb8QmBS+DEf+GH4p8SwHY1tfP/3Fby4vo701BRumVPI5y8vZWZRTtCliUgU9Bvu7r7SzErPMOQW4Cl3d+BtM8s1szHuXh+tIiV6tje28f3f7eClDfUMTUtl8YIJPHBVmXqiiySYaKy5FwHVJx3XhJ/7ULib2SJgEUBJSUkU3loitXPvIf7l19t4aUM9GWmpfGnBBB64ejwj1NtFJCFFI9z72g/nfQ1096XAUoDy8vI+x0h0tRzu4t9+t4Mfv7WLtNQUhbpIkohGuNcAxScdjwXqovC6ch56Qs6y1Xv4l19v50BHJ5+5ZCxf+8QUCrK080UkGUQj3J8HHjKzZfR+kdqi9fZgrd61n7/55Ua2NrRxaelwvvVH8/RFqUiSiWQr5DPAtUCemdUA3wLSANx9CbCc3m2QFfRuhbxvoIqVM2s53MU/vbyVZ97ZQ1HuUB6+ay43zhqtK0lFklAku2Xu7Oe8A1+OWkVy1tydlzbU8/cvbGZf+1G+eHUZf379ZHVlFEli+tsf52oPHuZvfrmR329tYmZRNk/ce6mWYERE4R6v3J2fra3hH17YTE/I+eZN07j3ilIGpeqqUhFRuMel5raj/NVzG/jtlkbml43g/35mNsUjMoIuS0RiiMI9zvxqYwP/6xcbaD/azTdvmsYXriwjJUVfmIrIBync40T70W7+9r838ty7tcwsyub/3TaHSaOygi5LRGKUwj0ObKxt4aGfvMue/R382Ucn8qcfm0Sa1tZF5AwU7jHM3Xl61R6+/eJmhmek8cwXL2P++JFBlyUicUDhHqNaj3TxVz/fwEsb6lkwOZ/v3jZbnRtFJGIK9xi0pb6VxU+vpebAYb5+w1QevGa8vjQVkbOicI8xL62v52s/e5/soYP4r0WXUV46IuiSRCQOKdxjRE/I+e5vtvHwHyqZW5LLks9dQkG2OjiKyLlRuMeAlsNdfHXZe/xhWzN3zivm7z45g8GDUoMuS0TimMI9YHv2dXDvk++wZ18H//ipmXzusnFBlyQiCUDhHqB11Qe5/8nV9Ljznw/M1zZHEYkahXtAXtnUwFeWvUd+1mCevG8eE/Izgy5JRBKIwj0AT7yxk394cTMXjc3lsXvKydP+dRGJMoX7BRQKOf9n+RYefX0nH58+in+942KGpuuLUxGJPoX7BdLdE+Ibz23g2bU13HtFKX9z83RSdWGSiAwQhfsF0Nkd4qv/9R7LNzTw59dN5s8+NlH3NRWRAaVwH2CHO3tY/PRaVmxv5ps3TeOBq8cHXZKIJIGI+saa2Q1mts3MKszsG32czzGzF8zsfTPbZGb3Rb/U+NN6pIt7Hn+HlTua+c6fzFKwi8gF02+4m1kq8DCwEJgO3Glm008Z9mVgs7vPBq4F/sXM0qNca1xpO9LF5x97h3f3HOD7d1zM7ZeWBF2SiCSRSGbu84AKd69y905gGXDLKWMcyLLeheRMYD/QHdVK40j70W7ufWI1G2tbePizc/mj2YVBlyQiSSaScC8Cqk86rgk/d7IfANOAOmAD8BV3D536Qma2yMzWmNma5ubmcyw5tnV0dvOFJ1azrvog/3bnxXxixuigSxKRJBRJuPe1rcNPOf4EsA4oBOYAPzCz7A/9Ifel7l7u7uX5+flnWWrsO9zZw/1PrmHN7v187/Y5LJw1JuiSRCRJRRLuNUDxScdj6Z2hn+w+4DnvVQHsBKZGp8T4cKSrh0X/sYa3d+7ju7fN0VKMiAQqknBfDUwys7Lwl6R3AM+fMmYP8DEAMxsFTAGqolloLOvuCfHQT97j9Yq9/POts/nUxaeuWomIXFj97nN3924zewh4BUgFHnf3TWa2OHx+CfBt4Ekz20DvMs7X3X3vANYdM0Ih5y+fXc9vtzTy7U/N5NZLxgZdkohIZBcxuftyYPkpzy056fc64OPRLS0+/O/lW3juvVq+9vHJ3K1e7CISIyK6iEn6tq2hjcde38nnLivhyx+ZGHQ5IiLHKdzPwyMrKhmalspfXD9FvWJEJKYo3M9R7cHDPP9+HXfOK2H4sKS+GFdEYpDC/Rw9+lrvZqAHri4LuBIRkQ9TuJ+DA4c6WfZONZ+cU0hh7tCgyxER+RCF+zl46q3dHO7qYfGCCUGXIiLSJ4X7Wero7ObJN3fysakFTB6VFXQ5IiJ9UrifpZ+uruZARxeLr9WsXURil8L9LHT1hPjRazu5ZNxwLi0dEXQ5IiKnpXA/Cy+tr6f24GG+pLV2EYlxCvcIuTtLVlQyqSCTj04tCLocEZEzUrhH6NXtzWxtaOPBBRNISdHVqCIS2xTuEVryaiVjcobwSfVpF5E4oHCPwLt7DrBq537uv6qM9EH6yEQk9impIrDk1UpyhqZx57ySoEsREYmIwr0fFU3t/GZLI/dcPo5hgyNqfy8iEjiFez+Wrqxk8KAU7rmiNOhSREQipnA/g4aWI/zivVpuKy9mZObgoMsREYmYwv0MHn9jJyGHL149PuhSRETOSkThbmY3mNk2M6sws2+cZsy1ZrbOzDaZ2YrolnnhtXR08Z9v7+amWWMoHpERdDkiImel328IzSwVeBi4HqgBVpvZ8+6++aQxucC/Aze4+x4zi/tLOJ9etZtDnT08uECzdhGJP5HM3OcBFe5e5e6dwDLgllPG3AU85+57ANy9KbplXlhHunp44o2dLJicz4zCnKDLERE5a5GEexFQfdJxTfi5k00GhpvZq2a21sw+H60Cg/Ds2hr2tnfqZhwiErci2bjdVyMV7+N1LgE+BgwF3jKzt919+wdeyGwRsAigpCQ2LwjqCTk/eq2K2cW5XDZebX1FJD5FMnOvAYpPOh4L1PUx5lfufsjd9wIrgdmnvpC7L3X3cncvz8/PP9eaB9TLG+vZva+DLy0Yj5kahIlIfIok3FcDk8yszMzSgTuA508Z89/A1WY2yMwygPnAluiWOvCOtfUdnzeM66ePDrocEZFz1u+yjLt3m9lDwCtAKvC4u28ys8Xh80vcfYuZ/QpYD4SAR91940AWPhBer9jLxtpW/umPZ5Gqtr4iEsciapbi7suB5ac8t+SU438G/jl6pV14S1ZUUpA1mE/PPfX7YhGR+KIrVMM21LTwRsU+7r+qjMGDUoMuR0TkvCjcw5asqCRryCDumh+bu3hERM6Gwh3YtfcQL2+s53OXjSNrSFrQ5YiInDeFO7D0tSoGpaZw35WlQZciIhIVSR/uTW1HeHZtDX8ydywFWUOCLkdEJCqSPtyfeGMX3T0hHrxGDcJEJHEkdbi3Heni6bd3s3DmGErzhgVdjohI1CR1uP9k1R7ajnSrQZiIJJykDfej3T089vpOrpw4kllj1dZXRBJL0ob7L9+rpantqGbtIpKQkjLce0LOIyuqmFGYzVUT84IuR0Qk6pIy3H+zuYGqvYdYvGCC2vqKSEJKunB3d364oopxIzNYOFNtfUUkMSVduL9dtZ/3qw/yxavHMyg16f7xRSRJJF26LVlRSV5mOrdeMjboUkREBkxShfvmulZWbG/mvivLGJKmtr4ikriSKtwfWVnJsPRUPjd/XNCliIgMqKQJ9+r9Hbzwfh13zS8hJ0NtfUUksSVNuP/otSpSU4z7r1KDMBFJfEkR7vvaj/LTNdV8+uIiRueora+IJL6Iwt3MbjCzbWZWYWbfOMO4S82sx8xujV6J5+/Hb+7iaHeIRdeo1YCIJId+w93MUoGHgYXAdOBOM5t+mnHfAV6JdpHn49DRbn781m6unzaKiQWZQZcjInJBRDJznwdUuHuVu3cCy4Bb+hj3p8DPgaYo1nfelq2upuVwF4uv1axdRJJHJOFeBFSfdFwTfu44MysCPg0sOdMLmdkiM1tjZmuam5vPttaz1tkd4tHXqphXNoK5JcMH/P1ERGJFJOHeV2ctP+X4e8DX3b3nTC/k7kvdvdzdy/Pz8yMs8dw9/34d9S1H+JJm7SKSZAZFMKYGKD7peCxQd8qYcmBZuMNiHnCjmXW7+y+jUeS5CIWcR1ZUMnV0FtdOHvj/IxERiSWRhPtqYJKZlQG1wB3AXScPcPeyY7+b2ZPAi0EGO8Dvtzaxo6md790+R219RSTp9Bvu7t5tZg/RuwsmFXjc3TeZ2eLw+TOuswdlyYpKinKHcvNFY4IuRUTkgotk5o67LweWn/Jcn6Hu7veef1nnZ/Wu/azZfYC/+6PpausrIkkpIZNvyauVDM9I47ZLi/sfLCKSgBIu3Lc1tPG7rU3ce0UZGekR/YeJiEjCSbhwf2RlJUPTUvn85WrrKyLJK6HCvfbgYZ5fV8cd84oZPiw96HJERAKTUOH+2Gs7AXjgarX1FZHkljDhfuBQJ8tW7+GTswspyh0adDkiIoFKmHB/6q3ddHT28OACtRoQEUmIcD/c2cOP39rFR6cWMGV0VtDliIgELiHC/adrqtl/qFMNwkREwuI+3Lt7QvzotSouGTecS0tHBF2OiEhMiPtwf2lDPTUHDrNYa+0iIsfFdbi7O0tWVDGpIJOPTS0IuhwRkZgR1+G+YnszW+pbWXTNeFJS1NZXROSYuA73H75ayZicIdwyp6j/wSIiSSRuw/29PQdYtXM/919VRvqguP3HEBEZEHGbiktWVJIzNI0755UEXYqISMyJy3CvbG7n15sb+fzl4xg2WG19RUROFZfhvnRFFempKdxzRWnQpYiIxKS4C/eGliM8914Nt5UXk5c5OOhyRERiUtyF++Nv7KQn5HxRbX1FRE4ronA3sxvMbJuZVZjZN/o4/1kzWx9+vGlms6NfKrQc7uInq/Zw80WFlIzMGIi3EBFJCP2Gu5mlAg8DC4HpwJ1mNv2UYTuBBe5+EfBtYGm0CwV4+u3dtB/t5sEFmrWLiJxJJDP3eUCFu1e5eyewDLjl5AHu/qa7Hwgfvg2MjW6ZcKSrhyfe2MU1k/OZUZgT7ZcXEUkokYR7EVB90nFN+LnTuR94ua8TZrbIzNaY2Zrm5ubIqwR+/m4Ne9uPslizdhGRfkUS7n01bfE+B5p9hN5w/3pf5919qbuXu3t5fn5+xEX2hJylK6uYPTaHy8ePjPjPiYgkq0jCvQYoPul4LFB36iAzuwh4FLjF3fdFp7xeL2+sZ/e+DhYvmICZGoSJiPQnknBfDUwyszIzSwfuAJ4/eYCZlQDPAXe7+/ZoFtjb1reS8XnD+PiM0dF8aRGRhNXvtfvu3m1mDwGvAKnA4+6+ycwWh88vAf4WGAn8e3hm3e3u5dEo8I2KfWysbeWf/ngWqWrrKyISkYgas7j7cmD5Kc8tOen3B4AHoltaryUrKinIGsyn56qtr4hIpGL6CtUNNS28XrGXL1xVxuBBqUGXIyISN2I63JesrCRr8CDumq+2viIiZyNmw33X3kO8vKGez142juwhaUGXIyISV2I23Je+VsWg1BS+cGVp0KWIiMSdmAz3prYjPLu2hj+ZO5aC7CFBlyMiEndiMtyffGMXXT0hFl2jVgMiIuci5sK97UgX//H2bhbOHE1Z3rCgyxERiUsxF+7PvLOHtiPdLF4wIehSRETiVkyF+9HuHh57fSdXTBjJRWNzgy5HRCRuxVS4//K9Whpbj2rWLiJynmIm3EMh55GVVcwozObqSXlBlyMiEtdiJtx/vbmRquZDausrIhIFMRHux9r6lozIYOFMtfUVETlfMRHuq3buZ131Qb54zXgGpcZESSIicS0mknTJikryMtP5zCVRv6+2iEhSCjzcN9e18uq2Zu69opQhaWrrKyISDYGH+yMrKxmWnsrdl5UGXYqISMIINNyr93fw4vp67ppfQk6G2vqKiERLoOH+6GtVpBjcf5UahImIRFNg4d4dcv5rTTWfmlPE6By19RURiaaIwt3MbjCzbWZWYWbf6OO8mdn3w+fXm9nc/l5zX/tRjnSFeHCBZu0iItHWb7ibWSrwMLAQmA7caWbTTxm2EJgUfiwCftjf6+471Mn100cxsSDrrIsWEZEzi2TmPg+ocPcqd+8ElgG3nDLmFuAp7/U2kGtmY870oj0h50vXqkGYiMhAiCTci4Dqk45rws+d7RjMbJGZrTGzNUNTQswtGX629YqISAQiCfe+unj5OYzB3Ze6e7m7l08co2AXERkokYR7DVB80vFYoO4cxoiIyAUSSbivBiaZWZmZpQN3AM+fMuZ54PPhXTOXAS3uXh/lWkVEJEKD+hvg7t1m9hDwCpAKPO7um8xscfj8EmA5cCNQAXQA9w1cySIi0p9+wx3A3ZfTG+AnP7fkpN8d+HJ0SxMRkXMVeOMwERGJPoW7iEgCUriLiCQghbuISAKy3u9CA3hjszZgWyBvHnvygL1BFxEj9FmcoM/iBH0WJ0xx936bckW0W2aAbHP38gDfP2aY2Rp9Fr30WZygz+IEfRYnmNmaSMZpWUZEJAEp3EVEElCQ4b40wPeONfosTtBncYI+ixP0WZwQ0WcR2BeqIiIycLQsIyKSgBTuIiIJKJBw7++G28nCzB43syYz2xh0LUEzs2Iz+4OZbTGzTWb2laBrCoqZDTGzd8zs/fBn8fdB1xQkM0s1s/fM7MWgawmame0ysw1mtq6/LZEXfM09fMPt7cD19N7kYzVwp7tvvqCFxAAzuwZop/f+szODridI4XvujnH3d80sC1gLfCpJ/70wYJi7t5tZGvA68JXw/YmTjpn9D6AcyHb3m4OuJ0hmtgsod/d+L+gKYuYeyQ23k4K7rwT2B11HLHD3end/N/x7G7CFPu7DmwzCN5pvDx+mhR9JufPBzMYCNwGPBl1LvAki3CO6mbYkLzMrBS4GVgVcSmDCSxHrgCbgN+6erJ/F94C/BEIB1xErHPi1ma01s0VnGhhEuEd0M21JTmaWCfwc+Kq7twZdT1Dcvcfd59B7P+J5ZpZ0y3ZmdjPQ5O5rg64lhlzp7nOBhcCXw0u7fQoi3HUzbelTeH3558B/uvtzQdcTC9z9IPAqcEOwlQTiSuCT4XXmZcBHzezpYEsKlrvXhX82Ab+gd5m7T0GEeyQ33JYkE/4S8TFgi7t/N+h6gmRm+WaWG/59KHAdsDXQogLg7n/l7mPdvZTenPi9u38u4LICY2bDwpsNMLNhwMeB0+60u+Dh7u7dwLEbbm8Bfurumy50HbHAzJ4B3gKmmFmNmd0fdE0BuhK4m97Z2brw48agiwrIGOAPZrae3snQb9w96bcBCqOA183sfeAd4CV3/9XpBqv9gIhIAtIVqiIiCUjhLiKSgBTuIiIJSOEuIpKAFO4iIglI4S4ikoAU7iIiCej/A+3F/q6RIhrIAAAAAElFTkSuQmCC\n", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" }, { @@ -158,12 +160,14 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -193,7 +197,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "First element of solution is \n", + "First element of solution is \n", "Solution has 11 elements.\n" ] } @@ -228,12 +232,14 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -263,7 +269,7 @@ "name": "stderr", "output_type": "stream", "text": [ - ":4: RuntimeWarning: divide by zero encountered in log\n", + "/tmp/ipykernel_4158/3482875258.py:4: RuntimeWarning: divide by zero encountered in log\n", " IndShockExample_inf.aNrmInitMean = np.log(0.0) # Mean of log initial assets. The value of np.log(0.0) causes the code to ensure\n" ] }, @@ -364,12 +370,14 @@ "outputs": [ { "data": { - "image/png": "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tlldioglvK0uQESu7JZbbmHu3Lmkp6ezZs0a7r//fs6fP8/s2bNdfi3DMHA4HHh7W/PXPiAggICAgAJ/3wMHDjB8+PAis6N2Wlqa1SWIWE49NyJuzM/Pj/Lly1O5cmUGDhzI3Xffzddffw2YYeW1116jRo0aBAQE0KRJE7788sus565cuRKbzcZPP/1EixYt8PPzY82aNTidTl599VVq1aqFn58fVapU4aWXXsp63vHjx+nfvz+lSpWiTJky9OrVi8OHD2c9ntlD8cYbbxAWFkaZMmV45JFHSE9PB6Bjx44cOXKEMWPGZPU8waWXpS5n7ty5hIeH4+/vT7169Zg1a9ZVj09NTWXkyJGUK1cOf39/brjhBv744w/gYu9FfHw8Q4cOxWazXbHnplq1arz88ssMHTqUEiVKUKVKFd5///1sx1ztvEycOJGPP/6Yb775JutnXrly5SXv891331GyZEmcTicA27Ztw2az8fjjj2cd8+CDDzJgwICs+4sXL6ZBgwb4+flRrVo13nzzzUtqf/HFFxkyZAjBwcE88MADVK9eHYBmzZphs9no2LFjtudc6XcnUmjk67acIpJrgwcPNnr16pWt7dFHHzXKlCljGIZhPPXUU0a9evWMZcuWGQcOHDDmzp1r+Pn5GStXrjQM4+LOvY0bNzaWL19u7N+/34iLizOeeOIJo1SpUsa8efOM/fv3G2vWrDE++OADwzAM4/z580bt2rWNoUOHGjt27DB2795tDBw40Khbt66RmpqaVVdQUJAxfPhwY8+ePcZ3331nFCtWzHj//fcNwzCM+Ph4o1KlSsbkyZON6OhoIzo62jAMw5g7d64RHByc9bP8e1fx999/3wgLCzMWL15sHDx40Fi8eLFRunRpY968eVc8RyNHjjQqVKhgLF261Ni1a5cxePBgo1SpUkZ8fLyRkZFhREdHG0FBQca0adOM6OjoK+6sXbVqVaN06dLGzJkzjX379hlTpkwx7Ha7sWfPnhydl6SkJKNfv37GLbfckvUzZ56vfzp79qxht9uNzZs3G4ZhGNOmTTPKli1rXHfddVnH1KlTJ2vH5M2bNxt2u92YPHmy8ffffxtz5841AgICjLlz52arPSgoyHj99deNffv2Gfv27TN+//13AzB+/vlnIzo62oiPj8/R706ksFC4EXFT/w43mzZtMsqUKWP069fPOHfunOHv72+sX78+23OGDRtmDBgwwDCMi+Hm66+/zno8MTHR8PPzywoz/zZnzhyjbt26htPpzGpLTU01AgICjJ9++imrrqpVqxoZGRlZx/Tt29fo379/1v2qVasab731VrbX/q9wU7lyZWPBggXZnvPCCy8YrVu3vmyt586dM3x8fIz58+dntaWlpRkVKlQwXnvttay24ODgbGHgcqpWrWrcc889WfedTqdRrly5rJCR0/Py7zB6OREREcYbb7xhGIZh9O7d23jppZcMX19fIzEx0YiOjjaArFA1cOBAo0uXLtme//jjjxv169fPVnvv3r2zHXPo0CEDMCIjI7O15+R3J1IYaMyNiBv7/vvvKV68OBkZGaSnp9OrVy/eeecddu/eTUpKCl26dMl2fFpaGs2aNcvW1qJFi6zv9+zZQ2pqKjfddNNl32/Lli3s37+fEiVKZGtPSUnhwIEDWfcbNGiAl5dX1v2wsDB27tyZ65/z1KlTHD16lGHDhvHAAw9ktWdkZBAcHHzZ5xw4cID09HTatm2b1ebj40PLli3Zs2ePyzU0btw463ubzUb58uWJjY0Fcn5ecqJjx46sXLmSsWPHsmbNGl588UUWL17M2rVrOXv2LKGhodSrVw8wf1+9evXK9vy2bdsybdo0HA5H1u/gn7/j/5LXvzsRd6RwI+LGOnXqxOzZs/Hx8aFChQr4+PgAcOjQIQB++OEHKlasmO05fn5+2e4HBgZmff9fA3qdTifNmzdn/vz5lzwWEhKS9X1mHZlsNlvWOJLcyHzuBx98QKtWrbI99s8P4n8yDCPrvf/d/u+2nLjaz5TT85ITHTt2ZM6cOWzfvh273U79+vXp0KEDq1at4syZM3To0OGqP0vmz/1P//wd/5e8/t2JuCOFGxE3FhgYSK1atS5pr1+/Pn5+fkRFRWX7MPwvtWvXJiAggF9++YX777//kscjIiJYtGgR5cqVIygoKNd1+/r64nA4cnx8aGgoFStW5ODBg9x99905ek6tWrXw9fVl7dq1DBw4EID09HQ2b97M6NGjc1P2FeXkvOT0Z27fvj1JSUlMmzaNDh06YLPZ6NChA1OmTOHMmTOMGjUq69j69euzdu3abM9fv349derUuWLoy6wFcOl3IFKYaLaUiAcqUaIE48aNY8yYMXz88cccOHCAyMhIZs6cyccff3zF5/n7+/Pkk0/yxBNP8Mknn3DgwAE2btzInDlzALj77rspW7YsvXr1Ys2aNRw6dIhVq1YxatQojh07luP6qlWrxurVqzl+/DhxcXE5es7EiROZMmUKb7/9Nnv37mXnzp3MnTuXqVOnXvb4wMBAHnroIR5//HGWLVvG7t27eeCBB0hOTmbYsGE5rjUncnJeqlWrxo4dO/j777+Ji4u74gyk4OBgmjZtyqeffpo1i6l9+/Zs3bqVvXv3ZpvZ9Nhjj/HLL7/wwgsvsHfvXj7++GNmzJjBuHHjrlpvuXLlCAgIYNmyZZw8eZKEhIQ8OQ8inkLhRsRDvfDCCzz33HNMmTKF8PBwbr75Zr777rusacBX8uyzz/LYY4/x3HPPER4eTv/+/bPGlhQrVozVq1dTpUoV7rjjDsLDwxk6dCgXLlxwqSdn8uTJHD58mJo1a+b4ss3999/Phx9+yLx582jUqBEdOnRg3rx5V/15XnnlFfr06cO9995LREQE+/fv56effqJUqVI5rjUncnJeHnjgAerWrUuLFi0ICQlh3bp1V3y9Tp064XA4soJMqVKlqF+/PiEhIYSHh2cdFxERweeff85nn31Gw4YNee6555g8eTJDhgy5ar3e3t5Mnz6d9957jwoVKlwybkeksLMZl7uAKyIiIuKh1HMjIiIihYrCjYiIiBQqCjciIiJSqCjciIiISKGicCMiIiKFisKNiIiIFCoKNyIiIlKoKNyIiIhIoaJwIyIiIoWKwo2IiIgUKgo3IiIiUqj8fwH1tHiyruSHAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], From ee6ea0b7393e7685466b14fbbbfc078a0c0620bb Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Fri, 13 Jan 2023 13:33:43 -0500 Subject: [PATCH 09/19] Renaming Journey_1_PhD.ipynb --- Documentation/example_notebooks/Journey_1_PhD.ipynb | 1 - Documentation/example_notebooks/Journey_PhD.ipynb | 1 + Documentation/example_notebooks/Journey_PhD_param.py | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 120000 Documentation/example_notebooks/Journey_1_PhD.ipynb create mode 120000 Documentation/example_notebooks/Journey_PhD.ipynb create mode 120000 Documentation/example_notebooks/Journey_PhD_param.py diff --git a/Documentation/example_notebooks/Journey_1_PhD.ipynb b/Documentation/example_notebooks/Journey_1_PhD.ipynb deleted file mode 120000 index b571db467..000000000 --- a/Documentation/example_notebooks/Journey_1_PhD.ipynb +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey_1_PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey_PhD.ipynb b/Documentation/example_notebooks/Journey_PhD.ipynb new file mode 120000 index 000000000..c8deaed10 --- /dev/null +++ b/Documentation/example_notebooks/Journey_PhD.ipynb @@ -0,0 +1 @@ +../../examples/Journeys/Journey_PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey_PhD_param.py b/Documentation/example_notebooks/Journey_PhD_param.py new file mode 120000 index 000000000..ee002684e --- /dev/null +++ b/Documentation/example_notebooks/Journey_PhD_param.py @@ -0,0 +1 @@ +../../examples/Journeys/Journey_PhD_param.py \ No newline at end of file From 7dadfe0225700d97caec8cf1729f437770a793e8 Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Fri, 13 Jan 2023 13:43:29 -0500 Subject: [PATCH 10/19] Ready to merge --- examples/Journeys/Journey_PhD.ipynb | 498 +++++++++++++++++++++++++ examples/Journeys/Journey_PhD_param.py | 157 ++++++++ 2 files changed, 655 insertions(+) create mode 100644 examples/Journeys/Journey_PhD.ipynb create mode 100644 examples/Journeys/Journey_PhD_param.py diff --git a/examples/Journeys/Journey_PhD.ipynb b/examples/Journeys/Journey_PhD.ipynb new file mode 100644 index 000000000..f6f320241 --- /dev/null +++ b/examples/Journeys/Journey_PhD.ipynb @@ -0,0 +1,498 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Journey: Economics PhD Student \n", + "====\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1 Introduction\n", + "\n", + "This notebook is designed to introduce someone with the training of a 1st year Economics student, but perhaps without much background in computer programming or scientific computation. As it is a \"journey,\" it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", + "\n", + "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", + "\n", + "As you have found this journey, you probably have a concept of what a heterogeneous agent model is, but here is a short recap. Think about a basic infinitely lived consumer problem as you know from first-year graduate courses (letting alone the companies and general equilibrium). Using the Bellman equation, we can write it as:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_t) &=& \\max_{C_t} U(C_t) + \\beta V(M_{t+1}), \\\\\n", + "& s.t. & \\\\\n", + "A_t &=& M_t - C_t, \\\\\n", + "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "\n", + "Where $\\beta <1$ is a discount factor, $C_t$ is a consumption, $A_t$ - assets, $Y_t$ - income and $U(C)$ is a standard CRRA utility function:\n", + "\n", + "$$\n", + "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", + "$$\n", + "\n", + "Now assume that every consumer faces some uncertainty on her income which is subject to idiosyncratic shocks - the realizations of each shock is (potentially) different for each agent. In this setting, it follows AR (1) process, so that the current value of $Y$ is a state variable that predicts future values of $Y$. \n", + "\n", + "Then, the Bellman equation looks like:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", + "& s.t. & \\\\\n", + "A_t &=& M_t - C_t, \\\\\n", + "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. To quote the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", + "\n", + "*\"After months of effort, you may have had the character-improving experience of\n", + "proudly explaining to your adviser that not only had you grafted two ideas\n", + "together, you also found a trick that speeded the solution by an order of\n", + "magnitude, only to be told that your breathtaking insight had been understood\n", + "for many years, as reflected in an appendix to a 2008 paper; or, worse, your\n", + "discovery was something that “everybody knows” but did not exist at all in\n", + "published form!\"*\n", + "\n", + "HARK was designed to help you avoid similar experiences. We see two main uses of this package and its tools:\n", + "\n", + "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", + "- To solve your own models building-on the already implemented algorithms \n", + "\n", + "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods; however, in the last sections you can find some guidance which were used and how the source code is structured. \n", + "\n", + "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", + "\n", + "---\n", + "NOTE\n", + "***\n", + "We will be very happy to see your feedback. If you have any questions regarding this tutorial or HARK as a whole please see our [Github page](https://github.com/econ-ark/HARK). \n", + "\n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2 Before you start\n", + "\n", + "As we have mentioned before, this journey does not require any special skill in programing. However, some knowledge about Python and object-oriented programing (OOP) is needed. We propose two possible ways to gather the basic concepts, however, plenty of others are available:\n", + "\n", + "- Quick introduction to Python and OOP: chapters five to seven from [Quantecon](https://python-programming.quantecon.org/intro.html) should familiarize you with everything what you need for the first tutorials.\n", + "- A little longer introduction (if you want to learn something about used numerical methods):\n", + " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", + " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", + "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way (one example is [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html)). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3 Few words about HARK structure\n", + "\n", + "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different *objects*. Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with such structure implies learning the different types of objects (classes). \n", + "\n", + "In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", + "\n", + "In practice, it will take more than two classes to accommodate the huge variety of the currently used models. Thus, each class will have subclasses and those their own subclasses. In general, a more sophisticated class will be defined as a subclass. This journey will reflect this structure, first by presenting the most primitive models, and then the more fancy ones.\n", + "\n", + "---\n", + "NOTE\n", + "***\n", + "In OOP, objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", + "\n", + "---\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4 Agent-type class \n", + "Agent-type class enables you to build the macroeconomic models (such as the one presented in the introduction). It is also the essential part of the macroeconomic model in HARK. So remember: *to use HARK, you always need to use agent-type classes!*\n", + "\n", + "### 4.1 Introductory example\n", + "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent $i$ in the period t: $Y_{i,t}$, is given by: \n", + "\n", + "\\begin{eqnarray*} \n", + "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", + "p_{i,t+1} &=& p_{i,t}\\psi_{i,t+1}\\\\\n", + "\\psi_{i,t} & \\sim & N(1,\\sigma_{\\varrho})\\\\\n", + "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", + "\\end{eqnarray*}\n", + "\n", + "To get a universal solution of this problem, we need to find a policy function (in this case consumption function). This can be done easily using the HARK `solve` function. \n", + "\n", + "Before doing this, we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import sys #set path of the notebook \n", + "import os\n", + "sys.path.insert(0, os.path.abspath('../../.'))\n", + "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", + "#we previously defined the paramters to not bother you about it now\n", + "import Journey_PhD_param as Params #imported paramters \n", + "from HARK.utilities import plot_funcs #useful function\n", + "\n", + "Example = IndShockConsumerType() \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we can solve the model and plot the consumption function:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Consumption function\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD4CAYAAADvsV2wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAhTElEQVR4nO3dd3xV9eH/8deHkBBCCCsQRgibEPYIuC0WLLN1172qpcPW0dYWq37tt4IgWhFbRXErfq0dtrUkIIgooiJLZORmAQkJEMJMAtn3fn5/JH5/fCkBzB3njvfz8eDBzb3n5rw5OXlz8sn5nGOstYiISPhr4XQAEREJDBW+iEiEUOGLiEQIFb6ISIRQ4YuIRIiWgVxZYmKi7d27dyBXKSIS8jZu3HjQWtvZ288T0MLv3bs3GzZsCOQqRURCnjGm0BefR0M6IiIRQoUvIhIhVPgiIhFChS8iEiFU+CIiEUKFLyISIVT4IiIRIqDn4YuIyNmrrnPz0ic7ffb5VPgiIkHG47H8e8teHl+azd6yap99Xg3piIgEkQ0Fh7li4Wfc8+fNdGgTw9s/PNdnn1tH+CIiQaDocCVzl2aTsXUfSQmtePKaEVw5qgctWhifrUOFLyLioPLqOp5dlc+rawqIamG4d+IAZlzcl7gY39ezCl9ExAH1bg9vry9i/opcjlTWctXoZH71nVS6tov12zpV+CIiAbYqp5THMlzklR7jnD4deXj6YIb2aOf39arwRUQCJKekgtmZLlbnHqB3pzheuHkM3xmchDG+G6c/HRW+iIifHaioYf4Hufx53W7iW7Xk4emDufncXsS0DOyJkip8ERE/qa5z88qnu3hu1Q6q69zccl5v7pkwgA5tYhzJo8IXEfExay1Ltuxj7tJs9hytYmJaEg9MHUS/zvGO5jpj4RtjXgGmA6XW2qGNz3UE3gF6AwXA9621R/wXU0QkNGzafYRHl2Tx5e6jpHVL4Imrh3N+/0SnYwFnN9P2NWDySc/NBFZaawcAKxs/FhGJWMVHKrn77S+58rnPKD5SxbyrhrPk5xcGTdnDWRzhW2tXG2N6n/T0ZcD4xsevAx8Bv/FlMBGRUFBRXcfCj3bw0ppdtDBw97f786Nv9aNNq+AbMW9uoiRr7T4Aa+0+Y0wXH2YSEQl69W4Pf9lQzFMrcjh4rJYrRvXg/kmpdG/f2uloTfL7f0HGmBnADICUlBR/r05ExO8+yTvArCUucvZXMLZ3B16+dSwjerZ3OtYZNbfw9xtjujUe3XcDSpta0Fq7CFgEkJ6ebpu5PhERx+Xtr+CxTBercg6Q0jGOhTeOZvLQrgGbOOWt5hb+e8CtwNzGv//ls0QiIkHm0LEanv4gj/9Zt5u4mCgenJrGLef3olXLKKejfSNnc1rm2zT8gjbRGFMMPEJD0f/FGHMHsBu4xp8hRUScUFPv5vXPCvjjh/lU1rq58ZwU7pkwgE7xrZyO1ixnc5bO9U28NMHHWUREgoK1lqXbSpiz1EXR4Sq+PagLv506iP5d2jodzSvBd96QiIiDNhcdZdaSLDYUHmFQ17a8ecc4LhrQ2elYPqHCFxEB9h6tYt6ybP65eS+J8THMuXIY30/vSZQP7zjlNBW+iES04zX1PP/xDhat3okF7rqkHz8Z35/4IJw45a3w+xeJiJwFt8fyt41FPLk8lwMVNVw2sjv3T0oluUOc09H8RoUvIhHn0/yDzMpw4dpXzuiU9rxw8xhGp3RwOpbfqfBFJGLsOHCMOZkuPnCVktyhNX+6YRTThnULmYlT3lLhi0jYO3K8lgUr81i8tpDY6Ch+M3kQt1/Qm9jo0Jo45S0VvoiErdp6D298XsAzK/M4VlPP9eNSuO/SgSSG6MQpb6nwRSTsWGt5f/t+5i51UXCokosHduahaWkMTArtiVPeUuGLSFjZWlzGoxlZrNt1mAFd4nnt9rGMT9UV3EGFLyJhoqSsmifez+HdL4vpGBfDrMuHct3YnrSMOpsb+0UGFb6IhLTK2npe+HgnL6zegccDP7q4Hz+9pB8JsdFORws6KnwRCUkej+Xvm4p5cnkO+8trmDa8GzMnD6Jnx/CdOOUtFb6IhJzPdxxiVkYW2/eWM6Jne567cTRjenV0OlbQU+GLSMjYdfA4czJdLM/aT/d2sSy4biTfHd6dFmF0gTN/UuGLSNArq6xjwco83vi8gFYtW3D/pFTuuLBPxE2c8pYKX0SCVp3bw+K1hSxYmUd5VR3Xju3JfZcOpEvbWKejhSQVvogEHWstH7hKmZPpYufB41zYP5EHp6WR1i3B6WghTYUvIkFl+94yZi1x8fnOQ/Tr3IZXbxvL+NTOEXOBM39S4YtIUCgtr+bJ5Tn8dWMx7VtH8/vLhnD9uBSiNXHKZ1T4IuKoqlo3L36yk+c/3kGd28MPL+rLXZf0p11rTZzyNRW+iDjC47H8c/Me5i3LoaS8milDuzJzyiB6dWrjdLSwpcIXkYBbt+swszKy2FJcxvDkdjxz/SjG9dHEKX9T4YtIwBQeOs7cpdks3VZCt3axzL92BJeN6KGJUwGiwhcRvyurquPZVfm89mkBLaMMv7x0IHde1JfWMZo4FUgqfBHxmzq3h7fX7Wb+ilyOVtVxzZhkfvmdVJISNHHKCSp8EfE5ay2rckqZneFix4HjnNe3Ew9NT2NI93ZOR4toKnwR8ansknJmLXGxJv8gfRPb8NIt6UxI66KJU0HAq8I3xtwH3AlYYCtwu7W22hfBRCS0lFZUM39FLu+sL6JtbDSPfHcwN57Ti5iWmjgVLJpd+MaYHsDdwGBrbZUx5i/AdcBrPsomIiGgus7Ny2t28dyqfGrqPdx+QR9+/u3+tI+LcTqanMTbIZ2WQGtjTB0QB+z1PpKIhAJrLe99tZd5y3LYc7SKSUOSmDkljT6JmjgVrJpd+NbaPcaYJ4HdQBWw3Fq7/OTljDEzgBkAKSkpzV2diASRjYWHeXSJi81FRxnSPYEnrxnBef06OR1LzsCbIZ0OwGVAH+Ao8FdjzE3W2sUnLmetXQQsAkhPT7fNjyoiTis6XMncZdlkbNlHUkIrnrxmBFeO0sSpUOHNkM5EYJe19gCAMeZd4Hxg8WnfJSIhp7y6YeLUq2sKaNEC7pkwgB99qy9xMTrRL5R489XaDZxrjImjYUhnArDBJ6lEJCjUuz38eX0R81fkcuh4LVeNTub+Sal0baeJU6HImzH8L4wxfwM2AfXAlzQO3YhI6Ps49wCzM7LI3X+McX068tq0wQxL1sSpUObVz2PW2keAR3yURUSCQN7+CmZluPg49wC9OsXx/E1jmDQkSROnwoAG4EQEgEPHapj/QS5vrysiLiaKh6alcct5vTVxKoyo8EUiXE29m9c+LeBPH+ZTWefm5nN7cfeEAXRso4lT4UaFLxKhrLVkbi1h7jIXRYermDCoCw9MTaN/l3ino4mfqPBFItDmoqPMWpLFhsIjDOralsV3nMOFAxKdjiV+psIXiSB7j1Yxb1k2/9y8l8T4Vsy9chjXpPckShOnIoIKXyQCHK+p5/mPd7Bo9U4scNcl/fjJ+P7Et1IFRBJ9tUXCmNtj+fvGYp5YnsOBihouG9md+yelktwhzulo4gAVvkiY+iz/II9muHDtK2d0SnteuHkMo1M6OB1LHKTCFwkzOw4cY06miw9cpfRo35o/Xj+K6cO7aeKUqPBFwsWR47UsWJnH4rWFxEZH8ZvJg7j9gt7ERkc5HU2ChApfJMTV1nt4c20hz6zMo6K6juvGpXDfxIF0btvK6WgSZFT4IiHKWsvyrP3MyXRRcKiSiwYk8tC0waR2bet0NAlSKnyRELRtTxmzMrJYu/Mw/bvE8+rtYxk/sLPG6eW0VPgiIWR/eTVPvJ/D3zcV0yEuhkcvH8r1Y3vSMkoXOJMzU+GLhICqWjeLVu/k+Y934PZYZlzUl7u+3Z+E2Gino0kIUeGLBDGPx/LPzXuYtyyHkvJqpg7ryszJaaR00sQp+eZU+CJBat2uw8zKyGJLcRnDk9vxxxtGMbZ3R6djSQhT4YsEmcJDx5m7NJul20ro1i6W+deO4LIRPWihC5yJl1T4IkGirKqOZ1fl89qnBbSMMvzy0oHceVFfWsdo4pT4hgpfxGF1bg9vr9vN/BW5HK2q45oxyfzyO6kkJcQ6HU3CjApfxCHWWlbllDI7w8WOA8c5r28nHpqexpDu7ZyOJmFKhS/igOyScmZnuPgk7yB9Etvw4i3pTEzroolT4lcqfJEAOlBRw1Mrcnln/W7axkbzX9MHc9O5vYhpqYlT4n8qfJEAqK5z8/KaXTy3Kp+aeg+3nd+Huyf0p31cjNPRJIKo8EX8yFrLv7fs4/Gl2ew5WsWlg5N4YMog+naOdzqaRCAVvoifbNp9hEeXZPHl7qMM7pbAE9cM5/x+iU7HkgimwhfxseIjlTy+LId/f7WXLm1bMe/q4Vw1OpkoTZwSh6nwRXykorqOhR/t4KU1u2hh4O4JA/jRxX1p00rfZhIcvNoTjTHtgZeAoYAFfmCt/dwHuURChttjeWd9EU+tyOHgsVquHNWDX01KpXv71k5HE/k/vD30WAAss9ZebYyJAXQJP4kon+QdYHaGi+ySCsb27sArt41leHJ7p2OJnFKzC98YkwBcDNwGYK2tBWp9E0skuOWXVjA7w8WqnAOkdIxj4Y2jmTy0qyZOSVDz5gi/L3AAeNUYMwLYCNxjrT1+4kLGmBnADICUlBQvVifivMPHa3n6g1ze+mI3cdFR/HbqIG49vzetWuoCZxL8jLW2eW80Jh1YC1xgrf3CGLMAKLfWPtzUe9LT0+2GDRual1TEQTX1bl7/rIA/fphPZa2bG8alcO/EAXSKb+V0NIkAxpiN1tp0bz+PN0f4xUCxtfaLxo//Bsz0NpBIMLHWsmxbCXOWZrP7cCWXpHbmt1PTGJDU1uloIt9YswvfWltijCkyxqRaa3OACUCW76KJOGtL8VFmLXGxruAwA5PieeMH47h4YGenY4k0m7dn6fwceKvxDJ2dwO3eRxJx1r6yKp5YlsO7X+4hMT6Gx64YxvfTk2kZpQucSWjzqvCttZsBr8eVRILB8Zp6Xli9k0Wrd+Cx8JPx/fjp+H60jY12OpqIT2gKoEQ8j8fyt03FPPl+DqUVNXx3RHd+PSmVnh01rUTCiwpfItrnOw4xKyOL7XvLGdmzPQtvGsOYXh2cjiXiFyp8iUi7Dh5nTqaL5Vn76dG+Nc9cP4rvDu+miVMS1lT4ElHKKutYsDKPNz4voFXLFtw/KZU7LuxDbLQmTkn4U+FLRKhze1i8tpAFK/Mor6rj2rE9+cWlqXRuq4lTEjlU+BLWrLWsdJXyWKaLnQePc2H/RB6clkZatwSno4kEnApfwtb2vWXMznDx2Y5D9OvchlduS+eS1C4ap5eIpcKXsFNaXs0flufyl41FtG8dze8vG8L141KI1sQpiXAqfAkbVbVuXvpkJws/3kGd28OdF/bhZ5cMoF2cJk6JgApfwoDHY3nvq708viybfWXVTB7SlQemDqJXpzZORxMJKip8CWnrCw4za0kWXxWXMaxHO56+diTn9O3kdCyRoKTCl5C0+1Aljy/LJmPrPpISWvGHa0ZwxagetGihX8iKNEWFLyGlvLqOZz/M59VPC4hqYbhv4kB+eHEf4mK0K4ucib5LJCTUuz28vb6I+StyOVJZy1Wjk7l/UipJCbFORxMJGSp8CXof5ZQyO8NFXukxzunTkYenD2Zoj3ZOxxIJOSp8CVo5JRXMznSxOvcAvTvF8cLNY/jO4CRNnBJpJhW+BJ2Dx2qYvyKXt9ftJr5VSx6ePpibz+1FTEtNnBLxhgpfgkZ1nZtXPy3g2VX5VNe5ueW83twzYQAd2sQ4HU0kLKjwxXHWWjK27mPu0myKj1QxMa0LD0xNo1/neKejiYQVFb446svdR5iV4WJj4REGdW3LW3eewwX9E52OJRKWVPjiiD1Hq5i3LJt/bd5LYnwrHr9qGFeP6UmUJk6J+I0KXwLqWE09Cz/K56VPdgHws0v68+Px/YhvpV1RxN/0XSYB4fZY/rqhiCeX53LwWA2Xj+zO/ZMH0aN9a6ejiUQMFb743af5B3l0SRbZJRWM6dWBF28Zw6iUDk7HEok4Knzxm/zSY8zJdLEyu5TkDq159obRTB3WVROnRByiwhefO3K8lgUr81i8tpDW0VHMnDKI287vTWx0lNPRRCKaCl98prbewxufF/DMyjyO1dRzwzkp3DtxIInxrZyOJiKo8MUHrLW8v30/c5e6KDhUybcGdubBaWkMTGrrdDQROYHXhW+MiQI2AHustdO9jyShZNueMh5dksUXuw4zoEs8r90+lvGpXZyOJSKn4Isj/HsAF5Dgg88lIaKkrJon3s/h3S+L6RgXw6zLh3Ld2J60jNIFzkSClVeFb4xJBqYBs4Ff+CSRBLXK2noWrd7JCx/vxO2xzLi4L3dd0p+E2Gino4nIGXh7hP808GugycFaY8wMYAZASkqKl6sTp3g8ln98uYcn3s+hpLyaacO7MXPyIHp2jHM6moicpWYXvjFmOlBqrd1ojBnf1HLW2kXAIoD09HTb3PWJc77YeYhZGS627iljRHI7/nTDKNJ7d3Q6loh8Q94c4V8AfM8YMxWIBRKMMYuttTf5Jpo4rfDQceZkZrNsewnd2sXy9LUj+d6I7rTQBc5EQlKzC99a+wDwAEDjEf6vVPbhoby6jj99mM9rnxYQ1cLwi0sH8sOL+tI6RhOnREKZzsOX/1Xv9vD2+iLmr8jlSGUtV49O5leTUklKiHU6moj4gE8K31r7EfCRLz6XOOPj3APMzsgid/8xzunTkYenD2Zoj3ZOxxIRH9IRfoTLL61gVoaLj3IO0KtTHM/fNIZJQ5J0gTORMKTCj1CHj9fy9Ae5vPXFbuJionhwahq3nN+LVi01Ti8SrlT4Eaa23sPrnxXwzId5VNa6ubHxAmcd28Q4HU1E/EyFHyG+vsDZnKUuCg9VMj61Mw9OTWOALnAmEjFU+BFg254yZmVksXZnwwXOXv/BOL41sLPTsUQkwFT4Yay0vOECZ3/bVEyHuBgevXwo1+sCZyIRS4Ufhqrr3Ly4eicLP95BndvDDy9quMBZu9a6wJlIJFPhhxGPx/LeV3uZtyybvWXVTBnalZlTBtGrUxuno4lIEFDhh4mNhYf5/RIXXxUdZWiPBOZfO5Jz+nZyOpaIBBEVfogrPlLJ3KXZLNmyj6SEVjx5zQiuHNVDFzgTkf+gwg9RFdV1LPxoBy+t2UULA3dPGMCPv9WXuBh9SUXk1NQOIcbtsfxlQxF/WJ7DwWO1XDGqB7+enEq3dq2djiYiQU6FH0I+zT/Io0uyyC6pIL1XB166dSwje7Z3OpaIhAgVfgjYeeAYj2W6+MBVSnKH1jx7w2imDuuqC5yJyDeiwg9iRytrWbAyjzc/LyQ2OorfTB7E7Rf0JjZaFzgTkW9OhR+E6tweFq8t5OkP8qioruO6cSncN3Egndu2cjqaiIQwFX4QsdbyYXYpszNd7DxwnIsGJPLgtDQGdU1wOpqIhAEVfpBw7StndoaLNfkH6du5Da/cls4lqV00Ti8iPqPCd9iBihqeWpHDO+uLSGgdze++O5gbz+1FtC5wJiI+psJ3SHWdm1c+3cVzq3ZQXefmtvP7cM+EAbSL0wXORMQ/VPgBZq0lY+s+5i7NpvhIFRPTkvjt1EH07RzvdDQRCXMq/ADaXHSUR5dksbHwCGndEvifO4dzfv9Ep2OJSIRQ4QdASVk185Zl8+6Xe0iMb8XjVw3j6jE9idIFzkQkgFT4flRV62bR6p08//EO3Nby0/H9+Okl/Ylvpc0uIoGn5vEDaxtuRPL40oYbkUwb1o2ZUwbRs2Oc09FEJIKp8H1sc9FRfv/v7Wza3XAjkqevG8W4Ph2djiUiosL3lRPH6Tu3bcW8q4dz9ehk3YhERIKGCt9LVbVuXvxkJws/0ji9iAS3ZreSMaYn8AbQFfAAi6y1C3wVLNhZa/n3ln3MzXSxt6yaqcO68sCUNI3Ti0jQ8uYwtB74pbV2kzGmLbDRGLPCWpvlo2xB66uio/y+8Xz6Id11w3ARCQ3NLnxr7T5gX+PjCmOMC+gBhG3hl5RVM+/9bN7d1HA+/byrhnPVmGSdTy8iIcEnA83GmN7AKOCLU7w2A5gBkJKS4ovVBVx1XcP59As/2oHbY/nJ+H7cpXF6EQkxXjeWMSYe+Dtwr7W2/OTXrbWLgEUA6enp1tv1BZLG6UUknHhV+MaYaBrK/i1r7bu+iRQcThynH9wtgaeuHcm5GqcXkRDmzVk6BngZcFlrn/JdJGftL6/m8WX/f5xe170RkXDhzRH+BcDNwFZjzObG535rrc30OpUDquvcvLh6J8+dME7/0/H9aBur69OLSHjw5iydNUDIH/Zaa8ncWsJjmS72HK1iytCGcfqUThqnF5HwEtGnmWSXlPO797azdudh0rol8OQ1Izivn8bpRSQ8RWThH62sZf6KXN5cW0hC62hmXT6U68elaJxeRMJaRBW+22P58/rdPPl+DmVVddx0bi9+celA2sfFOB1NRMTvIqbw1xcc5pF/bSdrXznn9OnI7743hLRuCU7HEhEJmLAv/JKyauYsdfGvzXvp3i6WP90wimnDutFwVqmISOQI28KvrnPz8ppdPLsqn3qP5e5v9+fH4/sRFxO2/2QRkdMKy/b7MHs///3vLAoPVTJpSBIPTRusyyGISMQLq8Lfc7SK/35vO8uz9tO/Szxv3jGOiwZ0djqWiEhQCIvCr3N7eHnNLhZ8kAfAzCmDuOPCPkRHtXA4mYhI8Aj5wl+36zAP/XMrufuPcengJB757mCSO2j4RkTkZCFb+IeO1TBnaTZ/21hMj/ateemWdCYOTnI6lohI0Aq5wrfW8pcNRTyWmc3xmnp+Mr4fP/92f519IyJyBiHVkkWHK3ng3a2syT/IuD4dmX35UAYktXU6lohISAiJwvd4LIu/KGTu0mwMMOvyodwwLoUWuvaNiMhZC/rCLzx0nPv/uoV1BYe5aEAic68aTo/2rZ2OJSIScoK68HcfquTq5z+nus7NvKuHc82YZF0SQUSkmYK28A9U1HDLK19Q5/bwj5+eT/8uGqsXEfFGUM5Mqqiu47ZX17G/vIZXbhurshcR8YGgK/yaejc/enMjOSUVPHfTaEandHA6kohIWAiqIR23x3LfO5v5bMch5l87gktSuzgdSUQkbATNEb61lkfe20bm1hIempbGFaOSnY4kIhJWgqbwF6zMY/Ha3fzoW32586K+TscREQk7QVH4i9cW8vQHeVw9JpmZkwc5HUdEJCw5XviZW/fx8L+2MWFQF+ZeOUzn2YuI+Imjhf9Z/kHu/fNmxqR04E83jKalrl8vIuI3jjXstj1lzHhzI70T43j51rG0jolyKoqISERwpPALDh7ntlfX0a51NG/84BzaxUU7EUNEJKIEvPBLy6u55ZV1uD2W138wjq7tYgMdQUQkInlV+MaYycaYHGNMvjFm5pmWd1vLra+u5+CxGl69fRz9u8R7s3oREfkGml34xpgo4FlgCjAYuN4YM/h07yk8WEne/gqev2kMI3u2b+6qRUSkGbw5wh8H5Ftrd1pra4E/A5ed7g3Ha+v5w/dHcPHAzl6sVkREmsObwu8BFJ3wcXHjc/+HMWaGMWaDMWZDQpSby0b+xyIiIhIA3hT+qWZI2f94wtpF1tp0a216r64dvVidiIh4w5vCLwZ6nvBxMrDXuzgiIuIv3hT+emCAMaaPMSYGuA54zzexRETE15p9PXxrbb0x5mfA+0AU8Iq1drvPkomIiE95dQMUa20mkOmjLCIi4ke6WpmISIRQ4YuIRAgVvohIhFDhi4hECGPtf8yV8t/KjKkAcgK2wuZLBA46HeIsKKfvhEJGUE5fC5Wcqdbatt5+Eq/O0mmGHGtteoDX+Y0ZYzYop++EQs5QyAjK6WuhlNMXn0dDOiIiEUKFLyISIQJd+IsCvL7mUk7fCoWcoZARlNPXIipnQH9pKyIiztGQjohIhFDhi4hECL8U/plubm4aPNP4+hZjzGh/5DhDxp7GmFXGGJcxZrsx5p5TLDPeGFNmjNnc+Oe/HMhZYIzZ2rj+/zg1K0i2ZeoJ22izMabcGHPvScs4si2NMa8YY0qNMdtOeK6jMWaFMSav8e8OTbz3tPtxAHI+YYzJbvy6/sMY076J9552HwlAzt8ZY/ac8LWd2sR7nd6e75yQscAYs7mJ9wZkezbVQX7dP621Pv1Dw6WSdwB9gRjgK2DwSctMBZbScNesc4EvfJ3jLHJ2A0Y3Pm4L5J4i53hgSaCznZShAEg8zeuOb8tTfP1LgF7BsC2Bi4HRwLYTnpsHzGx8PBN4vIl/x2n34wDk/A7QsvHx46fKeTb7SABy/g741VnsF45uz5Ne/wPwX05uz6Y6yJ/7pz+O8M/m5uaXAW/YBmuB9saYbn7I0iRr7T5r7abGxxWAi1PckzcEOL4tTzIB2GGtLXQww/+y1q4GDp/09GXA642PXwcuP8Vbz2Y/9mtOa+1ya21944drabirnKOa2J5nw/Ht+TVjjAG+D7ztr/WfjdN0kN/2T38U/tnc3PysboAeKMaY3sAo4ItTvHyeMeYrY8xSY8yQwCYDGu4TvNwYs9EYM+MUrwfVtqThzmdNfSM5vS2/lmSt3QcN33RAl1MsE2zb9Qc0/CR3KmfaRwLhZ41DT680MQQRTNvzImC/tTavidcDvj1P6iC/7Z/+KPyzubn5Wd0APRCMMfHA34F7rbXlJ728iYahiRHAH4F/BjgewAXW2tHAFOAuY8zFJ70eTNsyBvge8NdTvBwM2/KbCKbt+iBQD7zVxCJn2kf8bSHQDxgJ7KNhuORkQbM9ges5/dF9QLfnGTqoybed4rkzbk9/FP7Z3Nw8KG6AboyJpmFDv2Wtfffk16215dbaY42PM4FoY0xiIDNaa/c2/l0K/IOGH+VOFBTbstEUYJO1dv/JLwTDtjzB/q+HvRr/Lj3FMkGxXY0xtwLTgRtt4+Dtyc5iH/Era+1+a63bWusBXmxi/cGyPVsCVwLvNLVMILdnEx3kt/3TH4V/Njc3fw+4pfEMk3OBsq9/hAmUxnG8lwGXtfapJpbp2rgcxphxNGyvQwHM2MYY0/brxzT8Em/bSYs5vi1P0OSRk9Pb8iTvAbc2Pr4V+Ncpljmb/divjDGTgd8A37PWVjaxzNnsI3510u+Mrmhi/Y5vz0YTgWxrbfGpXgzk9jxNB/lv//TTb5+n0vAb5x3Ag43P/Rj4ceNjAzzb+PpWIN0fOc6Q8UIafgTaAmxu/DP1pJw/A7bT8BvwtcD5Ac7Yt3HdXzXmCMpt2ZgjjoYCb3fCc45vSxr+A9oH1NFwVHQH0AlYCeQ1/t2xcdnuQObp9uMA58ynYZz26/3z+ZNzNrWPBDjnm4373hYaSqdbMG7Pxudf+3qfPGFZR7bnaTrIb/unLq0gIhIhNNNWRCRCqPBFRCKECl9EJEKo8EVEIoQKX0QkQqjwRUQihApfRCRC/D8XQ+uEfK6L0AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Example.solve()\n", + "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", + "max_v = 20\n", + "print(\"Consumption function\")\n", + "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 The Agent-Type structure\n", + "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The following diagram illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. \n", + "\n", + "![HARK structure](HARK_struct_2.png)\n", + "\n", + "However, it doesn't end there! There are subclasses of the `AggShockConsumerType` which are designed to be integrated with macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 Main tutorials\n", + "\n", + "To reflect the agent-type structure, we propose you start with the Quickstart notebook (it is devoted to the deterministic case). Then proceed to the idiosyncratic consumers and then to consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", + "\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", + "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", + "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", + "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 Supplementary tutorials\n", + "\n", + "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", + "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", + "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5 Market class\n", + "\n", + "In macroeconomic models, the consumers are only one possible type of agent. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.1 Introductory example\n", + "\n", + "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", + "\n", + "\\begin{eqnarray*}\n", + "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", + "\\end{eqnarray*}\n", + "Thus, the producers' problem is:\n", + "\\begin{eqnarray*}\n", + "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", + "\\end{eqnarray*}\n", + "\n", + "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", + "\n", + "In this case, consumers' incomes are determined by the wage:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", + "& s.t. & \\\\\n", + "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", + "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", + "\\begin{eqnarray*}\n", + "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", + "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", + "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", + "\\end{eqnarray*}\n", + "\n", + "In HARK, you can solve this basic case by using the `CobbDouglasEconomy` class. However, to add the consumers to the economy you need the `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", + "\n", + "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", + "\n", + "# Make a Cobb-Douglas economy for the agents\n", + "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, you can solve the economy and plot the aggregate savings function: " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capital-level steady state: 13.943289665216982\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", + "\n", + "# Have the consumers inherit relevant objects from the economy\n", + "AggShockExample.get_economy_data(EconomyExample)\n", + "\n", + "AggShockExample.solve() #solve the model\n", + "\n", + "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", + "\n", + "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.2 Market class structure\n", + "\n", + "As in case of the agent-type, the more complicated macroeconomic models are the subclasses of more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously.\n", + "\n", + "Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", + "\n", + "\\begin{eqnarray*} \n", + "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", + "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", + "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", + "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", + "\\end{eqnarray*}\n", + "\n", + "The consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", + "\n", + "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, there exists an additional aggregate fluctuation in the economy (the distribution of which is given by the finite Markov matrix). \n", + "\n", + "\n", + "![HARK_struct_2](HARK_struct_4.png)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.3 Tutorial\n", + "\n", + "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using the `CobbDouglasMarkovEconomy` class. \n", + "\n", + "Before that, you may want to check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.3.1 If you want to learn (a little) how the Market class works\n", + "\n", + "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` in the code). \n", + "\n", + "If you would like to get better knowledge about this structure, first take a look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting, look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6 If you need to study a source code\n", + "\n", + "In the previous sections we saw an example of how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", + "\n", + "Working directly with code (even if well-written) is a much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", + "\n", + "### 6.1 A few more words on HARK structure \n", + " \n", + "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you will find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", + "\n", + "The reason for this is that HARK.core.py is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", + "\n", + "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you must first understand `HARK.core`. \n", + "\n", + "\n", + "### 6.2 HARK solution \n", + "\n", + "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function also include data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", + "\n", + "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus, when you will study the source code, you will first read the solve classes. \n", + "\n", + "![Hark_struct3](HARK_struct_3.png)\n", + "\n", + "\n", + "#### 6.2.1 Solution method for agent problem\n", + "However, knowing the structure of the code may not be very beneficial if you do not know the solution method! While for the perfect foresight consumer has an analytic solution, the policy functions for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) are solved by the **endogenous grid method**.\n", + "\n", + "The method of endogenous gridpoints is now widely used in macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", + "\n", + "#### 6.2.2 Finding general equilibrium\n", + "In general, the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices up to the point at which the actual aggregated variables (like interest rate or capital) are equal to the expected ones. However, one may need to refer to the papers cited in the notebooks to understand the exact methods used. \n", + "\n", + "\n", + "### 6.3 How to study HARK codes\n", + "\n", + "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than is discussed here. Here is some more guidance on how to continue your journey:\n", + "\n", + "- Before you start make sure that you understand the endogenous grid method, as well as the general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", + "- When working through HARK.core, make sure that you see the connection between the structure in the documentation and the code (check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage). \n", + "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", + "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", + "\n", + "So in general, when you want to learn any of the modules in the HARK toolkit, first check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "ExecuteTime,-autoscroll,collapsed", + "notebook_metadata_filter": "all,-widgets,-varInspector" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.11" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/Journeys/Journey_PhD_param.py b/examples/Journeys/Journey_PhD_param.py new file mode 100644 index 000000000..d03e3e3dd --- /dev/null +++ b/examples/Journeys/Journey_PhD_param.py @@ -0,0 +1,157 @@ +''' +Set if parameters for the first journey +''' +from copy import copy +import numpy as np + +# ----------------------------------------------------------------------------- +# --- Define all of the parameters for the perfect foresight model ------------ +# ----------------------------------------------------------------------------- + +CRRA = 2.0 # Coefficient of relative risk aversion +Rfree = 1.03 # Interest factor on assets +DiscFac = 0.96 # Intertemporal discount factor +LivPrb = [1.0] # Survival probability +PermGroFac = [1.0] # Permanent income growth factor +AgentCount = 10000 # Number of agents of this type (only matters for simulation) +aNrmInitMean = 0.0 # Mean of log initial assets (only matters for simulation) +aNrmInitStd = 1.0 # Standard deviation of log initial assets (only for simulation) +pLvlInitMean = 0.0 # Mean of log initial permanent income (only matters for simulation) +pLvlInitStd = 0.0 # Standard deviation of log initial permanent income (only matters for simulation) +PermGroFacAgg = 1.0 # Aggregate permanent income growth factor (only matters for simulation) +T_age = None # Age after which simulated agents are automatically killed +T_cycle = 1 # Number of periods in the cycle for this agent type + +# Make a dictionary to specify a perfect foresight consumer type +init_perfect_foresight = { 'CRRA': CRRA, + 'Rfree': Rfree, + 'DiscFac': DiscFac, + 'LivPrb': LivPrb, + 'PermGroFac': PermGroFac, + 'AgentCount': AgentCount, + 'aNrmInitMean' : aNrmInitMean, + 'aNrmInitStd' : aNrmInitStd, + 'pLvlInitMean' : pLvlInitMean, + 'pLvlInitStd' : pLvlInitStd, + 'PermGroFacAgg' : PermGroFacAgg, + 'T_age' : T_age, + 'T_cycle' : T_cycle + } + +# ----------------------------------------------------------------------------- +# --- Define additional parameters for the idiosyncratic shocks model --------- +# ----------------------------------------------------------------------------- + +# Parameters for constructing the "assets above minimum" grid +aXtraMin = 0.001 # Minimum end-of-period "assets above minimum" value +aXtraMax = 20 # Maximum end-of-period "assets above minimum" value +#aXtraExtra = [None] # Some other value of "assets above minimum" to add to the grid, not used +aXtraNestFac = 3 # Exponential nesting factor when constructing "assets above minimum" grid +aXtraCount = 48 # Number of points in the grid of "assets above minimum" + +# Parameters describing the income process +PermShkCount = 7 # Number of points in discrete approximation to permanent income shocks +TranShkCount = 7 # Number of points in discrete approximation to transitory income shocks +PermShkStd = [0.1] # Standard deviation of log permanent income shocks +TranShkStd = [0.2] # Standard deviation of log transitory income shocks +UnempPrb = 0.005 # Probability of unemployment while working +UnempPrbRet = 0.005 # Probability of "unemployment" while retired +IncUnemp = 0.3 # Unemployment benefits replacement rate +IncUnempRet = 0.0 # "Unemployment" benefits when retired +tax_rate = 0.0 # Flat income tax rate +T_retire = 0 # Period of retirement (0 --> no retirement) + +# A few other parameters +BoroCnstArt = 0.0 # Artificial borrowing constraint; imposed minimum level of end-of period assets +CubicBool = True # Use cubic spline interpolation when True, linear interpolation when False +vFuncBool = False # Whether to calculate the value function during solution + +# Make a dictionary to specify an idiosyncratic income shocks consumer +init_idiosyncratic_shocks = { 'CRRA': CRRA, + 'Rfree': Rfree, + 'DiscFac': DiscFac, + 'LivPrb': LivPrb, + 'PermGroFac': PermGroFac, + 'AgentCount': AgentCount, + 'aXtraMin': aXtraMin, + 'aXtraMax': aXtraMax, + 'aXtraNestFac':aXtraNestFac, + 'aXtraCount': aXtraCount, + #'aXtraExtra': [aXtraExtra], + 'PermShkStd': PermShkStd, + 'PermShkCount': PermShkCount, + 'TranShkStd': TranShkStd, + 'TranShkCount': TranShkCount, + 'UnempPrb': UnempPrb, + 'UnempPrbRet': UnempPrbRet, + 'IncUnemp': IncUnemp, + 'IncUnempRet': IncUnempRet, + 'BoroCnstArt': BoroCnstArt, + 'tax_rate':0.0, + 'vFuncBool':vFuncBool, + 'CubicBool':CubicBool, + 'T_retire':T_retire, + 'aNrmInitMean' : aNrmInitMean, + 'aNrmInitStd' : aNrmInitStd, + 'pLvlInitMean' : pLvlInitMean, + 'pLvlInitStd' : pLvlInitStd, + 'PermGroFacAgg' : PermGroFacAgg, + 'T_age' : T_age, + 'T_cycle' : T_cycle + } + +# Make a dictionary to specify a lifecycle consumer with a finite horizon + +# ----------------------------------------------------------------------------- +# ----- Define additional parameters for the aggregate shocks model ----------- +# ----------------------------------------------------------------------------- +MgridBase = np.array([0.1,0.3,0.6,0.8,0.9,0.98,1.0,1.02,1.1,1.2,1.6,2.0,3.0]) # Grid of capital-to-labor-ratios (factors) + +# Parameters for a Cobb-Douglas economy +PermGroFacAgg = 1.00 # Aggregate permanent income growth factor +PermShkAggCount = 1 # Number of points in discrete approximation to aggregate permanent shock dist +TranShkAggCount = 1 # Number of points in discrete approximation to aggregate transitory shock dist +PermShkAggStd = 0.00 # Standard deviation of log aggregate permanent shocks +TranShkAggStd = 0.00 # Standard deviation of log aggregate transitory shocks +DeprFac = 0.025 # Capital depreciation rate +CapShare = 0.36 # Capital's share of income +DiscFacPF = DiscFac # Discount factor of perfect foresight calibration +CRRAPF = CRRA # Coefficient of relative risk aversion of perfect foresight calibration +intercept_prev = 0.0 # Intercept of aggregate savings function +slope_prev = 1.0 # Slope of aggregate savings function +verbose_cobb_douglas = True # Whether to print solution progress to screen while solving +T_discard = 200 # Number of simulated "burn in" periods to discard when updating AFunc +DampingFac = 0.5 # Damping factor when updating AFunc; puts DampingFac weight on old params, rest on new +max_loops = 20 # Maximum number of AFunc updating loops to allow + +# Make a dictionary to specify an aggregate shocks consumer +init_agg_shocks = copy(init_idiosyncratic_shocks) +del init_agg_shocks['Rfree'] # Interest factor is endogenous in agg shocks model +del init_agg_shocks['CubicBool'] # Not supported yet for agg shocks model +del init_agg_shocks['vFuncBool'] # Not supported yet for agg shocks model +init_agg_shocks['PermGroFac'] = [1.0] +init_agg_shocks['MgridBase'] = MgridBase +init_agg_shocks['aXtraCount'] = 24 +init_agg_shocks['aNrmInitStd'] = 0.0 +init_agg_shocks['LivPrb'] = LivPrb + + +# Make a dictionary to specify a Cobb-Douglas economy +init_cobb_douglas = {'PermShkAggCount': PermShkAggCount, + 'TranShkAggCount': TranShkAggCount, + 'PermShkAggStd': PermShkAggStd, + 'TranShkAggStd': TranShkAggStd, + 'DeprFac': DeprFac, + 'CapShare': CapShare, + 'DiscFac': DiscFacPF, + 'CRRA': CRRAPF, + 'PermGroFacAgg': PermGroFacAgg, + 'AggregateL':1.0, + 'act_T':1200, + 'intercept_prev': intercept_prev, + 'slope_prev': slope_prev, + 'verbose': verbose_cobb_douglas, + 'T_discard': T_discard, + 'DampingFac': DampingFac, + 'max_loops': max_loops + } From 0d7509900458132a0022f389281c0f9f100edb44 Mon Sep 17 00:00:00 2001 From: gitkrakenAMonninger Date: Fri, 13 Jan 2023 15:09:13 -0500 Subject: [PATCH 11/19] Replacing underscores with hyphens --- .../example_notebooks/HARK-struct-2.png | 1 + .../example_notebooks/HARK-struct-3.png | 1 + .../example_notebooks/HARK-struct-4.png | 1 + .../example_notebooks/HARK_struct_2.png | 1 - .../example_notebooks/HARK_struct_3.png | 1 - .../example_notebooks/HARK_struct_4.png | 1 - .../example_notebooks/Journey-PhD.ipynb | 1 + .../example_notebooks/JourneyPhDparam.py | 1 + .../example_notebooks/Journey_PhD.ipynb | 1 - .../example_notebooks/Journey_PhD_param.py | 1 - examples/Journeys/HARK-ind-sh.png | Bin 0 -> 27286 bytes examples/Journeys/HARK-struct-2.png | Bin 0 -> 27890 bytes examples/Journeys/HARK-struct-3.png | Bin 0 -> 50272 bytes examples/Journeys/HARK-struct-4.png | Bin 0 -> 58616 bytes examples/Journeys/Journey-PhD.ipynb | 498 ++++++++++++++++++ examples/Journeys/JourneyPhDparam.py | 157 ++++++ examples/Journeys/Journey_1_PhD.ipynb | 105 ++-- 17 files changed, 719 insertions(+), 51 deletions(-) create mode 120000 Documentation/example_notebooks/HARK-struct-2.png create mode 120000 Documentation/example_notebooks/HARK-struct-3.png create mode 120000 Documentation/example_notebooks/HARK-struct-4.png delete mode 120000 Documentation/example_notebooks/HARK_struct_2.png delete mode 120000 Documentation/example_notebooks/HARK_struct_3.png delete mode 120000 Documentation/example_notebooks/HARK_struct_4.png create mode 120000 Documentation/example_notebooks/Journey-PhD.ipynb create mode 120000 Documentation/example_notebooks/JourneyPhDparam.py delete mode 120000 Documentation/example_notebooks/Journey_PhD.ipynb delete mode 120000 Documentation/example_notebooks/Journey_PhD_param.py create mode 100644 examples/Journeys/HARK-ind-sh.png create mode 100644 examples/Journeys/HARK-struct-2.png create mode 100644 examples/Journeys/HARK-struct-3.png create mode 100644 examples/Journeys/HARK-struct-4.png create mode 100644 examples/Journeys/Journey-PhD.ipynb create mode 100644 examples/Journeys/JourneyPhDparam.py diff --git a/Documentation/example_notebooks/HARK-struct-2.png b/Documentation/example_notebooks/HARK-struct-2.png new file mode 120000 index 000000000..e17a1e20a --- /dev/null +++ b/Documentation/example_notebooks/HARK-struct-2.png @@ -0,0 +1 @@ +../../examples/Journeys/HARK-struct-2.png \ No newline at end of file diff --git a/Documentation/example_notebooks/HARK-struct-3.png b/Documentation/example_notebooks/HARK-struct-3.png new file mode 120000 index 000000000..cf5661e64 --- /dev/null +++ b/Documentation/example_notebooks/HARK-struct-3.png @@ -0,0 +1 @@ +../../examples/Journeys/HARK-struct-3.png \ No newline at end of file diff --git a/Documentation/example_notebooks/HARK-struct-4.png b/Documentation/example_notebooks/HARK-struct-4.png new file mode 120000 index 000000000..a607c7d0c --- /dev/null +++ b/Documentation/example_notebooks/HARK-struct-4.png @@ -0,0 +1 @@ +../../examples/Journeys/HARK-struct-4.png \ No newline at end of file diff --git a/Documentation/example_notebooks/HARK_struct_2.png b/Documentation/example_notebooks/HARK_struct_2.png deleted file mode 120000 index ad74f28a7..000000000 --- a/Documentation/example_notebooks/HARK_struct_2.png +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/HARK_struct_2.png \ No newline at end of file diff --git a/Documentation/example_notebooks/HARK_struct_3.png b/Documentation/example_notebooks/HARK_struct_3.png deleted file mode 120000 index c6c91e2ff..000000000 --- a/Documentation/example_notebooks/HARK_struct_3.png +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/HARK_struct_3.png \ No newline at end of file diff --git a/Documentation/example_notebooks/HARK_struct_4.png b/Documentation/example_notebooks/HARK_struct_4.png deleted file mode 120000 index c1511fa66..000000000 --- a/Documentation/example_notebooks/HARK_struct_4.png +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/HARK_struct_4.png \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey-PhD.ipynb b/Documentation/example_notebooks/Journey-PhD.ipynb new file mode 120000 index 000000000..550352740 --- /dev/null +++ b/Documentation/example_notebooks/Journey-PhD.ipynb @@ -0,0 +1 @@ +../../examples/Journeys/Journey-PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/JourneyPhDparam.py b/Documentation/example_notebooks/JourneyPhDparam.py new file mode 120000 index 000000000..44f05c3fe --- /dev/null +++ b/Documentation/example_notebooks/JourneyPhDparam.py @@ -0,0 +1 @@ +../../examples/Journeys/JourneyPhDparam.py \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey_PhD.ipynb b/Documentation/example_notebooks/Journey_PhD.ipynb deleted file mode 120000 index c8deaed10..000000000 --- a/Documentation/example_notebooks/Journey_PhD.ipynb +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey_PhD.ipynb \ No newline at end of file diff --git a/Documentation/example_notebooks/Journey_PhD_param.py b/Documentation/example_notebooks/Journey_PhD_param.py deleted file mode 120000 index ee002684e..000000000 --- a/Documentation/example_notebooks/Journey_PhD_param.py +++ /dev/null @@ -1 +0,0 @@ -../../examples/Journeys/Journey_PhD_param.py \ No newline at end of file diff --git a/examples/Journeys/HARK-ind-sh.png b/examples/Journeys/HARK-ind-sh.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5e7d175152182ab4e781c0ded5131ef8694f25 GIT binary patch literal 27286 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 XR>pr^k)H$KWd?RmE#(TuhtK~FZ6Skr literal 0 HcmV?d00001 diff --git a/examples/Journeys/HARK-struct-3.png b/examples/Journeys/HARK-struct-3.png new file mode 100644 index 0000000000000000000000000000000000000000..e71b9f2b92c4d88d5896e73ae4de836c6fddc1f6 GIT binary patch literal 50272 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
t!7f7<-j6=Anh|G>$tzW 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" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "Example.solve()\n", + "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", + "max_v = 20\n", + "print(\"Consumption function\")\n", + "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 The Agent-Type structure\n", + "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The following diagram illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. \n", + "\n", + "![HARK structure](HARK-struct-2.png)\n", + "\n", + "However, it doesn't end there! There are subclasses of the `AggShockConsumerType` which are designed to be integrated with macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 Main tutorials\n", + "\n", + "To reflect the agent-type structure, we propose you start with the Quickstart notebook (it is devoted to the deterministic case). Then proceed to the idiosyncratic consumers and then to consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", + "\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", + "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", + "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", + "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 Supplementary tutorials\n", + "\n", + "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", + "\n", + "|Number | Tutorial | Description|\n", + "| :---- | :---- | :---- |\n", + "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", + "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", + "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 5 Market class\n", + "\n", + "In macroeconomic models, the consumers are only one possible type of agent. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.1 Introductory example\n", + "\n", + "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", + "\n", + "\\begin{eqnarray*}\n", + "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", + "\\end{eqnarray*}\n", + "Thus, the producers' problem is:\n", + "\\begin{eqnarray*}\n", + "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", + "\\end{eqnarray*}\n", + "\n", + "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", + "\n", + "In this case, consumers' incomes are determined by the wage:\n", + "\n", + "\\begin{eqnarray*}\n", + "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", + "& s.t. & \\\\\n", + "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", + "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", + "\\end{eqnarray*}\n", + "\n", + "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", + "\\begin{eqnarray*}\n", + "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", + "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", + "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", + "\\end{eqnarray*}\n", + "\n", + "In HARK, you can solve this basic case by using the `CobbDouglasEconomy` class. However, to add the consumers to the economy you need the `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", + "\n", + "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", + "\n", + "# Make a Cobb-Douglas economy for the agents\n", + "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, you can solve the economy and plot the aggregate savings function: " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "capital-level steady state: 13.943289665216982\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", + "\n", + "# Have the consumers inherit relevant objects from the economy\n", + "AggShockExample.get_economy_data(EconomyExample)\n", + "\n", + "AggShockExample.solve() #solve the model\n", + "\n", + "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", + "\n", + "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.2 Market class structure\n", + "\n", + "As in case of the agent-type, the more complicated macroeconomic models are the subclasses of more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously.\n", + "\n", + "Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", + "\n", + "\\begin{eqnarray*} \n", + "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", + "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", + "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", + "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", + "\\end{eqnarray*}\n", + "\n", + "The consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", + "\n", + "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, there exists an additional aggregate fluctuation in the economy (the distribution of which is given by the finite Markov matrix). \n", + "\n", + "\n", + "![HARK_struct_2](HARK-struct-4.png)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5.3 Tutorial\n", + "\n", + "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using the `CobbDouglasMarkovEconomy` class. \n", + "\n", + "Before that, you may want to check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.3.1 If you want to learn (a little) how the Market class works\n", + "\n", + "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` in the code). \n", + "\n", + "If you would like to get better knowledge about this structure, first take a look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting, look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 6 If you need to study a source code\n", + "\n", + "In the previous sections we saw an example of how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", + "\n", + "Working directly with code (even if well-written) is a much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", + "\n", + "### 6.1 A few more words on HARK structure \n", + " \n", + "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you will find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", + "\n", + "The reason for this is that HARK.core.py is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", + "\n", + "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you must first understand `HARK.core`. \n", + "\n", + "\n", + "### 6.2 HARK solution \n", + "\n", + "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function also include data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", + "\n", + "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus, when you will study the source code, you will first read the solve classes. \n", + "\n", + "![Hark_struct3](HARK-struct-3.png)\n", + "\n", + "\n", + "#### 6.2.1 Solution method for agent problem\n", + "However, knowing the structure of the code may not be very beneficial if you do not know the solution method! While for the perfect foresight consumer has an analytic solution, the policy functions for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) are solved by the **endogenous grid method**.\n", + "\n", + "The method of endogenous gridpoints is now widely used in macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", + "\n", + "#### 6.2.2 Finding general equilibrium\n", + "In general, the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices up to the point at which the actual aggregated variables (like interest rate or capital) are equal to the expected ones. However, one may need to refer to the papers cited in the notebooks to understand the exact methods used. \n", + "\n", + "\n", + "### 6.3 How to study HARK codes\n", + "\n", + "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than is discussed here. Here is some more guidance on how to continue your journey:\n", + "\n", + "- Before you start make sure that you understand the endogenous grid method, as well as the general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", + "- When working through HARK.core, make sure that you see the connection between the structure in the documentation and the code (check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage). \n", + "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", + "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", + "\n", + "So in general, when you want to learn any of the modules in the HARK toolkit, first check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "ExecuteTime,-autoscroll,collapsed", + "notebook_metadata_filter": "all,-widgets,-varInspector" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.11" + }, + "latex_envs": { + "LaTeX_envs_menu_present": true, + "autoclose": false, + "autocomplete": true, + "bibliofile": "biblio.bib", + "cite_by": "apalike", + "current_citInitial": 1, + "eqLabelWithNumbers": true, + "eqNumInitial": 1, + "hotkeys": { + "equation": "Ctrl-E", + "itemize": "Ctrl-I" + }, + "labels_anchors": false, + "latex_user_defs": false, + "report_style_numbering": false, + "user_envs_cfg": false + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/Journeys/JourneyPhDparam.py b/examples/Journeys/JourneyPhDparam.py new file mode 100644 index 000000000..d03e3e3dd --- /dev/null +++ b/examples/Journeys/JourneyPhDparam.py @@ -0,0 +1,157 @@ +''' +Set if parameters for the first journey +''' +from copy import copy +import numpy as np + +# ----------------------------------------------------------------------------- +# --- Define all of the parameters for the perfect foresight model ------------ +# ----------------------------------------------------------------------------- + +CRRA = 2.0 # Coefficient of relative risk aversion +Rfree = 1.03 # Interest factor on assets +DiscFac = 0.96 # Intertemporal discount factor +LivPrb = [1.0] # Survival probability +PermGroFac = [1.0] # Permanent income growth factor +AgentCount = 10000 # Number of agents of this type (only matters for simulation) +aNrmInitMean = 0.0 # Mean of log initial assets (only matters for simulation) +aNrmInitStd = 1.0 # Standard deviation of log initial assets (only for simulation) +pLvlInitMean = 0.0 # Mean of log initial permanent income (only matters for simulation) +pLvlInitStd = 0.0 # Standard deviation of log initial permanent income (only matters for simulation) +PermGroFacAgg = 1.0 # Aggregate permanent income growth factor (only matters for simulation) +T_age = None # Age after which simulated agents are automatically killed +T_cycle = 1 # Number of periods in the cycle for this agent type + +# Make a dictionary to specify a perfect foresight consumer type +init_perfect_foresight = { 'CRRA': CRRA, + 'Rfree': Rfree, + 'DiscFac': DiscFac, + 'LivPrb': LivPrb, + 'PermGroFac': PermGroFac, + 'AgentCount': AgentCount, + 'aNrmInitMean' : aNrmInitMean, + 'aNrmInitStd' : aNrmInitStd, + 'pLvlInitMean' : pLvlInitMean, + 'pLvlInitStd' : pLvlInitStd, + 'PermGroFacAgg' : PermGroFacAgg, + 'T_age' : T_age, + 'T_cycle' : T_cycle + } + +# ----------------------------------------------------------------------------- +# --- Define additional parameters for the idiosyncratic shocks model --------- +# ----------------------------------------------------------------------------- + +# Parameters for constructing the "assets above minimum" grid +aXtraMin = 0.001 # Minimum end-of-period "assets above minimum" value +aXtraMax = 20 # Maximum end-of-period "assets above minimum" value +#aXtraExtra = [None] # Some other value of "assets above minimum" to add to the grid, not used +aXtraNestFac = 3 # Exponential nesting factor when constructing "assets above minimum" grid +aXtraCount = 48 # Number of points in the grid of "assets above minimum" + +# Parameters describing the income process +PermShkCount = 7 # Number of points in discrete approximation to permanent income shocks +TranShkCount = 7 # Number of points in discrete approximation to transitory income shocks +PermShkStd = [0.1] # Standard deviation of log permanent income shocks +TranShkStd = [0.2] # Standard deviation of log transitory income shocks +UnempPrb = 0.005 # Probability of unemployment while working +UnempPrbRet = 0.005 # Probability of "unemployment" while retired +IncUnemp = 0.3 # Unemployment benefits replacement rate +IncUnempRet = 0.0 # "Unemployment" benefits when retired +tax_rate = 0.0 # Flat income tax rate +T_retire = 0 # Period of retirement (0 --> no retirement) + +# A few other parameters +BoroCnstArt = 0.0 # Artificial borrowing constraint; imposed minimum level of end-of period assets +CubicBool = True # Use cubic spline interpolation when True, linear interpolation when False +vFuncBool = False # Whether to calculate the value function during solution + +# Make a dictionary to specify an idiosyncratic income shocks consumer +init_idiosyncratic_shocks = { 'CRRA': CRRA, + 'Rfree': Rfree, + 'DiscFac': DiscFac, + 'LivPrb': LivPrb, + 'PermGroFac': PermGroFac, + 'AgentCount': AgentCount, + 'aXtraMin': aXtraMin, + 'aXtraMax': aXtraMax, + 'aXtraNestFac':aXtraNestFac, + 'aXtraCount': aXtraCount, + #'aXtraExtra': [aXtraExtra], + 'PermShkStd': PermShkStd, + 'PermShkCount': PermShkCount, + 'TranShkStd': TranShkStd, + 'TranShkCount': TranShkCount, + 'UnempPrb': UnempPrb, + 'UnempPrbRet': UnempPrbRet, + 'IncUnemp': IncUnemp, + 'IncUnempRet': IncUnempRet, + 'BoroCnstArt': BoroCnstArt, + 'tax_rate':0.0, + 'vFuncBool':vFuncBool, + 'CubicBool':CubicBool, + 'T_retire':T_retire, + 'aNrmInitMean' : aNrmInitMean, + 'aNrmInitStd' : aNrmInitStd, + 'pLvlInitMean' : pLvlInitMean, + 'pLvlInitStd' : pLvlInitStd, + 'PermGroFacAgg' : PermGroFacAgg, + 'T_age' : T_age, + 'T_cycle' : T_cycle + } + +# Make a dictionary to specify a lifecycle consumer with a finite horizon + +# ----------------------------------------------------------------------------- +# ----- Define additional parameters for the aggregate shocks model ----------- +# ----------------------------------------------------------------------------- +MgridBase = np.array([0.1,0.3,0.6,0.8,0.9,0.98,1.0,1.02,1.1,1.2,1.6,2.0,3.0]) # Grid of capital-to-labor-ratios (factors) + +# Parameters for a Cobb-Douglas economy +PermGroFacAgg = 1.00 # Aggregate permanent income growth factor +PermShkAggCount = 1 # Number of points in discrete approximation to aggregate permanent shock dist +TranShkAggCount = 1 # Number of points in discrete approximation to aggregate transitory shock dist +PermShkAggStd = 0.00 # Standard deviation of log aggregate permanent shocks +TranShkAggStd = 0.00 # Standard deviation of log aggregate transitory shocks +DeprFac = 0.025 # Capital depreciation rate +CapShare = 0.36 # Capital's share of income +DiscFacPF = DiscFac # Discount factor of perfect foresight calibration +CRRAPF = CRRA # Coefficient of relative risk aversion of perfect foresight calibration +intercept_prev = 0.0 # Intercept of aggregate savings function +slope_prev = 1.0 # Slope of aggregate savings function +verbose_cobb_douglas = True # Whether to print solution progress to screen while solving +T_discard = 200 # Number of simulated "burn in" periods to discard when updating AFunc +DampingFac = 0.5 # Damping factor when updating AFunc; puts DampingFac weight on old params, rest on new +max_loops = 20 # Maximum number of AFunc updating loops to allow + +# Make a dictionary to specify an aggregate shocks consumer +init_agg_shocks = copy(init_idiosyncratic_shocks) +del init_agg_shocks['Rfree'] # Interest factor is endogenous in agg shocks model +del init_agg_shocks['CubicBool'] # Not supported yet for agg shocks model +del init_agg_shocks['vFuncBool'] # Not supported yet for agg shocks model +init_agg_shocks['PermGroFac'] = [1.0] +init_agg_shocks['MgridBase'] = MgridBase +init_agg_shocks['aXtraCount'] = 24 +init_agg_shocks['aNrmInitStd'] = 0.0 +init_agg_shocks['LivPrb'] = LivPrb + + +# Make a dictionary to specify a Cobb-Douglas economy +init_cobb_douglas = {'PermShkAggCount': PermShkAggCount, + 'TranShkAggCount': TranShkAggCount, + 'PermShkAggStd': PermShkAggStd, + 'TranShkAggStd': TranShkAggStd, + 'DeprFac': DeprFac, + 'CapShare': CapShare, + 'DiscFac': DiscFacPF, + 'CRRA': CRRAPF, + 'PermGroFacAgg': PermGroFacAgg, + 'AggregateL':1.0, + 'act_T':1200, + 'intercept_prev': intercept_prev, + 'slope_prev': slope_prev, + 'verbose': verbose_cobb_douglas, + 'T_discard': T_discard, + 'DampingFac': DampingFac, + 'max_loops': max_loops + } diff --git a/examples/Journeys/Journey_1_PhD.ipynb b/examples/Journeys/Journey_1_PhD.ipynb index ff8cd1601..20fd29b34 100644 --- a/examples/Journeys/Journey_1_PhD.ipynb +++ b/examples/Journeys/Journey_1_PhD.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Journey 1: 1st year PhD student \n", + "Journey: Economics PhD Student \n", "====\n" ] }, @@ -14,7 +14,7 @@ "source": [ "## 1 Introduction\n", "\n", - "This notebook is a one of the possible journeys into HARK - the Python package designed to solve economic models with the heterogeneous agents. As it is a \"journey\", it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", + "This notebook is designed to introduce someone with the training of a 1st year Economics student, but perhaps without much background in computer programming or scientific computation. As it is a \"journey,\" it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", "\n", "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", "\n", @@ -34,7 +34,9 @@ "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", "$$\n", "\n", - "Now assume that every consumer faces some uncertainty on her income (e.g. it follows AR (1) process), which is idiosyncratic - the realizations of each shock is (potentially) different for each agent. In this setting the Bellman equation looks like:\n", + "Now assume that every consumer faces some uncertainty on her income which is subject to idiosyncratic shocks - the realizations of each shock is (potentially) different for each agent. In this setting, it follows AR (1) process, so that the current value of $Y$ is a state variable that predicts future values of $Y$. \n", + "\n", + "Then, the Bellman equation looks like:\n", "\n", "\\begin{eqnarray*}\n", "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", @@ -43,7 +45,7 @@ "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", "\\end{eqnarray*}\n", "\n", - "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. It was mentioned in the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", + "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. To quote the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", "\n", "*\"After months of effort, you may have had the character-improving experience of\n", "proudly explaining to your adviser that not only had you grafted two ideas\n", @@ -53,13 +55,13 @@ "discovery was something that “everybody knows” but did not exist at all in\n", "published form!\"*\n", "\n", - "\n", - "HARK was designed to help you avoid similar experiences. We see two main ways how you can use this package:\n", + "s\n", + "HARK was designed to help you avoid similar experiences. We see two main uses of this package and its tools:\n", "\n", "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", "- To solve your own models building-on the already implemented algorithms \n", "\n", - "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods, however in the last sections you can find some guidance which were used and how the source code is structured. \n", + "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods; however, in the last sections you can find some guidance which were used and how the source code is structured. \n", "\n", "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", "\n", @@ -83,7 +85,7 @@ "- A little longer introduction (if you want to learn something about used numerical methods):\n", " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", - "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way. For example [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html). " + "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way (one example is [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html)). " ] }, { @@ -92,16 +94,16 @@ "source": [ "## 3 Few words about HARK structure\n", "\n", - "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different objects.\n", + "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different *objects*. Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with such structure implies learning the different types of objects (classes). \n", "\n", - "Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with a such structure implies learning the different types of objects (classes). In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", + "In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", "\n", - "However, only two classes cannot accommodate the huge variety of the currently used models. Thus, each of the classes have subclasses and they have their own subclasses... In general more sophisticated class is a subclass. This journey will reflect this structure, by showing you first the most primitive models, then go ahead to the more fancy ones.\n", + "In practice, it will take more than two classes to accommodate the huge variety of the currently used models. Thus, each class will have subclasses and those their own subclasses. In general, a more sophisticated class will be defined as a subclass. This journey will reflect this structure, first by presenting the most primitive models, and then the more fancy ones.\n", "\n", "---\n", "NOTE\n", "***\n", - "In OOP objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", + "In OOP, objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", "\n", "---\n" ] @@ -111,10 +113,10 @@ "metadata": {}, "source": [ "## 4 Agent-type class \n", - "Agent-type class enables you to build the macroeconomic models, such as presented in the introduction. It is also the essential part of the macroeconomic model in HARK. Therefore, to use HARK, you always need to use agent-type classes!\n", + "Agent-type class enables you to build the macroeconomic models (such as the one presented in the introduction). It is also the essential part of the macroeconomic model in HARK. So remember: *to use HARK, you always need to use agent-type classes!*\n", "\n", "### 4.1 Introductory example\n", - "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent i in the period t: $Y_{i,t}$, is given by: \n", + "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent $i$ in the period t: $Y_{i,t}$, is given by: \n", "\n", "\\begin{eqnarray*} \n", "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", @@ -123,7 +125,9 @@ "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", "\\end{eqnarray*}\n", "\n", - "To get a universal solution of this problem we need to find a policy function (in this case consumption function), we can easily use the HARK solve function. Before we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" + "To get a universal solution of this problem, we need to find a policy function (in this case consumption function). This can be done easily using the HARK `solve` function. \n", + "\n", + "Before doing this, we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" ] }, { @@ -199,9 +203,11 @@ "metadata": {}, "source": [ "### 4.2 The Agent-Type structure\n", - "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The diagram, illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. However, it is not the end! There are subclass of the `AggShockConsumerType` which are designed to be integrated with the macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section).\n", + "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The following diagram illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. \n", + "\n", + "![HARK structure](HARK_struct_2.png)\n", "\n", - "![HARK structure](HARK_struct_2.png)\n" + "However, it doesn't end there! There are subclasses of the `AggShockConsumerType` which are designed to be integrated with macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section)." ] }, { @@ -210,7 +216,7 @@ "source": [ "### 4.3 Main tutorials\n", "\n", - "To reflect the agent-type structure, we propose you start with the Quickstart notebook. It is devoted to the deterministic case. Then proceed to the idiosyncratic consumers and then consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", + "To reflect the agent-type structure, we propose you start with the Quickstart notebook (it is devoted to the deterministic case). Then proceed to the idiosyncratic consumers and then to consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", "\n", "\n", "|Number | Tutorial | Description|\n", @@ -227,7 +233,7 @@ "source": [ "### 4.4 Supplementary tutorials\n", "\n", - "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes, with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", + "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", "\n", "|Number | Tutorial | Description|\n", "| :---- | :---- | :---- |\n", @@ -243,7 +249,7 @@ "source": [ "## 5 Market class\n", "\n", - "In macroeconomic models, the consumers are only one type of agents. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", + "In macroeconomic models, the consumers are only one possible type of agent. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", "\n" ] }, @@ -258,14 +264,14 @@ "\\begin{eqnarray*}\n", "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", "\\end{eqnarray*}\n", - "Thus producers' problem is:\n", + "Thus, the producers' problem is:\n", "\\begin{eqnarray*}\n", "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", "\\end{eqnarray*}\n", "\n", "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", "\n", - "In this case, consumers' income is determined by the wage:\n", + "In this case, consumers' incomes are determined by the wage:\n", "\n", "\\begin{eqnarray*}\n", "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", @@ -281,7 +287,7 @@ "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", "\\end{eqnarray*}\n", "\n", - "In HARK, you can solve this basic case by using `CobbDouglasEconomy` class. However, to add the consumers to the economy you need `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" + "In HARK, you can solve this basic case by using the `CobbDouglasEconomy` class. However, to add the consumers to the economy you need the `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" ] }, { @@ -351,7 +357,9 @@ "source": [ "### 5.2 Market class structure\n", "\n", - "As in case of the agent-type the more complicated macroeconomic models are the subclasses of the more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously. Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", + "As in case of the agent-type, the more complicated macroeconomic models are the subclasses of more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously.\n", + "\n", + "Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", "\n", "\\begin{eqnarray*} \n", "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", @@ -360,9 +368,9 @@ "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", "\\end{eqnarray*}\n", "\n", - "Therefore, the consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", + "The consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", "\n", - "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, in the economy there exist an additional aggregate fluctuation, which distribution is given by the finite Markov matrix. \n", + "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, there exists an additional aggregate fluctuation in the economy (the distribution of which is given by the finite Markov matrix). \n", "\n", "\n", "![HARK_struct_2](HARK_struct_4.png)\n", @@ -376,9 +384,9 @@ "source": [ "### 5.3 Tutorial\n", "\n", - "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using `CobbDouglasMarkovEconomy` class. \n", + "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using the `CobbDouglasMarkovEconomy` class. \n", "\n", - "Before, you can also check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", + "Before that, you may want to check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", "\n" ] }, @@ -388,9 +396,9 @@ "source": [ "#### 5.3.1 If you want to learn (a little) how the Market class works\n", "\n", - "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` n the code). \n", + "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` in the code). \n", "\n", - "If you would like to get better knowledge about this structure firstly look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" + "If you would like to get better knowledge about this structure, first take a look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting, look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" ] }, { @@ -399,46 +407,47 @@ "source": [ "## 6 If you need to study a source code\n", "\n", - "In the previous sections we showed how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", + "In the previous sections we saw an example of how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", "\n", - "Obviously, working with the code, even well-written, is much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", + "Working directly with code (even if well-written) is a much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", "\n", "### 6.1 A few more words on HARK structure \n", " \n", - "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", + "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you will find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", "\n", - "The reason for this is that HARK.core is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", + "The reason for this is that HARK.core.py is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", "\n", - "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you firstly need to understand `HARK.core`. \n", + "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you must first understand `HARK.core`. \n", "\n", "\n", "### 6.2 HARK solution \n", "\n", - "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function includes also data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", + "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function also include data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", "\n", - "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus when you will study the source code, you firstly will read the solve classes. \n", + "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus, when you will study the source code, you will first read the solve classes. \n", "\n", "![Hark_struct3](HARK_struct_3.png)\n", "\n", "\n", "#### 6.2.1 Solution method for agent problem\n", - "However, knowing the structure of the code does not be very beneficial if you do not know the solution method! While for the perfect foresight consumer it is analytic, for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) the policy functions are solved by the **endogenous grid method**.\n", + "However, knowing the structure of the code may not be very beneficial if you do not know the solution method! While for the perfect foresight consumer has an analytic solution, the policy functions for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) are solved by the **endogenous grid method**.\n", "\n", - "The endogenous grid method is now widely used in the macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", + "The method of endogenous gridpoints is now widely used in macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", "\n", "#### 6.2.2 Finding general equilibrium\n", - "In the most basic case the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices to the point when actual aggregated variables (like intrest rate or capital) are equal to the expected ones. However, refer to the papers cited in the notebooks, to understand the exact used mathods. \n", + "In general, the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices up to the point at which the actual aggregated variables (like interest rate or capital) are equal to the expected ones. However, one may need to refer to the papers cited in the notebooks to understand the exact methods used. \n", "\n", "\n", "### 6.3 How to study HARK codes\n", "\n", - "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than we've discussed here. Here we give you some guidance how to continue your journey:\n", + "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than is discussed here. Here is some more guidance on how to continue your journey:\n", "\n", - "- Before you start make sure that you understand the endogenous grid method, and general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", - "- Start with the HARK.core, make sure that you see the connection between the structure in the documentation and the code, check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage. \n", + "- Before you start make sure that you understand the endogenous grid method, as well as the general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", + "- When working through HARK.core, make sure that you see the connection between the structure in the documentation and the code (check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage). \n", "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", - "- When you want to learn any of the modules, always firstly check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" + "\n", + "So in general, when you want to learn any of the modules in the HARK toolkit, first check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" ] }, { @@ -450,8 +459,12 @@ } ], "metadata": { + "jupytext": { + "cell_metadata_filter": "ExecuteTime,-autoscroll,collapsed", + "notebook_metadata_filter": "all,-widgets,-varInspector" + }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -465,7 +478,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.11" + "version": "3.8.8" }, "latex_envs": { "LaTeX_envs_menu_present": true, From 33cab2d985fae44f87500873c941f925082d13fd Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:18:07 +0000 Subject: [PATCH 12/19] Delete HARK_ind_sh.png --- examples/Journeys/HARK_ind_sh.png | Bin 27286 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/Journeys/HARK_ind_sh.png diff --git a/examples/Journeys/HARK_ind_sh.png b/examples/Journeys/HARK_ind_sh.png deleted file mode 100644 index dd5e7d175152182ab4e781c0ded5131ef8694f25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27286 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 Date: Fri, 13 Jan 2023 20:18:32 +0000 Subject: [PATCH 13/19] Delete HARK_struct_2.png --- examples/Journeys/HARK_struct_2.png | Bin 27890 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/Journeys/HARK_struct_2.png diff --git a/examples/Journeys/HARK_struct_2.png b/examples/Journeys/HARK_struct_2.png deleted file mode 100644 index 376b70e222ca9353a26b2ff116ce9130686b8dc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27890 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 XR>pr^k)H$KWd?RmE#(TuhtK~FZ6Skr From f270903a323d811bcf33b1fed4cf6681d67887d7 Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:19:04 +0000 Subject: [PATCH 14/19] Delete HARK_struct_3.png --- examples/Journeys/HARK_struct_3.png | Bin 50272 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/Journeys/HARK_struct_3.png diff --git a/examples/Journeys/HARK_struct_3.png b/examples/Journeys/HARK_struct_3.png deleted file mode 100644 index e71b9f2b92c4d88d5896e73ae4de836c6fddc1f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50272 zcmb5Vc{tQ>`#)?;BxNZ|8&Z^Q%#2}(Ff(Q>vsedF4YQgVGng@BL`1T*XhpIll}eUK zmde&@DPsw#NLjL^RMMvB^11K(dA`5z{XBm>$Dt$M$NPP4=k_{Z=Xs@)2w2q>IxA#k zWK>;nXipg#IaTnlQb`d!$?dm4DI>EIEx`B*xMDhsLzCI{um5$qJSvOMqEYSip%4qC zDa6VY2JyCl+gMuKz~E*`3s``@E|V82u+tZbL}t_oipY$`)7PaiXkp+Po+n{(I23bB zGl;GcnH5Imi6V6g-nteLGl;D&cz}T0>WUHY9lDNuK8Hr81-r2X=9VxkGZ;eG$PMR> zcQ?`Hu-G(REG>l1+o6kMM)0^ab1N{Q8O+KGVrBt{>UvS=lnBxE2T<`%2Y|zv~-`>hs5D;SQ0>_Zx7IcP$ zV+>}a@?BO~0C20n}(1iR)$|^uwa?Vjf3?71L=DV+c|Jp*oVia0nvL+}a%Jf@XV0 zN}|z74BI*cXO6NA6ZlKqaQ*~e3!ex)lMX?NoUxQhf;f~FibS|O2atT>EP*>4%aVvN zNTi!L8)r=>_+Wh?5)W^rKb`L;arI|-lfB(o9s(jv0`)~v&|z3NuV5_E5dt%|5Hl?$ z&=4Pr80#Nt*Vxz}9RPR2`=EmzIYhSr zgtG_I(vKtYF($D@NWK$`E?>UhN0lh zFt)3UGs42nf+_TI;dzsMolw>mj;?eBKETh>S;U}VTv>E?6iw(Kf^l3n z2P%N?=tv56B6{8YOV^wRZNAFkJCg2oeP1 zF5$D7uKsumli|f>_`7>!ti;iwp-urI)}r9ZFmq=yh2(E7f)cE-5pD=yDm{Q?j3gqQ zoWg=#BORT6+^}e@M-_|sHF%BtV`#I8_qsZn=e-xbN=k067jmEf=eGz=WP*<@# zn&25pMq^3j0Fk>N%g2p@^YSN15RUF1LN{v*Yj-${9l$`bn26x0aBl*a>*7pT!8~I!0bvYtCNkjUU?4`G zr8nO=z{l8;LvW3hn1{NBN?5L5(asErhd9j5Etudg2r#B#ti^0RUPzL#Io=Xdh$UYf zfG45_B5#4QG2NAIZpoqx!|6nnghzu};y9uZB*x1E8o}~*#_;)Uw-8^lI7$#AjD~~@ zAs8aX5ifER;~}neHkOK~y0O{Tq7dr;MwS$vVW?(lwkcfsw7m;RKfeyi+IyL+7I@ z!2)w%1c^-GVPO{DlrSfRi0ADH6^Wvma8D70AMJ~lL{L~l7!w1dU_z}RVPpg@)H0gy zZWSH^r-zEMI9F>iJj^j95=ys>Vp?PQTpwp&CKHYWicN70aq>b5QM^dFlNXL{9LgXI z3C@wB{ycM*Kb0l%C0Tef!cfN1SQiwFgL1}EoI(X*1OXKf7aLnfVcp4*7Bpk3m}NzS z3GqJGPAoW%4GVw^@hFZTl_7vq=`c@}rJDrj>Pu#DX*6;Glo#wl4t3!$#7qt*B%EtS z6N$x0h7c0U!V&{$@Cb1@hYZ{oG&tNR%se_e051@D!r|UrX97eL5CU}#M*E7$t{6Tv z+J$7nf=805=Ef*dcm&rU1`#o#9D=ung*%*zr&v+kAxJ-G8W~Q3P}rWHAps1stDlvp zfE5*ubar%$5O@&-yxlC3F4jmM&zRxsMYiBY5c%#dQC2i;B;CW9>0?Q^vgYtT{f$LT zG@C=FqDAarZxNeDf#DF$0HlQg9u`a_NJLy~Sg5&|Ie} zjzX}oFaec9Akw`ZSs{*Ye3&ncZzYDHdG7u=4@iWoMJUfJG8}~uw}5edBEnhLVrO%) zr61j$EQ)4@ON{yEFeey?$_o>Q;<(;et~JFyBFquxh>IkX&4cl-I0nSao#rdxM_W=n zp%zheJe_S7i6sld3C?sXCxk)q6@v=0hA}n#95nd8Hk%qJIfkCK(s4#P)8$w_a&WvVT zd07#{XkvkNfFH08lCzM84E3Z_;2zdcT!Ayl5H0OjUm&5MG;84*I9r9a=w%`KW7#`O2*lXy;!)^J=DneFQB ziRNKkVBS=JhNUmlkL@1n#B>i1U_zaI3BYRzP*E%t!HLc#MnB+K|!#BvhY@7g#j2w!WAxwR1LEwcNc$7ueqq`|(c#tGyTx-u?k zM{n`o>0ITiwGVGEw)uyzIMk%DEzRPYhx%IdM##?XpOGjH-PF~p>ay|)Xb)#uJfwK# z&y=~9Dq@eq{lQ1~=cSF9Om0O<};8=Z^b ziF!+iN=tuA`l=p&e!OMq>!+608}=GF$eq=+UR-$Bfm&_n9W8g@lmaeZVV7?CVT&uQ z-s?V_vs^V@3ThPQ-^B2`dwRSBQ=RdtxEby5M>NP?GZWH_t< zAcB=#Ot=3zu{E;Shn(HF@8IjegMYqVp|zb;&M#T4uK!rqRN>2HelX zpJq=uF5g7G;+`Em|5`LO38Sr`sTVMfRJ3{9Wi>vX0V{NRZ0djOLHh+HtmfDI(?kR# zSLoYpc%uQIu9&OCIlueh{q+{XNds}eW^O!B+2QRTUwAQCa3BM$a4T4?a_(XC-%&F! zmx*@&`P!W$?3rkMZaaH-c=n#;8`O5D>hwVP<4uVZGNqz7(T{(>H{890Yq^X1B%^Cc zcf~pLePIYr|NgP|Y|U3En2Jfti^<~#L8fYfg|bm2rw(j$is>bS@l~+ zf3jPv?!hBZ{OY5)x*HMPmur68wLeoR)|uA=^9k)#2y&{JrTOZmtf`4Ze=K>TN&OWs zt5})`KG)mCzRrGEur>F-DYR8x)#LfggD5HGNJ_zY{=xfjkyAO-w(`Q`lZ~c_>kb!Q zBz-Kf0P16@?;ur^_f=>dVB~K?%kl^IeSr!tjw6{Abwsp!%d&+Lq8Gf;p1V5Ee!f3M zeo*)Tz1=NT?{k0138bNaTJ9Rvw`aj<&ZcWlZp;N?vg##Oo@-5_M#is&9+|SZ0*g^)apXb!o|mkV#`e?R%1dYOM5) zF>(s)iJLAs-yftm|ABe@goRq?M%ZTI{(dy2-b41c1QthGXI6RU&OS*Z96`Q*Lp@4c;+ z<9RXXeBGHI1_xJHo^G>gF;>CI?+F0*;tcFX?JZ3(t@NcH5qay9a_P3r<(tL(T@0SA zP%(*oa5>ZF5k}|z08s9G*`^-9;Qe3Bs+iVuPqw;6YEN&=^oT+1@6g$~?eRFU zq66TlNn3ffW5^yOW5z8t)vW&FaSt?xaI5O(<}ZcJVrL6#(sRSPBG_{$8 zbS(LUjTSInAWIpr4mszQxh_Pw=P&uah;6|87{}4~nu9qf zAD%W@8Uv_};)~T9xFrX-LM>YXJbDXOvgQp2-nksuy1h6RaY{zn+YPvYfI|oJ6pmV~ zQ7u_=f5(86yr_P+9s1$|__jkGCJ#g>rv@BNye9L|Uogk-?|N=vk7`RkEKhw_H^C1K zSdk)@2a{}4OIfShzi^H5JdggN>#}3`YTIc@@Vz+zwsK zcCG#Xc>6>RrTYq={%N?0{`2bx`gDH<{XvR4&9E}=j|8^AF}{E^^YXSz*Hrh_6JS8M z0T%6#!<7irZ#BAAvFu_rBVEEznyWmc?h#%eQgr%_urDalocG7-x5*)e-QTDBo(GCv3!Cf~ZpD3nElOl6 zcG(Qa%OCo!Z5FuhchLReclSd_v%3klrfSwxFK)86vKwb5-#>0Dx^~I%rCGGrh|%!s+SGo`>diWI z4E=dt(A<&Zav#3VgkIv_`J=lrW9Zt|ywIpO(c_*;3M2gYPfj{UoZ@BeyPeP3GaV5W z*pMXKFCEpPbkz|J=uO5ggCa`#X?!tuLX{Y?eCwS z-g-p8vtroEXmf7&w#+~c!9o{h)dqyg#C!hGc}w=8RT1ANdoNdQQy8k|?tuv=IvwD{ zj3S1LHdnJtq)O~BRLmV|J!_0VvDwb``@5qun@mqazs?Rdz~S*~HhB+w@5PA5XK!aU z$J)4d)(NKyUa66ze&ol_4`>+Lde5f8b-DcR=Po~olP;=sXv?9^22U7uk33Ab`jS|5 zq$=Y|?3M@5t61GDKejxl#Hnt8rll1WyxH}sQQq;s(c@gvoAo_616(qvHRr~*~@eqARtPTit@aiO6< zsew&*Y0K$tLrXK(vc^zy1{sD4Y5J;N2`S8si}E{^oCYQW1W6L7lpHl4or^5UzZOidOJ1y8zs(fFikVQVV9#+Qr! zar**J{(xO*kI|RjvN+4ELA~j3{LCK9-&;;58~m3DNzzH>1D~Hhuzvldt*_>2>=BI4 z*9(d%s_Rc=zE%EE!jZ-k4vaiVy^Pc>#U)OyKl*kbaIK1(pCCU7>B+}7SSg}R*0tSf zD5Mb*H(8z>BEzm;43O@B&Wgw5y7%@LViM7Qq^9ZGZ61+2N$S5f);jLQ!W$K{ldh4+ z3(Okn9qSG?=XI<3zA@RiIaeEl+WS7+95}vn3c=r5<>SzPJ$}r$B)hh~^e0p1f!U9B z-_o^aZVLm5ieISrnq zisgchIModuPPTz!`_B(FFZXH&pg%l0PT0+1Ht(&4(A(EV4s!3D^)5mwvVMK6H;=fD^O#qm6zR2%rA42VQGSot z^@YFZ>VA2i?9i_<7%=uxXR%@&-UIy$@1_^&;m^CLgV0k9+9lQE zCMimrP8KkWleXvU$%4qhQ6j;qE!nj_NLgo{$yZG#o55j#5R$MqLBSIQ{0uqtc7Pv9 zVh|$^i_}%Wf{2v3dT-$|5NdigigECyj>S9Q{f+u+B1AuK80?O5xzayz{*2*=w(1uV zWwCQtfA4*+T>gDSqn#xEy=2#iiok1~<1)DRUNMD#>tYduhvCfjGxLQBu^XBRy=xAPrYH)2_ou2I+41((vVry; z(-3pJFZD94igd8!gznOH;U04v0vHoSIzjrJQNv-!#0E`uq(j=9f2_pZ`1#=_N}6Ftyy6VR?k;x?t%Ke_ap|VVt8!F!v+uqneA3E2 z+dPb=!{;jtxGns{cDwYBguT@@LLq0cDqPZxJ33yVP0i?%dJz-SQ$@qekzbI6hFOj zA82P!=5Bu-4P9BQ1aDvBlWQlQ1Ou$mwByXgx=RE~&-msiUw)oJrv?mD-R$56=^p90 zM5TNX|Ihil;qo-_jn}ev{~CC{6cTgr?LEy(D21sHM7$o!!ue5;A3;mq2vXSw>2?lrBOg&Mc~C# zr$%B8)WBL2dJ}=os)Iel4`up4IuFJxMh4RXRwFHCqs#bm_)q!3{QlZgm6z59#(n@B z*<_#wP@tZcIuBsfVtMeQa2TzncM$yYf1@IxAv5b?M-;)XI%NoSbr4HeV&siw|3^xV zEBK^PZ4JCtj+SYFw;09JRbG?bm};2E+D^f-9z9FaG(JGxU4RiVnbN!dcURDhQ163_hMK+M96m3hRFi zS&;V!kP!H`bEX}J`3Jh%o9*WNTkifC%UO2&JpF$zP$F8ww39v8=r?XwL-+leBq#n2 zValP_f~X3~nra086`=biPy)Ql@$1#y+uV=c`PW1l4mM!*U2n4_J7@3zD*e%{eP6A}mf2b0fCh;&Wa0ax zV;d5GsNVh8L^xeHAXERYQiwTPd;TTcJW)?&iA!1f$Ra$?(&8)s;`v;iEzlDZ#0!pNO`NHf!6hm13 zO#4~#-t5Y4?Ro#~v*0AqHu3Nu=_TxjjrVqeSiidDa_awcu1)gKk8iLt>(7_H8Z@W> zj~eJE+y$!q9&`WbfwI~$oiA@`_u zJ!;NAWv>Zx=OtxIFjz7WQtOXAu;gcV!LI3DMJ~ua&C@`I!LjIM1AAEhCLc;mi~evq zbIHu@%Fk{8*RFevK^C=oSIoO(R_6gRlg;YB620FP50DQSx|j?ObF+B9uVL|a^jJ2d z{p*MB|N8V-{@)+@V^ZuE)#DGwF#nvigIqLVZJwkbSpNekZ}%=B-!ZF(ANcje&%XaT z%1mHyb-UQ7US2>(wgYg$Uc&sRzh)c#d)o$jKxL9VpM8G?s2uv@?;m5;gJEq08gvkQ zfG|6sfKBiEvHqkW|ChsO_QrmHo%z3oA3H7O zFR@)9>2H*0v-JO^S@*!epBgJy@BUrBq&m?P7mw`v-y--0*pX~XOY*WkE?@pjIr1fw zJ7D}_hcAHgI`?@E??0j!0F5hZtK5F=ZBkp@pP$*=+|KnF#BTr3hFpMh8C*Q`#m+6$ z%yRca)9UuWzn}ko&rz;4{71k{>OTTLIB<)01*EfMWe5ML@V=qUr+t_r#Ay=1e*^AOa4gmUut!`Z!avUPGE6^ zTsGera31%M6i8+N2zEM$cb|29*BtH(@Q~vF`gF_Rg(JwXov4nNx7q)#k@JJRoImq} z&r9|-y!kI7%r^YJKfo@#*B&!_Z#>~P9FUhw48-1lYNs1syek2wA1P5<@jmV>`5 z20((`f!z}O{=YtbZvU&DbLVx`ST}L^xBt1H>LngGXLH=bTZ!qGHjG@h#(#+2GpxLJ zlM9W?h8Ont->*ns@^zi}xs;=<=HrP=9__keIdJDWfEbz73|?_ftv@*3bmib3ZxU2p z1Hv2v6t6l?7XxItquE_=2Vj77p~@NyyTOB!6$Tkl;P1{P_-1d!pw7ztuvRu&dcNwv zp9AW46<~FjaKv%$wjEw@Z>M9=Gvae(wyKt_|L@l!U5z#XU~UBg%(nV$k-L+(~=()i?=F2(7;%L-qpPY zd920mA5V#gIwB=GA8T|$ZqT&yoSp8q!|uaq0Z+J0phVn4^r&7Y!inUjDh~`0jUe?O!h!>sNYXT7Lid(vhOR zwH>I@KIn%fFR~DOxmot?zN_h9earT86;*Y-F%^{ut2CsL=sD__cGz=x$dS3fKl>UG zURT`1ednj$e1C0hQSh0GEHzo4mfTv?J9%vvI#KYl&g&#$9J~9cN5`_V*I_I6R6qV} zpx&1-$UQ!_81ZL)CgbMh!IvLi1j742alhFC;`x+}Oiyj(xFYR>eQX^PaMm5bR}Q-O z-dp@RRZ-aV40Z7A$YuYAxY+WWCWYE_p6|Xdv_2MgIxe@II@7X9SCPGmR#$I~$}uLF zu1xB=g3meh^#rgg7^|yDcT1|yFeCNKFrz<7rMYoiweEI)DnHG5c5bvSvD;!C(A>MO zM)yzp|Lu5&CI5UKHE5c0^dDARLK;d@P+bRU42&9}$?nMsIWybxTP`N3u&G*gd32Dl z*JrHw((x5Fb)4=)h}LtV`=Dvbp~_c&9e7cwHz_ZhTN_t)`Aus*>&_AJ9kn3L>qm!0 z?vvr(n^tM6j#fRMw@saQeq+nJdVqVPuf$&yt+NWy9tCAm&gGluZVpQ~U%Eit{io{7 zCBMJ+*G(*2qR3FteyOV3&9UJ-T8f~Xer?epQ4F7)Egly~OSFOk3 zO4F6k?d#Vc_;F{-ZBs+{@ji0|r^~!{F-I_Ov^seW3Go!$8u36K3)fVQ`B=;N#0z99 z@n2c)b^b-GwtZOMno)GO-0gw-H1$UT}HWT;aWMFZOI}x}1NfyE=Bu zTF3BI#rn_7c<}O&$H!GksWNM%%k}`?Yp`9L@~!-(_K77z@`HW;ZD#ot-H-KtQwE}O z@lKWA>w1y-ZS}54!y^4t(x{iSUK&!hzRmS-o=R9J^mINg*7v(!y?G=(=;YSHvT$z2 z;)Ddishn@fx??vUn18r$A-&cc2%mT)X*#ql2cs+q`3p3dhj{k>dQq3&MB!8ITc$Gn z6LF~*H*;wd=iPL#ug(qb*KYWzbn=AVF3nz#w{cu!o1ltI+`;M&og^b|U(dbjVfupR zF)E5AGHM!29E#ipQ&9b zWp9~U?3m{UaB05>Nq;t7OG~av&ETgcjotpBafP^3r*I5jbH7t~WPgKF=~L6-4M{0R z66GzE7Ot<6watQRqfU==RcKW0s8Cp~-z;FRnfKAxF}S-u7@xFejDr4gKTxVW?-E!3 z4MbYi?M07Lk3QZUW6}kRB$FG?>0c&!ONTYI>pnWCDxwX)QL%O$z1h9DXTm+D!yz$& zsmxAcz<1hQlTM!&Smh$52c;SQhw8m2`(aGxbtWI5ROR??h;n*ekS3;8^~giyvu!$s zbZOnrw4=RK5YO|4vg+|gEt;d}tT=altQ;uj33gYTv>fY3>d~k(vzP8aYu@hU`nqvf z+BL7M=P#m;DBcj9N=Y`_b3OL+I#%(y{le#e->yEWWaHgFS__bPqRq+C9hoji46mey~okzWG);CAl~mo2gDY z7;}j5ihuO=z|`c$ZfAi*gFvN-PgZb^;B{ysY^)j5Gt` zA(9k(rRY#JK0Zj*?6Chet@$d&dEFNU$WztGqt$ODQ|=g44;mM=Iy~R*Yqmh#{Ov96 z`NOndDe3GJ-D;{B?uj-~@M(D%KI7W|N#Uh9T1z?&km}j({=OrboHsQG$4*^imK&xu z%BVgWeG;)%HT<+k;HswCueV4srHA4wT5O&bY3d2FT8OKT^Q`z0foW}z=7u)YGP4{Y z0ZXJuWP%;DIOw#|+qPm{qWhUMsfE?Em(UnM8Sb)}eyf8x<#Jw4uhb=*Qr%y8`IYvm z!i#~y((mSb@Akg}RgHfz(|Y>@H6K7W@ku7`4duwDLq0Zs4=ZP?2W>Q4C1N?}n(fa9 zG&h`fPcmT;5=-B?=&Od$g!eCZL7q&G7&K&QhrZsNxmD-=)>SQb^Y>SJ%%lZH{kr5= zc0r12IlHj!wUwF8ZFh{kd&RigL`4l;Uv-XlJrnZM%`C``F&%CYglt}3%)8q{3GAV9AkfjRf-E800$r)uN$Tk(zTQW8qP% z;u-VS?`KyMaql<>Z@R4iHs>4DZnfmL9YE+(8eyx94EK`vSq?4E-|2X2n7`2=sdEP8 zg~6+k@72C^@Zw-pWc8)H4z@>jjfFimNws?ti^(o-M!1x=}FoqGP(MoA6XKtp;W;%}D#~ZeS_L zInnLtBF$L!xMNKB{p;|{-X+b3m&o{(is;I#Oq?%wtRsg3QurQDO97R5P6Q~<=)03| z!(s@2Z@5l&kh4&LswX;%_0}r5ZT?R$!0|Pe6wlBsHv~gUnhVo4(iyoiF+EV3_`{|z zNEGzD!{?2ol(fx(xP=iDxZ$w}yeHY%i@P5{uFuc%5!~~&?@zgn@Z8_7`u~H{_yy1H zzF!ysYK8~wx9643c>v4Ni?coCL9vP{V_2Co05S{ym*o8ugLlfJ=LZ-tp%Mmlr6$`y zS5pbyviNIu=<7(j`HN@||6LkSl4b4}0W^OSPv1OxNd8>;zQ-UFhThh3vmUrlOS_QW zYav_3^D}sz^sVb(=ri7Y&wXM}xgR+5!>IwUw#mJ8}?_9S%R2G6BfEA0!8amEf8e88C1J$WwW!0yD%Uf2# zz{X?BRk=6I@HvR=ro`nr_OU;+%!2ByD_fE+E@4j~ma5Y?18!eWb#a+CGJIF{$CB}E zW2N}>2<~qgNJ3VwgXr$}Q5o9yO&*~gI&?qw+Q*l#IJWOTG7NnP9c{C3jHEL8mrVE6 z@G1L;mzWUJ)pu{ktA@7X4Uf$e8Z<#^?MAfi*`9jwRp;XySwFu`k)!g}dynI6k+DAo zu&8N2Snz|CqU~p6_nnH;yB=2%cQddST5-%}@Xjq2&$sdwg|deqvjkoK>5+9&Gdg!U zw+}=YxyK)MOL9F-Go7lavYomGEqmL+`gKF8P|q}wmAWBrpw7;-s#jBg-6x7JS7j1r ze`q8L^>X&)_H)iLWVAFMAp|W8O}-;%59~tU%U>8=OAe$wITy=q(uNwj%PgQ>*q_?p?d zR8o8cjH`>BI1gKwANdTK@aG8%RxyjZq*}jRRc8$~{kRAu4P!s2%7}q`Kb@FMTy!d* zdIvncRb}MISGC(3*jpaO9`l6PunBtuo9E8{OwQeTSyOZOJGZs!&ab*F8N^D#hc3E@ zQuK*V#ezIsk_S&QkNSHa*k@A%sW4;gb;#%&q1syfZ?E49qE5w7^1 zTuGXq-!j^F|IVOUs$XanP6X8XGF)o@@@}WS%ihwIlpDDfTQPOVnf1-ns=s0{kL-YU z4NI;~A1#97vmi|?x7feJDLCy;cSc@s2@e zx?a8LvxDO>y25RBp=@UL(8mXtE1hT#k8jKzG8J3!L03vb=CjT83ZJS2T-;R^TV0*~ z#`7PshUtP?kO}IV22Sv$GOa3+A8W_Y&7ILxxU1`V4rJxk)XYsDD{hd?7HhQ4hwesy zaYd~K{D4{b!#95=VkfNO*H};c1t+V1msaBz^qgn%4_R~DRe|BX*!N{KYffH_m8lw zPQLhr)ZSI$>3q)d3sZ5fnfrcfR>+P%etfBFoQbUy&2E05IF#A}@TFS#Z4_nZNc!qz zi|G?yXRt|E7WCTR6i0afeDfG!T#H}jkfTwBTFV2PwyS<-J(-6sST&|fz_vx>a!F3;~EqRgmc;PLYb$_~_55`pvF1IsmTU3hb zV4a?C4a351Q;^I=k{kyKZ+G3n0yv9=+E`LAuKNhQ0|)h;YLsY!?Hh{mD)+y)bu)*DCKsM^C0jcUEZ*CA5G{mIwm40QXUv_>kcj0yv*Zg(_)GWF&v)-n zS6shJeM3+SuR5!I@U_7#C`{Gl0e7AACDv`H&L@kjLw&`o{a&x?AMLa6aYw_4XU&@Q zP@5$Q@iSh1XxyHxR67sU-WqH&vN@U5wmtwqM|Vz3E=Q``+%-Q|^=I__`!@eF*A!3m zC|aiwohXxf9Ub+)dDTfhRqs&cd{BNRZ>vCsx)=`DuAw49?R{;Z_Nh(2cu#*mF|erV z;l50NbmEkKUuN!NFwP5JbEd}bXyI1fqi} zH`=?ScV=_4aE3y#b-i>XVdg|;sJ^O-mI-sacXL--+B%>5mlY$unoyC$(MpW`imf5v z-Oicph|Qf^UqxvsqZ3eB%+Axpt-0L=kNduZ^sGzlc?yT>LaLUQg?b0a5KvtN?-P{C z35Wg*igsi@PU?`!l&Mnap#HfgFv@~A8aqRJye4X zq|5|)N(;u}!>@bZ{hcS>Y9DB}RYP3Wn~XgUM1DtG!o__tw03(Ivka36N!$&LzQStyd#{Phv9+pm`X4CE?WSNRJ%_cG zHm%utTVSSYgo!~*Q=2_+RyAQmPpbsskDe1@S#ZxWyZ1dig?4iO( z#g2%M`BfjDPAac|A;73yj$M6YQ0!c`s`9%(ZqB~G@M-Dz{>t?F5@+cQ&TozWwV~<7 zjxgh(z^}`Ts}2`iO%zDSAF2|cz)E{H&Fa6sLiQWC>@8n=XatlvUUSysPDOanYyFL+ z4Qf5g0{rF`*Y4p+nwrvvJ3F_g_V0P8bGaY%Yc1?V*W5q#t;eOSY&>Rea%1{4xVc&M z=pMnrGa>u@YU(e*C;#l-6nky_mM6TYzka^YS*t$4*H~vi?EZPRZP$Cv@+}|bvF8Ae zTu85z==ZgbxQwk)&9QaGF8kEy8ddxC!Jm%yBIYM4yQ;PmK-RR;%|9VzNIXXT*cMS&hLU{bgNe5qr;5#R)i9S77 zw{1t7u3Xl%SEm2QTR?cPB&47IBQuRd^~5R9f9b!leEe2lgk7jFVZZ%1P~>l#A(rM9 zmr0&=!M7*)N#k>uwGiB@h$`terWy>y{%#G9w|dmV>8UD9WQzPp>Eo=)kj(IjRCb@^ zuEb*y@k!9hVWe}bXj8uSANA)cq6`O5xr#!)>GEyANNRm%A(X4cy7{knzV}qGcIv{0 zP2D^bWVj;&Rao?KJodJ3BjLK1w=wbbV)2Dd`3AB%4kgUaO@db}iez`(uQl*{SV zpIf~hySMGjd`9w{E-zlS)Mx{@+*SL8jO~s)#2QJVSa??Jq(iMjFb4ICmAVef&ut0I zKeYX%Tx`S@`vRqtihV5h{A9Y3v_NG`)K7A4ym+_r8Bhmn!khdf|FC;+{}>F*gS}_G zuR^CJ*L3&G$jhPfuO|<=7@(dDJFnjSH<;Pg-_>t_ybjb)n`B+Auk_gKsTay>kHZ&8 zs#9&wOKHS6pG%;2zM#EykOaGrRcK_s?uW_cND4IcTT)3{#_5g`wETmFsWZ5|+{Vc~ zOHePf3NOujQnwwtTLYKxpfAu-U%ER*~b+ zxYkOvgGrWVa)6- z*sHnOXXGgUu%AQKTL6#StQmB&GB_C5;?L_flt3wTSP^A*fYuD&UhuI3{i$=>H%+Z& zqmF}?hqA)Mu+{3xv!DptbXW2Jd+3SY8|3n>24y2aI7atRFfU?(7uXe{g*R0IGdb1h zRj8+;TYShtG{6;VmRx)2ys?IV;X}NveEWp-QU~A?c>L9?HY5aBm4W(KPy2bxw*7;h zpnvc`*{}g(?xFU+m2=rP!s|qR7BRPedh_e zHp_CN_U{f)g@ZoMrdQ&3$C^BfYqm(0ZO`jUl{e-{-X7LIe^^EPJZK*6Xv`B%y;$ZZ z_;mO8Ds?4pX8(xmU`$zs%;BYaXq0O0n(EfEuyqfbmuUy?f41vO`z!86+0P347D2Y z21=Bi@*K~EEOnbUytP-7P0?N%K5_9h=+j)UjwmM%Za8rW_~>s6{YX!^_r7!;<7H`z z4Zk<-(E0RjcgUlapw}X6znQ$vMA+-PWx2u&%*J~uD;)Os7hVKe;pN)ZQ0+p1`+;cF z)*8#%8gMsV^ef-*=mK9DRSej()THw&@BL(|cKG}NWjOE)~3m*#)W0q7~ zuv&V*P(9wSW}+~?eLdrX2fUkkA`vtm#~XFF$cTMamaQZw-OTGmsicsSFgny#a{8;I ziewMbK94+1_|(~=nF41zYK-~p>FN9hTFrodni#=ONc3eYI?ML${sN4wJ}=GZ4o!Kj z>cqr1h>X$%;eO2bk89Hvi?#(jJZCk&e*`)i*1Mm1uu~;Azg^TgTa}ei6Q9!f*P_<* zTxttllD;%N;jA083}H8^jfDS2Y$}XjRtGn-+1_va5X zQC%Qs^llgyCL4YQ04hnhMQ>f$#8AUQ{(YMV4?$Ay7O6Ykt0`eR6>jxoCAf8s*{`Pc zso0bBmRyc?#ID+Gag$JGW#QR%9Y|&+6FLV@s}ZJxV&9*}&vBf%5g5SB~&9 zzJeNMoi)E;saB}M*r56nw7AQ&mnj$FfE{A8+^_2?IhX`WK3rBjJr%tcv`V2q$D&p2 zKs(ZKlopvN_D+Q%)&|So808zt09S!C&?yggtY#cH_Uyl|a_`VZOuCliwx)r#xBR^W z>-_%&@m5{_(!&U((p0{DJ^_|D$ap`pFX&loa9VN+?&@h`2{VJ1;bQw8A}#3nMp?bA zZ_M|DE@S66_kZ?k*Ebt*Ms*8y_n!~M4uEX~(%)y(TY)VlZd5!RyOtk(`5q&&?OY8` z{=xF?_x77F8wip8a3(VJ@-(CtH0NZcY8oPJKXkph;rQS<+GYt5>ozAChvu+A<(nOl zXn+N~f|H5xCn_XI3q38q>)ej37d)G~4;ZlJDo!e{J2U@Dq3eukam6NK?N#4kW7dV; zdXGcXN$YI{Ovtp}@?b}!ep^Ceg#PYWo9)$g)#hMVH-cl|W2K}manv2RK)}z~GzE`n z4T6{Kxl=mrWjteA+7fl3XPhW=PDv>?@Xp5Tpa|kD4Aud`N8W(6Sr)x6Zt+Wg4)4Ib z4Wo8X>Lc|?N>b9tYiH*Z`~u*(HBQV)JvC&5)0RHGG{f!QjY0PvIqa>!$_a0YU8@-c9c6eP;__7W1y%2PJbPz@rT)~wNauCFfEzvi8M) zrG7)7@-kNU&$1DQk`@NT>P@ZFgFvTss?lPykB0S*N@Bjf;z-iT66HpfqVaxu(B<2I`SjZ5=g1yVlg^d-AvOP4poW1pWQJIe%90O2_HK$BQvB5Qwk z2k;5*;jl`{lDnDRO#jgZz$>EQ3r4`Ii(xXz&6@a!Q4PlLv1 zCkyo+PWGs|IGQYZ^!}%rOF=Bp&LZOdlY%w7Mk^Mc6&?PuG~KWG8-{abIhfmE-Nkvz zKV%?}mU;oX^W+ke7%-WxN4&Qo?{$?Gb_W3P2(0fXxa$_H>5%jmw8*S_ra9tsKrZ!& z;q;fyY5U*-IJp5Z=#xBTl_U{L}S!nQ2XRWub%rD zs05<%z(_Q>54Lj4=!iajQWJQqG{yW$wmRpq-vVe?r-9p3feMjK)JkvzB|ds(W?+O1 ze^_(t$`ZGKuE;cXq}(tZnIc?zBU=$)nFwxo^b{-I-6<+&4re5hy4cxX#p|)jQ-QTs!P{KqJoRepy%k-ydit*!hrnb)R?bN&&5#+ZyRI)EP#R% z?xrgw$>^_K>KH_hWrZj`l$WcB)Y)Yuk2gqYUXoz_A&`rCVN@7O51P;H@M;GHaFF#N zvvUk=+Ryl3O)_Cw)=!t3#obTBPhZytP%Mji5Zu`7bvrp(w-FQxX7*~Cu>nZT(fkW; z*|aaQ!%Iy&C9j))?*d(+!wIL)q^?no`;q=a3pmx5u~ib#HP?>O4x$1Cn0F}V#Mr2# zjCyiTSlv@_chBO)bT%U!Oy8>TXwXF$z;XGh<;rKUK###CpfM0JO=cb6xj(2dVpoq1%H%;-wt6yI~c-=BR zhQDU;T79eYnW*M9;fL;q#@4LBpw8bmsjo89K``tNE*|)DjCY`A8bHwjAy2q%??hNP~2zfFK}9OBkdIQj(HV z0)l`bAcBP7c--&)oqf)E_qnd`pMAMmu%7wM7<0sZ-y@r5a_|k@(4rMkV-TJS8c>hB zHfDP4iJFJ(J+7z;5#EHa-%OLM!u@Wa59f28S_4j$O*hRw*XBM?LU9{Apam+UeNZOV zom#%q$DeN7w!1G$D&f120=wl%{z*C@QmMlDrSQaZgc80BDiS`KH{fI^P1>hitQ+d>Z3=%#bgJlAG)%mO-ebHnym@i|!v-JK6 z07_&=5kQ3X>R>_phf0CKlj0VOx6#tw(xv$idUhk3+xU$R^c6V`8lC7Sp0VH=DABsK zo$WuR*Ohc=eHOt1l}3t7w<0NnR@>ZIZfG#GD`}wRiaUkrM_XT9O)Ok6<@X0XRLCxt z34|#xcCTJcp+6fLX6XESj25=u8e30_y#gdeyD0*ayfGSV3ClODTgaIxKM)TE4bbJX ziRv8l?w%PO`fAx+Op+&P{s5^&-$bpN6Xf!XnnlSXd?fv@s?8MjnY3MVHsHu{q}ECWll>L250EW&k3|=y zsBKSAAJN_V zNIQ?YlzFdZ`0|(3t#CY=zC!t!zR&Se^nRD~pe7RVJhWa|1fx^{;LDf7W5J7&wiwcU ze^z&xX{r;)JQ3R?jgZ7~s{XP->v8QGun$~bSdaQe7r9e+pyejKDb3xf>mx515}8+} zm0A@o0L;^_+F7jfMl$=k&TCBvM}F53|0vkZ7IjLQ+ybE5OK-NqC``I<#J_bux@gJt z24iX%kdo_RHBsTAB)}%{?1~uBCm?D{s+aq^JYW}On;_sNF*!ue>vI}}zFerQ(bU77 zEczn{J1S}QI<}8`2!9xTNi0856Lr#z{H-z+#t`MKz^q7MhutU)gSK@<$TGCl!7AkufMnQwh?? zAh;n<&B&ZoktaQRW-XpUDzBV_yKM5h1aKBeysX#xzy}$0ruA7Zm`y84yrdy6KBT0n zr%POl@T-fL4vZcX2k9Mvk9`*^{0R#3^S7G0s9(8J#PW&4rCaD5xla}gx6x+foD;s} z!F*w+f-fy%X8HccBHq!)1E_wxfXGbO&W6ZjJ4Z_QLRvm{=AIcBlXVF_M2CGEyyYV^lH!sSZu~_)o`rE(yNZ`MQ zzmZ`tw_2wCHt(A9gi4^8vk;dV=btV!gxzyS!+U>Y0hXSzXHUk+9E~K1I#GY)A1NRM-Dyt5^-fo>DT>kMoffTRBH({Rw z$wTXRK$iJ2=|6Z)zMGXA z@aDWmO@kZo4nOqUM0vl5?2Cv>)!+d^-hecmSAXTECPXZb?|e#iK}aA2h5G zi_OreEFpwxzfX@4XwFR>Ut2T^X6+*(u~H%oELt#AM-J}S?cV3vq2c2leTikW)WeVMqZ{eCiT3Lt!M z+2)XUUea(ELcoVuS$aJc5-vos;6HHI|K}E>_utd117aW9fH3t^#)u2#w}pYu5a|G3 zjy5Cmzu3tyynsKz%5tV=8(0z9uryaEF<rdJQ(E92u-1RF`DOs6JI|Ig1O%TpLH9+*jWvZ(`i2$w+6ys zw)iKKZC(KII6GeIbOOmiwf{zVXbI91umWDc)=K)*0lV+Rt@|kr=&U80JW7 z3{g8c?2fJ*?MpK$XuH2LX+7T-j9k_$DL2)*@|RIj2(G#Z$%xWdz1jk7;4~)g z&KLd=T*mL@FwFwEFoBTSJ3plJcgiZ28Sjs*1p>$Bg=Yi*El5my3#d;`IP=QG2T5it9tW8)`opF9F9gnwZ;OSY^q zq)8+!iN;`^|A!4~GyTUC;Y1(;4)qR`wS`{}H5*{fYL|_*oJjG=%s ze*VDihvsGI5L&|DuZ@hdcatePd}fg2Lq;Lfb)MN9@Uj%Jk7oUL)#@NMc4*}lVxR(^ z@MkV+aTj8QCQ^zl1EBEx}tTO#m5(R{)TG0=a{~ z&bfFg=0B$G|Fuv6b?L_!+nE2Cg#s)=9HRBX^KT0k83so81CmYt|NCUHZDtLhJPlhf zIcwfUURNBM_(FuwLxvbsU`X`~PdnWFw|7RUK&)1f$vA%svGo7Ua-^WcRQ-Dg01W@@ z0>A0#VhD6-n6l^jmo0+WEr5ai>n8iNsy%4f9mn!W*kTJb6lr+~`wjsAd}-?X-v{oT z0Mr+f&!_!G_~48`Gu^o3we0_sT6yPA;)ysu^^uJYFz}oPZARjT*zjH>+_)+{viUcrxH94~I(I40s+~u26 z2By-;7rQ~+^Z)u{>B_1DT*`VH}AW_jg{p1#bhB`F^hnB@9ER6zN6 zp18N$cHOD*B$XKbKN$yoEl1zhRd@cTJMJJ3iCX^>g$te zo{LikOGh0S1$0K^*zL-B?om1@(m0!XO6jQm8r#cET`7N5PBRoFD7xc#1HNb4Nxef@)rSg7q_wy!NBhyyRNPqSjONnDDwmo*4CZjc)^T%b=I-FDsz>L z-IgGYvGQZw^!|!DkAor86gQNOHvQ17^IHdtIKJ&J4Af+Y%r%dRe(})abt24#D=H}Y z-=6|>r=3K&_tP<&%(A}%T=<+_h``1R&~51}x{>@qn8VJ*?DG9@GxM2iBPBGB5eS`l zIe!R4Eb`&ifom+?45k!-2DB&7jpn{@WT_w1dJ|MQ?3e960*rmDx?!|(T9le;D@EIh<1-s&WR_nJL!RZ(QE)o0cMu+IFlOu#cVLJkxrf%&c zvoAzrX;J+3w($_<|5`E4$kheJZSwki2DI(`OXI-R%@2vc zdvmP510nL^k1yI1}At zKXbGY_mo5f^Yh<)Wav=RVfoKNepBG+@D5u9@&OkhOX6CAc8unr6`^VO?eN^&DLeP0 zu(JvB6kDLsz;|ejzIZKWdnACMu2@$^J7RTC7P^r`joU*&&_;l2lZmsQK?A&>w8bRx( zwCH&Z@!H)wf`OtF)#uJO3uw#>thp_o{5fT<-H!M04jPE>a|s-si|=K5`oQkM%@pcL zDs*{$x0I+wJw8$FUnzL?VxgKR+xT))BzFHS+1W(%bFXaoV+zE6LA6oLBLMbK6See> zIU!H`Bi5cY-gn84A4&1XgjLogP2sw{u>7)u;H5^RqSh8CT4B^B2&hQ~m?!uBXeT}| zR(fiEpsAkL9`~h6kErJwH*$}K0@_z=(}NDR;Xl;aj#~(cuQdT4N=~SVQw)?<~Jg ziQ`hASjT@)FU+TinqQxA>M}CzmYp4|Y+6Ct(inLw8DdXEW`|Ccf%$2Ur(;4SXMli~ z)@|SNX(B$-4V-76@a3Pon-{i|Q+pQ4#jr@&X)7jJEjIB*7C9hFP?RQRZ*!8GL@J%+ zLrBFd-5Unp`Mz%p=bA_Oqz#ti~BcywV)9>JzMJuNIrAwvE2j`$nF6!&+!<5W8g+ zxDMvYiAKB|WW?r$G6C`L4Z*$T!P8=+%Io&UP3q4rEZD(sA=dyygpOrXp&=tzR~Hpu zFi4~Oc=|RfylEk-y1Ud##W?xp=c&(b5rB1)UU~jL=c?~w;itG4;kBLN9D|bY=MZ$F zDpvX-i7U~fn>=O@(~mRmyKhRgPD1=NC;iVva1cjgi#<&7U@kh5RgA)Z&$5PAIw7Wm zltKTy?^*>#wU$N__V3xac~)HCsL@A9lf%-k*1l7F0YW0(SWK@&m8QuXlHTebH{>U1 zKEC_*p=wiyU`oT7b-4JV$-aSys;C-l8WMhi6N4D+DB-3wqs5EELax^xn2X5UURGF=XP33!Cg6GUsXSCHv&zxgK^Shdjs4S(q*_j*ZM1hUzM&Ux-n$J9c zRo3=W(sj6Kjum>rS``lbKy&5ZX6qzrC``kB*dZsdS=&o?`y0wMgVjz8;og3dfJ<`? z^@H;HU6a^6hIs=wsviOCHk%D)IoI*_i(Fr6Kp=Lrdd8T&pzC?DD+$vNwBuyo!0em; zJQSy60pG99G5Si+QFSrut5F*>)os0w_1IqVZ;2WONoYLBA%eSD)Z=es3= zkpG{kN{C;_*SHg&MJ0r&nqj+KiOJxDf4Iz^9Q_p0%Yz~=h0O|SbayK0!i6AAeA{0T_O8FK;AOzQBWng~N0;IRzl`Oy zF`RCn-vtH8?A;GiQa4e+AkQ~HO5<{~*6jj!*gRI7gr-?^|4K|6*I5s3H8r)&mG^xe zxQxSX`>{fySi?*~`+S6W4okyldvuh}S?Fc0D}lH zN1pHcMdlp%L7MOjw(4^ah7&E77pgCZAjC#xb?MJ$A-E(3zn%9S*+*Ngtt-cymsaEZ z60dfOLWxbYYrtw~hpA1yr(XiWVr6S=T2``ZB2nM-<=#=61O($X;#$ZZ7xUp)p;RsV z!0}fQAdr*rO}FX|J0n(RR2^Zh9Qc2F=wf9S*TYUZ)1+);=dg&Q!V!cCEs%hVlNQm< zAX9ek_q#dk{wynS#zpHo@x?|%!3oq?b^n9AW7t>EasZ3uTlDv%x!ST2Q4&6T zobuFdXNk@mK^UApq(yWh6td^q!@x``YEjsWJ6+u>LS1F-Ir&yK=UUAqMS?N;%ZeAw zQ)|kfOHY`1-&9=-*1UFO%KUia-OY)%t!~SbT+a(Fi`xvxaY`4C?G$4>HmFdxnwqpa zqfOzjI0ej1axJxb7_1c$Mufb-;z_sM=x{F4;1l|SlRe-?mUeDVhOrY9iB zpRZOs$M$~wR@I38RzgFA@stocU9#^r#OpLx_-hp-1@4$tH2V??6UWMiSvX z9LjA3J9mUfMjt#_8M{uN7}ih*h|_vPPh4j);)1#JYot}Lc6#Rh6XVakJXN6^-{K13 zaEvQADH)n=_w=3{%2S>muCeUu-p6lPkU$@@cF=xQ|7;>5em4gD_XkM~ z^GCWs;ALDVY_wZBHh6z%E|YnRf`@wX-9~4J$BW^w$|bpvP;W|1nUAQBX;RnI44p22 zeizFVMNZS8&Qf7XMpijO;>t*7*viS7zC9#>@lK9SiuPQEsmYPmN8n7#nDB~8c&zTQ zkqSL59J$zgzBL`6)>Q3RuL=?pM4Re8wo5nsMpDCJadSfkje(bQ!lw5oy}Ka_#H>uB zcOxWhRIox%*fxI=4l}5H$#GY=gPhrUT0$J>ao-DtfN|mZRFj0B2nrmUqRPki$ zNc+8(L!s4-MwwjfD3gjf5;2SLp7WZ{n0KOn#Y}&TgxlWdK^Zxd5028c$%U8I1#IJ6 z#+`hG+@6@97b!%Xb>EvGu2b% zeqbVH`yP&4ClD>z%Ru%!Q-t$ z=0l{=EKEc06#C+;92HO2NPg!Lah^g3{!vd%E&e)fXUoIKEg8L9vs#5Rw8X`Qo84hW z9KwvT00>KcCw8xhsUo=w1>5s=sj}{kA|~FMQWmt<@m_VvfRs9_={RlwYf6Plx0`5L zg#)*&q`aX-@O`@7)IFCcP7!7vQ3B=d>I%1+*H1_H`YP!Z8?Wv{27649d$!M3zkb0pGS@W`JM#;Zsk{ZpG38Hr-BF5kz;$K5YI^f5 zFM)tg@7Wi6CI7TBvdZgtKE%R>Rz6Olt2VEOo{nQX3;-*nB5un^L7l- zQm8$r?H2A|;gD@Kg=%8GlxWs7s&(O#(k&mBDKZ}FCHdha)an?)ep6#;);5NWW1+T+ z*PKZ+;qyW!2d|EXuIE$jWR-Q}mh0(a_QExMO}^6pCcwusrK{UjotM-fgKbO?{18 zO50V3}~4YcNd2ahyHIAbkAl=;j=tWv$293|4_?|MNngw-mdR?Oy|DxZL)!$kv%_k;l62P zwtP;}nbg_Gn;qXAYo8ccU*MSBYM*VdnHrJow7$6hK6$^PKQ&FN_eW}uamc-@dCf2_kMaNY0y-F4l3HWql zXnubjaH|eZFV>#)hR{NLF<~qzhwaKu$P&2J$S@-C1yyVm+sw+j4??YWsA4jT; zUw-re)hnn%Z`3Poj0HK${J^!T^go*<8Q))c$N7x!Vd34MGLzysF0S3FIqDq0yQuF} zIDpWp^Pi=i+{2xiTGo*@6%#Va$dZ3yPayDtE8%y{3P{WLPl{u=m z&LrGoXD!ZmHH~mAhhBY+N%=5|4(G?#4?7#Te4=luYI1|P=9sM485I~jSrn9L zwwWm_Y?9jWQ1KUiBFRU-hxkH++1kv#83% zeX{4PM+S@#;zC^KyZ3us(W}y~bRf{y{<~)GRV0xIihqbvwkQYl35wt-sLV~hxV}*X zf7*L^*7}yH{n1^MEYBmQZK(PIT4Vn1s z0UJlI40;N=M2vQCbG1u1<3%+&Hb`5lKl@PGx%k$>Wxeq%ZL(!^uFrK}k!ZRxaKUbG zpHCaLiZA*#zp$vJL_P|b4mNH}&;8`5=wvc%+x%BaTYtXZ%7o&BAf<&&y&V4$cyi*+hkRyn(4OHZ%OkSd1`q!1c)fjg9W~qZayaJcgan&i9!34@Jz6DGJ`H? zZ@}%_Bb@W zYkYQG+UIjEV%kU%IimGA6cOcI+gt86X6ScNq&6zaog|4(ipCa?5crNDAlmhDy6-~G zuRX&HNX@Z%+mz3JnDId9aVqyy{R?J6w-HJaFEB z?g;I!UWjU9vAB2VjKhY2^C!FTTu&Q@3bw-byz=0=^s6OjwXnv^3g@{=u!;H;Iz0=S z@%9JhCkP|g(Q4N>p*KoMoW<(RYeMO)iP({n2h!m|ETdmu|BVHBLw?;`=v#_xKyy_sPf zDH;}^7`}s+Gr8Y|r%~o9lvW1ro?jmt8?`}JO*hy;dKC*Rug@C4T~ zS-7*q*M;JE5-_M=OIE-%z82u3w*Sy1czt4FqJvV`CL9P1bOr$A6t&m48LM81?%e02 zNgwy4S#yYPH&V(+bRK6~x?@yK4#`UthKY%l046Nw!<$Kriv{E=E!6fc#$ZHhOtUJ_ zs@V++#`6lMKs;~0MQE*xK~DnusYTwRR-?fJ^zOxLc!;3C-hjY3gTq|(vXsG1UZjiz zMW8ZFjAc*ldzwqK6a_|sPy(9DMe*AJuSurrak}Hx$LbMs-bP14-3r%4B{s$xeObF( zaJ+Q!WrsOfzdrwY{i@|Y2*Bshs6W+mA$RSZD%EO9<;b>Iu`a3GI-`|;onGr;&FNXlX z`C+X;&yFE_I$D{r#&*zfWvZleE&anRm!_vxJwYBZBS3G7&eQTPi;62Suo>ti)C1m8 z8sexSi3EytRydl5Lw5-_c`gJ`EZ|NmlVX3!lMtKu+?sQfXxZeFBM2c@dq@WHQEzV{ zVH^_8Dh$vk^oyqP8{0z#_4d?o9p|>~dE6$PB?u%w(a0M~wC_J#eI5=-9^h|Pi{0;& zK#22e`COCPrr~7Vv8bluvFg1+g(1dadg4FSxLXWK2P|JlM^VgWF!i@MY}J+#oc6cU z@7inE@yr#u6#MO}HGJRH)Fb+Y{c0kgNOOdvaO5Vw59W+$HYXq6X~0VI(4I6HooEg_ z4B0fa9KV>>as>mRwHx(slwoEw3Uc%A{s@(HxdXMZCm;|Y^BxXUX2_w=KC*}UVj6rN zY#Q!wVY}}=l3rZE{Tw=D!d|#@mJ|v#Qp9W5PSfQ(fq8sNIXO- zQ-^Go7_8$(|&4t+FU?99f_Q}HA z4i*X*G0dl{HwD zgD^52L{styV%{$%!o=xT=mmdoak#R}NfFHzpOczchU9w?ybI8PTavZn`q=R>f^GF$ z{Jg2{F5?l~dSO6Ticvn~F*&4)j?0HGwILud{-$}1I;d`CLeq>07jfpc1zZGm6{8W9 z`*>OrcxRjev39B#e@@yk)Y*@5*X<67A@taH2srVwjF+B06smI-l4B68cT-D&)mugv zkUh!R3jBSv0^g5+Nw$6gJTUHX*Lr4PK*;ej&q`yw2jm!n=%7h%V~U`)06{rjZgF(y za=NLLLM-)IhO{`3kbH;@{^RDi2y1hn;I;*~nMS@~b@X}b@}Q)EK22)mp^{n|pPG%v4S zb=#}GVHNAPptCZg!M9!EQKaJ{^?h=%37tw@e}qP)Hos$+6Q_0WySxGg-3nKARY^7Y z&~EsS0UkmoT_`_umX*~7p&COvtnc`sOG^C!%b5oQhR^I3EIf(_|9Iibc2V0BBLo}o z3iKyuqjKB$UaCHnY@5HmSnmV42H~AX zP@^<^vJS*CJbe0giOuOo5h$om_2v9c9aH^}*aT#*x
t!7f7<-j6=Anh|G>$tzW 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 Date: Fri, 13 Jan 2023 20:19:22 +0000 Subject: [PATCH 15/19] Delete HARK_struct_4.png --- examples/Journeys/HARK_struct_4.png | Bin 58616 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 examples/Journeys/HARK_struct_4.png diff --git a/examples/Journeys/HARK_struct_4.png b/examples/Journeys/HARK_struct_4.png deleted file mode 100644 index 7ea46af576fd777bd98d8ee5b973d7fff89b58c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58616 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 Date: Fri, 13 Jan 2023 20:19:39 +0000 Subject: [PATCH 16/19] Delete Journey_1_PhD.ipynb --- examples/Journeys/Journey_1_PhD.ipynb | 517 -------------------------- 1 file changed, 517 deletions(-) delete mode 100644 examples/Journeys/Journey_1_PhD.ipynb diff --git a/examples/Journeys/Journey_1_PhD.ipynb b/examples/Journeys/Journey_1_PhD.ipynb deleted file mode 100644 index 20fd29b34..000000000 --- a/examples/Journeys/Journey_1_PhD.ipynb +++ /dev/null @@ -1,517 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Journey: Economics PhD Student \n", - "====\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1 Introduction\n", - "\n", - "This notebook is designed to introduce someone with the training of a 1st year Economics student, but perhaps without much background in computer programming or scientific computation. As it is a \"journey,\" it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", - "\n", - "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", - "\n", - "As you have found this journey, you probably have a concept of what a heterogeneous agent model is, but here is a short recap. Think about a basic infinitely lived consumer problem as you know from first-year graduate courses (letting alone the companies and general equilibrium). Using the Bellman equation, we can write it as:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t) &=& \\max_{C_t} U(C_t) + \\beta V(M_{t+1}), \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "\n", - "Where $\\beta <1$ is a discount factor, $C_t$ is a consumption, $A_t$ - assets, $Y_t$ - income and $U(C)$ is a standard CRRA utility function:\n", - "\n", - "$$\n", - "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", - "$$\n", - "\n", - "Now assume that every consumer faces some uncertainty on her income which is subject to idiosyncratic shocks - the realizations of each shock is (potentially) different for each agent. In this setting, it follows AR (1) process, so that the current value of $Y$ is a state variable that predicts future values of $Y$. \n", - "\n", - "Then, the Bellman equation looks like:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. To quote the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", - "\n", - "*\"After months of effort, you may have had the character-improving experience of\n", - "proudly explaining to your adviser that not only had you grafted two ideas\n", - "together, you also found a trick that speeded the solution by an order of\n", - "magnitude, only to be told that your breathtaking insight had been understood\n", - "for many years, as reflected in an appendix to a 2008 paper; or, worse, your\n", - "discovery was something that “everybody knows” but did not exist at all in\n", - "published form!\"*\n", - "\n", - "s\n", - "HARK was designed to help you avoid similar experiences. We see two main uses of this package and its tools:\n", - "\n", - "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", - "- To solve your own models building-on the already implemented algorithms \n", - "\n", - "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods; however, in the last sections you can find some guidance which were used and how the source code is structured. \n", - "\n", - "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "We will be very happy to see your feedback. If you have any questions regarding this tutorial or HARK as a whole please see our [Github page](https://github.com/econ-ark/HARK). \n", - "\n", - "---" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2 Before you start\n", - "\n", - "As we have mentioned before, this journey does not require any special skill in programing. However, some knowledge about Python and object-oriented programing (OOP) is needed. We propose two possible ways to gather the basic concepts, however, plenty of others are available:\n", - "\n", - "- Quick introduction to Python and OOP: chapters five to seven from [Quantecon](https://python-programming.quantecon.org/intro.html) should familiarize you with everything what you need for the first tutorials.\n", - "- A little longer introduction (if you want to learn something about used numerical methods):\n", - " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", - " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", - "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way (one example is [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html)). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3 Few words about HARK structure\n", - "\n", - "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different *objects*. Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with such structure implies learning the different types of objects (classes). \n", - "\n", - "In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", - "\n", - "In practice, it will take more than two classes to accommodate the huge variety of the currently used models. Thus, each class will have subclasses and those their own subclasses. In general, a more sophisticated class will be defined as a subclass. This journey will reflect this structure, first by presenting the most primitive models, and then the more fancy ones.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "In OOP, objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", - "\n", - "---\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4 Agent-type class \n", - "Agent-type class enables you to build the macroeconomic models (such as the one presented in the introduction). It is also the essential part of the macroeconomic model in HARK. So remember: *to use HARK, you always need to use agent-type classes!*\n", - "\n", - "### 4.1 Introductory example\n", - "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent $i$ in the period t: $Y_{i,t}$, is given by: \n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", - "p_{i,t+1} &=& p_{i,t}\\psi_{i,t+1}\\\\\n", - "\\psi_{i,t} & \\sim & N(1,\\sigma_{\\varrho})\\\\\n", - "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "To get a universal solution of this problem, we need to find a policy function (in this case consumption function). This can be done easily using the HARK `solve` function. \n", - "\n", - "Before doing this, we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/sb/projects/econ-ark/HARK/HARK/Calibration/Income/IncomeTools.py:451: UserWarning: Sabelhaus and Song (2010) provide variance profiles for ages 27 to 54. Extrapolating variances using the extreme points.\n", - " + \"27 to 54. Extrapolating variances using the extreme points.\"\n", - "/home/sb/projects/econ-ark/HARK/HARK/datasets/SCF/WealthIncomeDist/SCFDistTools.py:79: UserWarning: Returning SCF summary statistics for ages (20,25].\n", - " warn(\"Returning SCF summary statistics for ages \" + age_bracket + \".\")\n" - ] - } - ], - "source": [ - "import sys #set path of the notebook \n", - "import os\n", - "sys.path.insert(0, os.path.abspath('../../.'))\n", - "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", - "#we previously defined the paramters to not bother you about it now\n", - "import Journey_1_param as Params #imported paramters \n", - "from HARK.utilities import plot_funcs #useful function\n", - "\n", - "Example = IndShockConsumerType() \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next we can solve the model and plot the consumption function:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Consumption function\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "Example.solve()\n", - "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", - "max_v = 20\n", - "print(\"Consumption function\")\n", - "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.2 The Agent-Type structure\n", - "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The following diagram illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. \n", - "\n", - "![HARK structure](HARK_struct_2.png)\n", - "\n", - "However, it doesn't end there! There are subclasses of the `AggShockConsumerType` which are designed to be integrated with macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.3 Main tutorials\n", - "\n", - "To reflect the agent-type structure, we propose you start with the Quickstart notebook (it is devoted to the deterministic case). Then proceed to the idiosyncratic consumers and then to consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", - "\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", - "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", - "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", - "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.4 Supplementary tutorials\n", - "\n", - "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", - "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", - "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 5 Market class\n", - "\n", - "In macroeconomic models, the consumers are only one possible type of agent. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.1 Introductory example\n", - "\n", - "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", - "\n", - "\\begin{eqnarray*}\n", - "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", - "\\end{eqnarray*}\n", - "Thus, the producers' problem is:\n", - "\\begin{eqnarray*}\n", - "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", - "\\end{eqnarray*}\n", - "\n", - "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", - "\n", - "In this case, consumers' incomes are determined by the wage:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", - "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", - "\\begin{eqnarray*}\n", - "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", - "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", - "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", - "\\end{eqnarray*}\n", - "\n", - "In HARK, you can solve this basic case by using the `CobbDouglasEconomy` class. However, to add the consumers to the economy you need the `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", - "\n", - "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", - "\n", - "# Make a Cobb-Douglas economy for the agents\n", - "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, you can solve the economy and plot the aggregate savings function: " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "capital-level steady state: 13.943289665216982\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", - "\n", - "# Have the consumers inherit relevant objects from the economy\n", - "AggShockExample.get_economy_data(EconomyExample)\n", - "\n", - "AggShockExample.solve() #solve the model\n", - "\n", - "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", - "\n", - "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.2 Market class structure\n", - "\n", - "As in case of the agent-type, the more complicated macroeconomic models are the subclasses of more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously.\n", - "\n", - "Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", - "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", - "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", - "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "The consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", - "\n", - "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, there exists an additional aggregate fluctuation in the economy (the distribution of which is given by the finite Markov matrix). \n", - "\n", - "\n", - "![HARK_struct_2](HARK_struct_4.png)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.3 Tutorial\n", - "\n", - "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using the `CobbDouglasMarkovEconomy` class. \n", - "\n", - "Before that, you may want to check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.3.1 If you want to learn (a little) how the Market class works\n", - "\n", - "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` in the code). \n", - "\n", - "If you would like to get better knowledge about this structure, first take a look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting, look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 6 If you need to study a source code\n", - "\n", - "In the previous sections we saw an example of how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", - "\n", - "Working directly with code (even if well-written) is a much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", - "\n", - "### 6.1 A few more words on HARK structure \n", - " \n", - "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you will find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", - "\n", - "The reason for this is that HARK.core.py is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", - "\n", - "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you must first understand `HARK.core`. \n", - "\n", - "\n", - "### 6.2 HARK solution \n", - "\n", - "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function also include data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", - "\n", - "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus, when you will study the source code, you will first read the solve classes. \n", - "\n", - "![Hark_struct3](HARK_struct_3.png)\n", - "\n", - "\n", - "#### 6.2.1 Solution method for agent problem\n", - "However, knowing the structure of the code may not be very beneficial if you do not know the solution method! While for the perfect foresight consumer has an analytic solution, the policy functions for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) are solved by the **endogenous grid method**.\n", - "\n", - "The method of endogenous gridpoints is now widely used in macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", - "\n", - "#### 6.2.2 Finding general equilibrium\n", - "In general, the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices up to the point at which the actual aggregated variables (like interest rate or capital) are equal to the expected ones. However, one may need to refer to the papers cited in the notebooks to understand the exact methods used. \n", - "\n", - "\n", - "### 6.3 How to study HARK codes\n", - "\n", - "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than is discussed here. Here is some more guidance on how to continue your journey:\n", - "\n", - "- Before you start make sure that you understand the endogenous grid method, as well as the general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", - "- When working through HARK.core, make sure that you see the connection between the structure in the documentation and the code (check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage). \n", - "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", - "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", - "\n", - "So in general, when you want to learn any of the modules in the HARK toolkit, first check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "ExecuteTime,-autoscroll,collapsed", - "notebook_metadata_filter": "all,-widgets,-varInspector" - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.8" - }, - "latex_envs": { - "LaTeX_envs_menu_present": true, - "autoclose": false, - "autocomplete": true, - "bibliofile": "biblio.bib", - "cite_by": "apalike", - "current_citInitial": 1, - "eqLabelWithNumbers": true, - "eqNumInitial": 1, - "hotkeys": { - "equation": "Ctrl-E", - "itemize": "Ctrl-I" - }, - "labels_anchors": false, - "latex_user_defs": false, - "report_style_numbering": false, - "user_envs_cfg": false - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": true, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} From beded8c410823b6b553387c9294c6934969fdc39 Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:19:50 +0000 Subject: [PATCH 17/19] Delete Journey_1_param.py --- examples/Journeys/Journey_1_param.py | 157 --------------------------- 1 file changed, 157 deletions(-) delete mode 100644 examples/Journeys/Journey_1_param.py diff --git a/examples/Journeys/Journey_1_param.py b/examples/Journeys/Journey_1_param.py deleted file mode 100644 index d03e3e3dd..000000000 --- a/examples/Journeys/Journey_1_param.py +++ /dev/null @@ -1,157 +0,0 @@ -''' -Set if parameters for the first journey -''' -from copy import copy -import numpy as np - -# ----------------------------------------------------------------------------- -# --- Define all of the parameters for the perfect foresight model ------------ -# ----------------------------------------------------------------------------- - -CRRA = 2.0 # Coefficient of relative risk aversion -Rfree = 1.03 # Interest factor on assets -DiscFac = 0.96 # Intertemporal discount factor -LivPrb = [1.0] # Survival probability -PermGroFac = [1.0] # Permanent income growth factor -AgentCount = 10000 # Number of agents of this type (only matters for simulation) -aNrmInitMean = 0.0 # Mean of log initial assets (only matters for simulation) -aNrmInitStd = 1.0 # Standard deviation of log initial assets (only for simulation) -pLvlInitMean = 0.0 # Mean of log initial permanent income (only matters for simulation) -pLvlInitStd = 0.0 # Standard deviation of log initial permanent income (only matters for simulation) -PermGroFacAgg = 1.0 # Aggregate permanent income growth factor (only matters for simulation) -T_age = None # Age after which simulated agents are automatically killed -T_cycle = 1 # Number of periods in the cycle for this agent type - -# Make a dictionary to specify a perfect foresight consumer type -init_perfect_foresight = { 'CRRA': CRRA, - 'Rfree': Rfree, - 'DiscFac': DiscFac, - 'LivPrb': LivPrb, - 'PermGroFac': PermGroFac, - 'AgentCount': AgentCount, - 'aNrmInitMean' : aNrmInitMean, - 'aNrmInitStd' : aNrmInitStd, - 'pLvlInitMean' : pLvlInitMean, - 'pLvlInitStd' : pLvlInitStd, - 'PermGroFacAgg' : PermGroFacAgg, - 'T_age' : T_age, - 'T_cycle' : T_cycle - } - -# ----------------------------------------------------------------------------- -# --- Define additional parameters for the idiosyncratic shocks model --------- -# ----------------------------------------------------------------------------- - -# Parameters for constructing the "assets above minimum" grid -aXtraMin = 0.001 # Minimum end-of-period "assets above minimum" value -aXtraMax = 20 # Maximum end-of-period "assets above minimum" value -#aXtraExtra = [None] # Some other value of "assets above minimum" to add to the grid, not used -aXtraNestFac = 3 # Exponential nesting factor when constructing "assets above minimum" grid -aXtraCount = 48 # Number of points in the grid of "assets above minimum" - -# Parameters describing the income process -PermShkCount = 7 # Number of points in discrete approximation to permanent income shocks -TranShkCount = 7 # Number of points in discrete approximation to transitory income shocks -PermShkStd = [0.1] # Standard deviation of log permanent income shocks -TranShkStd = [0.2] # Standard deviation of log transitory income shocks -UnempPrb = 0.005 # Probability of unemployment while working -UnempPrbRet = 0.005 # Probability of "unemployment" while retired -IncUnemp = 0.3 # Unemployment benefits replacement rate -IncUnempRet = 0.0 # "Unemployment" benefits when retired -tax_rate = 0.0 # Flat income tax rate -T_retire = 0 # Period of retirement (0 --> no retirement) - -# A few other parameters -BoroCnstArt = 0.0 # Artificial borrowing constraint; imposed minimum level of end-of period assets -CubicBool = True # Use cubic spline interpolation when True, linear interpolation when False -vFuncBool = False # Whether to calculate the value function during solution - -# Make a dictionary to specify an idiosyncratic income shocks consumer -init_idiosyncratic_shocks = { 'CRRA': CRRA, - 'Rfree': Rfree, - 'DiscFac': DiscFac, - 'LivPrb': LivPrb, - 'PermGroFac': PermGroFac, - 'AgentCount': AgentCount, - 'aXtraMin': aXtraMin, - 'aXtraMax': aXtraMax, - 'aXtraNestFac':aXtraNestFac, - 'aXtraCount': aXtraCount, - #'aXtraExtra': [aXtraExtra], - 'PermShkStd': PermShkStd, - 'PermShkCount': PermShkCount, - 'TranShkStd': TranShkStd, - 'TranShkCount': TranShkCount, - 'UnempPrb': UnempPrb, - 'UnempPrbRet': UnempPrbRet, - 'IncUnemp': IncUnemp, - 'IncUnempRet': IncUnempRet, - 'BoroCnstArt': BoroCnstArt, - 'tax_rate':0.0, - 'vFuncBool':vFuncBool, - 'CubicBool':CubicBool, - 'T_retire':T_retire, - 'aNrmInitMean' : aNrmInitMean, - 'aNrmInitStd' : aNrmInitStd, - 'pLvlInitMean' : pLvlInitMean, - 'pLvlInitStd' : pLvlInitStd, - 'PermGroFacAgg' : PermGroFacAgg, - 'T_age' : T_age, - 'T_cycle' : T_cycle - } - -# Make a dictionary to specify a lifecycle consumer with a finite horizon - -# ----------------------------------------------------------------------------- -# ----- Define additional parameters for the aggregate shocks model ----------- -# ----------------------------------------------------------------------------- -MgridBase = np.array([0.1,0.3,0.6,0.8,0.9,0.98,1.0,1.02,1.1,1.2,1.6,2.0,3.0]) # Grid of capital-to-labor-ratios (factors) - -# Parameters for a Cobb-Douglas economy -PermGroFacAgg = 1.00 # Aggregate permanent income growth factor -PermShkAggCount = 1 # Number of points in discrete approximation to aggregate permanent shock dist -TranShkAggCount = 1 # Number of points in discrete approximation to aggregate transitory shock dist -PermShkAggStd = 0.00 # Standard deviation of log aggregate permanent shocks -TranShkAggStd = 0.00 # Standard deviation of log aggregate transitory shocks -DeprFac = 0.025 # Capital depreciation rate -CapShare = 0.36 # Capital's share of income -DiscFacPF = DiscFac # Discount factor of perfect foresight calibration -CRRAPF = CRRA # Coefficient of relative risk aversion of perfect foresight calibration -intercept_prev = 0.0 # Intercept of aggregate savings function -slope_prev = 1.0 # Slope of aggregate savings function -verbose_cobb_douglas = True # Whether to print solution progress to screen while solving -T_discard = 200 # Number of simulated "burn in" periods to discard when updating AFunc -DampingFac = 0.5 # Damping factor when updating AFunc; puts DampingFac weight on old params, rest on new -max_loops = 20 # Maximum number of AFunc updating loops to allow - -# Make a dictionary to specify an aggregate shocks consumer -init_agg_shocks = copy(init_idiosyncratic_shocks) -del init_agg_shocks['Rfree'] # Interest factor is endogenous in agg shocks model -del init_agg_shocks['CubicBool'] # Not supported yet for agg shocks model -del init_agg_shocks['vFuncBool'] # Not supported yet for agg shocks model -init_agg_shocks['PermGroFac'] = [1.0] -init_agg_shocks['MgridBase'] = MgridBase -init_agg_shocks['aXtraCount'] = 24 -init_agg_shocks['aNrmInitStd'] = 0.0 -init_agg_shocks['LivPrb'] = LivPrb - - -# Make a dictionary to specify a Cobb-Douglas economy -init_cobb_douglas = {'PermShkAggCount': PermShkAggCount, - 'TranShkAggCount': TranShkAggCount, - 'PermShkAggStd': PermShkAggStd, - 'TranShkAggStd': TranShkAggStd, - 'DeprFac': DeprFac, - 'CapShare': CapShare, - 'DiscFac': DiscFacPF, - 'CRRA': CRRAPF, - 'PermGroFacAgg': PermGroFacAgg, - 'AggregateL':1.0, - 'act_T':1200, - 'intercept_prev': intercept_prev, - 'slope_prev': slope_prev, - 'verbose': verbose_cobb_douglas, - 'T_discard': T_discard, - 'DampingFac': DampingFac, - 'max_loops': max_loops - } From 597d14a7369fb971542a0b3dc463df04eb554e4a Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:20:01 +0000 Subject: [PATCH 18/19] Delete Journey_PhD.ipynb --- examples/Journeys/Journey_PhD.ipynb | 498 ---------------------------- 1 file changed, 498 deletions(-) delete mode 100644 examples/Journeys/Journey_PhD.ipynb diff --git a/examples/Journeys/Journey_PhD.ipynb b/examples/Journeys/Journey_PhD.ipynb deleted file mode 100644 index f6f320241..000000000 --- a/examples/Journeys/Journey_PhD.ipynb +++ /dev/null @@ -1,498 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Journey: Economics PhD Student \n", - "====\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 1 Introduction\n", - "\n", - "This notebook is designed to introduce someone with the training of a 1st year Economics student, but perhaps without much background in computer programming or scientific computation. As it is a \"journey,\" it is not one big tutorial, but a set of links to notebooks and other resources which will help you understand the different HARK objects and functionalities.\n", - "\n", - "This journey does not require a special skill in programing. However, we recommend you take a few introductury tutorials in Python and object-oriented programing (OOP) to make you familiar with the basic concepts. Moreover, we assume some knowledge in the economic theory.\n", - "\n", - "As you have found this journey, you probably have a concept of what a heterogeneous agent model is, but here is a short recap. Think about a basic infinitely lived consumer problem as you know from first-year graduate courses (letting alone the companies and general equilibrium). Using the Bellman equation, we can write it as:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t) &=& \\max_{C_t} U(C_t) + \\beta V(M_{t+1}), \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "\n", - "Where $\\beta <1$ is a discount factor, $C_t$ is a consumption, $A_t$ - assets, $Y_t$ - income and $U(C)$ is a standard CRRA utility function:\n", - "\n", - "$$\n", - "U(C)=\\frac{C^{1-\\rho}}{1-\\rho}\n", - "$$\n", - "\n", - "Now assume that every consumer faces some uncertainty on her income which is subject to idiosyncratic shocks - the realizations of each shock is (potentially) different for each agent. In this setting, it follows AR (1) process, so that the current value of $Y$ is a state variable that predicts future values of $Y$. \n", - "\n", - "Then, the Bellman equation looks like:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_t, Y_t) &=& \\max_{C_t} U(C_t) + E[\\beta V(M_{t+1}, Y_{t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_t &=& M_t - C_t, \\\\\n", - "M_{t+1} &=& R (M_{t}-C_{t}) + Y_t, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Therefore, finding a distribution of agent assets (consumption, savings) involves many much more advanced numerical tools than in the case of a representative agent. Obviously, this is more demanding to master. Moreover, the knowledge about involved numerical methods is less systematic, and often hard to find. To quote the HARK [Documentation](https://hark.readthedocs.io/en/latest/introduction.html):\n", - "\n", - "*\"After months of effort, you may have had the character-improving experience of\n", - "proudly explaining to your adviser that not only had you grafted two ideas\n", - "together, you also found a trick that speeded the solution by an order of\n", - "magnitude, only to be told that your breathtaking insight had been understood\n", - "for many years, as reflected in an appendix to a 2008 paper; or, worse, your\n", - "discovery was something that “everybody knows” but did not exist at all in\n", - "published form!\"*\n", - "\n", - "HARK was designed to help you avoid similar experiences. We see two main uses of this package and its tools:\n", - "\n", - "- To simulate the standard heterogeneous agent models without learning all the numerical methods\n", - "- To solve your own models building-on the already implemented algorithms \n", - "\n", - "This journey will help you mostly with using HARK in the first way. We do not elaborate here the numerical methods; however, in the last sections you can find some guidance which were used and how the source code is structured. \n", - "\n", - "Although using the prepared package is easier than writing your own solution (what sooner or later you will need to do if you create an original heterogeneous agent model), you still need some effort to comprehend the main classes and functionalities of HARK. We hope that this journey will make this easier! We believe that it also will be your first step into the world of the heterogeneous agents modeling.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "We will be very happy to see your feedback. If you have any questions regarding this tutorial or HARK as a whole please see our [Github page](https://github.com/econ-ark/HARK). \n", - "\n", - "---" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 2 Before you start\n", - "\n", - "As we have mentioned before, this journey does not require any special skill in programing. However, some knowledge about Python and object-oriented programing (OOP) is needed. We propose two possible ways to gather the basic concepts, however, plenty of others are available:\n", - "\n", - "- Quick introduction to Python and OOP: chapters five to seven from [Quantecon](https://python-programming.quantecon.org/intro.html) should familiarize you with everything what you need for the first tutorials.\n", - "- A little longer introduction (if you want to learn something about used numerical methods):\n", - " - Start with the basic Python [tutorial](https://docs.python.org/3/tutorial)\n", - " - Get some knowledge about [Numpy](https://docs.scipy.org/doc/numpy/user/quickstart.html)\n", - "- You can also learn Python by learning Machine learning, as there are many tutorials constructed in that way (one example is [scikit-learn tutorials](https://scikit-learn.org/stable/tutorial/index.html)). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 3 Few words about HARK structure\n", - "\n", - "HARK was written using OOP (we hope that you skimmed the tutorials and have some understanding of this). This means that different parts of the model, like different type of consumers', firms, general equilibrium conditions (if you have these components in the model) are implemented as different *objects*. Such structure enables you to build your own models with different consumer type distributions / company structure (if you want some). Importantly, learning the package with such structure implies learning the different types of objects (classes). \n", - "\n", - "In HARK there are two main classes: `AgentType` (think consumers, macroeconomic models) and `Market` (think general equilibrium, macro models). As AgentType objects are the attributes of the Market, we first present this type (additionally, if you are interested only in microeconomic research, you may not want to study the Market class).\n", - "\n", - "In practice, it will take more than two classes to accommodate the huge variety of the currently used models. Thus, each class will have subclasses and those their own subclasses. In general, a more sophisticated class will be defined as a subclass. This journey will reflect this structure, first by presenting the most primitive models, and then the more fancy ones.\n", - "\n", - "---\n", - "NOTE\n", - "***\n", - "In OOP, objects are organized in **classes** (the general structure of the objects) and more specific **subclasses**. The subclass inherits the methods and attributes from the its parent class. Thus everything which you can do with the object from a general class can be done with the object from its subclass. Therefore, in case of the economic models the basic one are always the parent classes of the more sophisticated ones. \n", - "\n", - "---\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 4 Agent-type class \n", - "Agent-type class enables you to build the macroeconomic models (such as the one presented in the introduction). It is also the essential part of the macroeconomic model in HARK. So remember: *to use HARK, you always need to use agent-type classes!*\n", - "\n", - "### 4.1 Introductory example\n", - "As an example, let's solve the stochastic model from the introduction. Assume the income process of the agent $i$ in the period t: $Y_{i,t}$, is given by: \n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\theta_{i,t} p_{i,t}) \\\\\n", - "p_{i,t+1} &=& p_{i,t}\\psi_{i,t+1}\\\\\n", - "\\psi_{i,t} & \\sim & N(1,\\sigma_{\\varrho})\\\\\n", - "\\theta_{i,t} & \\sim & N(1,\\sigma_{\\theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "To get a universal solution of this problem, we need to find a policy function (in this case consumption function). This can be done easily using the HARK `solve` function. \n", - "\n", - "Before doing this, we need to declare our model (we assume standard parametrization: R= 1.03, $\\rho = 2$, $\\beta = 0.96$, $P(\\varepsilon=0)= 0.005$, $P(\\varepsilon=1)= 0.995$, $\\sigma_{\\psi}= \\sigma_{\\theta}=0.1)$:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import sys #set path of the notebook \n", - "import os\n", - "sys.path.insert(0, os.path.abspath('../../.'))\n", - "from HARK.ConsumptionSaving.ConsIndShockModel import * #import the module for the idiosyncratic shocks\n", - "#we previously defined the paramters to not bother you about it now\n", - "import Journey_PhD_param as Params #imported paramters \n", - "from HARK.utilities import plot_funcs #useful function\n", - "\n", - "Example = IndShockConsumerType() \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next we can solve the model and plot the consumption function:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Consumption function\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "Example.solve()\n", - "min_v = Example.solution[0].mNrmMin #minimal value for which the consumption function is defined\n", - "max_v = 20\n", - "print(\"Consumption function\")\n", - "plot_funcs([Example.solution[0].cFunc],min_v,max_v)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.2 The Agent-Type structure\n", - "To understand the microeconomic models in HARK, you need to have some concept of the Agent-type class structure. As it was mentioned, in HARK more advanced models are subclasses of the more primitive ones. The following diagram illustrates this structure: the deterministic class `PerfForesightConsumerType`, is then a parent for the class of the consumers with idiosyncratic income shocks `IndShockConsumerType`. Next there is a class with the idiosyncratic and aggregate income shocks `𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType`. \n", - "\n", - "![HARK structure](HARK_struct_2.png)\n", - "\n", - "However, it doesn't end there! There are subclasses of the `AggShockConsumerType` which are designed to be integrated with macroeconomic models (we will discuss them in the section devoted to the Market class), as well as there are many other subclasses (which we will mention in the supplementary section)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.3 Main tutorials\n", - "\n", - "To reflect the agent-type structure, we propose you start with the Quickstart notebook (it is devoted to the deterministic case). Then proceed to the idiosyncratic consumers and then to consumers with aggregate and idiosyncratic shocks. The exact order of the suggested tutorials is given in the table.\n", - "\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1 |[Quickstart](https://github.com/econ-ark/HARK/blob/master/examples/Journeys/Quickstart_tutorial/Quick_start_with_solution.ipynb) |This tutorial familiarize you with the basic HARK objects and functionalities.
You will learn how to create, solve, plot and simulate the deterministic
microeconomic models ($\\texttt{PerfForesightConsumerType}$ class).|\n", - "|2 |[Idiosyncratic consumers](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/IndShockConsumerType.ipynb) |In this tutorial you will learn how to deal
with the microeconomic models with agents with idiosyncratic shocks:
individual productivity shocks ($\\texttt{IndShockConsumerType}$ class). It builds on the Quickstart. | \n", - "|3|[Nondurables during great recession](https://github.com/econ-ark/DemARK/blob/master/notebooks/Nondurables-During-Great-Recession.ipynb)| Use you knowledge about HARK to conduct a few economic experiments!
You will examine the effects of the uncertinity increase on the heterogenous
agents with idiosyncratic income risk.|\n", - "|4|[Chinese-Growth](https://github.com/econ-ark/DemARK/blob/master/notebooks/Chinese-Growth.ipynb)|Learn how to dealt with models with idiosyncratic
and aggregate risk ($\\texttt{𝙼𝚊𝚛𝚔𝚘𝚟ConsumerType}$ class).
Next build advanced simulation with many agent types.|\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 4.4 Supplementary tutorials\n", - "\n", - "The aforementioned four tutorials are the most essential ones. However, in HARK there are a few other classes with a similar but, not-the same structure as three basic ones. Here is a list of the notebooks which familiarize you with them (if you so wish, as it is not required to understand the next topics).\n", - "\n", - "|Number | Tutorial | Description|\n", - "| :---- | :---- | :---- |\n", - "|1* |[Kinked consumer](https://github.com/econ-ark/HARK/blob/master/examples/ConsIndShockModel/KinkedRconsumerType.ipynb) | $\\texttt{KinkedRconsumerType}$ is a subclass of $\\texttt{IndShockConsumerType}$.
In enables to set different borrowing and lending interest rate. |\n", - "|2* |[Buffer-stock consumer](https://github.com/econ-ark/DemARK/blob/master/notebooks/Gentle-Intro-To-HARK-Buffer-Stock-Model.ipynb) | In the Buffer Stock model, the unemployment state (zero income stat) is irreversible.
This framework is implemented by $\\texttt{TractableConsumerType}$ class.
For the analytical properties of buffer stock model check this [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/public/LectureNotes/Consumption/TractableBufferStock/).| \n", - "|3*|[Generalized income process](https://github.com/econ-ark/HARK/blob/master/examples/GenIncProcessModel/GenIncProcessModel.ipynb)| In $\\texttt{IndShockConsumerType}$ class, the idiosyncratic income shocks
were assumed to be or purely permanent or purely transitory. In the similar class
$\\texttt{PersistentShockConsumerType}$ the income shocks follows AR(1) process with parameter <1,
thus there are not full permanent nor transitory
(it was called generalized income process).|\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 5 Market class\n", - "\n", - "In macroeconomic models, the consumers are only one possible type of agent. In such models, the economy contains also firms and a government (or other types of agents). In HARK, several standard macro models were implemented using the **Market** class and its subclasses. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.1 Introductory example\n", - "\n", - "Let's extend our model from the previous section. Assume the perfect competition and Cobb-Douglas production function:\n", - "\n", - "\\begin{eqnarray*}\n", - "y_t = k_t^{\\alpha} n_t^{1-\\alpha}\n", - "\\end{eqnarray*}\n", - "Thus, the producers' problem is:\n", - "\\begin{eqnarray*}\n", - "\\max_{k_t, n_t} &\\: k_t^{\\alpha} n_t^{1-\\alpha} - (R_t +\\delta)k_t-w_t n_t \n", - "\\end{eqnarray*}\n", - "\n", - "Where $k_t$ is a capital, $n_t$ labour, $\\delta$ is a depreciation rate. \n", - "\n", - "In this case, consumers' incomes are determined by the wage:\n", - "\n", - "\\begin{eqnarray*}\n", - "V(M_{i,t}, Y_{i,t}) &=& \\max_{C_{i,t}, M_{i,t+1}} U(C_{i,t}) + E[\\beta V(M_{i,t+1}, Y_{i,t+1})], \\\\\n", - "& s.t. & \\\\\n", - "A_{i,t} &=& M_{i,t} - C_{i,t}, \\\\\n", - "M_{i,t+1} &=& R_{t+1} (M_{i,t}-C_{i,t}) + w_{t+1} Y_{i,t+1}, \\\\\n", - "\\end{eqnarray*}\n", - "\n", - "Additionally, assume that the distribution of the consumers over capital is given by the measure $\\Gamma_t$. To close the economy, there are the market clearing conditions:\n", - "\\begin{eqnarray*}\n", - "n_t &= \\int Y{_i,t} d \\Gamma_t \\\\\n", - "k_{t+1} &= \\int A_{i,t}^i d \\Gamma_t \\\\\n", - "k_{t+1}+ \\int C_{i,t} d\\Gamma_t &= y_t+(1-\\delta)k_t\n", - "\\end{eqnarray*}\n", - "\n", - "In HARK, you can solve this basic case by using the `CobbDouglasEconomy` class. However, to add the consumers to the economy you need the `AggShockConsumerType` class, which is a subclass of `IndShockConsumerType` Let's declare the economy (assuming depreciation rate $delta = 0.025$): \n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "from HARK.ConsumptionSaving.ConsAggShockModel import * #module with the economy classes\n", - "\n", - "AggShockExample = AggShockConsumerType(**Params.init_agg_shocks) #declare the consumer, using the previously prepared parameters \n", - "\n", - "# Make a Cobb-Douglas economy for the agents\n", - "EconomyExample = CobbDouglasEconomy(agents=[AggShockExample], **Params.init_cobb_douglas)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, you can solve the economy and plot the aggregate savings function: " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "capital-level steady state: 13.943289665216982\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "EconomyExample.make_AggShkHist() # Simulate a history of aggregate shocks\n", - "\n", - "# Have the consumers inherit relevant objects from the economy\n", - "AggShockExample.get_economy_data(EconomyExample)\n", - "\n", - "AggShockExample.solve() #solve the model\n", - "\n", - "print(\"capital-level steady state: \", EconomyExample.kSS) #print the capital-level steady stae\n", - "\n", - "plot_funcs(AggShockExample.AFunc,0.1,2*EconomyExample.kSS) # plot the aggregate savings function\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.2 Market class structure\n", - "\n", - "As in case of the agent-type, the more complicated macroeconomic models are the subclasses of more primitive ones. The subclasses of Market include `CobbDouglasEconomy` and `SmallOpenEconomy`. The main difference between them is that for `CobbDouglasEconomy`, the capital and labour prices are endogenous, while in the (small) open economy class there are set exogenously.\n", - "\n", - "Nevertheless, both basic classes enable the aggregate fluctuation in the economy, that is:\n", - "\n", - "\\begin{eqnarray*} \n", - "Y_{i,t} &=& \\varepsilon_t(\\epsilon_{i,t}p_{i,t}\\Theta_t P_t )\\\\\n", - "P_{t+1} &=& P_{t}\\Psi_{t+1}\\\\\n", - "\\Psi_{t} &\\sim & {N}(1,\\sigma_{\\Psi})\\\\\n", - "\\Theta_t &\\sim &{N}(1,\\sigma_{\\Theta})\\\\\n", - "\\end{eqnarray*}\n", - "\n", - "The consumers, which are attributes of such market classes, need to include the aggregate fluctuations of the whole economy in their optimization problem. This is the reason why the `AggShockConsumerType` consumer type class (and their subclasses) must be used to construct the macro-model. \n", - "\n", - "The subclass of `CobbDouglasEconomy` is `CobbDouglasMarkovEconomy`. In this setting, there exists an additional aggregate fluctuation in the economy (the distribution of which is given by the finite Markov matrix). \n", - "\n", - "\n", - "![HARK_struct_2](HARK_struct_4.png)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### 5.3 Tutorial\n", - "\n", - "To learn the functionalities of the market type classes in HARK we suggest to study a notebook devoted to [Krussel-Smith economy](https://github.com/econ-ark/REMARK/blob/master/REMARKs/KrusellSmith.md). In this notebook classical [Krussell-Smith model](https://www.journals.uchicago.edu/doi/abs/10.1086/250034?journalCode=jpe) is implemented (with some extensions) using the `CobbDouglasMarkovEconomy` class. \n", - "\n", - "Before that, you may want to check the main function from [ConsAggShockModel module](https://github.com/econ-ark/HARK/blob/master/examples/ConsumptionSaving/example_ConsAggShockModel.ipynb) or its [source code](https://github.com/econ-ark/HARK/blob/master//HARK/ConsumptionSaving/ConsAggShockModel.py) to see the basic steps to create the market type objects. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.3.1 If you want to learn (a little) how the Market class works\n", - "\n", - "The Market class was designed to be a general framework for many different macro models. It involves a procedure of aggregating the agents' choices: eg. aggregating consumption and savings (`reap_vars` in the code) and then transforming the aggregated variables (`mill_rule` in the code). \n", - "\n", - "If you would like to get better knowledge about this structure, first take a look at the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html). Next, to understand how the HARK Market class works in less standard setting, look at the [Fashion victim model](../notebooks/Fashion-Victim-Model.ipynb).\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## 6 If you need to study a source code\n", - "\n", - "In the previous sections we saw an example of how to solve different models using HARK. However, we know that you may also need to work with the source code for a few reasons (e.g. to learn used numerical methods, write your own code).\n", - "\n", - "Working directly with code (even if well-written) is a much more complicated tasks than just working with finished functions, and no tutorial will let you go through this painlessly. However, we hope that this partelaborating on the HARK structure and numerical methods will help you with this task. \n", - "\n", - "### 6.1 A few more words on HARK structure \n", - " \n", - "When you look at the [HARK](https://github.com/econ-ark/HARK) sources, you will find the subdirectory called HARK. Next there is a script called \"core. py\". Surprisingly, you will not find this code in many of the subclasses which you learned during this journey! \n", - "\n", - "The reason for this is that HARK.core.py is a core of the package, a framework for all models which can be coded in HARK. It contains the general framework of the Agent-type classes (AgentType class) and for the market. The exact structure of modules in the HARK core you can find in the [Hark documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#general-purpose-tools). Here, you can also find the general structure of the [AgentType](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class) and [Market classes](https://hark.readthedocs.io/en/latest/ARKitecture.html#market-class).\n", - "\n", - "Where are the subclasses which you learned during the journey? In HARK, the subclasses are in the separate directories. For the AgentType subclasses, you need to look at HARK.ConsumptionSaving directory. For example, `PerfForesightConsumerType` and `IndShockConsumerType` can be found in ConsIndShockModel.py. Nevertheless, if you want to understand any of the HARK modules, you must first understand `HARK.core`. \n", - "\n", - "\n", - "### 6.2 HARK solution \n", - "\n", - "For the consumer problems, solutions of the one-period consumer's problem are found using the attribute function `solve_one_period`. The inputs passed to this function also include data from the subsequent periods. Before solve_one_period is called, the function pre_solve() is applied, which prepare the solution (eg. transmit the solution of the sub-sequent period as an input).\n", - "\n", - "The structure of the functions which are used as solve_one_period reflects the agent-type class structures. Thus, when you will study the source code, you will first read the solve classes. \n", - "\n", - "![Hark_struct3](HARK_struct_3.png)\n", - "\n", - "\n", - "#### 6.2.1 Solution method for agent problem\n", - "However, knowing the structure of the code may not be very beneficial if you do not know the solution method! While for the perfect foresight consumer has an analytic solution, the policy functions for the stochastic consumer (thus with the idiosyncratic or the aggregate shocks) are solved by the **endogenous grid method**.\n", - "\n", - "The method of endogenous gridpoints is now widely used in macroeconomic simulations. There are a few resources to learn it, we suggest Professor Carroll's [lecture notes](http://www.econ2.jhu.edu/people/ccarroll/SolvingMicroDSOPs/). If you prefer a very quick version, we suggest appendix to the Kruger and Kindermann [paper](https://www.nber.org/papers/w20601.pdf) (they develop a little bigger model with a different notation, but the idea is the same).\n", - "\n", - "#### 6.2.2 Finding general equilibrium\n", - "In general, the rational expectations general equilibrium is found by updating the agents' expectations and the aggregate choices up to the point at which the actual aggregated variables (like interest rate or capital) are equal to the expected ones. However, one may need to refer to the papers cited in the notebooks to understand the exact methods used. \n", - "\n", - "\n", - "### 6.3 How to study HARK codes\n", - "\n", - "We hope that this section gave you some idea how the HARK library works. However, HARK contains much more than is discussed here. Here is some more guidance on how to continue your journey:\n", - "\n", - "- Before you start make sure that you understand the endogenous grid method, as well as the general framework structure for AgentType and Market from [HARK documentation](https://hark.readthedocs.io/en/latest/ARKitecture.html#agenttype-class).\n", - "- When working through HARK.core, make sure that you see the connection between the structure in the documentation and the code (check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/tools/core.html) webpage). \n", - "- Proceed to the ConsumptionSaving/ConsIndShockModel.py and compare the tutorials with the source code.\n", - "- Proceed to the ConsumptionSaving/ConsAggShockModel.py and compare the tutorial on the Market class with the source code, check [autodoc](https://hark.readthedocs.io/en/latest/reference/ConsumptionSaving/ConsAggShockModel.html).\n", - "\n", - "So in general, when you want to learn any of the modules in the HARK toolkit, first check autodoc from the [HARK documentation](https://hark.readthedocs.io/en/latest/reference/index.html) webpage.\n" - ] - } - ], - "metadata": { - "jupytext": { - "cell_metadata_filter": "ExecuteTime,-autoscroll,collapsed", - "notebook_metadata_filter": "all,-widgets,-varInspector" - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.11" - }, - "latex_envs": { - "LaTeX_envs_menu_present": true, - "autoclose": false, - "autocomplete": true, - "bibliofile": "biblio.bib", - "cite_by": "apalike", - "current_citInitial": 1, - "eqLabelWithNumbers": true, - "eqNumInitial": 1, - "hotkeys": { - "equation": "Ctrl-E", - "itemize": "Ctrl-I" - }, - "labels_anchors": false, - "latex_user_defs": false, - "report_style_numbering": false, - "user_envs_cfg": false - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": true, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} From b5ffd6dbbcbd356d9bc07a3a4aa31da115ea780b Mon Sep 17 00:00:00 2001 From: AMonninger <66739352+AMonninger@users.noreply.github.com> Date: Fri, 13 Jan 2023 20:20:13 +0000 Subject: [PATCH 19/19] Delete Journey_PhD_param.py --- examples/Journeys/Journey_PhD_param.py | 157 ------------------------- 1 file changed, 157 deletions(-) delete mode 100644 examples/Journeys/Journey_PhD_param.py diff --git a/examples/Journeys/Journey_PhD_param.py b/examples/Journeys/Journey_PhD_param.py deleted file mode 100644 index d03e3e3dd..000000000 --- a/examples/Journeys/Journey_PhD_param.py +++ /dev/null @@ -1,157 +0,0 @@ -''' -Set if parameters for the first journey -''' -from copy import copy -import numpy as np - -# ----------------------------------------------------------------------------- -# --- Define all of the parameters for the perfect foresight model ------------ -# ----------------------------------------------------------------------------- - -CRRA = 2.0 # Coefficient of relative risk aversion -Rfree = 1.03 # Interest factor on assets -DiscFac = 0.96 # Intertemporal discount factor -LivPrb = [1.0] # Survival probability -PermGroFac = [1.0] # Permanent income growth factor -AgentCount = 10000 # Number of agents of this type (only matters for simulation) -aNrmInitMean = 0.0 # Mean of log initial assets (only matters for simulation) -aNrmInitStd = 1.0 # Standard deviation of log initial assets (only for simulation) -pLvlInitMean = 0.0 # Mean of log initial permanent income (only matters for simulation) -pLvlInitStd = 0.0 # Standard deviation of log initial permanent income (only matters for simulation) -PermGroFacAgg = 1.0 # Aggregate permanent income growth factor (only matters for simulation) -T_age = None # Age after which simulated agents are automatically killed -T_cycle = 1 # Number of periods in the cycle for this agent type - -# Make a dictionary to specify a perfect foresight consumer type -init_perfect_foresight = { 'CRRA': CRRA, - 'Rfree': Rfree, - 'DiscFac': DiscFac, - 'LivPrb': LivPrb, - 'PermGroFac': PermGroFac, - 'AgentCount': AgentCount, - 'aNrmInitMean' : aNrmInitMean, - 'aNrmInitStd' : aNrmInitStd, - 'pLvlInitMean' : pLvlInitMean, - 'pLvlInitStd' : pLvlInitStd, - 'PermGroFacAgg' : PermGroFacAgg, - 'T_age' : T_age, - 'T_cycle' : T_cycle - } - -# ----------------------------------------------------------------------------- -# --- Define additional parameters for the idiosyncratic shocks model --------- -# ----------------------------------------------------------------------------- - -# Parameters for constructing the "assets above minimum" grid -aXtraMin = 0.001 # Minimum end-of-period "assets above minimum" value -aXtraMax = 20 # Maximum end-of-period "assets above minimum" value -#aXtraExtra = [None] # Some other value of "assets above minimum" to add to the grid, not used -aXtraNestFac = 3 # Exponential nesting factor when constructing "assets above minimum" grid -aXtraCount = 48 # Number of points in the grid of "assets above minimum" - -# Parameters describing the income process -PermShkCount = 7 # Number of points in discrete approximation to permanent income shocks -TranShkCount = 7 # Number of points in discrete approximation to transitory income shocks -PermShkStd = [0.1] # Standard deviation of log permanent income shocks -TranShkStd = [0.2] # Standard deviation of log transitory income shocks -UnempPrb = 0.005 # Probability of unemployment while working -UnempPrbRet = 0.005 # Probability of "unemployment" while retired -IncUnemp = 0.3 # Unemployment benefits replacement rate -IncUnempRet = 0.0 # "Unemployment" benefits when retired -tax_rate = 0.0 # Flat income tax rate -T_retire = 0 # Period of retirement (0 --> no retirement) - -# A few other parameters -BoroCnstArt = 0.0 # Artificial borrowing constraint; imposed minimum level of end-of period assets -CubicBool = True # Use cubic spline interpolation when True, linear interpolation when False -vFuncBool = False # Whether to calculate the value function during solution - -# Make a dictionary to specify an idiosyncratic income shocks consumer -init_idiosyncratic_shocks = { 'CRRA': CRRA, - 'Rfree': Rfree, - 'DiscFac': DiscFac, - 'LivPrb': LivPrb, - 'PermGroFac': PermGroFac, - 'AgentCount': AgentCount, - 'aXtraMin': aXtraMin, - 'aXtraMax': aXtraMax, - 'aXtraNestFac':aXtraNestFac, - 'aXtraCount': aXtraCount, - #'aXtraExtra': [aXtraExtra], - 'PermShkStd': PermShkStd, - 'PermShkCount': PermShkCount, - 'TranShkStd': TranShkStd, - 'TranShkCount': TranShkCount, - 'UnempPrb': UnempPrb, - 'UnempPrbRet': UnempPrbRet, - 'IncUnemp': IncUnemp, - 'IncUnempRet': IncUnempRet, - 'BoroCnstArt': BoroCnstArt, - 'tax_rate':0.0, - 'vFuncBool':vFuncBool, - 'CubicBool':CubicBool, - 'T_retire':T_retire, - 'aNrmInitMean' : aNrmInitMean, - 'aNrmInitStd' : aNrmInitStd, - 'pLvlInitMean' : pLvlInitMean, - 'pLvlInitStd' : pLvlInitStd, - 'PermGroFacAgg' : PermGroFacAgg, - 'T_age' : T_age, - 'T_cycle' : T_cycle - } - -# Make a dictionary to specify a lifecycle consumer with a finite horizon - -# ----------------------------------------------------------------------------- -# ----- Define additional parameters for the aggregate shocks model ----------- -# ----------------------------------------------------------------------------- -MgridBase = np.array([0.1,0.3,0.6,0.8,0.9,0.98,1.0,1.02,1.1,1.2,1.6,2.0,3.0]) # Grid of capital-to-labor-ratios (factors) - -# Parameters for a Cobb-Douglas economy -PermGroFacAgg = 1.00 # Aggregate permanent income growth factor -PermShkAggCount = 1 # Number of points in discrete approximation to aggregate permanent shock dist -TranShkAggCount = 1 # Number of points in discrete approximation to aggregate transitory shock dist -PermShkAggStd = 0.00 # Standard deviation of log aggregate permanent shocks -TranShkAggStd = 0.00 # Standard deviation of log aggregate transitory shocks -DeprFac = 0.025 # Capital depreciation rate -CapShare = 0.36 # Capital's share of income -DiscFacPF = DiscFac # Discount factor of perfect foresight calibration -CRRAPF = CRRA # Coefficient of relative risk aversion of perfect foresight calibration -intercept_prev = 0.0 # Intercept of aggregate savings function -slope_prev = 1.0 # Slope of aggregate savings function -verbose_cobb_douglas = True # Whether to print solution progress to screen while solving -T_discard = 200 # Number of simulated "burn in" periods to discard when updating AFunc -DampingFac = 0.5 # Damping factor when updating AFunc; puts DampingFac weight on old params, rest on new -max_loops = 20 # Maximum number of AFunc updating loops to allow - -# Make a dictionary to specify an aggregate shocks consumer -init_agg_shocks = copy(init_idiosyncratic_shocks) -del init_agg_shocks['Rfree'] # Interest factor is endogenous in agg shocks model -del init_agg_shocks['CubicBool'] # Not supported yet for agg shocks model -del init_agg_shocks['vFuncBool'] # Not supported yet for agg shocks model -init_agg_shocks['PermGroFac'] = [1.0] -init_agg_shocks['MgridBase'] = MgridBase -init_agg_shocks['aXtraCount'] = 24 -init_agg_shocks['aNrmInitStd'] = 0.0 -init_agg_shocks['LivPrb'] = LivPrb - - -# Make a dictionary to specify a Cobb-Douglas economy -init_cobb_douglas = {'PermShkAggCount': PermShkAggCount, - 'TranShkAggCount': TranShkAggCount, - 'PermShkAggStd': PermShkAggStd, - 'TranShkAggStd': TranShkAggStd, - 'DeprFac': DeprFac, - 'CapShare': CapShare, - 'DiscFac': DiscFacPF, - 'CRRA': CRRAPF, - 'PermGroFacAgg': PermGroFacAgg, - 'AggregateL':1.0, - 'act_T':1200, - 'intercept_prev': intercept_prev, - 'slope_prev': slope_prev, - 'verbose': verbose_cobb_douglas, - 'T_discard': T_discard, - 'DampingFac': DampingFac, - 'max_loops': max_loops - }