From 6306a625da587b2336e9306710872a11ab963e86 Mon Sep 17 00:00:00 2001 From: Kamil Skowron Date: Wed, 6 Dec 2023 22:00:44 +0100 Subject: [PATCH] Three images updated in chapter 5 - copy/paste error --- docs/images/chapter_05_03_leader_added.png | Bin 157502 -> 165096 bytes docs/images/chapter_05_04_symbol_sup.png | Bin 201678 -> 211505 bytes docs/images/chapter_05_05_full.png | Bin 236728 -> 242347 bytes docs/index.html | 2 +- docs/search_index.json | 2 +- images/chapter_05_03_leader_added.png | Bin 157502 -> 165096 bytes images/chapter_05_04_symbol_sup.png | Bin 201678 -> 211505 bytes images/chapter_05_05_full.png | Bin 236728 -> 242347 bytes index.Rmd | 2 +- packages.bib | 8 +++++--- 10 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/images/chapter_05_03_leader_added.png b/docs/images/chapter_05_03_leader_added.png index 2eb8a93380350c729e9d77f89627a9ce97cb0a58..16294823083717a78249927208624149df1a30ea 100644 GIT binary patch literal 165096 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

G4>@^WO8b1GejZ~ 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 j%Kd2 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

0~SCVwo3RF?M7K zvoSka~Y7rD3)AX|*22%rjG?LU0lYRA|rWag_uy#oj1P4NI(z zL53C2!?9Np!*x9*IXJ;YS}lx7jy@cTu(x%gfvFLNR8Qzxnb{%q+JXgM+sYgAnS)~+%Ge)@0qYN9L=&1>#&aeo*q@VLrng1I#Z%e`sa z05}7ZFK{MvF922>K5HdKPo6x<&hK6)VUOo)-A|Zm$_u5)AY8#`$~6!0(nUMm>VtQw zfsnoU^0%L~;Yh|kw2kWYu|+&~@nbkupLr*x_g5sc+9svmcN8RzknONj26l z(vs8{0qDs`R)SyMs1g9jZk9It!TQ8F(MiupmN7E2fWoz$O$7RDs`ABY&!4>$3 zNcrR#P`R-vZtlWPMQL+e{iv%+Fuk@^y-5=U$)zp4Ht#Lw%7=T1tT@`;ehX&w{p!Sv;089XTS3?5> zx)K_Pgd;A{M6uoJS!iPZteHY_O&U%k@-qF4=HoHl!L@@vsZ`=5om5r8g8egPLl_+f6`Hv#pJ|H3+Y&}&{469sYVDzhup@uBHJPuGBCLlTHy2@40&OSKXUsj1M29Q8q7|W#b|PM0s^c>%2t=3DCMBc)7LlR`?&dW^ zd7CIH={X*JF4$WGtovWk;;Maugfm4?jGYJ?l(&Qap^OFplxU&Q0-w?i3!T+o|&{mE)FPPpF6`#dzzh) zd#x@;l0P8CI9uXMx*NBZ&9aGI)W{%0`6R>#w-^!HF_fmV;qa?Q`saOm3rVlWvj15r z(j>$Zs&k8l3^+Ld{h;B;$TV&}%*CM+d>bQ?klZe{QIl`X^eIGw2&Bmhyfvk@EL6kAs#LewR*^_^a(Xv<~BC>Sfn`~OUCxf6$g}M1hPLtGt+xmDGciXf|eAY63i zZL2mKuzxmrCIg2t`qENnKSM(K32<+(Q<_Ac5Urm_rt=h5m${b){BXEaIt5j~0$f*x zhC=p!A+HwgC5&NPmLcFq+KGTZ9KuH{%%5&2S9wFM+P;#oT!pk*!Wiqsx%xk~v8LHu05P=n zb+FT~nkduUD6?qt1?TX;X0As=hPU$dOA@xb7BHv-9RdpHk!Fg+YQP}HAJ$+U#jow! zsBSlTl-EF7+cXq1483s~&{+8_Bq4YA(-#LQ22x1@xlTHN{yLxd0#VEPUe~BEK}B_1 za2Y-rX|Wc5i9bf9FW073W)yMC!Jw)8B* zb4$hw%JnQ?=iTS8s~o92n{zEJo+n6Jc$l95J|iTjW7hN@_fT=^vqe0Tf&PZ{zX*Xw zrftrd@+Xh%!|C3uX0X!TnbskKs%X?MzH~Ut?%*+Fkl)c;)Em!XqvP{`{97SBu|(kJ z;Cx&XtG>=`+PH0<10134?7Z&LF9r5Nu|got1GIvsvva8scd%&OR+~@>A)5cY{f|Er z$CBba?09PUejDwNXIvsABB6=a_pW33y0B0*mbVKl{dX0eL7w{ke&#D25!3p%0L<&| zXBSpuRd;F1R$&GH9iriq6YufIMBKL^%0#YDb_z~+XytnHMa-RF%!=l%P> zy4By@=Z|ZTx*dLs|LEWg+$j1~ttqpyRJoFK<&mLm?Z*0Fw0_C2Vi*2>Uhk25X{77> z^yF{JzY-=G7g{z$h?(+aapR`!0O^}X9-^OZtYgRoJ_v*D!NXSym>QW9M-O2RLoNCFNZA zRQwNy+EGOjavYodI0-pl7iK;zRh%s2)1smZXhsoNrNlP#$jHO0S6PMHDL82+sRY<0i|ZsHkrOmK3PT1IN8z_1M2{EA=64S}O^9tJm-@fg=?(gY6?l#`9~vv98vDy4 zt0h+Sf?pR|hWJZs7+z|A5}XT|U`ns-HzKO_6xM4S+=wkw-N9NKkwuchn=+6Yf2Kl`1dNEX8qM-npE#IJK(EMYS;A9$%`fA+04UI+R(+tT={RfrH`M zWPL4U>=0`;B;oB95~$FYQ7|#}i!YUTC(6cAPzWD3j9f6*l}0NkpY##zTI&^vo~nm5 z{*UU9fp3{Fh5IexrR0y*1`K>>Px{rf@*qgwN59(;^AeTwT1U2YNrQVC+LofH6G$kf zdS7QxVD+G0nq)EUrqWX_WgXccTKy^>)@turN)cNA@e(B28k#KFIkoE#)YnPb#;N|R z<{pxow0%oMnLj}IJaxw1WTmF4Q|gnf3pR?x&37ld``C_)vws^kc})&hq=o`Vl>yB` z*`#dTciyla++h<`U4(Eg0@TC_uv>kxcJ#yS?sw~fTDzYDLC31Gd&>#Gm6`oxR;T|F zSzIR;bN;>+D@=vJ7YlJG_l7UoOS8WPfFfxL!3&bCk4Fo$JPJG#2ki*9>~|(*LTL$q zZv|UZz9rRdyv$}b%Up3@Yy7~|!zq26YjJF~gR}odIoDdx+{92|NRdgf#3@h8mGil? z!MI=9o^ngg&%co}FUCphW!xG`Z_R9D%}a?-UZJ{0_32Fr^JRVif!GTE8E+-!beTtX zSI-(0)6e?wxaIs}+p+65GoD)Z>+D6->~y26GaRa59h&mVog2O@gw)Ynsd}x;O%@`k z2j%p94m${CZWHUw$CBYtAz|*9RS{%DE3qdp*={Q@R!x*3-^>f@S$fV1G}<^iTeDs4 z%RQrz+Ao5T^<5Wwdqx#m2T^AIMDV51(b3Yj&rew#Hk2Z&;(hxu{^I3(ceAPA=%3X| zc&bD+b25L}JcLaHVNf5~KpeGue@KV91RBsulyo;M+}$rflH)B_okn3*Z*s}K&h6J( zUeIBrlvESg{H9Oc7hqaaH+K3u5ap4;iy~6V>Bw*OqbWsy8jKpUnP_)$bW*$#^xIR5 z2yx9gX+Ga}<1LN!SF8m_`@E5!M@X6h0z4+nxJ^*l9BeU;mx{6om&}unAkZnKKaVF& z4o#fDsknF@vCD_Ku8t+oI-M7gyxbEAvtM2O0Wc78!^D?=W6A~IeLao3>L6{+8$l&O z4g2lV6H58gwqBv=Xk&1GTlm#tD24mGxAh-0{t!iy5Anl>B(K8WKH=|On!EqKbz}50 zOKg9K$Z?0`@Oa<`>-~qqyS7?Ti9>l7U$Mq?i}Tl38a8pZYMrV`>Mx;d6DrzT#D1)I zIG||KF5DWNgJp|#{O?)4!tJ*O!b?En*K|GVRIjO?QbJ!&io~Kc-aOtLKm7@|-Q63SGWMN5y%go@ldQfd`G|WDn!3vv*LM%Pl zk`+a7)U3g2w9%iRLHp`k;~{vQHIzu-3tcIRSxiwzFn5ydTiSlNfHsLR=YC4@(MMk= zeWIX{@JKJrKd5BS-4DGXbz_Hdo}h?;my-(y6Yz{Sr4-r72NwCS72tQuJRne5LB{It z3mB)sZ&G+PBm_5h*+Dg}!#0S-l-})9ilks}e73wH3}{wg1&q+&^&k)KRPxlc;zAw`L?plSR21G51eg%!Vsdvpq zJHI(afrV}kMP#Cd{)aY)rD*BX2E#K{(3}K|>(esdF(aDsy7rvA`ce#{-6*kLS2t2++FB)Y!N6 zP|cImQTz{F5pXtE29*7w@1IWAAE#;t@#&ghRU=37@mXu7z4$*YK-Zs=(`zR##GsSu zTdyaBhZy-aY>$pz&O574(g{_<=*7EJR@l&n}eABnfhfZND6GsEwb5hvG`wf5xVm3i?Nw}>FDRM%`d zqdds6HIN6%vU=kms$W6nDAK*Gt=#!=XpB`me5D-b0JBGxh7e*FqelbwKM{0SVyqQl zJka9I;K?y}zr{z3XGB_MG4!|HQ26a$+rE`Op`+ACKKa65>lqXhh||S=2=xTt%@eO^ zdV#*+d{CtF3C}?TGSy)UH)U_?B{4iA!Z2uOP@zx~D=ATpHe$Sd(6)IqSPbcdKqu7mLBKrexp^-4E$Q zaSS3zl!ls>yNDcy^FU?8AS@+=m+2K3V}h&QN{`z~LB*K~E`p}{P&DYYuVI_&C2uN7 z2LJ7F{&$f>$p`}VhiV>=u%H{8~i`nqV) zP7emh@uI1`_*8o4(%B8<^r^HRuB^xNy1!Bfyx&(NV(M4agRIF;*seOJZQE7@B+Cy-V=FAlPA<0Ld0gK=mf7918; z%~z~@MV`F46R*rq;0;kGQ)V!vph6fq#%n|LNF1Ke!|d9ksP~6aed5-5z3U0oj-3p4 z&KcHJE4Y*>gf^z}r6`fnN<4X2nnk?czl(WK#MMxEo4xr98~?`tC^aY&@-Qq0rGhW! z>kD^LR+g1T&S3}Ei%w^3wN_$;)|BMK6BxA0Im=NJTaPK~afCu2Bap{x0zd3FGa;tTD^R3|z0K zMGzwt0I5o%PYb6ZH_AZf!UXZ?MH|>b8`a|L|KLxcx`+xm5-c9LBl|}W8y}Tk zll_jI_{YT0;4kX|qTKEiyj{Yt*#U(wR()@cX+5KJKTWhEqv34EbQ|55DdRONk*rjM za#fuK>H(z3e|FndscjG6nY=TlzstbL3VitbG}Q2~JB~d}C+YG-u&`gldb9gX9NrNg z6J-@Sce|7N-CQ512$Pbf2qyQMZ*Q$idM{0TA4Gc<#bq(G-b6ejpRE7bR8n#k3Jf^= zVm0?YyG%QSKm;>mmt~M(?MkqG+#+_>> zp;ZF}WHygR&yqWRpLy4c`?ch|1j74fpM?&s%j{mI1PNO;`GA1#uP~!b2Wl}M%oUn} z$KrXB#s4Es!?TfZ0? zSQ+KQ_Z<6-c|zjfzc>2m`N&HlT;dT-_Js{$#boU0sO@N&1_`wWwCKv>CMjKuyQp9x zoA7v#3IEG|rt^S0y4o5r8em~$T-#i|$;QO7+%>sYP->7g+S>v1CfLOwG1?fr>q1cs zNKWRPEKM`swl1D}8Nyhs(UjI~V|I z5D415-D2@nN1$c*+ZYgTm_IEdn!7v_2pa#@3?b^+ezh6oHCwX4^FIAy(9T!=%RAj; z{8RO|D?HNsKMw3w)g-_Nne|&O2&ibWFD%o(czwB|$#aX?;Pu_hy313x9%mQ3>&jkE zc1IbaGmS^_Kf$V;teLG|k)f70b!Y0@r!2X6-)7POoV zT^?*-?)KBw*5bVc0#Dnwn|GV~oBr;#NYqs}SI%rlsyyi+LqsV?MqF-R9w`;|vs`3c zu3C$69x=p>G{;GPszPza^Wo%*04!j(p zUyeG*Zws{inwU8LYx@wY?GKeVNf60MTmx5a|8A*1TVGx^n$T6<=1YtmhN# zR_rgSz{Nko-UnG>GD7(yz_Ks{BXHhRD(r= znD(z}%W1{i_eL6Gp{BHw1$I_6{bD+3wCbF;mS5eO zdf_tL=;aY$%YgvK4T1xehZL7PS(hsOBXTxiyY&l6sG%D%+TM9ObF;yF%isO<^+S;G5xjyD z`uDi0qS6)Q&}#Vt|Nk{zeDvLW%S!EMM2|)~56V#v`pKvI@}WTB%HTw_U#8EA<=K{- z;fO)ptLY{{@&r_{Z3SJQq$lJO;+hj=-y%Y%gTd^W4s;Q=yF8ShY-_T-nZB_0YQ=N+g%2Pr_ z!q@Zii_B?%P(9dTULNrTC6<(6S}(R{E-&_5)|y9;C;9`PZud*lM_5Y$Y^56OQQjet zr7)Cndv%M__6H+^mie==|It9s9Y1dXGlntSdA#;kQY_U?_4EE-$X!(U&{?$@n(oz+ z!i)EOP0Dfm;`vidM>kPIyfX1@`{|K|Vp}v05ZG6?ybflZHyc;iXB#(1 zO*M@x*JcBkE$^6DN;-`LTz+reud}~}O2FwLaJgyBpg|($*314des#)?smqM1t(4RZ zDf^|apu^M4`l1HECoh)2khXYF-KpD{Xb>nJx!d^9)di`a@?h zbD4EN>~b}9TV^4>I*GSj-`B5R{@d8fvfJ^px@FVv(r+Z8Ehj%MrR+Bu;Zld+R<=*J zGA{S81y%Wd-?BVfiqk7eqk5FS_(aaE+qYJ#X&(q1OuyWVHMBT>WqGy~*VEGr{AuyW zWNZkC6(Zbc`!%PmU`oN``t<^q%Z1yQf0x|+_Zx-#PC{qT&)aQnX*|~fd3C{5RC=$# zbtsa1)~mOn{=|1gEgi1AmdIC7=f7U4BqCMsusIoYIT18HHvRCS`2P5EZ_w#T%j`){ zZFBI2uz*EYIfYl_Da7&KI)8?0XsEGEMf~buIhlEl2b8E9-lP zmVU8OFRLN8@nq2++ATSHV!WxEQB+(iNxa(gJW76(ZOta)Y|%Cbs6y$Zzr(LJp8~6x zwNe0N6S$BoFa4JCHsO7FmhYFTyWBjF9o17wzbi8Q8kt?cNfI4F7boCqB*?8_%-%Y_ zlM@xyuvPE8vuodS=-1-iH92CO$awt?6w{MFN@&?n)l_|FXI!9DLiY2|U_k&0iNni3 zzawh_%W~^u&E4nG9g6?M)K|Dg^+oN{jig9-2`JqS14wtLfW**@bT>l@NDN)lASEI# z-3%!p-Cfds&+q&0eV%*%fOGcjS$nO$)_T|b61wM@nyOvnyuy2D+EJDG5x=&O+dOEi zK%v9^>FTuoI@7ED=I{EXoMADczk%Cug;L|cF^Z1B0jH+CdS@qfbIy?K)A@ioC$B1U z(|;j{62IJ^L?EO2ay>oo6(wHKU+QuN>%S+2gdlR0o3`Bk&~-R%xfqXq@8>6DsPUQv z0m2Je1ZX2#?#ki*C$a#Hs9UF8XS{i>tp%)#m(Xa`r9+FYpY? zl55cP{G+2of&9eWsp{>WI zr-KHXQ=sL@@oEQurJlsoLmnBqp-%N5Qc@~&k$UTMn&V_Zk7WNo!Hafy)>%(JMPzi zQcPp}xZN^KF+T6Qsoxpc6K_rfT(WkMPg8qmDR7a5Nk*QinwAB41n&1&@0Mo|^-2v7 zJ}RaaR?k%9v)IK<61>)0O4tUpKyFsOR?|EF33fih1NWCtn{BK=Yi1U2dE6c7+GhKW zzdQv!r@O3vo*o=59H|Lp$;XQQyT#RdI4)ZAU@PghkgESj1Pq1j^bC7AppoFdOa?tK z0gG)q_|YhC7&MU>eFO+0N7k5hy5Gg*J)Oa;MXz)ewF$|L#dyTTZUxOBD~(;+ofZys z9pDCd359OfSh~gdxH!s>DTOJyteS-&-~c=;y3^4&mhnpU;#m0l{>5laNcg@&O^8SY z)e#Z7k3wtp1w<{@Ery|$=y)HILk$s-Mq$JeQ-7Bp{e#Us@3w7o{M7W-y^0&s{#2m$ z@q{f5?%COT={GjWtEKdP+JEby_vOo%Ig0pnGk9>$vEcv*Om*@LWQI|=^D)9Lk{Z#zv$5m`( zWYM#`hU)a^tGAU8_Yb*2A0Nh-TjTO;we@NwHZO4(e>y*`L*SK}WN)JvsDxbi9#(_O zc>Z|(jl60cujrbeY&>nf23{T12KZ&hatEgA6s$*qPwTtz)-!)k z!sE!Fk`GIpSu~Y43+RC-Ed_lHinh2=1NzkQgezOeUuVg&3$71itInfvu#cRd{9{t1PmYsk(y~^44*6X9?c63^PhnYjTi{JJ608Qsf%OT** z^~&{TQ(ypHWxxLW&THH6&8MPXPA}`%VsPm*pK;Ac3%Z!(cg!_(~uU1k=Ua|20shN8;L?pD>Q=B;JP1?UmR;U_Px?w1paAe)2o*U_oij zN3!I<$PKemw3Lv-)_p%k?=$1B>(Jg*k?Z$Im_ooY+DyFp27zrBOx))_ni9n(oCCke z5SHYvxmqG$f$Fd?Y;7^p+ggy4MfiKh;B`k`IJNhg(`YIeMW;y^i6wc|bKW-TdJ6SoEe1BCP7JZAD5X{E@{$ z&9n&^9uM%l5pQrZ272h-!W;ctGmD&oi+jm^_{;-X$PiW&jo5wbF?bA-t^pQ9vDj+6 zADqEBuy*|tS2i|MQHU!v(bl{Eho1P=<@CeDectl*Xe?)kU9|SB)CUuu4oe@SN~H~s z`-4p3B%|u0rczs9cb;2|;EXZ&*wb2)s`8t7-0LgIgul&qZeH8w8;A$i-_^yh@VT4Q z6?R(a#!keA`m|hAuR8lMxat4K_&m}VXi~BK9C;aAECOGLdtd8!pBpcir}4Ze$(Lh* zk0@ZVIK9fSwWO(4)I$wgb;3)}s~n%*ZI5#m7sARmh9+nkYM+vFtrBjCp8jmd;4*V@M= zN>JbW#M0k^pF?Pig0Sj+%^pyLw)XV2c2Uu8@LL0o1hg&kF+O1L0aAb_$3Vy31gae5 zcKc*P?PQ^EWi#OSsuyL62*DT$!XDW|HC;VoJr?LJES@Jz1UnQ!2L0r6L@8XC&n>0j z5JnXBi*upXg$6eIV-kb47uT#@jh$MDy{6cPJTw@P+L09I=bxBfl;lEK&qqYl*8LrN zjdux1NdBR?0_Z88tFXtd2oW@7sSed811u(M1wU;d@J8~BPx;V!VN{^7(gMJ&n|Se7 zug!@|!1|wL!?=4$8qzf@3bZN#zPQ_nH$TK~Ev19>(o9Eydtk!VD(zHKm~(1?S3FQKYm0yZnn7h8@qp5=Ow zWy5Bxl7or3M*UB6Fc9!Fx-z$QlLX47VTV3Fp)P#nKDl3TaK9V3riCM=$oXRgV~z~- zSH{^{OeV5?O6p2lSLO_O0FdL`i=6?7y85QGz~8Gnox^#0JC)usGdt;Xe}APcFHaV1 zNc|7U8LEsL4_5q67XHoSt$6MiXP+&N9_6e)o$SBKX|Qu-tke@D`^%ARl!@>;`=blI zfh+`yII|0Ir5ROY!MO2}-3rT!Opo`HA&dQ}ea z8?r4Sc!0ResNjKpT0#w}dWG&M7+9tXjF8qdF7lE+$rQ^(VEJ>6ESh(HRtMY%Xl`)v z&feYK$+zd0ybaC|i7sqPPHG0S2YQ>ryJjC=5H#zwo40S#~bhd6^ zF9tqs(yY3k7;@>-&aEvZio{>Z9cxNRV=_{<>bYNpjAjuMg;lLLN#1nlJvT|_WMs5I zn(9}JKg6BC9%&VAWs~Pud)}#e_I=RrPziR~dc8YZWp_Z!#+u1yFvU04o>@`h4Di+D zz2r$Id+NA*D}G(_gB2e|uLT4X)kqseDnzdMT#1%m)BL)lSp9X}Px0nU+z#YwCqJ z@n{z-Dp1vTC|9QK%P$*WX=<)LDibr9Xi15K*$6`3!cb>fU#pJ(WmftlVO!=C9Q9=; z9}Py3LT?8ROq7vnI%Kh#8Ne!?xUred6` zK)~;s$#>0Pbnf_c^L;tp)UEH~`-4SsCyUfjFoJH`TjFmYnBG0|S;0X>8z@p{E<#Dq zD;*q)0JyOgP!z2@abvKzTk9oA6cj@kpxllN$Q7L^ELg{-5O}m0*-SS*Pv{tTrc+{D zINM0#FU>J3*QGd+wg$;>L4wAccg0+9+C|O1?cw95ImiK7G|M{2dxk&=Uz^adgX%Zg z`W>P4wh@=uG>#kbkCePp#fT2&wq(kGi&zWT3$z?F{Tp&vn9^Cv5e(+ftNvz{?fG>U zck~#cCAtiT%#vaC)o0IRKevI$C6g)BB1WbSu^W0z1Q;f9gE*=^-SEXy9r4}oB4!n_ z$tAV}1|D5rNVoX%GF4+j^MY{RuHrjxT|L&{GIV8giGt)RGXRNbH#x+39PxvRjLM3i zC$U9Rac_*Ev#)xcG(#9t$Om1r>V-v}tv+S(Tl5YyQhe6qp94`GP;01?a8<>fbf zrBPblcfQdZafC^cH}b(UAi`bxf;b+$_lgy>z~xO`$j$Dhx6AE<5hd1VI zVJvj|uwW|ea;o`ON#**wJ}XnI9F6#o-|^MeRMaRlC-6C7sQkKUnA{;U(c-i-j>#WC zl2K7q&Wf1(uSYDmdJ0=|3t6HR=O+li{zzYzEEA1#Id%P}19EtrZhkfH5Oj@v`gDd~ z(|!UdEC2RW6TRU$sTfc49l!vc(~mHI#p&e3;k@_zKl6wu%}Z>CTf=uhtL zlfR=6r?=dgXO*croAzhw>txhxSWl7*la=M{y!^K`8W)_Mi9&?T9&Ue{y9}`RYU!K9 zCkj8hy=TstQ86f7kzTBDsGeq{MYlwyh(t$Ee{U)hus30qCD0%(r9s3sQ)py1Su6`s zkI6D33z0xkU(sNYZ6FY%_n}N|Fe#&ji6=azr(zLlv1zeT1GD`pw zF&hG;EUG^Uc1#~F*Ox+}f8|?XeMZgX2>D4#atz98&H?xPPkuL00*ZNBEOd;?kf#T; zz`O0qx;miL0h3mZ#)xiAu_>tlZAn49w};K%mf@Ehjn)!e>}}MUih3R`H%DzQ>DA&D zy3!^zI!*riL!x2saA2Hr>vpn9dG+OMmw%>qtxurUKtVzNj^0Y4Qi`{7f6>6w7$5in z5y!@axRPN-->6`=?oau@T#b!E`w|4pp?Cr*>JpuB11Ek)9W>&aC<78f2k=TmY^;8t z+XMo?fRJlx%eI;wH*a?4$k>VxNT`3E*?MOxcY3szKJOE*UABZ|P?5z$V_^f3kJ{QUIn zr{E}5ZIVf#6&xwVP05mmhMSne|NpQ6mq+otwzI>VS=5VH8zW!D?{4>Pok@*<3fYu> zkVcsK>Eh>naYMb*aV)IhZ?F=du$57;o)@?=q|kXYu|m~KSc}}{I(#q-%;BuoLFR5~ zfWZ(VD_aig@}Z@IecPX6PXMuxWVuVxOxcM>{ z3yb}j*HmH1tIbad%bdrbo0)`p+{X>#`dGPRGF_|(8KEi&5js+kRXV-K5F~}vU{=mC zYwH*bjg2M8$@%%)id1c0-kW8Jd4SD$5*JDcs{zbK?CCabAkW)>|1J9)PUGQVSRJ@( z4x2=(pHehz;-98dc}t_$2Rb{tDFmyM+~R^FORD z->8nN)EKn-4&Cx#AK<(i1!0wu@mAuEDG5nc=Z7XNaDb_7W{2fYe>tx9cCiRJt(+fS zb4Y~}(pn%g=%XvrlEgu!Q3}0JH!U1>PLMm+9mp3#%`xrzDQdElh3mkA^#)@fBC>{B8w&wx1h4X26-Kg{n8q*WVqINo{N-7ZBbF;zNQCm-PM>pM4YdL{o9 zs{Fp*B7uod^r6Ygr@o=+&+M!!2ury#l~Gmd8~80mgP%2e?ED{pB?+f#%W-)rd#d9$ zkWgSN(iPV@cQ>e-1W~DUO|6t{GMIk@n*@1)dhGFE=iPK8V_8b2yTtJ=ivO7!$@<*8}alS0@mXou_x85!K- zH#h$7i^O#`MMuZ=kLmH2y+^QqDPp12L|M9&X5V`~O(dDIdi4_FG1Q|t>Dq9(&}sI_ z_qKmKi!R59d%lZ{D+2ZYZq-f7uZg0VZ;qEm`GuP;uPOi%Hg6m*$QG!V;HzP?N_)YC zjrkmbal^a*gdOZlR{GEMqXQhyFVy4L2!B>=^>bqgnO59|+*hlk3lr!$Jq^NAGL6mc zVo+0i3^ryH^K7KlKteJbiBG! z%qZ%0^)pWXi)#<;}a449a`>i|^6<0AC1$Qhff*=VGQALe09RJR$(y1Q@G{K66 zzEv^~Of@z0msUT_xcDE`JpWTRe{7KK+;U3C!F^S}kdSWHa{By$_JF>6Q*cuw>|sjF z#mo09;jQ$?=9`ojR-JrWX02(25lrSIeiR;tOFZ1by`DMYB+jR&mnOjV%w-3HZC#qk zUr`I4^&BtS+5n>wMrN3`a? z(9WF$Z2o?9S7?2D60f&kGexJg_wZMiAw<2kttn$#_=dhRiQ+B@)Y5D^h=NBu`PG?iMZ_q^ls^aoea|LXeT zkfpfk^b}$ zAy^1hiXLS)_3+Qhe7l4Hc1%}6L6N>ZGU4t&v6?>>`X=WI1Jo~FQ?EBo#h1B5(buN7 z+OP#*eMwllS{9}8-7BDKIxX|-v|PAt1>#XLU_$m<}#2jZ7vZ zqO>lP+lI+BD5|glx6ZiH=E^1DzDaP!uj>gIpk4Gj72@L^Q@ck;pUZ98$;9g@4YDRp zfR?R8Y$VhSplwMklIGp#*OK`rzgLY&eIb>ed^Hf20l6( zhx5wRyQ_b-;~!P!-1j6t#IN_id!@soks0vJ#_~fl=9yM@XGUTCMPr4R2^mn~aQvG^ z3ZL9!d%Yn6GyloKy}bahWe8l{>vW+tN=mt(r1Q}9H1J_NJt3Y`*+JKZe1=yulabL8 zMUlvpaMYp%fww%9AVhd*DiUruPufp8SYy($Bp?al5G=hI%0~mcFO%#fKlz8?Ns}=d?Za@`nA1aUc{@5w z9H@(2kmQ40NLjy@j>XqhH=r%+axPao$koInWBt*;7P7C=?P2j(qm$@LnZT{1P zqhmeVL}3!=@P&niNccxCntb_iaATSduNr0cmIRB&Ms{9J*4&-E_)T*r78LTmvUS8y zQk2)B7UuF>KCqp1I*+Qi@_Gvb$O6{68aJX`^j;JV-N^}lE z<*e<_!Idu;KOK{GBRJEB5?8A|)2MxgYZhOoeZ}HqI%D#$Z^_)e<@`H4r=7bii_UF6 z3o+YoOnuMi|9wgzt-$zOHkaq`KXNr^-ud$T8Sa1Guxs9?2_@edYK~Dpcqoy0SnQ-w z30g0rX}+y*La(>Tbg&>mlj(VA!NY~C0Ob~3lnJEeT}v_)6%S|6_wWmFu~xON)tA^V zQpXZUSVrdfMPvn(i=a4FDYL|anHi5El(Z{qq1-<2;al>ouZTDf2+T~&ed}xGYdI`D zRG~XWf5%90jhjaRSB2YQ*z5#w(Fq9@Dm4yw19;Y5=21G7A6Xec|LLDg>t21dasT_! zR@5pwq-90VOasU?lc1?M`TC072p0`139~4sg$!Z5SJX+Bl5h!M+Krdb{FDmri*5tc zDw|qXRNohSx@6~9)UwLjg4Gxg_!2b-16BsZZZiEoBC2SWfA*A`?~ze?!>w6+w@-$R z2x>fePk27zoj~a(A(%G@So+QN6*)on%ta&-x~}cF_%;bqTkz=UXhj$LSVgLlZMvW? zDepjiPnPp-|L*fGr1OcQ^C~wlAV{k^g&j^2E`^YY!a+kyu}`&SlmF3)x70#d;k<}w z@Qy3QN>F`Eux@m0{=-PN8I|CEx`XvVSzkL@Ll6 z>|6~i!rLYhxN&-26^GxSclA`2*1#?3Sh4-I5yqRT{BEB5%pdzuZF4R~4uLY?NfcnI+J>iRDEicNZ=$KWrrwX6DEY zG$tGFk;4naWclN82KOh;cB5?VKSt`dX`krAVZ3xj;eCEJwUIaUT8H~urx`+MSzvjU zY)0HXbX{mNA$=<25HQ0Sy99%U3wf)fIYYFa_HBwcR9@#VJt(DZ`+P^>r7&Pj<#Xfc z@+uu|Brzv^dD!lTS(!OnGT1rdHN(8Hkm z!CCU@vvy&xB*8eOm&&XQ0VCqQ29&VoT;LB55rNF%cVyAF__^m{LKf5u-Ue-=uXRGI z;8fCrdwFW7gA05<6oQW=Ff3&Tcu@%#cV!0Hf~6S^L5OPKCp)CR}1#;80k$ zkj-gWM%{;C;a&e+I6w%$*m|=NMg6h|f7uuujJCFC*y@&%!oXrqXPh;{4UYcCeQB%2 zRBjx&`gG%myII-)fc}7-L4b-22BTnS3JoNLqNM{68ipTE#v(4wH^BtT(P8_P(Nc8( z=yk73kP_^jf*Q0M9VTb{O8Y#zt#;FAVdBOIw@GjZh$iwCHh0|E+~ajk*m1( zZP%_(+Bch>3o$n+nhV&Dk62#CBTv*OAy-Dmv4oolgZ+ow=+5r$*y~UrjzENIAjO3pUe?iv{n_bD zbA;YZ8tsYV$NDoWJ}>V+ z=LdOz_~?;`-5?YqJ*%~ggF)vFBY+tY&YcMpK_R$#t&H5fG@;)VCw|LBSW0U!PnD$W zO#G(r784de4|<#o$`tZG!?>zqg;Cp{-p0JnyB~FdY_y@VgR^mGqZ=ePo=Xy#$dKBz?}Xe?Rm|BAAVvLi$}WB|*;*xpt+$fCDjh z4w#&8o69|>EBqByPM+Wxc7e__8C~e!qT(&g z_ug0XnxgY$s<-F&mg>X9!`SEm5?g3R=vzEQkY?F$7(I(LMJ3%^>*(0;0fqSmV-qE= z3h}6Vs?VRQe=~(kjhQH_nEh5ka3T>SG79Z)skO~0lWI=|XG7_ zg%NCQcId67^ZxQW<97POkJ3^_AIX!#m{{qom7i zpy7sz;}hHXW91>c1Y$%O!jU-N)#!D5B4cnI2+CjP$}SdDNuFx#&ZN|~o$)0j<1Nu3 z4oXN4&tLIBtGZ^7OlDTruSW0huX8xnW_J(2F>?=dAsNJCaHz>druBGqTf|h+v0>=P zvGvn}rK~Ewkd;7%lfr)zPB7}P(KdEozPzHnz2%n6x>);?_Bd;kzhEZkd3ge6&zaRq zac*zu&W6z4bUo}gNnCtc?RfgH*3sz4g3}1*pPRr4EDN$*Zt(y>How-o74YGh(@xoYkd!oExJ(Jfa4aFeZOY#E&k4+A*oh&lJKJRcA5V2ooLUnlQ6XiMu84Q?|ry1WVl=L1-A7p=+;X%WY<0+`h6MH-7sKHE6 zP!p0PRiODQV~j7+l>?%s3l%5zJo8N0s8yg(^t2f2TZyXqd~UX+@`a-;GL8&~ zp?0vmG)I6>=<{w1x(T)TjqGBHpK?qN$ZaMG z)A>+zceANHpXvpQ*nG!WHZVLo{%C^ed&jaT*CklPGKEX1tMyWf3e5#^}U$UOzB8_5o;4f(yq zIvnDoT)3$!6|>2ADc+{|u1sTGymBD$cJAMycJHoHv#_oij$jIMDPm(^av!yFWc*gU zJ=j8OQP|&2u|W5Z+IM>bKHH}g)c!y6xzMB-)!Og?;HSL2Lg)<#QmA13LY6^IaWImy zUIM3KM;!5Zvltv%2eV5DRM;WJ*?BoAE7gTN6ox^Tk;~$sc2%ab=+WG?}{-BRgrYhCz;m zjXKRyFq2yTL|F4ALE_|F(O99PL_0h0sQcW#WK%AQ$m7|}dN3Ztr zX7KgYFRLU2=9mCwdcy7TIN?`)ldDQuNC@%rVHs4hH)fz8cCALFC4!b8dy0I#$Oddg%RxBhENK*7KDYvs01Y@PI*}1gV&xJ3>xop- z2bIy3P?)hauO>*K0s*jX@lg&G0U>C>PQ{(i5XmPF4T~fLed1U%|50wR_j(oy+J9YaWiZjKZW*+;OFZB zdAJVdPP@@eiN9{fEC8`%sTP2UWfb_25314%z|grb;ihTds+d``RV>Lu z8lQ|3rW_WkX=7S+x$S665U@+4pIX9M8OKHoRF|^f6@iK$r-S zl-~jkur>ORwAZYmIK(NVD2!4wGg7Q^ZbtX^b>EmI3M*>o_>mXyzU8c8v}G1a+?QXY zF@pWbkP}G3382EB_}5>Wjy}g+7&G2u2H!}CylP?{o@|U(V4b8nKkBwO#8(89lWA)o z)ub9hG3f9$>BmE{xH*#VeyY>4(oG;yAr&#OP-H%lR&$no-m0Z>`JAd!jvvv4ieg-} zT+AhlTQX(SZ?u7HI3bnFSXr|0Q8F(==i)W<3g(tSDQ$jbrswPwbYGZc?z)4daT!BH zW9Tz*bPp4$>3JBmVZiv^37$GBQydcv;`Q2&O13b*VI@kIboa|#akDzhV}$;gZfdH;DAn}!K2DXL)l(LeM}jj)WDtpbyB2DZnw zzzL8Za{!18Z^(B!5ca7eaZYU?6Rl4Dx5}ao3+ruP;JAi{C}m!GT+!O`?xA23eeL4= z+u3$7*61!z%{%_piWyvGNO_sI(E3A0mRel(zX~$TjMj?V@SD)x!Q@Esu;gY^Nm`zeOD8e zGXIz_csZev+*f((Ue~mcWnL1DmS5R0HMiV#P;4rjXt2rmAEa5S4Rr{Q!T?&$l{*b0 z?MTA%@Y3-WsVq*?ht7$QV4(3r7@q>3x>anrz2m7+NtO>YjLIW7<&3za{}&7GqV<=^ zxD6|hmA8zCK!?bN?%?=fXsW7_;Ui1^x$nlXFdF*h&1dV-lz0wXUQ~7iI;CRb|Ej5d zsThvZamA?0XxH$P z<$uF5ZK?L^ey{$FW?4Ft~51!qT>yqN>rWyb?bgarOanaBIJkgd11%~#3B?dx3yPA-qoT zn{XoKNf?<05@TG!^T~H`GM5k!O-gntkWjO|8hJ#pV9in=LTh0wk_~X|6VYCAgc=77Vcr zt^55{^xymk;JG*PLnl8Dqw~6P#lF(vcK)~{SOI4lE)hKCMbnPN zz4mxVeL`??79XDSP71jzx^T??{J3aTAT>!7*akwZ&#+s3f;jy7lvx(XggU$0nx;y5 z4Le$%6#ErImefbC=q?1y-)a_f~*u zTIrxa(htp7govK!6S%*0^0`*!AWcZ|M=7eDhD`9-UH{6{!wuD6b$Vuuk_b1i%UX69 z?*CneLa?wUeSN-$2R_fi{t@}!{&9t;5Me@sbM?t4&6^8hLT=9OS!UZEuVZmOVcs{i zN=R-t5#;K`S?n%qz(1@gq<#VB_dp4y-wH5oOe$DO0H=E^fDP(tXz$gIV^ z@rcK{)FC9H2kub$?R>Ae;?vBx5z>U3M+Y8E2;W#>l^t}*qQ6q1$sReBK(UE*)nKA` z^@;r-A1LU9VrdafOr{*9{-WU(l=cmWVY5f~R#u7AmLMrq%QLv|vFT zefPi&LK7Wrh5o~+{7I*ZEZ$yRhQYI%b z75H`Bzltk{7bXLp&r%bxxuzE366QxmgWj%<#f3Lo1AZJZjh$j~5R#>aZL!GA^s4DT zG5(v+A6|Wpo>O2}!@AJ4Lx@c(OCoGrP(glRvB9IxE)x{vbs%`H_>eP%VQtMs#Rg0r zw*JX~J8q-850)~h=i5K1ihJepNhN_6!JgF@4n_Q_=L#O~3)|i{*|6rx+gObV&L?F3 zjkKm)x>IsPvm_`g=@O2h%j>$nYPHSB@gGJxFZp#&fnr4KZZ_MKK4S$Tx)v^F~PtCRlbWB$5m4JcI?l*P>x{I9MwtgsX}Un zFj-CpAhiP`X?ef9a*v2?K`J)#B_IoW77i7a7fHWWDl@s%=b)112om{dso(iHvXp6|a@x)vp*mA|3;td5WOg ztuEDNbe5P8;W9Jyg{(0pc9Dg4nT2mN<%wmdvGfY`%6}MD;}zL}dM8H>-Cc2o;EgsC zw(U&aC@<0&J}6uNXq%$EnwQ@Vh;d>e73Rw$+u3{_F9%h&cA)1|?5KS|K%DA% zUz;*yQF>_s_abGA0X~#jXqcwyS|wAkCZyLj!4XDEK1uY7iXf&E|MXQ?JQnpog}02f z()e;Qh2r$5m%mJCEySqJ)=;HU9tvk37y@L+eT?7VA)E>xYvBp$1DeO8&9Bf+{5g2R zwY$P_T%mb~CMDY$iy?NOK6H)WW@QcM^n7xY#B$Tbvb;(W$(shKr51LPnbE1G_^Lkq zud{hZ74T88{=(=Pqd(xk&6J?P@LDl$9>r)-7IyTd``*bWINGnhj%h zU8bKZj#`U^+^K;4Vm}b)d+vd}oX#D8Bi>rM;Rt&Ko=(cq_jf)brXLNo?0C5^qlxD9 z%b+QvDVq&(LJ*iVpX`R16D*1%J%cw4IVr`EU|Xzb zZL0nL%m-8^u4*-Z5DPB_-uohm>~h^9n(a34Aqt)t3|iO@T6Ee;v*k9xqlsE44g0jj z97I_nDlnae^1fKh<)vPR2D5U#*D_Uk7@5&UG z;~Cbz{@+IE?W3YAtHR34AaPZMNWoF6n$e;Elx-zVMB#9Lrzd8W`DJGQ*?{vGgZ-9u znVODAL~Yh_M{xWndDL0cCtWuG0$L@*31JGNl{<_Jx?f!|czE3z_C6~;BUW@8hj)E2 zCI$vZhviFKlN-rUOOg_YA&>9pac4<>7~GmWXv2pm;DZou*Ofm3yaY4)>znsQb{MU@FUIqkjqR9Bfsx2u6UZWRc#RL z#a7ot@46yEdIQoBOocp=b2U z9z|Q#Lap1MIe>rAObN}eh?-UlgPYH(X#wm2&dSO} z$=wytE$HfsyuYuTBv1k&!L^AkS(W~J$BPL8uGX_Qz2M$lVQe!~uTjFG52nNB(`S$U zRgji|g`FkvZImh$xfjy@xw^Cz!mUh>dps#&Y;{?eoTzF_$KkBI5?5URTK!MwV2j z7Wx*cX>nQOKOjg5punC9czFTx_)7hngaoLx?Itlulh{7;7BH4ng4mXX7IeR3bh(@_ zJ2}R8@tGWZE*r|HL7cwxDMG>b!{`rkRmI;t7d}%RExb1-R;2?i9AA%rPx$#$09+W? z$Qr{Z>)_8P(yj(PZO{G4Vp}KZKMhL?9m|zsRqw*C2$_Zp@@-oYCf!A?a|rwu)1K z3C8cKjibfDpv&DQi){FNq?ct%{IKqQOQbr@ma0@a3ygNq(9l!^d%o}Q?>__PA8?~A zT@w-z5;7>zSW`BQy*8dZ8e?>!>C*8_y2=f?^hwjZs zo}#MSV(@7`pxd69-B7(@M{a{$h>b7vDyql1sV6;@_IDR0upo33yUqT1rDDQorObEu z|2-yBq(j7#O^Y7)m;3kkz8s$|EiLQo>r<4NRR0f6-vN(h`@U~wlvPw~&92cEk9c z*Zi|fuDl_sDc=t&wTsdWj|j?3yc_)a4IIL{>A|gjuJh7Gcz-bqTXp|cWL%)SqdLhmh%PO zW>Vat*+)1DuL$B}UB9F?E`J>vF}1dyZfm1&a7^X>Py4@tfdPz|e$_CVO#fOzPVO09 zO>8Q$UCBYN4~4l+*!VSwGGzte;40O)Fz6)JbhhV%c9=HM~;}?xZzOV^@dr@uB6|hh{~TxU8A7eFi(fl zV|IT2DH4AvHYNQz$tWmDuaHQQO#+39UWD3s;N4;V2ZT?rJ}B|IZ`v77 zbqvP#FQ->JB_JSh=8R!M_c_}CejhU*Li$5qydy-tpPt?U$7tZ8V_+b*NPK%dn~6~@YIJF>7)g$djNHAHpHWGNU=|N3?N_??=?dMb5yh4@Uz zXif{|e;-JuRYUx1*PiI@?d{0OeUIu%mUh_`OPxG<5(_Ez-VsN;|E;l>c@~$exy4r) z#+O|AnVPVM>P92B?n+T{%`FrAPtMLBWM{9$2UZw|r+rmZQ@fNb6KYA-@OJP2_RnDl zmV@~=L=F;cjEsyJhaBP1%M_@2@80TY zUGPPoP7K|-bLS3c?gay)+wRrlcl7hRisq6tuktZAI6i#%5Gy#Cj^lpiS+Ruqs-3L@ zot(tex0qb-s-&@#;N{;G`KnZrc$?^`3*U(oIIsMg0P_cJI3Ol}{9p+^ADBLW5qCIW z_(7}Xgu;wdaC!97($cSAzi`kXen?GC#c3%Lch={tG@EFfxMXEzLsIo(5=AV(47_vF zhe;{vram5%a2)5~U~T??duHv|rZRnCXO>3n)2DvKVX3^bvQ@kGFg3@Y-oq{2mb4tC zhZRGJ7fP+(Bw8{f&Qg07_?r|cfBoLGM6&XI$<;J{vC1HisWen8yZOtPum=x(*X^Ye z1$cQWEeQ9Aa6gUwKGYD~FWO^hqnq2`o*ov(t8JoZEx$bP>Ct1;@r|Q9RkD}f=x&6S zxWAy$BAzU+1+%khgO6YpOG&YM%6GQT{cx7T&G78964iU(CYskdjmt(rQ{X*y>XfKx z^mUefcP`4|dYCg*D*JHqoboAKc)^+;K~V--Lof|F6im$$;nl}aW3BDKXT`tG&`LpYlSf#3Hg8tf78bgAJ#TDjs*U8Kl}5j zGQY#Wb!bBF0v#wNB|o1QbX9!Vk2sIT6r? zUpMcPEa{Y)np$gD5?M1bVu^J$VM<92L!y?*`pgp7f8Kv2B=wUy-^r6W z8PMN>H0Gw$ojVE&3OrAnaH)idO(*AeagOAdtMt{YS8k)frsl+#Fdw7$&S&B3OhN$qRs8M`pXZ>o*Uq2*R_--{QV2n=N_Uqk=k zJLu#vGTXOJI}a)4yzah0ABcz0-hO$+4-?ffwY;*jl0HX{gb?s3DFryS_9|eftu2jV z?u2w}Kxy1r4;L2~F-7`_9%~Z+S*l-!d!Lia)4v*jNB|=U^k1DZc$%G+mE^8ZNQ^7F zWmx|_`2?wCrh5gu;uHR6)?>?o!NCWq$=8OE)4IE3Gp%E8joGU>N-7$fmey7}YU*_BcoljQ5&-Z@wUKh4o=09@UUhYK`hY(Sn%@t+ojyJj z+tA|4&$K5~iZzscQ?{`5bkgK5d3rJ~Vc|O%%8q3YGo^94>#5dd_Hc@1n!|5D{coK_ z)QsOLe)EQbnR!{7uDQWfs5w~{P?+W7Gghvz{>_ZUHGha7x*U<9i0Gv2f6YnB_jG0= z!CpX6P&ZrK+S(eQ)%WmQ>O|FLw>QDp0>E%x}g;Lh|(S7-TsS%# z`0oLxPR-6@R{WiJMx19P!Y<&YqN2&mfOOhVUvVU#P-!96u=|Fx=+Q(Z1JU4+fEN#^ z1lNcj%3ZN@79uO@r`Z~_ivM_9y&~t$=#sy>7T;4L8>3Oy)xTU#_X(dtlxVnO;p$pi zTH0eSEMG+ylG=f>U`0j626?<8Yz^1_gioHikGM2(PUz3b;3taIn3GJ8a3GLY_J@Q& z(N@1zFGnM-8{|3kV@h$c0ZZE4mz!RUydjZYK28#BSSUadt*wIm{OZ}-kr_Y)a&o>r zxfT{h?_R!qiDahm0XsS@EJ?&NEIBz@z0K8!2m7%(cqC`|^Xrb`uV23o46w1VJbUtl zIH)~6c(AcwJX-Ws|GcT~va2++)r6A_AkM_Z1X|OYZ@fm@9(JG2!{}l~tAFwEI8|Y_ zO>vThBSyeq;dExXzx3x1#(CIb82U7c@;`hM-P`7tWN%~BSLL%aHO1RhNL}}1V#1$; zBdmPso>SP^_p!09%}v)N01)y3`4mkff#vDx>DPMv{7ox={uCD%@1mf{(dH|>MA!xv zrMZDIj@SYCb)m%=?fyR4oGlE@jWZh#n9Spd7}Ak+gN83$?YiI(Y_+d-rnX?NX~H`*(+)k-VYU z&amzqTasX-g(I_VPnp*jf$W3c8nH2$`9vP{g@#0N|M>nF&d2qI2=6Gedu(hhCrVi=OhkxKk2o{$@!c@wSpAE6xaIYg`M<+X(aA05^Gw6ghmc^^D_ zMB3+cRgn&W99hof)PUV;bu}g#(Om3wnrQa>Oe{hp-MTPbRh6F~mO1_U_3Ljry0gww zzmIyV{ksj~Je(hi-`+zLWz5~OK>(|UutTI$+>|6ug}Zj`LO8fmLKqr^4!Tp_6~ z78s+_-`Gg0&^Wflf9*X(S%3vC(r#H<8Q?K*$k~6dPoF+O4{PH;7f+y1Olf<1Ai$#IYsC1}B>e zO?PSYJ@w~|n8_e~*-pJpzgGv@*aoV6eC+K7+qlBUw6wGwPKg6a9i;g%dCp<{1uq{j zFE2NDdPT)G2Bmw(ILJnP7rpy`odX`kark&|8CIk{&m-+aG(Xuu-DdRcq3IkEr%;X zmQ|0+Tx8yodenXD4-h~n`~UK>x(a-{qB@8icxvA;ijPz+KaUZVTApsv^j2dAEH ztD~?A|7H_pFA>)C>67Zki&wL?xx*0cg*g1D`RURRW&5p&ii)zydV89ie;6L#=`ysZ zp`?6a?cUd4onA3duK?(L^ypE6*b5Bx81;^N4hw>kgiDt2Ay+7+TScfz$ED9iuQ|=TcBOP&WojyxP z$)#@l+uch?Cq^L!aK_Ee4cLWHbYCFhB1G-X-3~9s9G>Op=OY>cND-j?A6ID<5f@_k z{oIqD{b<}hgvB+W$tlC(eZ-vHG`S80(N(({DH zb-Q}G9I%p~ABEG0pIf+nXMUC*;pJ5^7(H*WCoE9>e;ND=Z`)r!zb}EK0rnJbk{=MS z+NT$G{ht?LZEbC2cA(Zzwds=%b zP7uSD#oTmDveakV*vvROLVx@YYJxGpXUSCg>v)F(*m;j-0%`Tee}Zoq53Fe|Xm7HK&!y?bmv!GFhQl@qPPV z{|E<&zt)W7+D~!^=UY~ml_g|OkB*M+KXwV=ax5v!yrr=#yxEHH$fsBNjb9N#jP{rY z?77&9SPGH`iCiMCb9fl#ovf5p{FuZ82cC-ESTH?jE@k?T%#d7RRq>jho6F736-{Wt zcf`me#5w9ZUx71ehfe}TDWuSo$Di2Ht0;r@#DWlf6k|M)SW6Bckoisd}dh#K43Yb)7`w zrIP+ouR|h=gB0C7#|D#9Q;P&6i zWQ66}KkJMqbkei3oY;cv;xa4Plp;;@Mn|uMywm2x#ryq@&>4;rV7F$&AVYd}5^wft zZzY~kJVOJO{G_BLFkr=R-zx04xy(RAUKhf60?_Iz-&4`;n6+eJ*<~(HiJT=f`}^Ra z4jsCwkNOjgPTUnM_dS<$(*k_Sf{bl=$h=j|vz&(gj@#9H z#VIMNpQ0Htjnz;Z(od`KGA(Va@yQXCzcmM+6cjAr#cr%Q(^6@XuGQl-|FD+}ezUjS9qAOEY_aQfX)rI&|_O5@qp zfvD%trKP0@+S~WCvf{C3Fy>e6_eN_bWH#S^GSm@*Xxi`i1g_bovofF zkD2i#o*nq0BW9*`LipEbpL3C>D#y>sm=xdBJGizYpwt`rg*@{2v)HcP$-k*lQpKF8 zw6s2ZR= zplN;U)}x0H_21peKtZdt_s3`T#a)<9RhawDCa<8t{`Tz*-v23!sEgwucL`%6I1 zWn^ZOEc-dVAN&c<3gasDN1*rDkU=Ttrk}XlwMPyLxrSrpGo|yK16iHZxdjD2 zE4`MME%B%C{WMBze~_IS&7#7{+B^7J)Fb=6KIckkXUWO-#ROQ&~>%!irR2jsz}tSg_T+TOYRK9S^foH(MLYwd*5 zuI~6KEy`@W(9>p~)NecMaOPO`_1!@vx;#_U(|>V(cJJU|C{<*%`~hmh+DmJn8XF_k z4J2i`pPiR?I!+xGw)miPlvXwlJmzo01sk{(U!A$q$1ZX zXJ_Z~mA+dI;ZQg@g4;)n{bZ}F^<(Py&~>s;kNFxJytUQ8bm`L7tKV>PE7kbnPvjRI z^vhDe#!fj%fLfE;`rU~bQ_|m3m|HhWNk#Q;`OBG_{(utxj`NQJSbZTMCh+ab z%@k$51Ak~gM_Q+9ZCzE1Dlf1q>O~R-MIw_GebbTcUen1E5Za84Ph(>4f8u({$`kd; zrg-Mh`pC$LYL5KKnI~Gu;{++g93|KQ95GZJCyZXRu*ftnXn3q*aORQ?X^gv{>BCF$ zUDP6^qD05!F0}f7xf?sm$1L%JRzs#TWVLnaTSijEo`U^rCnB_Z(?3~gd}a*ikOlQ4 zc(R@=L#vQd+i@RrM22niUZiZliw5sOoT)ljgv<+mKyJ_qT6{WITK9O3pcH$(a2yn=ef#%wJyy=Vtzqvg!_2_&2KWc`)vH&p z5J&aR+rLE?XwevVoo39u#?%&67iUf-Qb@gDbG7}QBzGYhUE97~o!Ry@Wv-LT|9Sda zGz+OC+G6x~#D`&j{g}E@B3Ytn$Eb^xE4qzZn&oMWN|)IV9_)XAH)qh!1m%m75gS`L zbCP;qtg%X8+chTI;CH(#EvJc=xW_zvKQ*XHv-u9ncW~5RQysjhbv`()R-k=gM4jsR^k1Pez+SRpZ-lguyn8X)TAu@7u z?DFY=w|e}@u?RFMpvT-Q!M(hH&noa^$rY%Gvplb?%)`|cDq`S$NW|+}3^$7nARi#c zp?U@AeAoD(9l4F*kuWOvTa z6fPa2i7_#6U6*bEGEe_Jw*NXT2=wZ1XCM2HND-w{5@`-yT-SZM9k`P?w9MHOUmd_m z22wQ<#5>?QFdCmRZKMV#ahZ-A$KXBk3(rUQO z`pc}WhOs4AX?ETw@~R+%UCQBvW2=tEo;19_8UZbmFjN3J3oLW385Bp;TgAEOqOW*6U!8>GCV#HT*4Z7ulFDc5c#v`m;agq_`(E9%H7_TE~@40TeoK&S6ij_-`H zyuou}JK>6Gz1hgfV*ODi0KY8az7PE`}j3PWKJK`qx-$|E3P zhfcf~!^sQsChKp;7WvjBzp}qX<)53oSug1QBqHL~jr!eKyG6a8-#;^xRfu{d?CsG-7}O^_j@A|u6a_c5TNmyqabYg@#FUKlJ}MU!Ra)=EDq3CRfU zU8zCbRNVsOEgUuW%~p(%x>`Sfu1#^qf_JdEe;rlz3lS-ofFI-IU|LN<@*y7WVd5{H z%`bZ)&X7xAY_Rq5pgjW<6XtsxrnRd~lHK|AzN}0mNjfeninRX2{rmSnfBwv{TM5;_ zqGF))(mCMH0uCtsu8Si8s>Ys6^#B%s&kX+!Q_Gl{nc))<*lv*BzO1G7E5~HZ=I^iZ zLd*94{xTfEiItiC{=NIR|E^*b%uSXF%&#6$Un@E)s0#&YeT`s;a6gF|Mkkz3SPoaN$A|&I(`K zTyCWxCkKFJ0y{)qoC*G{)>b)ir zAhYB3?29_4vAy11C2;a&OJk#6mA99Q%7cb6Nw;4=P@deI>%n-!&52{Oe;?ME`npr$ zW~!*F_JZKA^xF7YIu_>dPty1*)mjRQ=LTb*&Mcnf4i>BrLI?2C@ZT@@9-lX}w_m`` zbD8feMyy%z+1b$7*Y8*j8Y=~WL?wnOh{!H?T=MW9N}l3*H8Xv;q=l&|3HRSt7cT5s zS$V1b-`w2X-({RG=q}pM_ql)R=OKrUZ!T$-(VkToE*~^^CyCFE*+T42=XgLGI@aYiGJ36beo=~jX+nVS-#6qvGTvseKiUYj-a^z;z+j%}}S;w6f}8e6d{#C*dNJFl%j z-H1p`h+6^KY_!Voa9j|qK+(1OVZX)zBowK{OBq^{iC@6i!p<_hy;9<{ImUtd^<>FF z>Ngwf_)9p{NnIV%jO%C+^PG#vrAuGpPv3Ijd!Uo^lrf}Ubsl#M1%+Kn8In2lP#&I% zxBYej_0)d;P=yvMR)=tNF@lF3kXZkvA>Qrw?fJ#UMZ~(>4-Bkt6K1D{Ja{0)8Y=N# zJ^q&BWosaXX=WH*o(*}h4810*UnzIwVj)4PivLk*}PA4(0eg} zLs1!X#p;2=ZQnw2EgMXVi14LX!`ci9nVFwI>;8MHtxeO$W+ty>C?x6y=S9Hl^mKk4 z2LHN&{erqW>K4uSeKy5EhblHOH@K-uu*yhN^OgCheL)JNV`D|Axe=NXtZw(eJ$mfe zxnVvQiF`LekLk`V6Zh$iLuXttZo@~f*ygIKDQ8omK6hK3MqQL#>nFQ|~kWf35ZKXks@1N!7<+ZnqwuJ^SnF!5{og7p`Bw zZeqgGx(qTos}ljgm#aW+o3vfu@6iU5GYQ&hOzE8F^wXx}RG3 zz|8FIUWJ3=cFip<->gJCc2j_`7Km+XXi#QQ!hj-ez7`9S2FH=Bq;Dr~7t&BsVfK`F zdgnAmXLiBO?04_}Cf*y8^jvcQq2Ay~T?hF#p@rP}LW(ASQaKT6@RcUl{n~Lis#&MGkWeKlxgO;ThIa$l&;1*PnsClXRL;@n~w?o$IA4L@na6GS_ccMsv9H)zZE`MHo&b5&>{7 z@o!4AYv7rM9XbP6QrvEU@~igy_fV-|F|sS0e~Z+J_1Fs>@1x&GJkg=MEB9)zR>QGR zNI#_xDT8)+=FHKOA9Dt6irCh_-lC!ngjhDO!jiG-WdH2|R}Pu|8sjo@cq z=H=aeXGDL68N!*6kdUb84+n|G49H5@Bb!@W%!0+L)R_%u!_N=b1UTBr;bXHe?td;?NgN2Qa zd!L`FRxvx%;?$ItBjL5QxF}@HN?nI4Y{+xD1<3x{O7)pL*B9RBzBrmrdd+9}!JAX8 z?^Cz!ds+n2G&*9Gb(i#2qUbEO%_#`_s&1%=ia0|^D&RAy2?C}m8TRfUzXLz<4DH2E zot)y*(lvx*rbkLTO=~&3>V){7+JFed)@P`PRPlf(K8})>7BQx50f-mF`%qggDD#hz zn*1_=l&y?#mmy}zhA=T z_E}7Sw&T$+@qrj^g9|jXOVX_8E>x3~huY$=`KWXK`2Di9x8$BGu91+=J{Ic+C%dF~*xyQtKBnBP8 zsCq2f^H-Ma*7Ww)Muq~#e>(n5j#qO%FwShJx7B+E&_vEd-1^ulf}LpJyx3K)P>~vU zqNYNKj-_Ivc4=UXcHp;xaKg>aEyueY8l_Kps5hm}0rpS<_cNWY{L=EE!?dy;9>;yX z5`6lPppRsR7S#bkO?x6m89k|X#SU2ueR|Qmzka9&Y8n`@imlYyJ6dYZJ$YGBaPOUw zE9J9mMsl`IU8J7AoT8$mkNrhVkDC1)cn7S5r-2H^Ybqt!L1X}#VrP4`ii?X21&)M` zkEiFryvwa(gMb>}a^df$zfQB#-pbOF z-`@{n6X5-ddLPpx)YqwP`tRDK7jxEY-5F>}L4iaR!)51-du<`R?hZP9?AT;+w=tHi z&F$MkUHOL&9YS%&8p;E2D$|Thd$|p&HaJZNG1?7z7^l-J03s?D-2=|9NI>hA6iuM@QN7gs*V`nb?f1k%^;r%k1u3>Z}=Dj}<< zg9*ogMp1_6VCn1QqW#nJ^H1~7a? zHXqVyRiB#*Cml(fYMY;29IZq4hVrSCb9KfAGJ4~QizG?@(K_%_I241@epG)$l=Xs| z8cIlsumDvH7V^)8Uxsc!HYOr1P3;r8PgmsyC@S6dLux{|O-uUw`}$}(WI&$;Ux1i7 z18D&j3^P-B^!p1Y%a81eB>3j4{YZg~Vhrt`Oi&ne^f@h#$j4{K3Yz3=^9h#l|98*h zuzvmJs87F9FFLWUw%B`%@bk}I_?)OJ5~cc=j9~KCH(qF z9p03b(9zIbZx#NT?p7aLX&`VU_j*(0R~X9&?Xq~$aquOOTSZ^;vStBSl=;F?g+MIW zjQN#*dw|MPz9PSKF5X$gu`>u zuh;ex3YiBFV4&#nLK-?vD2p`P%%{(qP$p5`6TP(j=+UF5=H}>cys<+8;o)>H-&Ox) zU3i$x{mhT#D?Bw!ftesqWA*o(&ETwehiZq=f#f4)+K`-wzCsxD%9Lu_AGIHm?xaR z60JH|MX>l7EpJ_3@1Uilg9jS~=DBn7`|y+I$cxmRsw&x^8Vk-+uzJIaA4b)MCWi`R z8>y!u*R2{($;i;Au=eB^e6!)2l`|0JpoR3bmrOpZ^Y6w++2BvWShQ@=fqe!eIIE?1 zh=Gil#8#W{Dh!2+i*&TKs24oJBD^TZ@GZFTQSHGkvY8#_)xj&#u^}mX?d^>fnk@uU{Xn4cc>kYoX`0 z*-*I~NE=8+cGLrVN@E4S($w+MUK(DV@Y9NXIJtWm000G+MbYhnQb$lEnxEC*zc$_G ztndjN`?b7Gs7A3!|EG`)4Gn>qCIm;j`(vd?FT|9iSUaYXH23o->@%Wq>Vt!WtHVCB z1L42(1?Hrp1nBZ~%51*5DV+DEtd^|j8DZ_? zV0aWp!R+q5a7A)))mVx8Pe!D^>^Anejd0VWf6OblaCuCIi;@ctNonbFz-?5;oFIT% z8;^-xXyV!LVkS@jf=qJnq=>SM2Qx?1)p+(phfuCtUA@Xk_QL-P%4Hk)n<9F~wrnos zG@FfveYx_6rl1*gWq!WERPT62U&aJgc2rlHT}%3Hr}WsBpMBj30hcd7Nl17kF3R@y zp8o0V48u3hj~<1DtV7EDB=qZ>T_YUs_&>7+m-e}M4yxBsx{Fa>Y$Bp^txBQjm6i2@{)|F+4;7W4 zftDVlQ`um+?6xZy7qjrQZ$W{f#6<-(-}8Fx!^8cQDad&6p21^806#!E9s9nylx>04 zSpVDVv%RxDyt6UJu>*P5?6n?&r`v{zkGdAmEkWGg8+GHNv^35Lm)+=Xebx2dSqcSG z$fHLn?mXstUUzlrOvx4Ex?nbu>y%@AMb>>5HVb?cg1vnQpTK_b;0ZxNa5k&5AeO<0 zK=Maf0LdfwgVDNi7sjaR=!n54xV-5{N>RBKYA<)%Sf63wP0265r=KGtBKrCaUOI)I zoE@sG%6vll&#$GZsK^-z<^%cR&2F)m3@-u{V&2_zyzW3VYD2NcrIy{z===&iC7_oe zYB6hTzv?1TfRGMQN$escQ!#OByomlLlph7%O}md7`8|YWRBS*Kv<6^nB*6UBH9+@_ z%SW|q``cQ-T8WB@ic-_kO0f|Hn;?bPU<9739i{X)$oum7^KNQtenG*7`FWVo0Juai zLU1ISt`Od!-OSPC<@{oaZ3>?!fp`K%^c=J}8{6Z6gG+he^Qe8U=<0$1Jyp{0HJeu= zvo;bCp~YJf(lF+CmYzbq)-7GqV2!Wzr-_ORWt|XmeZ=bAwJQ1Z_cL<5TwPh%eA7dx zsr}T=VqR0mXI>M~g;@x)WkN!NymrlY9K0d+L*>g#w?An+#3k1EU!++mZ5o&ITtoT# zs>F}Hz?}a@hCEGS|NZ^nn^oiF+YEjEC5yANvT)$8xVWy=VQZRw2adcS$U7n=v%Hz|9lu|_o}uCL0sK(n{*)ojP>knPIh)L`h5T%FqCLr zc4t`@Jt5$!mnT|4#&0ht?>vu>UvF3Dz&Vwjh^U}~nqmbPW@j-NNDpC+lumlFYG6d(Y6`#!Q1mibJSdf52L$0#ppb%kjKE4mf2aeSNFec(#O;%s(@5Iq5v|PiS9Gh^ zzd<%MHXed*go+-tqYpkC>d4Lrg>26o>!>&EM79UO>r2eD zIBwaBRsAUiga3GUrX93pK zE?xQ<)*#sVeq%Qw@AOxqk7m(r@syAlprZvsv5 zG+r`;^n;(1RjRWw{E7GyZf@_8iu&gvoT2guir33n{PPFg5$3F)h#p3%g616!6_p6q z{{**^97VIE@1$pDVpDf@cUNuxYLb)u?OqXG4JD9$=77aUT+d!VSiWyK)NZ zJo_WR2Fpces#>LgRXmgoWGU3vr80bhzcA{G zoQ$lR#LnIx_Mt(LWNT}#_*q~7fO!iLv5$|>%aSmj8{py^V9&0x3|l3%XFwsgbtYQ* z=~4z#+}*mCI!-t}y{F-9cau9l6DEgc@a`As1F;bVIXR(JqpJeRjli|F zh!1Z<+e?a#C2)Zz+rMH_(@G_VU1v#XaoJp3LiR0()&)1lyPfR~RJOJ+G>fOlkUu_Y zc<*CkT7h(O=JaVs_d|X2D}Vy`hP_tjONQ@j$Nc{7oNcq~>2>6|3P|WkV{#q-3Mufl z;yy#97zAN~T=)Fhvr_LZcYboYYv>X*758_2OHeG$h4uMk&U&nvo11&i-!dU}l9*yE z&G{53V!4gd+rIzpJVDz8jD)@h|AuQ4$H9XLBY&amu7YEDc(WG*!1v!&xt@S(KI_w2 zJF7lB_n-jhT`Obyj~#Zr%Ni1N+a1Y(y(;(+tRe-<^$$(aV+X$PW>#uP*A$dQiy}!* zPNLmD8aCVIT`4jKd14TiPMpX=cMBQ>(SxbO=lf4@N3dq&f|_+$zdGT38dRnlsleu* z>Dv!WooDSK+}*kJ>*rt@Ttxl>0d$9?2>v>d+i1(`QiBCTE1Qjt4M+(aXY$eW^5_%a zJ<3;E%BaCl;6ozKv^Y*%7vV5S+* z?2I9`Ws`n2lq$WQHQ@DXayz|XV?qWv0yZmY4?DN6e ze>K4wc=+()iRQQ>(;EK-yZ6V>p7rwd+#I|&yalQIHbKppw@mhWdv{jH^DTZ@fz(0t z39Tlu*F(WUo1xydYlCfVL=6B(K8Uas%k)eSBBR#z} z#4S*~4^!73!8HJ~dlOJ*8Pi#n@^m)-{)NA9VQY1`A$Genc^ez=@S$!-3Izyr7D&d6 zHiSO4jMM#i&?)uaTCH}w3G-=h6c0vsJr*<#D=LP9brbGZ#J>Y4LR9g712K@|5! zs{N|A=IznJZC|w|_VV1n+QlnT%i!XkAvp{Ul#o~>=;~+A9BjD6ee@`tPe9cu@KEMm zOb{EyEcpmpvI0B!Kj7ZpuOa;!1-8A{tYN86WW$)XogGko5v&L^*;!qAh7^SdjQ=2W zq_tBzE@K5kg3R(wJ6~4@BH7T7O>3;jC<9E(dBL$-dOVQ*$b_~@uy;&4bjfO|N9nzKDg_&b; zm9aI9s?@8ReJJ>Oo12G+5JL#q5!xP2g>iCJR6s^?(>Qo9g0dIJe%2k?8zdl+YTYSz zP;s0a%fEgh3Z(ndeUZB=_mlS2MKkIy=K^ z@%cGd>;;cS$piP12~d4~L(D02TShgBHxs%*@vLP6h4`~)=oLP4QaL6$Ih-CiNJz*J z+VaZ_duG|xzp^!ea(SF-ZI$MHQ-+2&?hp$L<(KQ$iBv*1oPi4G&ZR8v>rT0;OyaJLB5q)ne&T$gGZX0df0mNVEoHG*;`%wfo%`>A3LwCj10U) zR*T-wZMafE$$JCuIZF*fp!L7zLWJkU?a-C0FKlUccxu@Y@QE)T*0i3gp%_t6QpzOGFmDsSa8R? zD_2g3jUh;?UAU0!HW7D3IcyX0+T@j~pF&E+I2+n~pG!F2K<0)3Rs|nfcYz7rc{bkO zdkb%ZRo1YM|2Z|)gDnZC<)^4)9Bx0JKpLJ-I)2gOV>hrnwqZf#x{Z=j{jGwE zw|0Y4IQoRMd2+^y-I_hgnGUEx|COn{jt*1ce*qSmn!NA?LWqVB;{d`frUV5C2C9s^ z1MvJa&+2)2l=a$@cT%=4Gd&uI4;>Mi4uBjiE}Df!g~`5VqGp}KbT5Jh2=pjPvodSb zlcc0dO!0#gj{A7=@sJzp>gtdc@s$9vdwQM~6bKIW$)yAuT$NZb>hnL8%+@^_q@FH5 z?0F@v-L~fy*V(g&7+Bd@(D3mJag$)vK~9Go658O%>Dnyegcj%-Fh_{Ph3@boQT<94 zzfx4{OX$)sSLqTs*<~{2M1pr3OGE2#ptlx~7@7&R{stPG{6XpJPq4JWE=ll%RAR5Q zHJla|Ra8L|nS%p;Y0_LQ~KWV~o4qyLUpdUz8Fcm}TNSXmqL5#%`#=@@u z@S*zK_1OpE;oVlE0I-BLVrQ2Riw&HOFsp=x;RdxfHbR*r1R&%z^k^9u;1mr&Mi>UM z^>EMOP%ItTMF_GWeglHH9rnAN9Fb`F=a!ZXYlEy#!f1H70SMwMLF0lpiQZgP zwu`2)QXyiad#V5cg@wWU$bj8Fw9Q3`H=aB4jB20J%xB-nu|Nc1AR+yk_AR=@FXRCS z7;X$_o8Z75hDUku%@Cd&eF5{KS1lALQ3LT$>WSgsBgw=!bGmbQj_Q!qdGmol7Dn|0iO1FAQvu9|ztu2m1 zY(_Vg3@p`P3rs0R5?Zi+7YL~hFcEz=z_^tAo+zC*8?2jlMmLxp_V#e4mtgr~EyN5* zb{;}Arf%nrz$=dC@qxw#1gq82lV>gMcHo2(XQ>p0z0dsIlJLxff9(Eowed7K zq&yu%{uq?t2#%gPrhjTq{njdazv?!keJQI58asd%6t@I4aM?QPwcamG!qb4mzzr!1 z5fHX88XAsM?H$w3knT{^caSN^4SDYRcz22-e19M`X?(Y@aZiftpL0E8(owo{r4t>f zHE~2KyL4mf-1U8f(5Lu2jbp13WU)1muNET7 z(-XQw&Yc$tfTMirf`|YeQs)kyT4}Tx>y1{w%AZ$ z@A!uTGOa_;!-Z6cL{`#YalMY5EiL@eTbp8cc+Vi4fmfkOUSzaf1Y?iE>pR$LbaZsV z6}1*cI6mdx-McM`X9)H9m*(aVy39&TVCf5TbCJM3|BlCovq|0%VnIbl__lE1APNt- z^xsBFi7f`#*uY$G(I5AUZ#K7Y-CAB=-T-<$D=hr0z-McZ3s-qfhbW}7twvnIpRZR6 zDpm|opTa%EP4*>0oUVBpXo&9Y?+Be7ukok4nE4R|zqe^UZLk?oc~uqq0I%lg)X4ar zT!$Q5QBmPuA;Zs4z1w(yb6|_6!BG&TI3_0M=~Kjj>v8pt1OGd;q&z3f_|4}jxU*na zBQ)axftFt$d24|vZ8{k6h65dgS_exbu+X$Wq&?gwhRcKOzFJ`njXB}q#{ zart%0CY%5GaUi5t5NeS}FF;}%A~yADvl6904BJb_uHl;=Ul~~_GMtX~|4vsUEFc)4 z2!Ut7lA4PFRRtScIeeJ}-ya@0dSF^xTgy6**gf#XITmnh5sNRFwG;EqgqHc% zt3y)9wv6+1&OId2KfRAP=P0EDZbmLYwcRQ)`N7~iKXKZmNmMfM(BVefJ}6WRbEpS0 zfZB%Wh4WS9wvSexh0W)WpsM}Bx%2cc;a^U^d$f9UdP!@tP(98`DiM*LlB>eqo;@R;!l|U%P%}vz0#Z& z+}_xKMY+@Y-aT+yX%5!Yb|dL|3g6*OvD z=czV$v;nntcIGPF9N4<=?s$BePofF%GNIhZP5g6b`r_03AXi*3^_wuZOSAHovv z{O5gVrk+u^V)fT@QQ`+jE#t!IF^RC**bjv#8yw3&KH`6P__*D7o}Z8K7DObRF*W>y zUacEr%|^z*eL0UlVIWQl*Uqg`*Rb#O+VEWHH88NTv2k5R^Maw_LCfZT*`t=_IAP|| z;2|M>dG4Vuq~;xLfGzO+puVv3HML)z+4pb&gcoqgT>iB(1pY7bMk`8aZ!+V#c+NfC zggZ+064UOpPt9KU00=@aF1gvnl)u_|TLTROOaexwF7pO1llSdH6%RX3Cf-Yu@#wqQK`3}_^rFm9JkxNz5xK?t z`@>_%d`U3EM9ErMT$KT81K0B_9HOW(PI9uDDljbhS(Lmr2j@`*ax?x85F};S6ntO9@E#I!3KYw1K_^X~~kO5V&3nR};t?(^VVy1ZFQN=Qx z_@K_y+1=fsHSFD$EaSC~fVTz%p@O7seI0{(4B3V|yMIbE+nI~)`E9OXOC0Btw@N`e zdw~|L+Wu33zZ1W4nwhz1B6$IHyw9?@&oY?7A1F+JgC+kcb;UfK^Yi5W?-G|9H+K)_ zuqlbvv#Qf6=lwyzL1p}s_>q3f>%TpRz77w!l1EjDJa1fLwYU{>(I?9BdhEL&%#{l! zr4GbIsMF`_N{UjSYT0@?CTfbLwVK%p$K}3!S$f|>d8tuGRP>EyEBhD2v+$6eI~Q

l~07exF*A)UsGw}eSfm`H#OX87VVLFmL6(&emCRT zc=p%p;?eIQt>*3BnhafszUGtWM7twa?flT#{?NFlDHZkZJ}OP<=g6^xeSK2XC-*<9 z{|Vn|)kaxWKjJU~X?LEX1$F1)U`ZA$!pA}?hk480LsYU;c^SfW^e_&3wRD0TUWzeOs|Et#U-9Z>F;NkJc zntbI$YkXUj^)!{P%kz1Bs?5ska4%%+(;wL^`J6Zmw~x!>ntI0F)7oFozK5~!@1v@< zJq?cFOw}*j4k?1eI5V^qCSLWoWg^(=TI?__2uao@w~|?r_wQ*+joyGctabz z04?XJ=T2xV=sr7eMK*;z-lFlBS5-;LDty%=VV0iDQejt2Osc>vA=0aG|LPMU7r5pM z%;mE^>9akhENg)1@!t{Sc3yGu?Bj>XbS~R&qijn%9iuzPOe$pOY zZ%OO=F4r<@(@#tu7yEKmKwxiv^mp%rpzct&c4cc^0`$E_%yEOY!3Oo+=y`y$ZgI(I+L5y#e13&&B*il8y}-Nfl*`+82E zwtPJCZa}b6-xwb9o)UW#C#U~M+FOT3y|q!p0}L{N!cc;gl%ya?cZifU2uLa*Ee+C* zgb30pA!*PdjRlB+ASf*zA`Q~@-E+=)zW2ZPpV#YL&vh;y4>R+dz3;v5b+5Iyo4$T3 zK1x7CuP$mdS3p#2Z^Ka~%x#~d$tyK#cG@FD{raBr1%&w0eDor#nTISot@)>>qXrA< zgLk1Ohpr<~O;DAd zM5&upP&%#HPfrU)iYOrVcTQ(@w(buLPe^}oj)sn%<%d*N#}o;t~BUL+IVMi z-or=j)-R>i(e%)aW@34zKkpXM1;6TDn6Ku3$-Z)ET*r3#u=2O}B;br3u$4f#0l$c| z>p5V6r$#rLU#AyAgR$SdBx!a$Hr%>f>a+&ZV*pxWPpymprv(tIy?bc*qJ|DlE>YQW z$3fp}DMP^XVIaFDd%9hOXBaOrE1V>7U<+&Ha~g&FWOv55BxZL&WLzQn<12N6^4VfD zLF48AYxdGGyBmIcZwI>F8~3U{JNB}mUivwf_;-aGy6D9AzmVqWP@S(#D}?}#?nGM6 z9|<85u;aC|&w1!I9#QTHipubRp?(^6mBl!8Wc5#h5z9;HI5Y!=E#8uAgqd*}<(Pp) z3FyRDm=|P~e(Muz()?LaH+RwNPec-n#$LH$tsQ(f3SOJx*5b2C+Qxz-B7rfZcG3^M z)4T8LSLZiAd)MELx`)uoahudDF%l*B3D9_5^DNoo;*=($r6C!Zb(pNhtFmIom6;{f zutn+p|9*$+-3e^S-&@3z0)c0KO#=69dh=eBF6snC+mMC0#p8c=@gTRB70G z=xP94Q=0klfsKBpw7J<2roqsA%)IAq^)V|Ye*O;5_?`8~ZA}FQ^VUG9f$R>NtW(g~ z>_9yXn2%Sye8aSdpCQ$#RI>O!brfVdfk+iVAq*aOFm6^_+WDh1#B=pxAh1C7Lh

  • pY|8{Ei>Oo--`oLVi=0 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 z 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Μ?FGR`W{*0_m+CYh>Hgo3e*76 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

    }cqm?k2^EKX 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%0DSxL8O{lqxnKn2Kds1$GH)y5 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

    IllOwXGi0mlEH3Sg0{hjy0?A>CcX4cMVja# zLFZgr9A$Jk;;oGSoK_z{e(Y)HJomgin15K$oVOoWu`_aIupa{xx(GbT`sKAOJhbtt z*k^`YZ^y5Qj6UxUVN^D+LP5Rm{PuL@Vc+qU$MPSF&m(^hvCz0?zez25T#gJ2IsO>p zqW}^7*W}M;AHCNyzuBaN{u504vpuQ4aq0mEm2|CIcSga8OnJZ+nzV(CPL7ioDGU!M z$>7Vxjp-H4&d-w~_Qe&kz^=wZ3lYFXu=-(ye1@Nqm=TzNKy*Dch(YwKLgv_XN>d(d z$z9BI$!*?YoX24fvHo31kOyymtM$A>f_y3P%y=lCwnm16NIk>-a}aSeC8%=2pj;Hm zU1h`Yrt#F()DDJiIGK$%dK_>4}I39?pRH<;TGs{WO0}wQoS-h<3L~qr7F;l zJ>#jSUvv7s;>*-|)kPQR#!(%w|MNZ=-8!UBXs^CNDm?yk^<)_xQ#Fx4lGRWq=*$I* zGdD2>G00Zn(K}bRX4lWTcar3NwtpY!y1%L!&i`)WXZP||%(C&PZMf=v*I?6-AZWqm zqv+JbmqF)X!5BkNB@#JPFaNW!3B&XB^1?V)4u=vKViUT}AJlgrRyE&(0aVDzp6$s^ z`hBTZQ*$0EMp_n_7&eQn&JH|E8+iZaglm0%8T|ifdhd8D{Qv#`7|C{&LJG&qo{>!) z>yUA*95Z_hFJx2p9*1lh$37|?dzK_bMn}k~$jZpxeoyc3@8h3xyWymWz;s;t;S z^P|gp34!&orSvDehLQe8t4ubaOGgetBTe-F`gLD~HXo&dwA+xsg$iUZ_`L=nKaB66 z3w&${iW=ck6FIGy7pDT@-2bt%S)&i|H)x^$(68W3s-&mCK3iV`Tg>h(-yWj;Nwj`S zR2ZL5OaSqmlso+D6m)3rhYdVgrL|EtU3SkBn>1~jFN*HNJ@AuwtZ(^*7KR-|J%*x3 z?--VRn{c|zRFXg)t3X5~fr$5-H1q$)@}|xGXK^$tk&E`-;X4U~lQC1c);KY(`BP=? z!+w#HbPgwbMkgT4a`wE@9+4=bA>ft~sbS5w<6oJ&wtr$(&$vV2zjdoY^Kv5gz!@exkjhZI^g8OofZc&F0tyeR;pnMQ zS|AfYgNW0X9G`8fYIP;fT_P8U62ML-h)9p&PvP3KBv5cirI!&GM~ zh#!2(W17I}*v4u8A!nS@>+Meg(d79hQ9Sb#NvG4#-CiH|y<=9~q8sZ^T(G7pN$-va zLi1V&(Q?9LCMICo?7K|v9~_YXYrVK=DCeV(;@E)@`SVH8Laa#tZb1LB<}1mR6ZD8# zhXAuz2zEcywCm%$Lp)DOplV{)yZMmG^PkBN%@hvJ)$TF!1+PDT=z^t@bhH<4yU$gp zd^a-YZas3qe{*yFo})NXC4l%0+<9y(f|@Em+MJrt3p~I3&9D#zNPV7hd&Qwar_%4$ z7aAnM;c*>MD$O;V6L`$q2-|Rt7H`;jjHL};voAeD`KzXqt*WqNF;M&A-S&K_ykiA~ zeDsfsHCwsQeVb~W(Z@UD8U8R*&os&9J74V6I3g<2VhG}kS2ovBfQ@w6KlfYyyppGF zGh}+QD`dmaxNEncz0Y0V;*(zH^7VVN>vN#0v6gJSSvOfgD!g?fwcy`%ewgg6VV^I; zrSuV>;U6Be9}sLl$DwGY{Y%n-i^4~j$zL1ploPkip+Q1ILRb!*E})?^x!yxH9avcU zSrHFc`_;mS701_J59837mLS07c@xu-s1WeE4b;&sCnE2#rsyr-ORw)*uw$^rj

    6IBg+`AbkGVoL)CMSpJG@m_ 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 #N@?|UQKpFp zs>addpPu&4-DL*=`m}gQjLf>fW#Y_+iMzYdORu&w{z%uLjZ1#(FW6Er5S?&orjBrb z%-4Fe82h`xUFAi^5N32({dfm+Q({F?kS8miM zEh_w>&Z(4<{TX*)**Mt9c@moLv1c{5X5olcndHj?RRZxQ29#2>o9aw!;k16|^Q%<2L=? z3;0M5dK{Ob#TM!2#l_E#T4H^cdoyKrmEJp#_Po*sZHddzK7jZYH8?SlX@O}0AwA3U6GFPhrJ?k(mJ$iHJ$f}tpsHF z^T-I8?KSwkk5t-MTKw~&`0DbAuHJ7r7Z0PtL3Nm(Xuey|zH+o%R;&oGZ7Fk}W?h)x zdFkqpxEfq}!{f2UT*g~RzX3*Vth&|(LWJ1EGdg@~v$o4A!$kRYMAcGFX+M#u%S-jO z?3oq_e}ZO6bO()6;R2xI4ky@NYf(sRyZE)5tS3s6yK>*VpHT8nD_lWNkerUB)`&W~ ze~r24V~4*fmSy=W?}9%U*;4Tv)sSm+4E~j+Rqcbr7;tOmWCvsqFHMv;^s*HFcfZ_PEzf$v+u0>8Y(S zht471ocd>(;yKDRd;Km*NlBF-{#3w;vSBysbIa}^y^wdQ9+~?13?=JFisHR|-VpuH zf=9*+a{^tzP9C=LNeE!w=0ZYFSF#vQgL$enpf1=RxP>SwFH2>wLp2Lr@NslF#$Quu z7fm}DIptsb*}Qn4$c*~MEJwTzI~p}QX?HYzcK~#qw+;^Si6!ROii(v0C9v>hPsjz& z!px=epvyq2ss2g-6;sLDYxH4dGa)wC);D(!=D-Eq+s4E<6y{sDAQ?Y`?n}ryw^1?6 znv@{1#NGPRifoZ$ zK^s;fZei7Dc^%>qwRhivkFA87e=vAk9BW2CM^>P31>6_v?6ZYIV=w_29vNZBhVeWU zUZ{@r2V@TGe`Jnla53VL>-sfGkb4cB)+)8{7(Ct>s{m9r@s4=LuuvEuORgM}X72Ne zTuAVSzx3WI-A2jVw}}`m5Q={aqvk7!=wCQp4

    Preface

    diff --git a/docs/search_index.json b/docs/search_index.json index 8f2d293..117eb90 100644 --- a/docs/search_index.json +++ b/docs/search_index.json @@ -1 +1 @@ -[["index.html", "Hands-on Elixir & OTP: Cryptocurrency trading bot Preface Limit of Liability/Disclaimer of Warranty PDF & EPUB Preface Who this book is for What this book covers Contributing, Errata and Source code", " Hands-on Elixir & OTP: Cryptocurrency trading bot Kamil Skowron 0.5.1 Preface Want to learn Elixir & OTP by creating a real-world project? With “Hands-on Elixir & OTP: Cryptocurrency trading bot”, you will gain hands-on experience by writing an exciting software project from scratch. We will explore all the key abstractions and essential principles through iterative implementation improvements. We will start by creating a new umbrella application, subscribing to WebSocket streams, implementing a basic trading flow, and focusing on improving it by expanding on the topics like supervision trees, resiliency, refactoring using macros, utilising the Registry, testing and others. This book is 93% complete - chapters 1-21 are finished, and I’ll add more content soon. It’s also a loosely written representation of the Hands-on Elixir & OTP: Cryptocurrency trading bot video course released on YouTube. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0. To get notified about updates to this book just “watch” the source code’s repository, and don’t forget to leave a star: Limit of Liability/Disclaimer of Warranty THIS BOOK IS NOT FINANCIAL ADVICE THE SOFTWARE/BOOK IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE/BOOK OR THE USE OR OTHER DEALINGS IN THE SOFTWARE/BOOK. PDF & EPUB To keep this book up to date and publicly available for people who can’t afford to pay for it, I’ve released it in the HTML format free online at https://www.elixircryptobot.com. The PDF & EPUB formats are available for purchase on Gumroad. Preface In recent years Elixir programming language gained a lot of interest in the industry. Its unmatched parallelisation capabilities are unique and powerful, making it a great candidate for highly concurrent systems like the ones trading assets on exchanges. In this book, we will go through the development process of a cryptocurrency trading bot in Elixir. We will start ground up and chapter by chapter progress with the implementation ending up with a fully-fledged naive trading strategy. We will be designing process supervision trees, describing why specific decisions were taken and how will they impact the system going forward. By any stretch of the imagination, I don’t believe that “this is the only way”(nor even the best way) to create a cryptocurrency trading bot in Elixir. This book focuses more on building a real-life project and iterating over it, taking decisions on the way as it would happen in a real work environment. Some parts will be “perfect” the first time around, but there are also others, where we will make compromises to “get it to working”, and then when the time is right, we will refactor them as we will gain a better understanding of Elixir/OTP and the domain. Who this book is for This book will be an excellent resource for everyone that already knows the basics of Elixir and wants to get a feel of how developing a non-trivial system looks like using it. Readers do not need deep knowledge about cryptocurrencies to follow along, as I will shy away from crypto/trading jargon as well as will explain it whenever it’s unavoidable. This is not a book focused on trading strategies, neither it’s financial advice to trade at all. The main focus of this book is to showcase how the implementation of even complex problems can be achieved in Elixir by simple processes working together in an orchestrated manner. The strategy described in this book is naive and most probably will lose money, but that’s not the point of this book. As we will build up the strategy, we will face a spectrum of problems developers face at work. It’s a great primer if you want to get your first “project” behind your belt. So, if you’ve already gone through the motions and learned Elixir and OTP but still feel like you need to get your hands dirty with a “real problem” to “make it stick”, this book is for you. What this book covers This book is an ongoing project, and at present, it contains the following chapters: Chapter 1 - Stream live cryptocurrency prices from the Binance WSS Stream live cryptocurrency prices (trade events) from the Binance exchange. We will create a new umbrella project and a streamer application inside it starting grounds up. The streamer application will use a Websocket client called WebSockex to connect with the Binance API and receive a live feed. After receiving the event as a JSON string, we will decode it using the jason library and convert it to our data struct. We will see decoded trade events logged to the terminal by the end of the chapter. Chapter 2 - Create a naive trading strategy - single trader without supervision In this chapter, we will create our first naive trading strategy. We will generate another application inside our umbrella called naive. We will put data streamed to our streamer application to good use by sending it over to the naive application. We will start with a very basic solution consisting of a single process called trader that will utilise the GenServer behaviour. It will allow us to go through the complete trading cycle and give us something that “works”. Chapter 3 - Introduce PubSub as a communication method To allow our trading strategy to scale to multiple parallel traders, we need to find a way to distribute the latest prices (trade events) to those multiple traders. We will introduce PubSub to broadcast messages from the streamer(s) to the trader(s). PubSub will allow us to break hardcoded references between applications in our umbrella and become a pattern that we will utilise moving forward. Chapter 4 - Mock the Binance API Besides historical prices (trade events), to perform backtesting, we need to be able to mock placing orders and get trade events back as they are filled. In this chapter, we will focus on developing the solution that will allow our traders to “trade” without contacting the Binance exchange(for people without Binance accounts). This will also allow us to backtest our trading strategy. Chapter 5 - Enable parallel trading on multiple symbols Our basic strategy implementation from the last chapter is definitely too basic to be used in a “production environment” - it can’t be neither scaled nor it is fault-tolerant. In this chapter, we will upgrade our naive strategy to be more resilient. This will require a supervision tree to be created and will allow us to see different supervision strategies in action and understand the motivation behind using and stacking them. Chapter 6 - Introduce a buy_down_interval to make a single trader more profitable At this moment our Naive.Trader implementation will blindly place a buy order at the price of the last trade event. Whenever the Naive.Trader process will finish trade, a new Naive.Trader process will be started and it will end up placing a buy order at the same price as the price of the previous sell order. This will cost us double the fee without gaining any advantage and would cause further complications down the line, so we will introduce a buy_down_interval which will allow the Naive.Trader processes to place a buy order below the current trade event’s price. Chapter 7 - Introduce a trader budget and calculating the quantity Since the second chapter, our Naive.Trader processes are placing orders with a hardcoded quantity of 100. In this chapter, we will introduce a budget that will be evenly split between the Naive.Trader processes using chunks. We will utilize that budget to calculate quantity (to be able to do that we need to fetch further step_size information from the Binance API). Chapter 8 - Add support for multiple transactions per order Our Naive.Trader implementation assumes that our orders will be filled within a single transaction, but this isn’t always the case. In this chapter, we will discuss how could we implement the support for multiple transactions per order and race conditions that could occur between the bot and the Binance API. Chapter 9 - Run multiple traders in parallel With PubSub, supervision tree, buy down and budget in place we can progress with scaling the number of traders. This will require further improvements to our trading strategy like introducing a rebuy_interval. At the end of this chapter, our trading strategy will be able to start and run multiple traders in parallel. Chapter 10 - Fine-tune trading strategy per symbol Currently, the naive strategy works based on settings hardcoded in the leader module. To allow for fine-tuning the naive trading strategy per symbol we will introduce a new database together with the table that will store trading settings. Chapter 11 - Supervise and autostart streaming In the last chapter, we introduced a new database inside the naive application to store default settings, in this chapter we will do the same for the streamer application. Inside the settings, there will be a status flag that will allow us to implement the autostarting functionality on initialization using Task abstraction. Chapter 12 - Start, stop, shutdown, and autostart trading To follow up after autostarting streaming we will apply the same trick to the trading supervision tree using Task abstraction. We will need to introduce a new supervision level to achieve the correct supervision strategy. Chapter 13 - Abstract duplicated supervision code As both the naive and the streamer applications contain almost the same copy-pasted code that allows us to start, stop and autostart workers. We will look into how could we abstract the common parts of that implementation into a single module. We will venture into utilizing the __using__ macro to get rid of the boilerplate. Chapter 14 - Store trade events and orders inside the database To be able to backtest the trading strategy, we need to have historical prices (trade events) and a list of orders that were placed stored in the database, which will be the focus of this chapter. At this moment, the latest prices (trade events) are broadcasted to PubSub topic and traders are subscribing to it. We will create a new application called data_warehouse inside our umbrella that will be responsible for subscribing to the same PubSub topics and storing incoming prices (trade events) in the Postgres database. We will update the Naive.Trader module to broadcast orders as traders will place them. Then we will move on to adding supervision similar to the one from the naive and the streamer applications but this time we will show how we could avoid using both common module and macros by utilizing the Registry module. Chapter 15 - Backtest trading strategy In this chapter, we will be backtesting our trading strategy by developing a publisher inside the DataWarehouse application. It will stream trade events from the database to broadcast them to the TRADE_EVENTS:#{symbol} PubSub topic. It will use the same topic as data would be streamed directly from the Binance. From the trader’s perspective, it won’t any difference and will cause normal trading activity that will be stored inside the database to be analyzed later. Chapter 16 - End-to-end testing We’ve reached the stage where we have a decent solution in place, and to ensure that it’s still working correctly after any future refactoring, we will add tests. We will start with the “integration”/“end-to-end”(E2E) test, which will confirm that the whole “trading” works. To perform tests at this level, we will need to orchestrate databases together with processes and broadcast trade events from within the test to cause our trading strategy to place orders. We will be able to confirm the right behaviour by checking the database after running the test. Chapter 17 - Mox rocks In the previous chapter, we’ve implemented the end-to-end test that required a lot of prep work, and we were able to see the downsides of this type of tests clearly. This chapter will focus on implementing a more granular test that will utilize the mox package to mock out the dependencies of the Naive.Trader. We will look into how the Mox works and how we will need to modify our code to use it. Chapter 18 - Functional Elixir In this chapter, we will venture into the functional world by looking at how could we improve our code to push side effects to the edge. We will revise the Naive.Trader code to abstract away our strategy code into a new module called Naive.Strategy. From this place, we will reorganise the code to maximise the amount of easily testable pure functions. Finally, we will explore hypothetical implementations that will allow us to inject data into function or even manage effects to aid testability. We will compare those to solutions built into Elixir like the with statement. Chapter 19 - Idiomatic OTP In the last chapter, we were looking into how we could reorganise the code to maximise the amount of pure code. In this chapter, we will look into different ways of implementing the OHLC(open-high-low-close) aggregator, considering similar optimisation but expanding to limit the number of processes to aid testability and maintainability. Chapter 20 - Idiomatic trading strategy We will use the knowledge gained in the last chapter to revise our Naive trading strategy so we will minimise the number of processes required to trade. We will move the functionalities provided by the Naive.Leader and the Naive.SymbolSupervisor into our strategy, taking care to put as much of it as possible into the pure part. In the end, our Naive.Trader will be able to manage multiple positions(trade cycles), and the vast majority of code previously scattered across multiple modules/processes will become easily testable pure functions inside our Naive.Strategy. Contributing, Errata and Source code The book is written using R Markdown(it’s a very similar syntax to the GitHub markdown but supports many more features including code execution, etc.) and converted to final form (for example PDF) using the bookdown app. This means that editing a chapter is as simple as editing the markdown source of that chapter. There are two repositories related to this book(both hosted on Github): source code of the book itself code written across the book where the final code of each chapter has its own branch In regards to contributions - I would love to follow the standard process of forking, making changes, opening PR(please look is there a branch for the next version and point to it instead of main), merging, and releasing a new version of the book. This books has also the GitHub Discussions enabled for both the book’s repo as well as source code’s repo, please feel welcome to start any discussions related to book there. "],["stream-live-cryptocurrency-prices-from-the-binance-wss.html", "Chapter 1 Stream live cryptocurrency prices from the Binance WSS 1.1 Objectives 1.2 Create a new umbrella app 1.3 Create a supervised application inside an umbrella 1.4 Connect to Binance’s WebSocket Stream using the WebSockex module 1.5 Decode incoming events using the Jason module", " Chapter 1 Stream live cryptocurrency prices from the Binance WSS 1.1 Objectives create a new umbrella app create a supervised application inside an umbrella connect to Binance’s WebSocket Stream using the WebSockex module define a TradeEvent struct that will hold incoming data decode incoming events using the Jason module 1.2 Create a new umbrella app As we are starting from scratch, we need to create a new umbrella project: mix new hedgehog --umbrella 1.3 Create a supervised application inside an umbrella We can now proceed with creating a new supervised application called streamer inside our umbrella: cd hedgehog/apps mix new streamer --sup 1.4 Connect to Binance’s WebSocket Stream using the WebSockex module To establish a connection to Binance API’s stream, we will need to use a WebSocket client. The module that we will use is called WebSockex. Scrolling down to the Installation section inside the module’s readme on Github, we are instructed what dependency we need to add to our project. We will append :websockex to the deps function inside the mix.exs file of the streamer application: # /apps/streamer/mix.exs defp deps do [ {:websockex, "~> 0.4"} ] end As we added a dependency to our project, we need to fetch it using mix deps.get. We can now progress with creating a module that will be responsible for streaming. We will create a new file called binance.ex inside the apps/streamer/lib/streamer directory. From the readme of WebSockex module, we can see that to use it we need to create a module that will implement the WebSockex behavior: # WebSockex's readme defmodule WebSocketExample do use WebSockex def start_link(url, state) do WebSockex.start_link(url, __MODULE__, state) end def handle_frame({type, msg}, state) do IO.puts "Received Message - Type: #{inspect type} -- Message: #{inspect msg}" {:ok, state} end def handle_cast({:send, {type, msg} = frame}, state) do IO.puts "Sending #{type} frame with payload: #{msg}" {:reply, frame, state} end end We will copy the whole code above across to our new binance.ex file. The first step will be to update the module name to match our file name: # /apps/streamer/lib/streamer/binance.ex defmodule Streamer.Binance do In the spirit of keeping things tidy - we will now remove the handle_cast/2 function (the last function in our module) as we won’t be sending any messages back to Binance via WebSocket (to place orders etc - Binance provides a REST API which we will use in the next chapter). Next, let’s look up what URL should we use to connect to Binance’s API. Binance has a separate WSS (Web Socket Streams) documentation at Github. Scrolling down we can see the General WSS information section where 3 important pieces of information are listed: The base endpoint is: wss://stream.binance.com:9443 Raw streams are accessed at /ws/<streamName> All symbols for streams are lowercase We can see that the full endpoint for raw streams(we will be using a “raw” stream) will be wss://stream.binance.com:9443/ws/ with stream name at the end (together with lowercased symbol). Note: In the context of Binance API, “raw” means that no aggregation was performed before broadcasting the data on WebSocket. Let’s introduce a module attribute that will hold the full raw stream endpoint which will be used across the module: # /apps/streamer/lib/streamer/binance.ex @stream_endpoint "wss://stream.binance.com:9443/ws/" Now back in Binance’s WSS documentation we need to search for “Trade Streams”. “trade” in the context of this documentation means an exchange of assets(coins/tokens) by two sides (buyer and seller). Our future trading strategy will be interested in the “latest price” which is simply the last trade event’s price. We can see that docs are pointing to the following stream name: Stream Name: <symbol>@trade Together, our full URL looks like: “wss://stream.binance.com:9443/ws/@trade”. To give a concrete example: the raw trade events stream URL for symbol XRPUSDT is: “wss://stream.binance.com:9443/ws/xrpusdt@trade” (remember that symbols need to be lowercased, otherwise no trade events will get streamed - there’s no error). Back to the IDE, we will now modify the start_link/2 function to use Binance API’s URL: # /apps/streamer/lib/streamer/binance.ex def start_link(symbol) do symbol = String.downcase(symbol) WebSockex.start_link( "#{@stream_endpoint}#{symbol}@trade", __MODULE__, nil ) end Instead of passing an URL, we modified the function to accept a symbol, downcase it and use it together with the module’s @stream_endpoint attribute to build a full URL. At this moment streaming of trade events already works which we can test using iex: $ iex -S mix ... iex(1)> Streamer.Binance.start_link("xrpusdt") {:ok, #PID<0.335.0>} Received Message - Type: :text -- Message: "{\\"e\\":\\"trade\\", \\"E\\":1603226394741, \\"s\\":\\"XRPUSDT\\",\\"t\\":74608889,\\"p\\":\\"0.24373000\\",\\"q\\":\\"200.00000000\\", \\"b\\":948244411,\\"a\\":948244502,\\"T\\":1603226394739,\\"m\\":true,\\"M\\":true}" We can see the messages logged above because we copied the sample implementation from WebSockex’s readme where handle_frame/2 function uses IO.puts/1 to print out all incoming data. The lesson here is that every incoming message from Binance will cause the handle_frame/2 callback to be called with the message and the process’ state. Just for reference, our module should look currently as follows: # /apps/streamer/lib/streamer/binance.ex defmodule Streamer.Binance do use WebSockex @stream_endpoint "wss://stream.binance.com:9443/ws/" def start_link(symbol) do symbol = String.downcase(symbol) WebSockex.start_link( "#{@stream_endpoint}#{symbol}@trade", __MODULE__, nil ) end def handle_frame({type, msg}, state) do IO.puts "Received Message - Type: #{inspect type} -- Message: #{inspect msg}" {:ok, state} end end 1.5 Decode incoming events using the Jason module Currently, all incoming data from WebSocket is encoded as a JSON. To decode JSON we will use the jason module. Scrolling down to the Installation section inside the module’s readme, we can see that we need to add it to the dependencies and we can start to use it right away. Let’s open the mix.exs file of the streamer application and append the :jason dependency to the list inside deps function: # /apps/streamer/mix.exs defp deps do [ {:jason, "~> 1.2"}, {:websockex, "~> 0.4"} ] end As previously, don’t forget to run mix deps.get to fetch the new dependency. Looking through the documentation of the Jason module we can see encode!/2 and decode!/2 functions, both of them have exclamation marks which indicate that they will throw an error whenever they will be unable to successfully encode or decode the passed value. This is less than perfect for our use case as we would like to handle those errors in our own way(technically we could just use try/rescue but as we will find out both encode/2 and decode/2 are available). We will go a little bit off-topic but I would highly recommend those sorts of journeys around somebody’s code. Let’s look inside the Jason module. Scrolling down in search of decode/2 (without the exclamation mark) we can see it about line 54: # /lib/jason.ex def decode(input, opts \\\\ []) do input = IO.iodata_to_binary(input) Decoder.parse(input, format_decode_opts(opts)) end It looks like it uses the parse/2 function of a Decoder module, let’s scroll back up and check where it’s coming from. At line 6: # /lib/jason.ex alias Jason.{Encode, Decoder, DecodeError, EncodeError, Formatter} we can see that Decoder is an alias of the Jason.Decoder. Scrolling down to the Jason.Decoder module we will find a parse/2 function about line 43: # /lib/decoder.ex def parse(data, opts) when is_binary(data) do key_decode = key_decode_function(opts) string_decode = string_decode_function(opts) try do value(data, data, 0, [@terminate], key_decode, string_decode) catch {:position, position} -> {:error, %DecodeError{position: position, data: data}} {:token, token, position} -> {:error, %DecodeError{token: token, position: position, data: data}} else value -> {:ok, value} end end Based on the result of decoding it will either return {:ok, value} or {:error, %Decode.Error{...}} we can confirm that by digging through documentation of the module on the hexdocs. Once again, the point of this lengthy investigation was to show that Elixir code is readable and easy to understand so don’t be thrown off when documentation is a little bit light, quite opposite, contribute to docs and code as you gain a better understanding of the codebase. We can now get back to our Streamer.Binance module and modify the handle_frame/2 function to decode the incoming JSON message. Based on the result of Jason.decode/2 we will either call the process_event/2 function or log an error. Here’s the new version of the handle_frame/2 function: # /apps/streamer/lib/streamer/binance.ex def handle_frame({_type, msg}, state) do case Jason.decode(msg) do {:ok, event} -> process_event(event) {:error, _} -> Logger.error("Unable to parse msg: #{msg}") end {:ok, state} end Please make note that type is now prefixed with an underscore as we aren’t using it at the moment. The second important thing to note is that we are using Logger so it needs to be required at the beginning of the module: # /apps/streamer/lib/streamer/binance.ex require Logger Before implementing the process_event/2 function we need to create a structure that will hold the incoming trade event’s data. Let’s create a new directory called binance inside the apps/streamer/lib/streamer/ and a new file called trade_event.ex inside it. Our new module will hold all the trade event’s information but we will also use readable field names(you will see the incoming data below). We can start by writing a skeleton module code: # /apps/streamer/lib/streamer/binance/trade_event.ex defmodule Streamer.Binance.TradeEvent do defstruct [] end We can refer to Binance’s docs to get a list of fields: { "e": "trade", // Event type "E": 123456789, // Event time "s": "BNBUSDT", // Symbol "t": 12345, // Trade ID "p": "0.001", // Price "q": "100", // Quantity "b": 88, // Buyer order ID "a": 50, // Seller order ID "T": 123456785, // Trade time "m": true, // Is the buyer the market maker? "M": true // Ignore } Let’s copy them across and convert the comments to update the defstruct inside the Streamer.Binance.TradeEvent module’s struct to following: # /apps/streamer/lib/streamer/binance/trade_event.ex defstruct [ :event_type, :event_time, :symbol, :trade_id, :price, :quantity, :buyer_order_id, :seller_order_id, :trade_time, :buyer_market_maker ] That’s all for this struct, we can now get back to implementing the process_event/2 function inside the Streamer.Binance module. We will map every field of the response map to the %Streamer.Binance.TradeEvent struct. A useful trick here would be to copy the list of fields once again from the struct and assign the incoming fields one by one. Inside the header of the function, we will pattern match on event type(a field called “e” in the message) to confirm that indeed we received a trade event). In the end, the process_event/2 function should look as follows: # /apps/streamer/lib/streamer/binance.ex defp process_event(%{"e" => "trade"} = event) do trade_event = %Streamer.Binance.TradeEvent{ :event_type => event["e"], :event_time => event["E"], :symbol => event["s"], :trade_id => event["t"], :price => event["p"], :quantity => event["q"], :buyer_order_id => event["b"], :seller_order_id => event["a"], :trade_time => event["T"], :buyer_market_maker => event["m"] } Logger.debug( "Trade event received " <> "#{trade_event.symbol}@#{trade_event.price}" ) end We added the Logger.debug/2 function to be able to see logs of incoming trade events. Lastly, before testing our implementation, let’s add a nice interface to our streamer application that allows starting streaming: # /apps/streamer/lib/streamer.ex defmodule Streamer do @moduledoc """ Documentation for `Streamer`. """ def start_streaming(symbol) do Streamer.Binance.start_link(symbol) end end The final version of the Streamer.Binance module should look like this. The last step will be to add the Logger configuration into the main config/config.exs file. We will set the Logger level to :debug for a moment to be able to see incoming trade events: # /config/config.exs config :logger, level: :debug This finishes the implementation part of this chapter, we can now give our implementation a whirl using iex: $ iex -S mix ... iex(1)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.251.0>} 23:14:32.217 [debug] Trade event received XRPUSDT@0.25604000 23:14:33.381 [debug] Trade event received XRPUSDT@0.25604000 23:14:35.380 [debug] Trade event received XRPUSDT@0.25605000 23:14:36.386 [debug] Trade event received XRPUSDT@0.25606000 As we can see, the streamer is establishing a WebSocket connection with Binance’s API and its receiving trade events. It decodes them from JSON to %Streamer.Binance.TradeEvent struct and logs a compiled message. Also, our interface hides implementation details from the “user” of our application. We will now flip the Logger level back to info so the output won’t every incoming trade event: # /config/config.exs config :logger, level: :info [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["create-a-naive-trading-strategy---a-single-trader-process-without-supervision.html", "Chapter 2 Create a naive trading strategy - a single trader process without supervision 2.1 Objectives 2.2 Initialisation 2.3 How trading strategy will work?", " Chapter 2 Create a naive trading strategy - a single trader process without supervision 2.1 Objectives create another supervised application inside the umbrella to store our trading strategy define callbacks for events depending on the state of the trader push events from the streamer app to the naive app 2.2 Initialisation To develop our naive strategy, we need to create a new supervised application inside our umbrella project: cd apps mix new naive --sup We can now focus on creating a trader abstraction inside that newly created application. First we need to create a new file called trader.ex inside apps/naive/lib/naive/. Let’s start with a skeleton of a GenServer: # /apps/naive/lib/naive/trader.ex defmodule Naive.Trader do use GenServer require Logger def start_link(args) do GenServer.start_link(__MODULE__, args, name: :trader) end def init(args) do {:ok, args} end end Our module uses the GenServer behavior and to fulfill its “contract”, we need to implement the init/1 function. The start_link/1 function is a convention and it allows us to register the process with a name(it’s a default function that the Supervisor will use when starting the Trader). We also add a require Logger as we will keep on logging across the module. Next, let’s model the state of our server: # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [:symbol, :profit_interval, :tick_size] defstruct [ :symbol, :buy_order, :sell_order, :profit_interval, :tick_size ] end Our trader needs to know: what symbol does it need to trade (“symbol” here is a pair of assets for example “XRPUSDT”, which is XRP to/from USDT) placed buy order (if any) placed sell order (if any) profit interval (what net profit % we would like to achieve when buying and selling an asset - single trade cycle) tick_size (yes, I know, jargon warning. We can’t ignore it here as it needs to be fetched from Binance and it’s used to calculate a valid price. Tick size differs between symbols and it is the smallest acceptable price movement up or down. For example in the physical world tick size for USD is a single cent, you can’t sell something for $1.234, it’s either $1.23 or $1.24 (a single cent difference between those is the tick size) - more info here. Our strategy won’t work without symbol, profit_interval nor tick_size so we added them to the @enforce_keys attribute. This will ensure that we won’t create an invalid %State{} without those values. As now we know that our GenServer will need to receive those details via args, we can update pattern matching in start_link/1 and init/1 functions to confirm that passed values are indeed maps: # /apps/naive/lib/naive/trader.ex def start_link(%{} = args) do ... end def init(%{symbol: symbol, profit_interval: profit_interval}) do ... end As we are already in the init/1 function we will need to modify it to fetch the tick_size for the passed symbol and initialize a fresh state: # /apps/naive/lib/naive/trader.ex def init(%{symbol: symbol, profit_interval: profit_interval}) do symbol = String.upcase(symbol) Logger.info("Initializing new trader for #{symbol}") tick_size = fetch_tick_size(symbol) {:ok, %State{ symbol: symbol, profit_interval: profit_interval, tick_size: tick_size }} end We are uppercasing the symbol above as Binance’s REST API only accepts uppercased symbols. It’s time to connect to Binance’s REST API. The easiest way to do that will be to use the binance module. As previously, looking through the module’s docs on Github, we can see the Installation section. We will follow the steps mentioned there, starting from adding binance to the deps in /apps/naive/mix.exs: # /apps/naive/mix.ex defp deps do [ {:binance, "~> 1.0"}, {:decimal, "~> 2.0"}, {:streamer, in_umbrella: true} ] end Besides adding the :binance module, we also added :decimal and the :streamer. The decimal module will help us to calculate the buy and sell prices (without the decimal module we will face problems with the precision). Lastly, we need to include the :streamer application(created in the first chapter) as we will use the %Streamer.Binance.TradeEvent{} struct inside the naive application. We need to run mix deps.get to install our new deps. We can now get back to the trader module and focus on fetching the tick size from Binance: # /apps/naive/lib/naive/trader.ex defp fetch_tick_size(symbol) do Binance.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") end We are using get_exchange_info/0 to fetch the list of symbols, which we will filter out to find the symbol that we are requested to trade. Tick size is defined as a PRICE_FILTER filter. Here’s the link to the documentation listing all keys in the result. In a nutshell, that’s how the important parts of the result look like: {:ok, %{ ... symbols: [ %{ "symbol": "ETHUSDT", ... "filters": [ ... %{"filterType: "PRICE_FILTER", "tickSize": tickSize, ...} ], ... } ] }} 2.3 How trading strategy will work? Our trader process has an internal state that will serve as an indicator of its step in the trade cycle. The following diagram shows 3 possible trader states that trader will progress through from left to right: Our trader will be receiving trade events sequentially and take decisions based on its own state and trade event’s contents. We will focus on a trader in 3 different states: a new trader without any orders a trader with a buy order placed a trader with a sell order placed. First state - A new trader The trader doesn’t have any open orders which we can confirm by pattern matching on the buy_order field from its state. From the incoming event, we can grab the current price which we will use in the buy order that the trader will place. Second state - Buy order placed After placing a buy order, the trader’s buy order will be pattern matched against the incoming events’ data to confirm the order got filled, otherwise ignoring it. When a trade event matching the order id of the trader’s buy order will arrive, it means that the buy order got filled(simplification - our order could be filled in two or more transactions but implementation in this chapter won’t cater for this case, it will always assume that it got filled in a single transaction) and the trader can now place the sell order based on the expected profit and the buy_price. Third state - Sell order placed Finally, in a very similar fashion to the previous state, the trader will be pattern matching to confirm that the incoming event has filled his sell order(matching order id), otherwise ignore it. When a trade event matching the order id of trader’s sell order will arrive, which means that the sell order got filled(simplification as described above) and the full trade cycle has ended and the trader can now exit. 2.3.1 Implementation of the first scenario Enough theory :) back to the editor, we will implement the first scenario. Before doing that let’s alias Streamer’s TradeEvent struct as we will rely on it heavily in pattern matching. # /apps/naive/lib/naive/trader.ex alias Streamer.Binance.TradeEvent We are also aliasing the %Streamer.Binance.TradeEvent{} struct as we will rely on it heavily in pattern matching. To confirm that we are dealing with a “new” trader, we will pattern match on buy_order: nil from its state: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{price: price}, %State{symbol: symbol, buy_order: nil} = state ) do quantity = "100" # <= Hardcoded until chapter 7 Logger.info("Placing BUY order for #{symbol} @ #{price}, quantity: #{quantity}") {:ok, %Binance.OrderResponse{} = order} = Binance.order_limit_buy(symbol, quantity, price, "GTC") {:noreply, %{state | buy_order: order}} end For the time being, we will keep the quantity hardcoded as this chapter will get really long otherwise - don’t worry, we will refactor this in one of the next chapters. After confirming that we deal with the “new” trader(by pattern matching on the buy_order field from the state), we can safely progress to placing a new buy order. We just need to remember to return the updated state as otherwise, the trader will go on a shopping spree, as every next incoming event will cause further buy orders(the above pattern match will continue to be successful). 2.3.2 Implementation of the second scenario With that out of the way, we can now move on to monitoring for an event that matches our buy order id and quantity to confirm that our buy order got filled: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{ buyer_order_id: order_id, quantity: quantity }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, order_id: order_id, orig_qty: quantity }, profit_interval: profit_interval, tick_size: tick_size } = state ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) Logger.info( "Buy order filled, placing SELL order for " <> "#{symbol} @ #{sell_price}), quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = Binance.order_limit_sell(symbol, quantity, sell_price, "GTC") {:noreply, %{state | sell_order: order}} end We will implement calculating sell price in a separate function based on buy price, profit interval, and tick_size. Our pattern match will confirm that indeed our buy order got filled(order_id and quantity matches) so we can now proceed with placing a sell order using calculated sell price and quantity retrieved from the buy order. Again, don’t forget to return the updated state as otherwise, the trader will keep on placing sell orders for every incoming event. To calculate the sell price we will need to use precise math and that will require a custom module. We will use the Decimal module, so first, let’s alias it at the top of the file: # /apps/naive/lib/naive/trader.ex alias Decimal, as: D Now to calculate the correct sell price, we can use the following formula which gets me pretty close to expected value: # /apps/naive/lib/naive/trader.ex defp calculate_sell_price(buy_price, profit_interval, tick_size) do fee = "1.001" original_price = D.mult(buy_price, fee) net_target_price = D.mult( original_price, D.add("1.0", profit_interval) ) gross_target_price = D.mult(net_target_price, fee) D.to_string( D.mult( D.div_int(gross_target_price, tick_size), tick_size ), :normal ) end First, we will hardcode the fee to 0.1% which we will refactor in one of the future chapters. We started by calculating the original_price which is the buy price together with the fee that we paid on top of it. Next, we enlarge the originally paid price by profit interval to get net_target_price. As we will be charged a fee for selling, we need to add the fee again on top of the net target sell price(we will call this amount the gross_target_price). Next, we will use the tick size as Binance won’t accept any prices that aren’t divisible by the symbols’ tick sizes so we need to “normalize” them on our side. 2.3.3 Implementation of the third scenario Getting back to handling incoming events, we can now add a clause for a trader that wants to confirm that his sell order was filled: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{ seller_order_id: order_id, quantity: quantity }, %State{ sell_order: %Binance.OrderResponse{ order_id: order_id, orig_qty: quantity } } = state ) do Logger.info("Trade finished, trader will now exit") {:stop, :normal, state} end When the sell order was successfully filled(confirmed by pattern matching above), there’s nothing else to do for the trader, so it can return a tuple with :stop atom which will cause the trader process to terminate. 2.3.4 Implementation fallback scenario A final callback function that we will need to implement will just ignore all incoming events as they were not matched by any of the previous pattern matches: # /apps/naive/lib/naive/trader.ex def handle_cast(%TradeEvent{}, state) do {:noreply, state} end We need this callback for cases where our trader has an “open” order(not yet filled) and the incoming event has nothing to do with it, so it needs to be ignored. 2.3.5 Updating the Naive interface Now we will update an interface of our naive application by modifying the Naive module to allow to send an event to the trader: # /apps/naive/lib/naive.ex defmodule Naive do @moduledoc """ Documentation for `Naive`. """ alias Streamer.Binance.TradeEvent def send_event(%TradeEvent{} = event) do GenServer.cast(:trader, event) end end We will use the fact that we have registered our trader process with a name to be able to cast a message to it. 2.3.6 Updating streamer app To glue our apps together for the time and keep things simple in this chapter we will modify the streamer process to simply call our new Naive interface directly by appending the following function call at the end of the process_event/1 function inside the Streamer.Binance module: # /apps/streamer/lib/streamer/binance.ex defp process_event(%{"e" => "trade"} = event) do ... Naive.send_event(trade_event) end This creates a two-way link between the streamer and the naive app. In the next chapter, we will fix that as in the perfect world those apps shouldn’t even be aware of existence of each other. 2.3.7 Access details to Binance Inside the config of our umbrella project we create a new file config/secrets.exs. We will use this for our Binance account access details. # /config/secrets.exs import Config config :binance, api_key: "YOUR-API-KEY-HERE", secret_key: "YOUR-SECRET-KEY-HERE" We don’t want to check this file in, so we add it to our .gitignore: # .gitignore config/secrets.exs Finally, we update our main config file to include it using import_config: # /config/config.exs # Import secrets file with Binance keys if it exists if File.exists?("config/secrets.exs") do import_config("secrets.exs") end Important note: To be able to run the below test and perform real trades, a Binance account is required with a balance of at least 20 USDT. In the 4th chapter, we will focus on creating a BinanceMock that will allow us to run our bot without the requirement for a real Binance account. You don’t need to test run it now if you don’t need/want to have an account. 2.3.8 Test run Now it’s time to give our implementation a run for its money. Once again, to be able to do that you will need to have at least 20 USDT tokens in your Binance’s wallet and you will lose just under 0.5% of your USDTs(as “expected profit” is below 0 to quickly showcase the full trade cycle) in the following test: $ iex -S mix ... iex(1)> Naive.Trader.start_link(%{symbol: "XRPUSDT", profit_interval: "-0.01"}) 13:45:30.648 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.355.0>} iex(2)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.372.0>} iex(3)> 13:45:32.561 [info] Placing BUY order for XRPUSDT @ 0.25979000, quantity: 100 13:45:32.831 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.2577, quantity: 100 13:45:33.094 [info] Trade finished, trader will now exit After starting the IEx session, start the trader process with a map containing the symbol and profit interval. To be able to quickly test the full trade cycle we will pass a sub-zero profit interval instead of waiting for the price increase. Next, we will start streaming on the same symbol, please be aware that this will cause an immediate reaction in the trader process. We can see that our trader placed a buy order at 25.979c per XRP, it was filled in under 300ms, so then the trader placed a sell order at ~25.77c which was also filled in under 300ms. This way the trader finished the trade cycle and the process can terminate. That’s it. Congratulations! You just made your first algorithmic trade and you should be proud of that! In the process of creating that algorithm, we touched on multiple topics including GenServer and depending on its state and external data (trade events) to perform different actions - this is a very common workflow that Elixir engineers are following and it’s great to see it in action. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-pubsub-as-a-communication-method.html", "Chapter 3 Introduce PubSub as a communication method 3.1 Objectives 3.2 Design 3.3 Implementation", " Chapter 3 Introduce PubSub as a communication method 3.1 Objectives consider reasons why introducing a PubSub communication would be beneficial implement the PubSub communication between the Streamer.Binance and the Naive.Trader(s) 3.2 Design First, let’s look at the current situation: We started with the Binance streamer calling the send_event/1 function on the Naive module. The Naive module then calls the trader process using the GenServer’s cast/2 function(via its registered name). The next step in the process of extending our trading strategy will be to scale it to run multiple Naive.Trader processes in parallel. To be able to do that we will need to remove the option to register the trader process with a name(as only one process can be registered under a single name). The second issue with that design was the fact that the Streamer needs to be aware of all processes that are interested in the streamed data and explicitly push that information to them. To fix those issues we will invert the design and introduce a PubSub mechanism: The streamer will broadcast trade events to the PubSub topic and whatever is interested in that data, can subscribe to the topic and it will receive the broadcasted messages. There’s no coupling between the Streamer and Naive app anymore. We can now introduce multiple traders that will subscribe to the topic and they will receive messages from the PubSub: Going even further down the line we can picture that system could consist of other processes interested in the streamed data. An example of those could be a process that will save all streamed information to the database to be utilized in backtesting later on: 3.3 Implementation We will start by adding a Phoenix.PubSub library to both Streamer and Naive app(as both will be using it, Streamer app as a broadcaster and Naive app as a subscriber). Scrolling down through its readme on GitHub we can see that we need to add :phoenix_pubsub to list of dependencies: # /apps/streamer/mix.exs & /apps/naive/mix.exs defp deps do [ ... {:phoenix_pubsub, "~> 2.0"}, ... ] end Remember to place it so the list will keep alphabetical order. The second step in the readme says that we need to add PubSub as a child of our app. We need to decide where we will put it, Streamer sounds like a good starting point. We will modify the /apps/streamer/lib/streamer/application.ex module by appending the PubSub to it: # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 } ] ... end We will add the :adapter_name option to instruct PubSub to use pg adapter, which will give us distributed process groups. We will now modify the streamer to broadcast a message to PubSub topic instead of using the Naive module’s function: # /apps/streamer/lib/streamer/binance.ex defp process_event(...) do ... Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) end Inside the trader on init we need to subscribe to the “TRADE_EVENTS” PubSub channel: # /apps/naive/lib/naive/trader.ex def init(...) do ... Phoenix.PubSub.subscribe( Streamer.PubSub, "TRADE_EVENTS:#{symbol}" ) ... end Next, we need to convert all handle_cast callbacks to handle_info inside our Trader module as PubSub doesn’t use GenServer.cast/2 to send messages over to subscribers. The final change will be to remove the send_event function from the Naive module as it’s no longer required. Our update is now finished so we can start an iex session to see how it works. First, we will start a streamer process that will broadcast messages to PubSub. Next, we will start trading on the same symbol. On init, the trader will subscribe to a PubSub channel and it will make a full trade cycle. $ iex -S mix ... iex(1)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.483.0>} iex(2)> Naive.Trader.start_link(%{symbol: "XRPUSDT", profit_interval: "-0.01"}) 23:46:37.482 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.474.0>} 23:46:55.179 [info] Placing BUY order for XRPUSDT @ 0.29462000, quantity: 100 23:46:55.783 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29225), quantity: 100.00000000 23:46:56.029 [info] Trade finished, trader will now exit This shows that the new trader process successfully subscribed to the PubSub, received the broadcasted messages, placed buy/sell orders, and terminated after the full trade cycle finished. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["mock-the-binance-api.html", "Chapter 4 Mock the Binance API 4.1 Objectives 4.2 Design 4.3 Create “BinanceMock” app 4.4 Implement getting exchange info 4.5 Implement placing buy and sell orders 4.6 Implement order retrival 4.7 Implement callback for incoming trade events 4.8 Upgrade trader and config 4.9 Test the implementation", " Chapter 4 Mock the Binance API 4.1 Objectives design the binance mock application create a new app implement getting exchange info implement placing buy and sell orders implement callback for incoming trade events upgrade trader and config test the implementation 4.2 Design First, let’s start with the current state: Currently, our trader is using the Binance module to place buy/sell orders and get exchange info. The get_exchange_info/0 function doesn’t require a Binance account as it’s publicly available information so we can call the Binance lib directly from our module. The remaining ones(buying/selling) require a Binance account and some coins/tokens inside its wallet. We need to mock those inside our module. We will update the trader to fetch the Binance’s module name from the config: We will set up a config so it points to the Binance client to be used - either Binance or BinanceMock. Regards the BinanceMock itself it will have the same interface as the Binance module. It will need to store both buy and sell orders and it will allow us to retrieve them. That will cover the REST functions but Binance also streams back trade events for those orders as they get filled, that’s why BinanceMock will also need to broadcast fake events to the “TRADE_EVENTS:#{symbol}” PubSub topic so the trader will pick them up: When exactly should we broadcast those fake trade events? Well, the best thing that we can do is make the BinanceMock process subscribe to the trade events stream and try to broadcast fake trade events whenever the price of orders would be matched: Starting from the arrow on the left, our naive strategy will place an order at the current price. In this hypotetical scenario, the price raised for a moment after placing the buy order, so BinanceMock will keep on waiting until a trade event will get broadcasted from the PubSub with a price below the buy order’s price. At that moment BinanceMock will generate a fake trade event and broadcast it to the same PubSub topic. The trader will get that event and assume that it came from the Binance and that the buy order got filled so it will place a sell order. Similar to the buy order, BinanceMock will keep on waiting until a trade event will get broadcasted from the PubSub with the price above the sell order’s price. At that moment BinanceMock will generate a fake trade event and broadcast it to the same PubSub topic. Enough theory for now, let’s get our hands dirty with some coding. 4.3 Create “BinanceMock” app We will start by creating a new supervised app called BinanceMock: $ cd apps $ mix new binance_mock --sup The next step will be to update the BinanceMock module to be a GenServer. We will utilize: the Decimal module for comparing the prices the Logger module to log As well as we will define internal %State{} struct that will hold: map called order_books for each traded symbol list of symbols that mock subscribed to last generated id - for consistent generating of unique ids for fake trade events order_books map will consist of :\"#{symbol} => %OrderBook{}. We will define the %OrderBook{} struct as 3 lists buy_side, sell_side and historical: # /apps/binance_mock/lib/binance_mock.ex defmodule BinanceMock do use GenServer alias Decimal, as: D alias Streamer.Binance.TradeEvent require Logger defmodule State do defstruct order_books: %{}, subscriptions: [], fake_order_id: 1 end defmodule OrderBook do defstruct buy_side: [], sell_side: [], historical: [] end def start_link(_args) do GenServer.start_link(__MODULE__, nil, name: __MODULE__) end def init(_args) do {:ok, %State{}} end end 4.4 Implement getting exchange info As it was mentioned before, to retrieve exchange info we can just call Binance’s function directly as its publicly available information: # /apps/binance_mock/lib/binance_mock.ex def get_exchange_info do Binance.get_exchange_info() end 4.5 Implement placing buy and sell orders For buy and sell limit orders we will write a helper function as the logic is the same for both order sides: # /apps/binance_mock/lib/binance_mock.ex def order_limit_buy(symbol, quantity, price, "GTC") do order_limit(symbol, quantity, price, "BUY") end def order_limit_sell(symbol, quantity, price, "GTC") do order_limit(symbol, quantity, price, "SELL") end The “order_limit” helper function will: generate a fake order based on symbol, quantity, price, and side cast a message to the BinanceMock process to add the fake order return with a tuple with %OrderResponse{} struct to be consistent with the Binance module: # /apps/binance_mock/lib/binance_mock.ex defp order_limit(symbol, quantity, price, side) do %Binance.Order{} = fake_order = generate_fake_order( symbol, quantity, price, side ) GenServer.cast( __MODULE__, {:add_order, fake_order} ) {:ok, convert_order_to_order_response(fake_order)} end We can now move on to implementing the handle_cast/2 callback to :add_order to the order book for the symbol from the order. It needs to subscribe to the TRADE_EVENTS:#{symbol} topic for the symbol from the order and add the order to the correct order book: # /apps/binance_mock/lib/binance_mock.ex def handle_cast( {:add_order, %Binance.Order{symbol: symbol} = order}, %State{ order_books: order_books, subscriptions: subscriptions } = state ) do new_subscriptions = subscribe_to_topic(symbol, subscriptions) updated_order_books = add_order(order, order_books) { :noreply, %{ state | order_books: updated_order_books, subscriptions: new_subscriptions } } end We will start with the implementation of the subscribe_to_topic/2 function. We need to make sure that the symbol is uppercased as well as check have we already subscribed to that topic. Otherwise, we can safely use the PubSub module to subscribe to the TRADE_EVENTS:#{symbol} topic for this symbol. We need to remember to append the symbol to the list of subscription and return the updated list: # /apps/binance_mock/lib/binance_mock.ex defp subscribe_to_topic(symbol, subscriptions) do symbol = String.upcase(symbol) stream_name = "TRADE_EVENTS:#{symbol}" case Enum.member?(subscriptions, symbol) do false -> Logger.debug("BinanceMock subscribing to #{stream_name}") Phoenix.PubSub.subscribe( Streamer.PubSub, stream_name ) [symbol | subscriptions] _ -> subscriptions end end Next, time for implementation of the add_order function. First, we need to get the order book for the symbol of the order. Depends on the side of the order we will update either the buy_side or sell_side list remembering that both sides are sorted. We are sorting them so we can easily grab all orders that should be filled whenever trade event arrived, this will become clearer as we will write a handle callback for incoming trade events: # /apps/binance_mock/lib/binance_mock.ex defp add_order( %Binance.Order{symbol: symbol} = order, order_books ) do order_book = Map.get( order_books, :"#{symbol}", %OrderBook{} ) order_book = if order.side == "SELL" do Map.replace!( order_book, :sell_side, [order | order_book.sell_side] |> Enum.sort(&D.lt?(&1.price, &2.price)) ) else Map.replace!( order_book, :buy_side, [order | order_book.buy_side] |> Enum.sort(&D.gt?(&1.price, &2.price)) ) end Map.put(order_books, :"#{symbol}", order_book) end Now we need to follow up and implement the functions that we referred to previously - those are generate_fake_order and convert_order_to_order_response. Starting with the generate_fake_orders, it’s a function that takes a symbol, quantity, price, and side and based on those values returns a Binance.Order struct. To return the struct we will need to generate a unique id for each faked order - this is where fake_order_id will be used(callback implemented later). This way we will be able to run tests multiple times using the BinanceMock and always get the same ids: # /apps/binance_mock/lib/binance_mock.ex defp generate_fake_order(symbol, quantity, price, side) when is_binary(symbol) and is_binary(quantity) and is_binary(price) and (side == "BUY" or side == "SELL") do current_timestamp = :os.system_time(:millisecond) order_id = GenServer.call(__MODULE__, :generate_id) client_order_id = :crypto.hash(:md5, "#{order_id}") |> Base.encode16() Binance.Order.new(%{ symbol: symbol, order_id: order_id, client_order_id: client_order_id, price: price, orig_qty: quantity, executed_qty: "0.00000000", cummulative_quote_qty: "0.00000000", status: "NEW", time_in_force: "GTC", type: "LIMIT", side: side, stop_price: "0.00000000", iceberg_qty: "0.00000000", time: current_timestamp, update_time: current_timestamp, is_working: true }) end We can now focus on converting the Binance.Order to the Binance.OrderResponse struct. As Binance.Order struct contains almost all of the same fields that the Binance.OrderResponse struct, we can use struct function without exclamation mark to ignore all additional fields. The only field that has a different name is transact_time field which is called time in the Binance.Order struct - we can fix that separately: # /apps/binance_mock/lib/binance_mock.ex defp convert_order_to_order_response(%Binance.Order{} = order) do %{ struct( Binance.OrderResponse, order |> Map.to_list() ) | transact_time: order.time } end The last function to finish support for placing buy and sell orders is to add a callback that will iterate the fake order id and return it: # /apps/binance_mock/lib/binance_mock.ex def handle_call( :generate_id, _from, %State{fake_order_id: id} = state ) do {:reply, id + 1, %{state | fake_order_id: id + 1}} end 4.6 Implement order retrival We can now move on to retrieving the orders. First, we need to add an interface function that will call our BinanceMock GenServer: # /apps/binance_mock/lib/binance_mock.ex def get_order(symbol, time, order_id) do GenServer.call( __MODULE__, {:get_order, symbol, time, order_id} ) end The callback itself is pretty straightforward. We will need to get an order book for the passed symbol. As we don’t know the order’s side, we will concat all 3 lists(buy_side, sell_side, and historical) and try to find an order that will match passed symbol, time, and order_id: # /apps/binance_mock/lib/binance_mock.ex def handle_call( {:get_order, symbol, time, order_id}, _from, %State{order_books: order_books} = state ) do order_book = Map.get( order_books, :"#{symbol}", %OrderBook{} ) result = (order_book.buy_side ++ order_book.sell_side ++ order_book.historical) |> Enum.find( &(&1.symbol == symbol and &1.time == time and &1.order_id == order_id) ) {:reply, {:ok, result}, state} end 4.7 Implement callback for incoming trade events Finally, we need to handle incoming trade events(streamed from the PubSub topic). We need to implement a callback that will: get the order book for the symbol from the trade event use the take_while/2 function on the buy orders with prices that are greater than the current price - we can update their status to filled. use the take_while/2 function again, this time to sell orders with prices less than the current price, we will also update their statuses to filled. concat both lists of filled orders, convert them to trade events, and broadcast them to the PubSub’s TRADE_EVENTS topic. remove the filled orders from buy and sell lists and put them into the historical list. Here we can clearly see the benefit of sorting the lists, we can use functions like take_while/2 and drop/2 instead of filter/2 and reject/2(later ones will go through whole lists which could become a bottleneck when multiple open orders would be active): # /apps/binance_mock/lib/binance_mock.ex def handle_info( %TradeEvent{} = trade_event, %{order_books: order_books} = state ) do order_book = Map.get( order_books, :"#{trade_event.symbol}", %OrderBook{} ) filled_buy_orders = order_book.buy_side |> Enum.take_while(&D.lt?(trade_event.price, &1.price)) |> Enum.map(&Map.replace!(&1, :status, "FILLED")) filled_sell_orders = order_book.sell_side |> Enum.take_while(&D.gt?(trade_event.price, &1.price)) |> Enum.map(&Map.replace!(&1, :status, "FILLED")) (filled_buy_orders ++ filled_sell_orders) |> Enum.map(&convert_order_to_event(&1, trade_event.event_time)) |> Enum.each(&broadcast_trade_event/1) remaining_buy_orders = order_book.buy_side |> Enum.drop(length(filled_buy_orders)) remaining_sell_orders = order_book.sell_side |> Enum.drop(length(filled_sell_orders)) order_books = Map.replace!( order_books, :"#{trade_event.symbol}", %{ buy_side: remaining_buy_orders, sell_side: remaining_sell_orders, historical: filled_buy_orders ++ filled_sell_orders ++ order_book.historical } ) {:noreply, %{state | order_books: order_books}} end Inside the callback we referred to two new functions that we will implement now(convert_order_to_event and broadcast_trade_event). Starting with the convert_order_to_event function, it will simply return a new Streamer.Binance.TradeEvent struct filled with data. An interesting thing to observe here is that again all values are predictable and function will return the same values for the same input - this will become beneficial for backtesting over and over again and comparing the behavior between runs: # /apps/binance_mock/lib/binance_mock.ex defp convert_order_to_event(%Binance.Order{} = order, time) do %TradeEvent{ event_type: order.type, event_time: time - 1, symbol: order.symbol, trade_id: Integer.floor_div(time, 1000), price: order.price, quantity: order.orig_qty, buyer_order_id: order.order_id, seller_order_id: order.order_id, trade_time: time - 1, buyer_market_maker: false } end Broadcasting trade events to PubSub will be the last function that will finish the implementation of BinanceMock for now. It’s safe to assume that the incoming symbol will be uppercased as it comes from the exchange (the symbol is part of the topic name which is case-sensitive): # /apps/binance_mock/lib/binance_mock.ex defp broadcast_trade_event(%Streamer.Binance.TradeEvent{} = trade_event) do Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) end That finishes the BinanceMock implementation. Now, we need to add it to the children list of the application so it starts automatically: # /apps/binance_mock/lib/binance_mock/application.ex ... def start(_type, _args) do children = [ {BinanceMock, []} ] ... end end 4.8 Upgrade trader and config We can move on to the Naive.Trader module where we will add an attribute that will point to the Binance client dictated by config: # /apps/naive/lib/naive/trader.ex @binance_client Application.compile_env(:naive, :binance_client) We need to replace all direct calls to the Binance module for calls to the @binance_client attribute inside the Naive.Trader: # /apps/naive/lib/naive/trader.ex ... @binance_client.order_limit_buy( ... @binance_client.order_limit_sell ... @binance_client.get_exchange_info() ... As the Naive.Trader is now relying on the config to specify which Binance client should they use, we need to add it to the config: # /config/config.exs config :naive, binance_client: BinanceMock The last modification to our system will be to modify the mix.exs of the binance_mock app to list all deps required for it to work: # /apps/binance_mock/mix.exs ... defp deps do [ {:binance, "~> 1.0"}, {:decimal, "~> 2.0"}, {:phoenix_pubsub, "~> 2.0"}, {:streamer, in_umbrella: true} ] end ... We also add :binance_mock to the list of deps of the naive app(as the Naive app will use either Binance or BinanceMock to “trade”): # /apps/naive/mix.exs ... defp deps do [ ... {:binance_mock, in_umbrella: true} ... ] end ... 4.9 Test the implementation We can now see the BinanceMock in action. First, we will start an iex session and double-check that the BinanceMock process is alive. $ iex -S mix ... iex(1)> Process.whereis(BinanceMock) #PID<0.320.0> # <- confirms that BinanceMock process is alive iex(2)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.332.0>} iex(3)> Naive.Trader.start_link( %{symbol: "XRPUSDT", profit_interval: "-0.001"} ) 00:19:39.232 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.318.0>} 00:19:40.826 [info] Placing BUY order for XRPUSDT @ 0.29520000, quantity: 100 00:19:44.569 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29549), quantity: 100.0 00:20:09.391 [info] Trade finished, trader will now exit As config already points to it so we can continue as previously by starting the streaming and trading on the symbol. The trader is using the BinanceMock and it looks like everything works as it would be dealing with a real exchange. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["enable-parallel-trading-on-multiple-symbols.html", "Chapter 5 Enable parallel trading on multiple symbols 5.1 Objectives 5.2 Introduction - architectural design 5.3 Implement Naive.SymbolSupervisor 5.4 Implement Naive.Leader", " Chapter 5 Enable parallel trading on multiple symbols 5.1 Objectives design supervision tree that will allow trading using multiple traders in parallel per symbol update application supervisor implement Naive.Server implement Naive.SymbolSupervisor 5.2 Introduction - architectural design In the second chapter, we implemented a basic trader which goes through the trading cycle. Inside the iEx session, we were starting the Naive.Trader process using the start_link/1 function: The GenServer.start_link/3 creates a link between IEx’s process and new Naive.Trader process. Whenever a trader process terminates(either finishes the trading cycle or there was an error), a new one won’t get started as there’s no supervision at all. We can do much better than that with a little bit of help from Elixir and OTP. Let’s introduce a supervisor above our trader process. It will start a new trader process whenever the previous one finished/crashed: This looks much better but there are few problems with it. So, when the trader will start to place orders it will be in some state(it will hold buy/sell orders) that the supervisor won’t be aware of. In case of trader crashing, the supervisor will start a new trader without any knowledge of possibly placed orders or any other information from the state(it will be started with a “fresh” state). To fix that we need to keep a copy of the trader’s state outside of the trader process - that’s why we will introduce a new server called Naive.Leader that will keep track of traders’ data: The Naive.Leader will become the interface to start new traders. It will call the start_child/1 function of the Supervisor, then consequently DynamicTraderSupervisor will call the start_link/1 function of our Naive.Trader module. We can also see that our Naive.Trader’s are now started with the temporary restart option. Setting this option will disallow the Supervisor from restarting the traders on its own. The responsibility of restarting traders will now be shifted to the leader. The leader will monitor the traders and restart them to a correct state when any crashes. As trader state will get updated, it will notify the leader about its new state to be stored. This way whenever a trader process would crash, the leader will be able to start a new trader process with the last known state. This setup will also allow us to start and supervise multiple traders for a single symbol which our naive strategy will require in the future(next chapter). For each symbol that we will be trading on we need the above trio of services(Leader + DynamicTraderSupervisor + Trader), to effectively initialize(and supervise) them we will add an Naive.SymbolSupervisor that will start both Naive.Leader and Naive.Dynamic: We will need multiple symbol supervisors, one for each symbol that we would like to trade on. As with traders, they will be dynamically started on demand, this should give us a hint that we need another dynamic supervisor that will supervise symbol supervisors and will be the direct child of our Naive.Supervisor(Naive.Application module): You could ask yourself why we don’t need some additional server to track which symbols are traded at the moment (in the same way as Naive.Leader tracks Naive.Traders). The answer is that we don’t need to track them as we register all Naive.SymbolSupervisors with a name containing a symbol that they trade on. This way we will always be able to refer to them by registered name instead of PIDs/refs. Here’s what happens starting from the top of the graph: the Naive.Application is our top-level application’s supervisor for the naive app, it was auto-generated as a part of the naive app it has a single child Naive.DynamicSymbolSupervisor, which has strategy one_for_one and all of its children are Naive.SymbolSupervisors Naive.SymbolSupervisor process will start two further children: the Naive.Leader and DynamicTraderSupervisor, both created on init the Naive.Leader will ask DynamicTraderSupervisor to start the Naive.Trader child process(es) This can be a little bit confusing at the moment but it will get a lot easier as we will write the code. Let’s get to it! 5.2.1 Update application supervisor Let’s start by adding a Naive.DynamicSymbolSupervisor and a server to the children list of the Naive.Application supervisor: # /apps/naive/lib/naive/application.ex def start(_type, _args) do children = [ { DynamicSupervisor, strategy: :one_for_one, name: Naive.DynamicSymbolSupervisor } ] ... end 5.2.2 Add interface method We will now add an interface method to the Naive module that will instruct Naive.DynamicSymbolSupervisor to start Naive.SymbolSupervisor(to be implemented next) as its child: # /apps/naive/lib/naive.ex def start_trading(symbol) do symbol = String.upcase(symbol) {:ok, _pid} = DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) end 5.3 Implement Naive.SymbolSupervisor Next, time for the Naive.SymbolSupervisor, the first step will be to create a file called symbol_supervisor.ex inside apps/naive/lib/naive directory. There’s no point in using the DynamicSupervisor, as we know the children that we would like to start automatically on init. This is a full implementation of the supervisor and it’s a simple as just listing child processes inside the init function: # /apps/naive/lib/naive/symbol_supervisor.ex defmodule Naive.SymbolSupervisor do use Supervisor require Logger def start_link(symbol) do Supervisor.start_link( __MODULE__, symbol, name: :"#{__MODULE__}-#{symbol}" ) end def init(symbol) do Logger.info("Starting new supervision tree to trade on #{symbol}") Supervisor.init( [ { DynamicSupervisor, strategy: :one_for_one, name: :"Naive.DynamicTraderSupervisor-#{symbol}" }, {Naive.Leader, symbol} ], strategy: :one_for_all ) end end It’s advised to keep supervisor processes slim. We registered the Naive.SymbolSupervisor processes with names, which will help us understand the supervision tree inside the observer GUI(it will also allow us to stop those supervisors in the future). As mentioned previously whenever either the Naive.Leader or Naive.DynamicSymbolSupervisor-#{symbol} would crash we would like to kill the other child process as we won’t be able to recover the state - it’s just easier to init both again. 5.4 Implement Naive.Leader It’s time for the Naive.Leader module, again, the first step will be to create a file called the leader.ex inside apps/naive/lib/naive directory. At this moment it will be a skeleton GenServer implementation just to get the code to compile: # /apps/naive/lib/naive/leader.ex defmodule Naive.Leader do use GenServer def start_link(symbol) do GenServer.start_link( __MODULE__, symbol, name: :"#{__MODULE__}-#{symbol}" ) end def init(symbol) do {:ok, %{symbol: symbol}} end end At this moment we have half of the supervision tree working so we can give it a spin in iex. Using the observer we will be able to see all processes created when the start_trading/1 function gets called: $ iex -S mix ... iex(1)> :observer.start() The above function will open a new window looking as follows: To clearly see the supervision tree we will click on the “Applications” tab at the top - the following tree of processes will be shown on the left: If any other process tree is visible, go to the list on the left and select the naive application. The Naive.Supervisor is our Naive.Application module(you can confirm that by checking the name option send to the start_link function inside the module). It starts the Naive.DynamicSymbolSupervisor. We can now call the Naive.start_trading/1 function couple time to see how the tree will look like with additional processes(go back to the iex session): ... iex(2)> Naive.start_trading("adausdt") 23:14:40.974 [info] Starting new supervision tree to trade on ADAUSDT {:ok, #PID<0.340.0>} iex(3)> Naive.start_trading("xrpusdt") 23:15:12.117 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.345.0>} We can see that two new branches were created: SymbolSupervisor-ADAUSDT SymbolSupervisor-XRPUSDT Each of them contains a Naive.Leader and DynamicTraderSupervisor. 5.4.1 Updating the leader module Let’s jump back to extending a leader implementation to get those traders running. We will introduce a leader’s state that will consist of a symbol, setting, and a list of traders’ data. Trader data will hold PID, ref, and state of the trader: # /apps/naive/lib/naive/leader.ex ... alias Naive.Trader require Logger @binance_client Application.compile_env(:naive, :binance_client) defmodule State do defstruct symbol: nil, settings: nil, traders: [] end defmodule TraderData do defstruct pid: nil, ref: nil, state: nil end We will use a handle_continue callback which was introduced in Erlang 21 to initialize the leader asynchronously. To do that we will return a tuple starting with a :continue atom from inside the init function: # /apps/naive/lib/naive/leader.ex def init(symbol) do {:ok, %State{ symbol: symbol }, {:continue, :start_traders}} end The Naive.Leader will fetch symbol settings and based on them, it will build the state for traders so they don’t need to fetch the same settings again. It will also start as many traders there were set under chunks key in setting: # /apps/naive/lib/naive/leader.ex # below init() def handle_continue(:start_traders, %{symbol: symbol} = state) do settings = fetch_symbol_settings(symbol) trader_state = fresh_trader_state(settings) traders = for _i <- 1..settings.chunks, do: start_new_trader(trader_state) {:noreply, %{state | settings: settings, traders: traders}} end Fetching symbol settings will be hardcoded for time being to keep this chapter focused. We will also move the code responsible for fetching tick size from the Naive.Trader to the Naive.Leader and hardcode the rest of the values: # /apps/naive/lib/naive/leader.ex defp fetch_symbol_settings(symbol) do tick_size = fetch_tick_size(symbol) %{ symbol: symbol, chunks: 1, # -0.12% for quick testing profit_interval: "-0.0012", tick_size: tick_size } end defp fetch_tick_size(symbol) do @binance_client.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") end Additionally, we need to create a helper method that we used inside the handle_continue/2 callback called fresh_trader_state/1: # /apps/naive/lib/naive/leader.ex # place this one above the `fetch_symbol_settings` function defp fresh_trader_state(settings) do struct(Trader.State, settings) end Starting a new trader isn’t any different from the code that we already wrote to start a new Naive.SymbolSupervisor. We need to call the DynamicSupervisor.start_child/2 function and start to monitor the process: # /apps/naive/lib/naive/leader.ex defp start_new_trader(%Trader.State{} = state) do {:ok, pid} = DynamicSupervisor.start_child( :"Naive.DynamicTraderSupervisor-#{state.symbol}", {Naive.Trader, state} ) ref = Process.monitor(pid) %TraderData{pid: pid, ref: ref, state: state} end 5.4.2 Updating the Naive.Trader module Now we can update the Naive.Trader, first, we will set restart to be temporary to avoid restarting it by the Naive.DynamicTraderSupervisor: # /apps/naive/lib/naive/trader.ex defmodule Naive.Trader do use GenServer, restart: :temporary ... Next, we will update the start_link/1 and init/1 functions to take the state instead of building it from args: # /apps/naive/lib/naive/trader.ex def start_link(%State{} = state) do GenServer.start_link(__MODULE__, state) end def init(%State{symbol: symbol} = state) do symbol = String.upcase(symbol) Logger.info("Initializing new trader for symbol(#{symbol})") Phoenix.PubSub.subscribe( Streamer.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, state} end Next, we need to update two handle_info/2 callbacks that change the state of the Naive.Trader process(when placing buy order and when placing sell order). They will need to notify the Naive.Leader that the state is changed before returning it: # /apps/naive/lib/naive/trader.ex ... def handle_info( ... ) do Logger.info("Placing buy order (#{symbol}@#{price})") ... new_state = %{state | buy_order: order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end def handle_info( ... ) do ... Logger.info("Buy order filled, placing sell order ...") ... new_state = %{state | sell_order: order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end ... 5.4.3 Finalizing Naive.Leader implementation Now we need to get back to the Naive.Leader where we will implement the notifying logic. We will start with the notify function that will just call the Naive.Leader process: # /apps/naive/lib/naive/leader.ex # below init def notify(:trader_state_updated, trader_state) do GenServer.call( :"#{__MODULE__}-#{trader_state.symbol}", {:update_trader_state, trader_state} ) end Now, it’s time for a callback function that will handle the trader state update. As this is a handle_call/3 callback we have access to the trader PID which sent the notification message. We will try to find that trader in the list of traders. If that’s successful we will update the cached state for that trader locally: # /apps/naive/lib/naive/leader.ex # below handle_continue def handle_call( {:update_trader_state, new_trader_state}, {trader_pid, _}, %{traders: traders} = state ) do case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to update the state of trader that leader is not aware of" ) {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} {:reply, :ok, %{state | :traders => List.replace_at(traders, index, new_trader_data)}} end end Another callback functions that we will need to provide are two handle_info/2 functions that will handle the trade finished scenario as well as crashed trader. First, trade finished scenario. As previously, we will try to find the trader data in the traders list. If that’s successful, we will start a new trader with a fresh state. We will also overwrite existing trader data locally(as PID, ref, and state changed): # /apps/naive/lib/naive/leader.ex # below state updated handle_call callback def handle_info( {:DOWN, _ref, :process, trader_pid, :normal}, %{traders: traders, symbol: symbol, settings: settings} = state ) do Logger.info("#{symbol} trader finished trade - restarting") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart finished #{symbol} " <> "trader that leader is not aware of" ) {:noreply, state} index -> new_trader_data = start_new_trader(fresh_trader_state(settings)) new_traders = List.replace_at(traders, index, new_trader_data) {:noreply, %{state | traders: new_traders}} end end Here we will assume that whenever the reason that the Naive.Trader process died is :normal that means that we stopped it after trade cycle finished. The final callback that we need to provide will handle the scenario where the trader crashed. We would like to find the cached state of the crashed trader and start a new one with the same state and then update the local cache as PID and ref will change for that trader: # /apps/naive/lib/naive/leader.ex # below trade finished handle_info callback def handle_info( {:DOWN, _ref, :process, trader_pid, reason}, %{traders: traders, symbol: symbol} = state ) do Logger.error("#{symbol} trader died - reason #{reason} - trying to restart") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart #{symbol} trader " <> "but failed to find its cached state" ) {:noreply, state} index -> trader_data = Enum.at(traders, index) new_trader_data = start_new_trader(trader_data.state) new_traders = List.replace_at(traders, index, new_trader_data) {:noreply, %{state | traders: new_traders}} end end 5.4.4 IEx testing That finishes the implementation part, let’s jump into the IEx session to see how it works. We will start the observer first, then we will start trading on any valid symbol. When our trader will start, you should be able to right-click and select “Kill process”(leave the reason as kill) and click “OK”. At that moment you should see that the PID of the trader changed and we can also see a log message from the leader. $ iex -S mix ... iex(1)> :observer.start() :ok iex(2)> Naive.start_trading("xrpusdt") 00:04:35.041 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.455.0>} 00:04:37.697 [info] Initializing new trader for XRPUSDT iex(3)> 00:08:01.476 [error] XRPUSDT trader died - trying to restart 00:08:01.476 [info] Initializing new trader for XRPUSDT [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-a-buy_down_interval-to-make-a-single-trader-more-profitable.html", "Chapter 6 Introduce a buy_down_interval to make a single trader more profitable 6.1 Objectives 6.2 Why we need to buy below the current price? Feature overview 6.3 Naive.Trader implementation 6.4 Naive.Leader implementation", " Chapter 6 Introduce a buy_down_interval to make a single trader more profitable 6.1 Objectives present reasons why to introduce buy_down_interval add buy_down interval to Naive.Trader’s state and calculate buy price add buy_down interval to Naive.Trader’s state compiled by the Naive.Leader manually test the implementation inside iex 6.2 Why we need to buy below the current price? Feature overview The Naive.Trader process(marked in above diagram with blue color) at the arrival of the first trade event, immediately places a buy order at the current price. At the moment when the buy order gets filled, it places the sell order which later also gets filled. The Trader A exits and a new trader B is started which again immediately places a buy order at the same price as the previous trader just sold. When this gets filled sell order gets placed and the loop continues on and on. We can see that there’s a problem here as we just paid a fee twice(once for selling by the Trader A and once for buying by the Trader B) without really gaining anything(the Trader A could just hold the currency and could simply cash in on double profit in this specific situation). The solution is to be more clever about our buy order’s price. The idea is simple, instead of placing a new buy order at the current price(price from the last TradeEvent), we will introduce a buy_down_interval: So every new Naive.Trader process as it receives the first trade event, the trader will take its price and will calculate a decreased price by using the buy_down_interval value(for example 0.005 would be 0.5%) and place a buy order at that calculated price. When looking at the chart above we can figure out that buy_down_interval should never be smaller than double the fee(at the moment of writing transaction fee is 0.1%) that you are paying per transaction. 6.3 Naive.Trader implementation Let’s open the Naive.Trader module’s file(/apps/naive/lib/naive/trader.ex) and add buy_down_interval to its state: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :buy_down_interval, # <= add this line :profit_interval, :tick_size ] defstruct [ :symbol, :buy_order, :sell_order, :buy_down_interval, # <= add this line :profit_interval, :tick_size ] end ... Next, we need to update the initial handle_info/2 callback which places the buy order. We need to retrieve the buy_down_interval and the tick_size from the state of the trader to be able to calculate the buy price. We will put the logic to calculate that price in a separate function at the end of the file: # /apps/naive/lib/naive/trader.ex ... def handle_info( %TradeEvent{price: price}, %State{ symbol: symbol, buy_order: nil, buy_down_interval: buy_down_interval, # <= add this line tick_size: tick_size # <= add this line } = state ) do price = calculate_buy_price(price, buy_down_interval, tick_size) # ^ add above call ... To calculate the buy price we will use a very similar method to the one used before to calculate the sell price. First, we will need to cast all variables into the Decimal structs and then, we will simply subtract the buy_down_interval of the price from the price. The number that we will end up with won’t necessarily be a legal price as every price needs to be divisible by the tick_size which we will assure in the last calculation: # /apps/naive/lib/naive/trader.ex ... defp calculate_buy_price(current_price, buy_down_interval, tick_size) do # not necessarily legal price exact_buy_price = D.sub( current_price, D.mult(current_price, buy_down_interval) ) D.to_string( D.mult( D.div_int(exact_buy_price, tick_size), tick_size ), :normal ) end ... 6.4 Naive.Leader implementation Next, we need to update the Naive.Leader as it needs to add buy_down_interval to the Naive.Trader’s state: # /apps/naive/lib/naive/leader.ex defp fetch_symbol_settings(symbol) do ... %{ symbol: symbol, chunks: 1, # 0.01% for quick testing buy_down_interval: "0.0001", # <= add this line # -0.12% for quick testing profit_interval: "-0.0012", tick_size: tick_size } end ... 6.4.1 IEx testing That finishes the buy_down_interval implementation, we will jump into the IEx session to see how it works, but before that, for a moment we will change the logging level to debug to see current prices: # config/config.exs ... config :logger, level: :debug # <= updated for our manual test ... After starting the streaming we should start seeing log messages with current prices. As we updated our implementation we should place our buy order below the current price as it’s visible below: $ iex -S mix ... iex(1)> Streamer.start_streaming("FLMUSDT") {:ok, #PID<0.313.0>} iex(2)> Naive.start_trading("FLMUSDT") 21:16:14.829 [info] Starting new supervision tree to trade on FLMUSDT ... 21:16:16.755 [info] Initializing new trader for FLMUSDT ... 21:16:20.000 [debug] Trade event received FLMUSDT@0.15180000 21:16:20.009 [info] Placing BUY order for FLMUSDT @ 0.1517, quantity: 100 As we can see our Naive.Trader process placed a buy order below the current price (based on the most recent trade event received) [Note] Please remember to revert the change to logger level as otherwise there’s too much noise in the logs. [Note 2] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-a-trader-budget-and-calculating-the-quantity.html", "Chapter 7 Introduce a trader budget and calculating the quantity 7.1 Objectives 7.2 Fetch step_size 7.3 Append budget and step_size to the Trader’s state inside the Leader 7.4 Append budget and step_size to the Trader’s state 7.5 Calculate quantity", " Chapter 7 Introduce a trader budget and calculating the quantity 7.1 Objectives fetch step_size append budget and step_size to the Trader’s state compiled by the Leader append budget and step_size to the Trader’s state calculate quantity 7.2 Fetch step_size In the 2nd chapter we hardcoded quantity to 100, it’s time to refactor that. We will need step_size information from the Binance which we are already retrieving together with tick_size in the exchangeInfo call(but not getting it out from the response). So we will rename the fetch_tick_size/1 function to fetch_symbol_filters/1 which will allow us to return multiple filters(tick_size and step_size) from that function. # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) # <= updated fetch_tick_size Map.merge( %{ symbol: symbol, chunks: 1, budget: 20, # -0.01% for quick testing buy_down_interval: "0.0001", # -0.12% for quick testing profit_interval: "-0.0012" }, symbol_filters ) end defp fetch_symbol_filters(symbol) do # <= updated fetch_tick_size symbol_filters = @binance_client.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") %{ tick_size: tick_size, step_size: step_size } end Instead of reassigning the filters one by one into the settings, we will merge them together(#1). Additionally, we will introduce a budget(#2) which will be shared across all traders of the symbol. Also, we don’t need to assign tick_size here as it’s part of the settings that are merged. 7.3 Append budget and step_size to the Trader’s state inside the Leader The budget needs to be added to the %State{}(step_size will be automatically passed on by struct/2) of the trader inside fresh_trader_state/1(where we initialize the state of traders). Before we will assign it we need to divide it by the number of chunks as each trader gets only a chunk of the budget: # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | budget: D.div(settings.budget, settings.chunks) } end In the code above we are using the Decimal module(aliased as D) to calculate the budget - we need to alias it at the top of Naive.Leader’s file: # /apps/naive/lib/naive/leader.ex defmodule Naive.Leader do use GenServer alias Decimal, as: D # <= add this line alias Naive.Trader ... 7.4 Append budget and step_size to the Trader’s state We need to add both budget and step_size to the Naive.Trader’s state struct: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :budget, # <= add this line :buy_down_interval, :profit_interval, :tick_size, :step_size # <= add this line and comma above ] defstruct [ :symbol, :budget, # <= add this line :buy_order, :sell_order, :buy_down_interval, :profit_interval, :tick_size, :step_size # <= add this line and comma above ] end ... 7.5 Calculate quantity Jumping back to the handle_info/2 where the Naive.Trader places a buy order, we need to pattern match on the step_size and budget then we will be able to swap hardcoded quantity with the result of calling the calculate_quantity/3 function: # /apps/naive/lib/naive/trader.ex ... def handle_info( %TradeEvent{price: price}, %State{ symbol: symbol, budget: budget, # <= add this line buy_order: nil, buy_down_interval: buy_down_interval, tick_size: tick_size, step_size: step_size # <= add this line } = state ) do ... quantity = calculate_quantity(budget, price, step_size) ... To calculate quantity we will just divide the budget by the price with a caveat that it’s possible (as with calculating the price) that it’s not a legal quantity value as it needs to be divisible by step_size: # /apps/naive/lib/naive/trader.ex # add below at the bottom of the file ... defp calculate_quantity(budget, price, step_size) do # not necessarily legal quantity exact_target_quantity = D.div(budget, price) D.to_string( D.mult( D.div_int(exact_target_quantity, step_size), step_size ), :normal ) end 7.5.1 IEx testing That finishes the quantity(and budget) implementation, we will jump into the IEx session to see how it works. First, start the streaming and trading on the same symbol and a moment later you should see a variable amount of quantity that more or less uses the full allowed budget: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") {:ok, #PID<0.313.0>} iex(2)> Naive.start_trading("XRPUSDT") 21:16:14.829 [info] Starting new supervision tree to trade on XRPUSDT 21:16:16.755 [info] Initializing new trader for XRPUSDT 21:16:20.009 [info] Placing BUY order for XRPUSDT @ 0.29506, quantity: 67.7 21:16:23.456 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29529, quantity: 67.7 As we can see our Naive.Trader process is now buying and selling based on passed budget. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["add-support-for-multiple-transactions-per-order.html", "Chapter 8 Add support for multiple transactions per order 8.1 Objectives 8.2 The issue with the current implementation 8.3 Improve buy order filled callback 8.4 Implement buy order “filled” callback 8.5 Improve sell order callback 8.6 Test the implementation", " Chapter 8 Add support for multiple transactions per order 8.1 Objectives describe the issue with the current implementation improve buy order filled callback implement buy order “filled” callback improve sell order callback 8.2 The issue with the current implementation Currently, Naive.Trader process is placing a buy order and it’s assuming that it will be filled by a single opposite sell order(we are pattern matching on quantity to confirm that): Here we can see our buy order for 1000 units(on the left) and other trader’s sell order(on the right) for 1000 units. This(order fully filled in a single transaction) is a case most of the time but it’s not ALWAYS the case. Sometimes our order will be filled by two or more transactions: The easiest and the safest way to check has this event filled our order fully is to fetch our order again from Binance at the moment when trade event filling our order arrives. The problem with this approach is that sometimes we will run into a race condition: From the left, first, we are sending a buy order for quantity 1000 to the Binance. It hangs for a while until it gets filled by 2 transactions that happened very quickly. Quickly enough for us to receive both messages almost in the same moment. When our bot will handle the first one it will fetch the buy order which is already filled. It will cause the trader to place a sell order but then there’s another trade event waiting in the message box. It will be handled by another callback that will again fetch the order and place another sell order to be placed and that’s obviously not correct. What we need to do is to update the status of the buy order after the first fetch(if it’s filled) so when the second trade event arrives we will ignore it(this will require an additional callback). The same issue will appear when placing a sell order and dealing with multiple simultaneous transactions. 8.3 Improve buy order filled callback First, we need to modify the callback which monitors incoming trade events for ones filling its buy order and then places sell order. We need to remove pattern matching assuming that a single trade event will fill our buy order - we need to drop quantity check as well as add: # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{ buyer_order_id: order_id # <= quantity got removed from here }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, order_id: order_id, orig_qty: quantity, transact_time: timestamp # <= timestamp added to query order } = buy_order, # <= buy order to update it profit_interval: profit_interval, tick_size: tick_size } = state ) do Now we can fetch our buy order to check is it already filled. We will get the Binance.Order struct instead of the Binance.OrderResponse that we normally deal with. At this moment we will simply update our Binance.OrderResponse struct from the state: # /apps/naive/lib/naive/trader.ex # inside the same callback def handle_info( ... ) do {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) buy_order = %{buy_order | status: current_buy_order.status} ... The rest of the logic inside this callback will depend on the status of the buy order. If our buy order is “filled” we would like to follow the existing logic but also update the buy_order field inside the state of the trader process. On the other hand, if our order is not yet filled the only thing to do is to update the buy_order field inside the state of the Trader process. Here’s an updated body below the above changes(few variables got renamed for clarity as we are now fetching the order): # /apps/naive/lib/naive/trader.ex # inside the same callback buy_order = .... {:ok, new_state} = if buy_order.status == "FILLED" do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) Logger.info( "Buy order filled, placing SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") {:ok, %{state | buy_order: buy_order, sell_order: order}} else Logger.info("Buy order partially filled") {:ok, %{state | buy_order: buy_order}} end Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end As we are branching our logic and both paths are updating the state, we will return it together with an :ok atom to be able to pattern match it and assign it as a new state. 8.4 Implement buy order “filled” callback The above callback covers the case where we will get multiple transactions filling our buy order. We aren’t yet covering for the race condition described at the beginning of this chapter. When another trade event matching buyer_order_id would arrive, the above callback would be used and another sell order would be placed. To avoid that we need to add a new callback ABOVE the one that we just edited that will match buyer_order_id together with “filled” status and it will simply ignore that trade event as we know that sell event needed to be placed by previous trade event: # /apps/naive/lib/naive/trader.ex # place this callback ABOVE callback from previous section def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id, # <= confirms that it's event for buy order status: "FILLED" # <= confirms buy order filled }, sell_order: %Binance.OrderResponse{} # <= confirms sell order placed } = state ) do {:noreply, state} end 8.5 Improve sell order callback Let’s move on to the callback where the trader receives a trade event matching the sell order’s id (about line 135 inside the Naive.Trader module). We need to modify the header of our callback in the following ways: drop both pattern matches on quantity as we already know that trade event could partially fill our order (#1) get symbol out of state (#2) get transact_time out of the sell_order (used to fetch get_order) (#3) assign sell_order to a variable (#4) # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{ seller_order_id: order_id # `quantity` check removed below (#1) }, %State{ symbol: symbol, (#2) sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp # `transact_time` to `get_order` (#3) } = sell_order # to update order (#4) } = state ) do Moving to the body of the function, we need to: fetch current state of our sell order update status of our sell_order from Trader’s state branch out the logic based on status of the sell_order: log and return the :stop atom to stop the GenServer or update the state with new sell_order and continue Here’s the full body of our callback: # /apps/naive/lib/naive/trader.ex # inside the callabck {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) sell_order = %{sell_order | status: current_sell_order.status} if sell_order.status == "FILLED" do Logger.info("Trade finished, trader will now exit") {:stop, :normal, state} else Logger.info("Sell order partially filled") new_state = %{state | sell_order: sell_order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 8.6 Test the implementation Testing this feature is a bit tricky as it requires trading on real Binance exchange(as our BinanceMock always fills orders with a single transaction) as well as race condition to happen :) Not that easy but even without race condition we should still test that code works as expected with BinanceMock: $ iex -S mix ... iex(1)> Naive.start_trading("XRPUSDT") 23:27:35.977 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.331.0>} 23:27:39.073 [info] Initializing new trader for XRPUSDT iex(2)> Streamer.start_streaming("XRPUSDT") {:ok, #PID<0.345.0>} 23:31:57.044 [info] Initializing new trader for XRPUSDT 23:31:57.888 [info] Placing BUY order for XRPUSDT @ 0.28031, quantity: 71.3 23:32:01.023 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.28053, quantity: 71.30000000 23:33:08.865 [info] Trade finished, trader will now exit 23:33:08.865 [info] XRPUSDT Trader finished - restarting [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["run-multiple-traders-in-parallel.html", "Chapter 9 Run multiple traders in parallel 9.1 Objectives 9.2 Describe and design the required functionality 9.3 Implement rebuy inside Naive.Trader 9.4 Implement rebuy in the Naive.Leader 9.5 Improve logs by assigning ids to traders 9.6 Test the implementation", " Chapter 9 Run multiple traders in parallel 9.1 Objectives describe and design the required functionality implement rebuy in the Naive.Trader implement rebuy in the Naive.Leader improve logs by assigning ids to traders 9.2 Describe and design the required functionality At this moment, inside the Naive.Leader we have a silly code that starts all of the traders at the same moment: # /apps/naive/lib/naive/leader.ex ... traders = for _i <- 1..settings.chunks, do: start_new_trader(trader_state) ... All the changes we made in this episode will enable us to fix this. Let’s say that we placed a buy order that got filled and the price has fallen before reaching the sell level. We can see here that we missed a nice opportunity to buy more as price drops and make money as it climbs back: We will implement an additional trade event callback inside the Naive.Trader that will keep checking the price after the buy order has been filled. Whenever a price drops below the buy_order’s price by rebuy_interval we will notify the Naive.Leader to start the new Naive.Trader process: The Naive.Leader keeps track of how many Naive.Traders are running and needs to honor the number of chunks set up in the settings (one chunk == one trader). To stop the Naive.Traders from continuously notifying about a drop in the price we will also introduce a boolean flag that will track has the Naive.Leader been already notified. 9.3 Implement rebuy inside Naive.Trader We will start by adding the rebuy_interval and the rebuy_notified to the trader’s state: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :budget, :buy_down_interval, :profit_interval, :rebuy_interval, # <= add this field :rebuy_notified, # <= add this field :tick_size, :step_size ] defstruct [ :symbol, :budget, :buy_order, :sell_order, :buy_down_interval, :profit_interval, :rebuy_interval, # <= add this field :rebuy_notified, # <= add this field :tick_size, :step_size ] end Rebuy logic should be placed almost as the last callback just before the one that ignores all events. We will need to retrieve the current price and buy_price and confirm that we didn’t notify the leader yet(rebuy_notified flag): # /apps/naive/lib/naive/trader.ex ... # sell filled callback here ... def handle_info( %TradeEvent{ price: current_price }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false } = state ) do end # catch all callback here We need to calculate is the current price below the rebuy interval. If yes we will notify the leader and update the boolean flag. We will abstract calculation to separate function(for readability) that we will write below: # /apps/naive/lib/naive/trader.ex # body of the above callback if trigger_rebuy?(buy_price, current_price, rebuy_interval) do Logger.info("Rebuy triggered for #{symbol} trader") new_state = %{state | rebuy_notified: true} Naive.Leader.notify(:rebuy_triggered, new_state) {:noreply, new_state} else {:noreply, state} end As mentioned before, we will set the rebuy_notified boolean flag to true and notify the leader using the notify function with the dedicated atom. At the bottom of the module we need to add the trigger_rebuy? helper function: # /apps/naive/lib/naive/trader.ex # bottom of the module defp trigger_rebuy?(buy_price, current_price, rebuy_interval) do rebuy_price = D.sub( buy_price, D.mult(buy_price, rebuy_interval) ) D.lt?(current_price, rebuy_price) end 9.4 Implement rebuy in the Naive.Leader Moving on to the Naive.Leader module, we can get update starting of the traders automatically by the leader to starting just one inside handle_continue: # /apps/naive/lib/naive/leader.ex def handle_continue(:start_traders, %{symbol: symbol} = state) do ... traders = [start_new_trader(trader_state)] # <= updated part ... end We will need to add a new clause of the notify function that will handle the rebuy scenario: # /apps/naive/lib/naive/leader.ex # add below current `notify` function def notify(:rebuy_triggered, trader_state) do GenServer.call( :"#{__MODULE__}-#{trader_state.symbol}", {:rebuy_triggered, trader_state} ) end We need to add a new handle_call function that will start new traders only when there are still chunks available(enforce the maximum number of parallel traders) - let’s start with a header: # /apps/naive/lib/naive/leader.ex # place this one after :update_trader_state handle_call def handle_call( {:rebuy_triggered, new_trader_state}, {trader_pid, _}, %{traders: traders, symbol: symbol, settings: settings} = state ) do end There are few important details to make note of: we need the trader’s PID to be able to find it details inside the list of traders we need settings to confirm the number of chunks to be able to limit the maximum number of parallel traders Moving on to the body of our callback. As with other ones, we will check can we find a trader inside the list of traders, and based on that we will either start another one(if we didn’t reach the limit of chunks) or ignore it: # /apps/naive/lib/naive/leader.ex # body of our callback case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning("Rebuy triggered by trader that leader is not aware of") {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} updated_traders = List.replace_at(traders, index, new_trader_data) updated_traders = if settings.chunks == length(traders) do Logger.info("All traders already started for #{symbol}") updated_traders else Logger.info("Starting new trader for #{symbol}") [start_new_trader(fresh_trader_state(settings)) | updated_traders] end {:reply, :ok, %{state | :traders => updated_traders}} end In the above code, we need to remember to update the state of the trader that triggered the rebuy inside the traders list as well as add the state of a new trader to that list. As with other setting we will hardcode the rebuy_interval(inside the fetch_symbol_settings function) and assign them to trader’s state(inside the fresh_trader_state function): # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | budget: D.div(settings.budget, settings.chunks), rebuy_notified: false # <= add this line } end defp fetch_symbol_settings(symbol) do ... Map.merge( %{ ... chunks: 5, # <= update to 5 parallel traders max budget: 100, # <= update this line ... profit_interval: "-0.0012", rebuy_interval: "0.001" # <= add this line }, symbol_filters ) end We also update the chunks and the budget to allow our strategy to start up to 5 parallel traders with a budget of 20 USDT each(100/5) as Binance has minimal order requirement at about $15(when using the BinanceMock this doesn’t really matter). 9.5 Improve logs by assigning ids to traders The final change will be to add an id to the trader’s state so we can use it inside log messages to give us meaningful data about what’s going on(otherwise we won’t be able to tell which message was logged by which trader). First, let’s add the id into the Naive.Leader’s fresh_trader_state as it will be defined per trader: # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | id: :os.system_time(:millisecond), # <= add this line budget: D.div(settings.budget, settings.chunks), rebuy_notified: false } end Now we can move on to the Naive.Trader and add it to the %State{} struct as well as we will modify every callback to include that id inside log messages: # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [ :id, ... ] defstruct [ :id, ... ] end ... def init(%State{id: id, symbol: symbol} = state) do ... Logger.info("Initializing new trader(#{id}) for #{symbol}") ... end def handle_info( %TradeEvent{price: price}, %State{ id: id, ... } = state ) do ... Logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) ... end def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ id: id, ... } = state ) do ... Logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) ... Logger.info("Trader's(#{id} #{symbol} BUY order got partially filled") ... end def handle_info( %TradeEvent{ seller_order_id: order_id }, %State{ id: id, ... } = state ) do ... Logger.info("Trader(#{id}) finished trade cycle for #{symbol}") ... Logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") ... end def handle_info( %TradeEvent{ price: current_price }, %State{ id: id, ... } = state ) do ... Logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") ... end That finishes the implementation part - we should now be able to test the implementation and see a dynamically growing number of traders for our strategy based on price movement. 9.6 Test the implementation Let’s start an iEx session and open the :observer(inside go to “Applications” tab and click on naive from the list of the left) so we will be able to see how the number of traders is growing as well as PIDs are changing which means that they are finishing the full trades: $ iex -S mix ... iex(1)> :observer.start() ... iex(2)> Naive.start_trading("HNTUSDT") 10:22:05.018 [info] The trader(1616754009963) is placing a BUY order for HNTUSDT @ 8.175, quantity: 2.446 10:22:11.665 [info] Rebuy triggered for HNTUSDT by the trader(1616754009963) 10:22:11.665 [info] Starting new trader for HNTUSDT 10:22:11.665 [info] Initializing new trader(1616754131665) for HNTUSDT 10:22:11.665 [info] The trader(1616754009963) is placing a SELL order for HNTUSDT @ 8.181, quantity: 2.446. 10:22:11.665 [info] The trader(1616754131665) is placing a BUY order for HNTUSDT @ 8.157, quantity: 2.451 10:22:58.339 [info] Trader(1616754009963) finished trade cycle for HNTUSDT 10:22:58.339 [info] HNTUSDT trader finished trade - restarting 10:22:58.339 [info] Initializing new trader(1616754178339) for HNTUSDT 10:22:58.339 [info] The trader(1616754178339) is placing a BUY order for HNTUSDT @ 8.212, quantity: 2.435 10:23:13.232 [info] Rebuy triggered for HNTUSDT by the trader(1616754178339) 10:23:13.232 [info] Starting new trader for HNTUSDT 10:23:13.232 [info] Initializing new trader(1616754193232) for HNTUSDT 10:23:13.232 [info] The trader(1616754178339) is placing a SELL order for HNTUSDT @ 8.218, quantity: 2.435. 10:23:31.120 [info] The trader(1616754193232) is placing a BUY order for HNTUSDT @ 8.194, quantity: 2.44 10:23:31.121 [info] Trader(1616754178339) finished trade cycle for HNTUSDT 10:23:31.122 [info] HNTUSDT trader finished trade - restarting 10:23:31.122 [info] Initializing new trader(1616754211122) for HNTUSDT 10:24:31.891 [info] The trader(1616754211122) is placing a BUY order for HNTUSDT @ 8.198, quantity: 2.439 10:25:24.155 [info] The trader(1616754211122) is placing a SELL order for HNTUSDT @ 8.204, quantity: 2.439. 10:25:24.155 [info] The trader(1616754193232) is placing a SELL order for HNTUSDT @ 8.2, quantity: 2.44. 10:25:24.155 [info] Rebuy triggered for HNTUSDT by the trader(1616754211122) 10:25:24.155 [info] Starting new trader for HNTUSDT 10:25:24.156 [info] Initializing new trader(1616754324155) for HNTUSDT 10:25:24.156 [info] Rebuy triggered for HNTUSDT by the trader(1616754193232) 10:25:24.156 [info] The trader(1616754324155) is placing a BUY order for HNTUSDT @ 8.183, quantity: 2.444 10:25:24.156 [info] Starting new trader for HNTUSDT 10:25:24.156 [info] Initializing new trader(1616754324156) for HNTUSDT 10:25:24.156 [info] The trader(1616754324156) is placing a BUY order for HNTUSDT @ 8.176, quantity: 2.446 10:25:24.156 [info] The trader(1616754324155) is placing a SELL order for HNTUSDT @ 8.189, quantity: 2.444. 10:25:37.527 [info] Trader(1616754324155) finished trade cycle for HNTUSDT 10:25:37.528 [info] HNTUSDT trader finished trade - restarting 10:25:37.528 [info] Initializing new trader(1616754337528) for HNTUSDT 10:25:37.528 [info] The trader(1616754337528) is placing a BUY order for HNTUSDT @ 8.192, quantity: 2.441 10:25:37.530 [info] Trader(1616754211122) finished trade cycle for HNTUSDT 10:25:37.530 [info] Trader(1616754193232) finished trade cycle for HNTUSDT 10:25:37.530 [info] HNTUSDT trader finished trade - restarting 10:25:37.530 [info] Initializing new trader(1616754337530) for HNTUSDT 10:25:37.530 [info] HNTUSDT trader finished trade - restarting 10:25:37.530 [info] Initializing new trader(1616754337530) for HNTUSDT 10:25:40.015 [info] Rebuy triggered for HNTUSDT by the trader(1616754337528) 10:25:40.015 [info] The trader(1616754337530) is placing a BUY order for HNTUSDT @ 8.179, quantity: 2.445 10:25:40.015 [info] All traders already started for HNTUSDT And our observer shows the following: We can clearly see that our strategy dynamically scaled from 1 to 5 parallel traders and they were going through different trading steps without any problems - I think that’s really cool to see and it wasn’t difficult to achieve in Elixir. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["fine-tune-trading-strategy-per-symbol.html", "Chapter 10 Fine-tune trading strategy per symbol 10.1 Objectives 10.2 Describe and design the required functionality 10.3 Add docker to project 10.4 Set up ecto inside the naive app 10.5 Create and migrate the DB 10.6 Seed symbols’ settings 10.7 Update the Naive.Leader to fetch settings", " Chapter 10 Fine-tune trading strategy per symbol 10.1 Objectives describe and design the required functionality add docker to project set up ecto inside the naive app create and migrate the DB seed symbols’ settings update the Naive.Leader to fetch settings 10.2 Describe and design the required functionality At this moment the settings of our naive strategy are hardcoded inside the Naive.Leader: # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) Map.merge( %{ symbol: symbol, # <= chunks: 5, # <= budget: 100, # <= # -0.01% for quick testing # <= buy_down_interval: "0.0001", # <= all of those settings # -0.12% for quick testing # <= profit_interval: "-0.0012", # <= rebuy_interval: "0.001" # <= }, symbol_filters ) end ... The problem about those is that they are hardcoded and there’s no flexibility to define them per symbol at the moment. In this chapter, we will move them out from this file into the Postgres database. 10.3 Add docker to project The requirements for this section are docker and docker-compose installed in your system. Inside the main directory of our project create a new file called docker-compose.yml and fill it with the below details: # /docker-compose.yml version: "3.2" services: db: image: postgres:latest restart: always environment: POSTGRES_PASSWORD: "hedgehogSecretPassword" ports: - 5432:5432 volumes: - ../postgres-data:/var/lib/postgresql/data If you are new to docker here’s the gist of what the above will do: it will start a single service called “db” “db” service will use the latest version of the postgres (image) inside the docker container (latest version as tagged per https://hub.docker.com/_/postgres/) we map TCP port 5432 in the container to port 5432 on the Docker host(format container_port:hosts_port) we set up environmental variable inside the docker container that will be used by the Postgres app as a password for the default (postgres) user volumes option maps the directory from inside of the container to the host. This way we will keep the state of the database between restarts. We can now start the service using docker-compose: $ docker-compose up -d Creating hedgehog_db_1 ... done To validate that it works we can run: $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 98558827b80b postgres:latest "docker-entrypoint.sh" 4 seconds ago Up 4 seconds 0.0.0.0:5432->5432/tcp hedgehog_db_1 10.4 Set up ecto inside the naive app Let’s start by adding database access to the naive application. The first step is to add the Ecto module together with the Postgrex ecto’s driver package to the deps function inside the mix.exs file. As we are going to use Enums inside Postgres, we need to add the EctoEnum module as well: # /apps/naive/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:binance_mock, in_umbrella: true}, {:decimal, "~> 2.0"}, {:ecto_sql, "~> 3.0"}, # <= New line {:ecto_enum, "~> 1.4"}, # <= New line {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, # <= New line {:streamer, in_umbrella: true} ] end Remember about installing those deps using: $ mix deps.get We can now use the ecto generator to add an the ecto repository to the Naive application: $ cd apps/naive $ mix ecto.gen.repo -r Naive.Repo * creating lib/naive * creating lib/naive/repo.ex * updating ../../config/config.exs Don't forget to add your new repo to your supervision tree (typically in lib/naive/application.ex): {Naive.Repo, []} And to add it to the list of Ecto repositories in your configuration files (so Ecto tasks work as expected): config :naive, ecto_repos: [Naive.Repo] Back to the IDE, the generator updated our config/config.exs file with the default access details to the database, we need to modify them to point to our Postgres docker instance as well as add a list of ecto repositories for our naive app (as per instruction above): # /config/config.exs config :naive, # <= added line ecto_repos: [Naive.Repo], # <= added line binance_client: BinanceMock # <= merged from existing config config :naive, Naive.Repo, database: "naive", # <= updated username: "postgres", # <= updated password: "hedgehogSecretPassword", # <= updated hostname: "localhost" Here we can use localhost as inside the docker-compose.yml file we defined port forwarding from the container to the host(Postgres is available at localhost:5432). We also merged the existing binance_client setting together with the new ecto_repos setting. The last step to be able to communicate with the database using Ecto will be to add the Naive.Repo module(created by generator) to the children list of the Naive.Application: # /apps/naive/lib/naive/application.ex ... def start(_type, _args) do children = [ {Naive.Repo, []}, # <= added line { DynamicSupervisor, strategy: :one_for_one, name: Naive.DynamicSymbolSupervisor } ] ... 10.5 Create and migrate the DB We can now create a new naive database using the mix tool, after that we will be able to generate a migration file that will create the settings table: $ mix ecto.create -r Naive.Repo The database for Naive.Repo has been created $ cd apps/naive $ mix ecto.gen.migration create_settings * creating priv/repo/migrations * creating priv/repo/migrations/20210202223209_create_settings.exs We can now copy the current hardcoded settings from the Naive.Leader module and use them as a column list of our new settings table. All of the below alterations need to be done inside the change function of our migration file: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... def change do create table(:settings) do add(:symbol, :text, null: false) add(:chunks, :integer, null: false) add(:budget, :decimal, null: false) add(:buy_down_interval, :decimal, null: false) add(:profit_interval, :decimal, null: false) add(:rebuy_interval, :decimal, null: false) end end At this moment we just copied the settings and converted them to columns using the add function. We need now to take care of the id column. We need to pass primary_key: false to the create table macro to stop it from creating the default integer-based id column. Instead of that we will define the id column ourselves with :uuid type and pass a flag that will indicate that it’s the primary key of the settings table: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) ... We will also add create and update timestamps that come as a bundle when using the timestamps() function inside the create table macro: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(...) do ... timestamps() # <= both create and update timestamps end ... We will add a unique index on the symbol column to avoid any possible duplicates: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(...) do ... end create(unique_index(:settings, [:symbol])) end ... We will now add the status field which will be an Enum. It will be defined inside a separate file and alias’ed from our migration, this way we will be able to use it from within the migration and the inside the lib code. First, we will apply changes to our migration and then we will move on to creating the Enum module. Here’s the full implementation of migration for reference: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs defmodule Naive.Repo.Migrations.CreateSettings do use Ecto.Migration alias Naive.Schema.TradingStatusEnum def change do TradingStatusEnum.create_type() create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:symbol, :text, null: false) add(:chunks, :integer, null: false) add(:budget, :decimal, null: false) add(:buy_down_interval, :decimal, null: false) add(:profit_interval, :decimal, null: false) add(:rebuy_interval, :decimal, null: false) add(:status, TradingStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:settings, [:symbol])) end end That finishes our work on the migration file. We will now focus on TradingStatusEnum implementation. First, we need to create a schema directory inside the apps/naive/lib/naive directory and file called trading_status_enum.ex and place below logic (defining the enum) in it: # /apps/naive/lib/naive/schema/trading_status_enum.ex import EctoEnum defenum(Naive.Schema.TradingStatusEnum, :trading_status, [:on, :off]) We used the defenum macro from the ecto_enum module to define our enum. It’s interesting to point out that we didn’t need to define a new module as defenum macro takes care of that for us. Let’s run the migration to create the table, unique index, and the enum: $ mix ecto.migrate 00:51:16.757 [info] == Running 20210202223209 Naive.Repo.Migrations.CreateSettings.change/0 forward 00:51:16.759 [info] execute "CREATE TYPE public.trading_status AS ENUM ('on', 'off')" 00:51:16.760 [info] create table settings 00:51:16.820 [info] create index settings_symbol_index 00:51:16.829 [info] == Migrated 20210202223209 in 0.0s We can now create a schema file for the settings table so inside the /apps/naive/lib/naive/schema create a file called settings.ex. We will start with a skeleton implementation of schema file together with the copied list of columns from the migration and convert to ecto’s types using it’s docs: # /apps/naive/lib/naive/schema/settings.ex defmodule Naive.Schema.Settings do use Ecto.Schema alias Naive.Schema.TradingStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "settings" do field(:symbol, :string) field(:chunks, :integer) field(:budget, :decimal) field(:buy_down_interval, :decimal) field(:profit_interval, :decimal) field(:rebuy_interval, :decimal) field(:status, TradingStatusEnum) timestamps() end end 10.6 Seed symbols’ settings So we have all the pieces of implementation to be able to create DB, migrate the settings table, and query it using Ecto. To be able to drop the hardcoded settings from the Naive.Leader we will need to fill our database with the “default” setting for each symbol. To achieve that we will define default settings inside the config/config.exs file and we will create a seed script that will fetch all pairs from Binance and insert a new config row inside DB for each one. Let’s start by adding those default values to the config file(we will merge them into the structure defining binance_client and ecto_repos): # config/config.exs config :naive, ecto_repos: [Naive.Repo], binance_client: BinanceMock, trading: %{ defaults: %{ chunks: 5, budget: 1000, buy_down_interval: "0.0001", profit_interval: "-0.0012", rebuy_interval: "0.001" } } Moving on to the seeding script, we need to create a new file called seed_settings.exs inside the /apps/naive/lib/naive/priv/ directory. Let’s start by aliasing the required modules and requiring the Logger: # /apps/naive/priv/seed_settings.exs require Logger alias Decimal alias Naive.Repo alias Naive.Schema.Settings Next, we will get the Binance client from the config: # /apps/naive/priv/seed_settings.exs ... binance_client = Application.compile_env(:naive, :binance_client) Now, it’s time to fetch all the symbols(pairs) that Binance supports: # /apps/naive/priv/seed_settings.exs ... Logger.info("Fetching exchange info from Binance to create trading settings") {:ok, %{symbols: symbols}} = binance_client.get_exchange_info() Now we need to fetch default trading settings from the config file as well as the current timestamp: # /apps/naive/priv/seed_settings.exs ... %{ chunks: chunks, budget: budget, buy_down_interval: buy_down_interval, profit_interval: profit_interval, rebuy_interval: rebuy_interval } = Application.compile_env(:naive, :trading).defaults timestamp = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) We will use the default settings for all rows to be able to insert data into the database. Normally we wouldn’t need to set inserted_at and updated_at fields as Ecto would generate those values for us when using Repo.insert/2 but we won’t be able to use this functionality as it takes a single record at the time. We will be using Repo.insert_all/3 which is a bit more low-level function without those nice features like filling timestamps(sadly). Just to be crystal clear - Repo.insert/2 takes at least a couple of seconds(on my machine) for 1000+ symbols currently supported by Binance, on the other hand Repo.insert_all/3, will insert all of them in a couple of hundred milliseconds. As our structs will differ by only the symbol column we can first create a full struct that will serve as a template: # /apps/naive/priv/seed_settings.exs ... base_settings = %{ symbol: "", chunks: chunks, budget: Decimal.new(budget), buy_down_interval: Decimal.new(buy_down_interval), profit_interval: Decimal.new(profit_interval), rebuy_interval: Decimal.new(rebuy_interval), status: "off", inserted_at: timestamp, updated_at: timestamp } We will now map each of the retrieved symbols and inject them to the base_settings structs and pushing all of those to the Repo.insert_all/3 function: # /apps/naive/priv/seed_settings.exs ... Logger.info("Inserting default settings for symbols") maps = symbols |> Enum.map(&(%{base_settings | symbol: &1["symbol"]})) {count, nil} = Repo.insert_all(Settings, maps) Logger.info("Inserted settings for #{count} symbols") 10.7 Update the Naive.Leader to fetch settings The final step will be to update the Naive.Leader to fetch the settings from the database. At the top of the module add the following: # /apps/naive/lib/naive/leader.ex ... alias Naive.Repo alias Naive.Schema.Settings ... Now we need to modify the fetch_symbol_settings/1 to fetch settings from DB instead of the hardcoded map. We will use Repo.get_by!/3 as we are unable to trade without settings. The second trick used here is Map.from_struct/1 that is required here as otherwise result would become the Naive.Schema.Settings struct(this would cause problems further down the line as we are iterating on the returned map and would get the protocol Enumerable not implemented for %Naive.Schema.Settings error): # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) settings = Repo.get_by!(Settings, symbol: symbol) Map.merge( symbol_filters, settings |> Map.from_struct() ) end ... We can now run the seeding script to fill our database with the default settings: $ cd apps/naive $ mix run priv/seed_settings.exs 18:52:29.341 [info] Fetching exchange info from Binance to create trading settings 18:52:31.571 [info] Inserting default settings for symbols 18:52:31.645 [info] Inserted settings for 1276 symbols We can verify that records were indeed inserted into the database by connecting to it using the psql application: $ psql -Upostgres -hlocalhost Password for user postgres: # <= use 'postgres' password here ... postgres=# \\c naive You are now connected to database "naive" as user "postgres". naive=# \\x Expanded display is on. naive=# SELECT * FROM settings; -[ RECORD 1 ]-----+------------------------------------- id | 159c8f32-d571-47b2-b9d7-38bb42868043 symbol | ETHUSDT chunks | 5 budget | 1000 buy_down_interval | 0.0001 profit_interval | -0.0012 rebuy_interval | 0.001 status | off inserted_at | 2021-02-02 18:52:31 updated_at | 2021-02-02 18:52:31 # press arrows to scroll, otherwise press `q` naive=# SELECT COUNT(*) FROM settings; -[ RECORD 1 ] count | 1276 naive=# \\q # <= to close the `psql` That confirms that there are 1276 settings inside the database that will allow us to continue trading which we can check by running our app inside the IEx(from the main project’s directory): $ iex -S mix ... iex(1)> Naive.start_trading("NEOUSDT") 19:20:02.936 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.378.0>} 19:20:04.584 [info] Initializing new trader(1612293637000) for NEOUSDT The above log messages confirm that the Naive.Leader was able to fetch settings from the database that were later put into the Naive.Trader’s state and passed to it. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["supervise-and-autostart-streaming.html", "Chapter 11 Supervise and autostart streaming 11.1 Objectives 11.2 Describe and design the required functionality 11.3 Register the Streamer.Binance processes with names 11.4 Set up ecto inside the streamer app 11.5 Create and migrate the db 11.6 Seed default settings 11.7 Implement the supervision tree and start streaming functionality 11.8 Implement the stop functionality 11.9 Implement the autostart streaming functionality 11.10 Test the implementation", " Chapter 11 Supervise and autostart streaming 11.1 Objectives describe and design the required functionality register the Streamer.Binance processes with names set up ecto inside the streamer app create and migrate the db seed default settings implement the supervision tree and start streaming functionality implement the stop functionality implement the autostart streaming functionality test the implementation 11.2 Describe and design the required functionality At this moment there’s no supervision around the streamer processes, whenever an error would occur inside the Streamer.Binance process, it will die and never come back up. That’s less than perfect, but we can use supervisors to the rescue. We will create a new Streamer.DynamicStreamerSupervisor module inside our streamer application that will supervise the Streamer.Binance processes. Next, we will consider a list of functionalities that we would like it to provide: start streaming. This will require a new Streamer.Binance process started under the Streamer.DynamicStreamerSupervisor. We will put logic responsible for starting that process inside the Streamer.DynamicStreamerSupervisor module. stop streaming. To be able to stop the Streamer.Binance process streaming on a specific symbol, we will need to know that process’ PID based only on symbol string(ie. “ETHUSDT”). To make that possible, we will need to register every Streamer.Binance process with a name that we will be able to “reverse-engineer” based only on symbol string for example: :\"#{__MODULE__}-#{symbol}\" autostart streaming. At the start of streaming on a symbol, we should persist that action as a symbol’s streaming setting inside the database. We will need to generate a new Ecto.Repo, configure, create and migrate DB (just like in the last chapter for the naive app) to be able to retrieve that list. We will write a logic that will fetch settings of the symbols, autostart the ones that are enabled and place all that logic inside the Streamer.DynamicStreamerSupervisor module. We will introduce a Task child process that will utilize the logic from the Streamer.DynamicStreamerSupervisor to fetch those enabled symbols and start Streamer.Binance processes on startup - we will describe all of this separately in its section in this chapter. 11.3 Register the Streamer.Binance processes with names To be able to perform start/stop streaming on a symbol we will first need to be able to figure out the PID of the Streamer.Binance process that is streaming that symbol. The first change that we need to apply will be to register Streamer.Binance processes with names by passing the 4th argument to the WebSockex.start_link/4 function: # /apps/streamer/lib/streamer/binance.ex def start_link(symbol) do Logger.info( "Binance streamer is connecting to websocket " <> "stream for #{symbol} trade events" ) WebSockex.start_link( "#{@stream_endpoint}#{String.downcase(symbol)}@trade", # <= lowercase symbol __MODULE__, nil, name: :"#{__MODULE__}-#{symbol}" # <= uppercase symbol ) end Few things worth mention here: we are getting the uppercase symbol but inside the URL we need to use a lowercase symbol so we will introduce a new separate variable to be used in the URL we are registering the process using the uppercase symbol so the name will remain consistent with the naive application’s processes to register process we are sending keyword list as the 4th argument to custom start_link/4 function of WebSockex module (link to source - again, no need to be afraid of reading the source code in Elixir, that’s the beauty of it) 11.4 Set up ecto inside the streamer app In the same fashion as in the last chapter, we will need to set up the database inside the streamer app. We will use the same Postgres server(docker container) that we’ve set up inside docker in the last chapter, just a separate database, so there’s no need to update the docker-compose.yml file. As previously the first step will be to add the ecto modules and Postgres related packages into deps inside the mix.exs file of the streamer app. Additionally, we will add the binance module that we will use to fetch all symbols supported by the exchange(to generate default settings as we’ve done for the naive application. We are unable to use the BinanceMock as this will cause the circular dependency [Binance Mock depends on the streamer app]): # /apps/streamer/mix.exs ... defp deps do [ {:binance, "~> 1.0"}, # <= used to retrieve symbols list(exchangeInfo) {:ecto_sql, "~> 3.0"}, # <= added dependency {:ecto_enum, "~> 1.4"}, # <= added dependency {:jason, "~> 1.2"}, {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, # <= added dependency {:websockex, "~> 0.4"} ] end Run mix deps.get to install new dependencies. We can now use ecto generator to add an ecto repository to the Streamer application: $ cd apps/streamer $ mix ecto.gen.repo -r Streamer.Repo * creating lib/streamer * creating lib/streamer/repo.ex * updating ../../config/config.exs ... Update the config to match access details to Postgres’ docker instance: # /config/config.exs config :streamer, # <= added line ecto_repos: [Streamer.Repo] # <= added line config :streamer, Streamer.Repo, database: "streamer", # <= database updated username: "postgres", # <= username updated password: "hedgehogSecretPassword", # <= password updated hostname: "localhost" The last step will be to update the children list of the Streamer.Application module: # /apps/streamer/lib/streamer/application.ex ... def start(_type, _args) do children = [ {Streamer.Repo, []}, # <= repo added { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 } ] ... 11.5 Create and migrate the db We can now create a new streamer database using the mix tool, after that we will be able to generate a migration file that will create the settings table: $ mix ecto.create -r Streamer.Repo The database for Streamer.Repo has been created $ cd apps/streamer $ mix ecto.gen.migration create_settings * creating priv/repo/migrations * creating priv/repo/migrations/20210203184805_create_settings.exs We can safely start just with id, symbol and status columns, where the last one will follow the same enum idea from the previous chapter: # /apps/streamer/priv/repo/migrations/20210203184805_create_settings.exs defmodule Streamer.Repo.Migrations.CreateSettings do use Ecto.Migration alias Streamer.Schema.StreamingStatusEnum def change do StreamingStatusEnum.create_type() create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:symbol, :text, null: false) add(:status, StreamingStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:settings, [:symbol])) end end That finishes our work on the migration file, we need to add the StreamingStatusEnum in the same way as in the last chapter (create a schema directory inside the apps/streamer/lib/streamer directory and a new file called streaming_status_enum.ex and place below logic (defining the enum) in it: # /apps/streamer/lib/streamer/schema/streaming_status_enum.ex import EctoEnum defenum(Streamer.Schema.StreamingStatusEnum, :streaming_status, [:on, :off]) Let’s run the migration to create the table, unique index, and the enum: $ mix ecto.migrate 21:31:56.850 [info] == Running 20210203184805 Streamer.Repo.Migrations.CreateSettings.change/0 forward 21:31:56.850 [info] execute "CREATE TYPE public.streaming_status AS ENUM ('on', 'off')" 21:31:56.851 [info] create table settings 21:31:56.912 [info] create index settings_symbol_index 21:31:56.932 [info] == Migrated 20210203184805 in 0.0s We can now create a schema file for the settings table. Inside the /apps/streamer/lib/streamer/schema directory create a file called settings.ex: # /apps/streamer/lib/streamer/schema/settings.ex defmodule Streamer.Schema.Settings do use Ecto.Schema alias Streamer.Schema.StreamingStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "settings" do field(:symbol, :string) field(:status, StreamingStatusEnum) timestamps() end end We are now ready to query the table but first, we need to insert the default settings into the database. 11.6 Seed default settings As with the settings inside the naive application, we will fetch all symbols from binance and bulk insert them into the database. First let’s create a new file called seed_settings.exs inside the apps/streamer/priv directory. As this file is nearly the same as the one from the last chapter I will skip the lengthy explanation - this is the script: # /apps/streamer/priv/seed_settings.exs require Logger alias Decimal alias Streamer.Repo alias Streamer.Schema.Settings Logger.info("Fetching exchange info from Binance to create streaming settings") {:ok, %{symbols: symbols}} = Binance.get_exchange_info() timestamp = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) base_settings = %{ symbol: "", status: "off", inserted_at: timestamp, updated_at: timestamp } Logger.info("Inserting default settings for symbols") maps = symbols |> Enum.map(&(%{base_settings | symbol: &1["symbol"]})) {count, nil} = Repo.insert_all(Settings, maps) Logger.info("Inserted settings for #{count} symbols") Don’t forget to run the seeding script before progressing forward: $ cd apps/streamer $ mix run priv/seed_settings.exs 22:03:46.675 [info] Fetching exchange info from Binance to create streaming settings 22:03:51.386 [info] Inserting default settings for symbols 22:03:51.448 [info] Inserted settings for 1277 symbols 11.7 Implement the supervision tree and start streaming functionality Let’s start by creating a new file called dynamic_streamer_supervisor.ex inside the /apps/streamer/lib/streamer directory. Let’s start with a default implementation from the docs (updated with correct module and process names): # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defmodule Streamer.DynamicStreamerSupervisor do use DynamicSupervisor def start_link(init_arg) do DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end Next, we will add the start_streaming/1 function at the bottom of the Streamer.DynamicStreamerSupervisor module: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex ... def start_streaming(symbol) when is_binary(symbol) do case get_pid(symbol) do nil -> Logger.info("Starting streaming on #{symbol}") {:ok, _settings} = update_streaming_status(symbol, "on") {:ok, _pid} = start_streamer(symbol) pid -> Logger.warning("Streaming on #{symbol} already started") {:ok, _settings} = update_streaming_status(symbol, "on") {:ok, pid} end end To unpack above - we are checking is there a streamer process already running for the passed symbol and based on the result of that check, we either start the new streaming process(and update the symbol’s settings) or just update the symbol’s settings. Inside the start_streaming/1 function, we are using 3 helper functions that we need to add at the bottom of the file: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defp get_pid(symbol) do Process.whereis(:"Elixir.Streamer.Binance-#{symbol}") end defp update_streaming_status(symbol, status) when is_binary(symbol) and is_binary(status) do Repo.get_by(Settings, symbol: symbol) |> Ecto.Changeset.change(%{status: status}) |> Repo.update() end defp start_streamer(symbol) do DynamicSupervisor.start_child( Streamer.DynamicStreamerSupervisor, {Streamer.Binance, symbol} ) end The above functions are quite self-explanatory, get_pid/1 is a convenience wrapper, update_streaming_status/2 will update the status field for the passed symbol, start_streamer/1 will instruct the Streamer.DynamicStreamerSupervisor to start a new Streamer.Binance process with symbol passed as the first argument. The last step to get the above function to work(and future ones in this module) would be to add a require, an import, and a few aliases at the top of the module: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex require Logger import Ecto.Query, only: [from: 2] alias Streamer.Repo alias Streamer.Schema.Settings As we added a new start_streaming/1 logic inside the Streamer.DynamicStreamerSupervisor, we need to replace the start_streaming/1 implementation inside the Streamer module: # /apps/streamer/lib/streamer.ex ... alias Streamer.DynamicStreamerSupervisor def start_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.start_streaming() end As we don’t need to put any logic inside the Streamer.start_streaming/1 function, we can just delegate the call straight to the Streamer.DynamicStreamerSupervisor module. The last step will be to append the Streamer.DynamicStreamSupervisor to the children list of the Streamer.Application: # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ ... {Streamer.DynamicStreamerSupervisor, []} ] At this moment our supervision tree already works and all streamer processes are being monitored by the Streamer.DynamicStreamerSupervisor: 11.8 Implement the stop functionality As we can see, we are now registering the Streamer.Binance processes with names that contain their symbols. We will be able to retrieve PIDs of those registered processes just by simply passing the symbol string(ie. “ETHUSDT”) into get_pid/1, which will allow us to then request termination of those processes by the Streamer.DynamicStreamerSupervisor. Let’s write a stop_streaming/1 logic inside the Streamer.DynamicStreamerSupervisor module(put it above first private function): # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex def stop_streaming(symbol) when is_binary(symbol) do case get_pid(symbol) do nil -> Logger.warning("Streaming on #{symbol} already stopped") {:ok, _settings} = update_streaming_status(symbol, "off") pid -> Logger.info("Stopping streaming on #{symbol}") :ok = DynamicSupervisor.terminate_child( Streamer.DynamicStreamerSupervisor, pid ) {:ok, _settings} = update_streaming_status(symbol, "off") end end stop_streaming/1 looks very similar to start_streaming/1, we are checking is there already a Streamer.Binance process registered for that symbol, and we either ask the Streamer.DynamicStreamerSupervisor to terminate it for us (using the DynamicSupervisor.terminate_child/2 function + update the status) or just update the status to be off. We need to update the Streamer module to provide the interface to stop streaming on a symbol: # /apps/streamer/lib/streamer.ex ... def stop_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.stop_streaming() end ... 11.9 Implement the autostart streaming functionality Currently, whenever we will shutdown the elixir app, settings persist in the database but streamers are not started on the next init. To fix this, we will add autostart_streaming/0 inside the Streamer.DynamicStreamerSupervisor. Note: It very important to differentiate between module and process. We will put our autostarting logic inside the module but the Streamer.DynamicStreamerSupervisor process won’t run it. We will introduce a new Task process that will execute all the autostarting logic. That will cover the problem of the Supervisor executing too much business logic (as the Task will execute it), but how will we supervise them together? At init both will start, the Streamer.DynamicStreamerSupervisor first, and then Task will ask it to start multiple children and that will work fine. The problem occurs when the Streamer.DynamicStreamerSupervisor would die because of any reason. Currently, it’s supervised using the one_for_one strategy(and the Task would be as well) which means that it will get started again by the Streamer.Application process but at that moment the “autostarting” Task won’t be there anymore to start streaming on all enabled symbols. We can clearly see that whenever the Streamer.DynamicStreamerSupervisor will die it needs to be started again together with the “autostart” Task and this won’t fit our current Streamer.Application’s strategy. In cases like those, a new level of supervision needs to be introduced that will have a different supervision strategy for those “coupled” processes. We will rename the process name of the Streamer.Application (which is currently registered as Streamer.Supervisor) to Streamer.Application. Then we will introduce the new Streamer.Supervisor module and register it under the same name. We will attach both Streamer.DynamicStreamerSupervisor and Task to the Streamer.Supervisor and assign it with the rest_for_one strategy which will restart the Task whenever Streamer.DynamicStreamerSupervisor would die: Let’s start by creating the autostart_streaming/0 functionality inside the Streamer.DynamicStreamerSupervisor: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex # add below after the `init/1` function def autostart_streaming do fetch_symbols_to_stream() |> Enum.map(&start_streaming/1) end # and this at the end of the module defp fetch_symbols_to_stream do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end autostart_streaming/0 function fetches all symbols from the settings table with status == \"on\" then it passes them one by one into the start_streaming/1 function using Enum.map/2. We can now focus on referring to the above autostarting logic inside the new supervisor that we will create now. Let’s start by creating a new file called supervisor.ex inside the /apps/streamer/lib/streamer/ directory and fill it with default Supervisor implementation: # /apps/streamer/lib/streamer/supervisor.ex defmodule Streamer.Supervisor do # <= updated module name use Supervisor def start_link(init_arg) do Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do children = [ ] Supervisor.init(children, strategy: :one_for_one) end end We can now update the strategy to rest_for_one: # /apps/streamer/lib/streamer/supervisor.ex def init(_init_arg) do ... Supervisor.init(children, strategy: :rest_for_one) # <= strategy updated end The last step inside our new supervisor will be to add 2 children: Streamer.DynamicStreamerSupervisor and Task (that will autostart the symbol streamers): # /apps/streamer/lib/streamer/supervisor.ex def init(_init_arg) do children = [ {Streamer.DynamicStreamerSupervisor, []}, {Task, fn -> Streamer.DynamicStreamerSupervisor.autostart_streaming() end} ] ... end The final update in this chapter will be to replace the Streamer.DynamicStreamerSupervisor as one of the children inside the Streamer.Application module and update the name that the application process registers under: # /apps/streamer/lib/streamer/application.ex ... children = [ {Streamer.Repo, []}, { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 }, {Streamer.Supervisor, []} # <= updated supervisor ] opts = [strategy: :one_for_one, name: Streamer.Application] # <= updated name ... 11.10 Test the implementation Let’s start an IEx session and call the start_streaming/1 function twice for two different symbols and then exit using double Ctrl+c: $ iex -S mix ... iex(1)> Streamer.start_streaming("ethusdt") 18:51:39.809 [info] Starting streaming on ETHUSDT {:ok, #PID<0.370.0>} iex(2)> Streamer.start_streaming("neousdt") 18:51:47.288 [info] Starting streaming on NEOUSDT {:ok, #PID<0.377.0>} Now, open a new IEx session and look at the output: $ iex -S mix ... iex(1)> 18:53:48.920 [info] Starting streaming on ETHUSDT 18:53:50.306 [info] Starting streaming on NEOUSDT We can also confirm that streamer processes are there by using :observer.start(): Inside the same iex session run the following: iex(5)> Streamer.stop_streaming("neousdt") 18:57:37.205 [info] Stopping streaming on NEOUSDT {:ok, %Streamer.Schema.Settings{ ... }} iex(6)> Streamer.stop_streaming("ethusdt") 18:57:51.553 [info] Stopping streaming on ETHUSDT {:ok, %Streamer.Schema.Settings{ ... }} Stop the IEx session and start a new one - streamers shouldn’t be autostarted anymore. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["start-stop-shutdown-and-autostart-trading.html", "Chapter 12 Start, stop, shutdown and autostart trading 12.1 Objectives 12.2 Describe and design the required functionality 12.3 (Re-)Implement the start trading functionality 12.4 Implement the stop trading functionality 12.5 Implement the autostart trading functionality 12.6 Implement the shutdown trading functionality", " Chapter 12 Start, stop, shutdown and autostart trading 12.1 Objectives describe and design the required functionality (re-)implement the start trading functionality implement the stop trading functionality implement the autostart trading functionality implement the shutdown trading functionality test the implementation 12.2 Describe and design the required functionality In the 10th chapter, we’ve introduced the Postgres database inside the naive application together with the settings per symbol. In this chapter, we will progress forward to provide additional trading functionality that will be similar to the functionality implemented in the last chapter for the streaming application: stop trading - as the Naive.SymbolSupervisor processes are registered with names that can be easily reverse engineered, we should be able to utilize the Process.where_is/1 function to retrieve the PIDs and instruct the Naive.DynamicSymbolSupervisor to terminate those child processes. Again, we need to put that logic somewhere so we will implement the Naive.DynamicSymbolSupervisor as a full module using the DynamicSupervisor behavior. start_trading - as our Naive.DynamicSymbolSupervisor will now be a module we will be able to remove the start_trading/1 implementation from the Naive module and reimplement it inside the Naive.DynamicSymbolSupervisor module. It will follow the same pattern of checking for PID, starting the Naive.SymbolSupervisor process and flipping the status flag inside the settings table’s row for that symbol. shutdown trading - sometimes abruptly stopping trading won’t be the best solution, it would be better to allow the Naive.Trader processes to finish their ongoing trades. To be able to do that we will need to inform the Naive.Leader process assigned to the symbol that the settings for that symbol have been updated and that should cause the Naive.Leader process to withhold starting new Naive.Trader processes and terminate the whole tree when the last trader will finish. autostart trading - this will be a very similar implementation to the one from the last chapter. It will require introducing a new supervisor(we will follow the same naming convention: rename Naive.Application’s registered process name to Naive.Application, create a new supervisor called Naive.Supervisor) and utilize the Task process to execute the autostarting logic. 12.3 (Re-)Implement the start trading functionality To (re-)implement the start_trading/1 functionality we will need to create a new file called dynamic_symbol_supervisor.ex inside the /apps/naive/lib/naive directory that will use the DynamicSupervisor behavior. Previously we have been using default DynamicSupervisor implementation(one of the children of the Naive.Application - to be substituted with the below module): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do # <= module updated use DynamicSupervisor require Logger # <= Logger added import Ecto.Query, only: [from: 2] # <= added for querying alias Naive.Repo # <= added for querying/updating alias Naive.Schema.Settings # <= added for querying/updating def start_link(init_arg) do DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end The above code is a default implementation from the DynamicSupervisor docs with some additional imports, require and aliases as we will use them in this chapter. Our start_trading/1 implementation is almost the same as one for the streamer application from the last chapter: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def start_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.info("Starting trading of #{symbol}") {:ok, _settings} = update_trading_status(symbol, "on") {:ok, _pid} = start_symbol_supervisor(symbol) pid -> Logger.warning("Trading on #{symbol} already started") {:ok, _settings} = update_trading_status(symbol, "on") {:ok, pid} end end ... together with additional helper functions: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defp get_pid(symbol) do Process.whereis(:"Elixir.Naive.SymbolSupervisor-#{symbol}") end defp update_trading_status(symbol, status) when is_binary(symbol) and is_binary(status) do Repo.get_by(Settings, symbol: symbol) |> Ecto.Changeset.change(%{status: status}) |> Repo.update() end defp start_symbol_supervisor(symbol) do DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) end Both implementation and helper functions are almost the same as the ones inside the naive application. It could be tempting to abstract some of the logic away but remember that we should treat all applications in our umbrella project as standalone services that should not share any code if possible(we broke that rule for the TradeEvent struct from the streamer app but we could easily just make a lib with that struct that would be shared between two applications). I would shy away from sharing any business logic between applications in the umbrella project. There are two additional places where we need to make updates to get our start_trading/1 to work again: we need to update the children list inside the Naive.Application: # /apps/naive/lib/naive/application.ex ... children = [ {Naive.Repo, []}, {Naive.DynamicSymbolSupervisor, []} # <= replacement of DynamicSupervisor ] we need to replace the start_trading/1 implementation inside the Naive module to defdelegate macro(as we don’t have any logic to run there): # /apps/naive/lib/naive.ex ... alias Naive.DynamicSymbolSupervisor defdelegate start_trading(symbol), to: DynamicSymbolSupervisor ... At this moment we are again able to use the Naive.start_trading/1 function to start trading on a symbol (behind the scenes it will use logic from the new Naive.DynamicSymbolSupervisor module). 12.4 Implement the stop trading functionality Stop trading will require a change in two places, first inside the Naive.DynamicSymbolSupervisor where we will place the termination logic: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def stop_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_trading_status(symbol, "off") pid -> Logger.info("Stopping trading of #{symbol}") :ok = DynamicSupervisor.terminate_child( Naive.DynamicSymbolSupervisor, pid ) {:ok, _settings} = update_trading_status(symbol, "off") end end ... The second change we need to make is to create a forwarding interface using defdelegate inside the Naive module: # /apps/naive/lib/naive.ex ... defdelegate stop_trading(symbol), to: DynamicSymbolSupervisor ... That pretty much finishes the stop_trading/1 functionality. We are now able to start and stop(what was previously not available) trading on a symbol. 12.5 Implement the autostart trading functionality To implement the autostarting we will need to (in a similar fashion as in the last chapter) add a new supervision level that will be dedicated to supervising the Naive.DynamicSymbolSupervisor and the “autostarting” Task. Let’s create a new file called supervisor.ex inside the /apps/naive/lib/naive directory and (as in the last chapter) we will add the Naive.DynamicSymbolSupervisor and the Task to its children list. We will also update the supervision strategy to :rest_for_one: # /apps/naive/lib/naive/supervisor.ex defmodule Naive.Supervisor do use Supervisor def start_link(init_arg) do Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do children = [ {Naive.DynamicSymbolSupervisor, []}, # <= added {Task, # <= added fn -> # <= added Naive.DynamicSymbolSupervisor.autostart_trading() # <= added end} # <= added ] Supervisor.init(children, strategy: :rest_for_one) # <= strategy updated end end Now we need to swap the Naive.DynamicSymbolSupervisor to Naive.Supervisor in the children list of the Naive.Application, as well as update the registered process’ name of the Naive.Application: # /apps/naive/lib/naive/application.ex ... def start(_type, _args) do children = [ {Naive.Repo, []}, {Naive.Supervisor, []} # <= replacement for DynamicSymbolSupervisor ] opts = [strategy: :one_for_one, name: Naive.Application] # <= name updated Finally, we need to implement autostart_trading/0 inside the Naive.DynamicSymbolSupervisor module as our new Task refers to it: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... # add the below function after the `init/1` function def autostart_trading do fetch_symbols_to_trade() |> Enum.map(&start_trading/1) end ... # and this helper at the end of the module defp fetch_symbols_to_trade do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end ... Those are the same (excluding updated function names) as inside the streamer application. We are fetching enabled symbols and starting new Naive.SymbolSupervisor processes for each one. At this moment we can already see our implementation in action: At this moment we are able to test the current implementation inside the IEx: $ iex -S mix ... iex(1)> Naive.start_trading("ethusdt") 21:35:30.207 [info] Starting trading of ETHUSDT 21:35:30.261 [info] Starting new supervision tree to trade on ETHUSDT {:ok, #PID<0.372.0>} 21:35:33.344 [info] Initializing new trader(1612647333342) for ETHUSDT iex(3)> Naive.start_trading("neousdt") 21:35:54.128 [info] Starting trading of NEOUSDT 21:35:54.169 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.383.0>} 21:35:56.007 [info] Initializing new trader(1612647356007) for NEOUSDT 21:38:07.699 [info] Stopping trading of NEOUSDT {:ok, %Naive.Schema.Settings{ ... }} We can now exit the IEx and start a new one: $ iex -S mix ... 21:39:16.894 [info] Starting trading of ETHUSDT 21:39:16.938 [info] Starting new supervision tree to trade on ETHUSDT 21:39:18.786 [info] Initializing new trader(1612647558784) for ETHUSDT iex(1)> The above logs confirm that the naive application autostarts the previously enabled symbols(using the start_trading/1 function) as well as stop_trading/1 updates the status inside the database (so the symbol isn’t autostarted at the next initialization). 12.6 Implement the shutdown trading functionality Last but not least, we will move on to the shutdown_trading/1 functionality. Let’s start with the simplest part which is delegating the function call to the Naive.DynamicSymbolSupervisor module from the Naive module(interface): # /apps/naive/lib/naive.ex ... defdelegate shutdown_trading(symbol), to: DynamicSymbolSupervisor ... Next, we will create a shutdown_trading/1 function inside the Naive.DynamicSymbolSupervisor module where we will check is there any trading going on for that symbol(the same as for start/stop), and in case of trading happening we will inform the Naive.Leader process handling that symbol that settings have been updated: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def shutdown_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_trading_status(symbol, "off") _pid -> Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = update_trading_status(symbol, "shutdown") Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end ... The crucial part of the implementation above is the notify(:settings_updated, settings) where we inform the Naive.Leader process that it needs to update trading settings. Currently, the Naive.Leader module does not support updating the settings after startup - let’s add a new interface function together with a callback function that will handle settings updating: # /apps/naive/lib/naive/leader.ex ... # add the below function as the last clause of the `notify` function def notify(:settings_updated, settings) do GenServer.call( :"#{__MODULE__}-#{settings.symbol}", {:update_settings, settings} ) end # add the below handler function as the last clause of `handle_call` function def handle_call( {:update_settings, new_settings}, _, state ) do {:reply, :ok, %{state | settings: new_settings}} end Ok, we have a way to update the settings of the Naive.Leader process “on the go” but what effects should the shutdown state have on the Naive.Leader’s actions? There are two places that require modification: whenever the Naive.Trader process will finish the trade cycle, Naive.Leader process should not start a new one, as well as check, was that the last trader process and if that was the case it needs to call the Naive.stop_trading/1 function with its symbol to terminate whole supervision tree for that symbol whenever the Naive.Leader process will receive a rebuy notification, it should just ignore it when the symbol is in the shutdown state. Let’s look at the updated implementation of the “end of trade” handler: # /apps/naive/lib/naive/leader.ex ... def handle_info( {:DOWN, _ref, :process, trader_pid, :normal}, %{traders: traders, symbol: symbol, settings: settings} = state ) do Logger.info("#{symbol} trader finished trade - restarting") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart finished #{symbol} " <> "trader that leader is not aware of" ) if settings.status == "shutdown" and traders == [] do # <= additional check Naive.stop_trading(state.symbol) end {:noreply, state} index -> new_traders = if settings.status == "shutdown" do # <= refactored code Logger.warning( "The leader won't start a new trader on #{symbol} " <> "as symbol is in the 'shutdown' state" ) if length(traders) == 1 do Naive.stop_trading(state.symbol) end List.delete_at(traders, index) else new_trader_data = start_new_trader(fresh_trader_state(settings)) List.replace_at(traders, index, new_trader_data) end {:noreply, %{state | traders: new_traders}} end end ... As visible in the above code, whenever the Naive.Trader process will finish the trade cycle, the Naive.Leader process will check can it find a record of that trader in its state (no changes here). We will modify the callback so the leader process will check the settings.status. In the shutdown status it checks wheater it was the last trader in the traders list, to terminate the whole tree at that time(using the Naive.stop_trading/1 function). The second callback that we need to modify is the rebuy triggered: # /apps/naive/lib/naive/leader.ex ... def handle_call( {:rebuy_triggered, new_trader_state}, {trader_pid, _}, %{traders: traders, symbol: symbol, settings: settings} = state ) do case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning("Rebuy triggered by trader that leader is not aware of") {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} updated_traders = List.replace_at(traders, index, new_trader_data) updated_traders = if settings.chunks == length(traders) do Logger.info("All traders already started for #{symbol}") updated_traders else if settings.status == "shutdown" do Logger.warning( "The leader won't start a new trader on #{symbol} " <> "as symbol is in the 'shutdown' state" ) updated_traders else Logger.info("Starting new trader for #{symbol}") [start_new_trader(fresh_trader_state(settings)) | updated_traders] end end {:reply, :ok, %{state | :traders => updated_traders}} end end ... In the above rebuy_triggered handler function we added branching on the settings.status and we simply ignore the rebuy notification when the symbol is in the shutdown status. The final change will be to create a new migration that will update the TradingStatusEnum to have a shutdown option: $ cd apps/naive $ mix ecto.gen.migration update_trading_status * creating priv/repo/migrations/20210205232303_update_trading_status.exs Inside the generated migration file we need to excute a raw SQL command: # /apps/naive/priv/repo/migrations/20210205232303_update_trading_status.exs defmodule Naive.Repo.Migrations.UpdateTradingStatus do use Ecto.Migration @disable_ddl_transaction true def change do Ecto.Migration.execute "ALTER TYPE trading_status ADD VALUE IF NOT EXISTS 'shutdown'" end end We need to apply the same change to the Naive.Schema.TradingStatusEnum: # /apps/naive/lib/naive/schema/trading_status_enum.ex import EctoEnum defenum(Naive.Schema.TradingStatusEnum, :trading_status, [:on, :off, :shutdown]) Don’t forget to run mix ecto.migrate to run the new migration. We can now test the shutdown_trading/1 functionality inside the IEx: $ iex -S mix ... iex(1)> Streamer.start_streaming("ethusdt") 21:46:26.651 [info] Starting streaming on ETHUSDT {:ok, #PID<0.372.0>} iex(2)> Naive.start_trading("ethusdt") 21:46:42.830 [info] Starting trading of ETHUSDT 21:46:42.867 [info] Starting new supervision tree to trade on ETHUSDT {:ok, #PID<0.379.0>} 21:46:44.816 [info] Initializing new trader(1612648004814) for ETHUSDT ... 21:47:52.448 [info] Rebuy triggered for ETHUSDT by the trader(1612648004814) ... 21:49:58.900 [info] Rebuy triggered for ETHUSDT by the trader(1612648089409) ... 21:50:58.927 [info] Rebuy triggered for ETHUSDT by the trader(1612648198900) ... 21:53:27.202 [info] Rebuy triggered for ETHUSDT by the trader(1612648326215) 21:53:27.250 [info] Rebuy triggered for ETHUSDT by the trader(1612648325512) 21:53:27.250 [info] All traders already started for ETHUSDT # at this moment we have 5 `Naive.Trader` processes trading in parallel iex(4)> Naive.shutdown_trading("ethusdt") 21:55:01.556 [info] Shutdown of trading on ETHUSDT initialized {:ok, %Naive.Schema.Settings{ ... }} ... 22:06:58.855 [info] Trader(1612648407202) finished trade cycle for ETHUSDT 22:06:58.855 [info] ETHUSDT trader finished trade - restarting 22:06:58.855 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:50.768 [info] Trader(1612648325512) finished trade cycle for ETHUSDT 22:07:50.768 [info] ETHUSDT trader finished trade - restarting 22:07:50.768 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:50.857 [info] Trader(1612648326215) finished trade cycle for ETHUSDT 22:07:50.857 [info] ETHUSDT trader finished trade - restarting 22:07:50.857 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:51.079 [info] Trader(1612648089409) finished trade cycle for ETHUSDT 22:07:51.079 [info] ETHUSDT trader finished trade - restarting 22:07:51.079 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:08:05.401 [info] Trader(1612648004814) finished trade cycle for ETHUSDT 22:08:05.401 [info] ETHUSDT trader finished trade - restarting 22:08:05.401 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:08:05.401 [info] Stopping trading of ETHUSDT As we can see from the logs above, our naive strategy grown from 1 to 5 Naive.Trader processes running in parallel, then we called the shutdown_trading/1 function. In the shutdown status, the Naive.Leader process ignored rebuy notifications and wasn’t starting any new Naive.Trader processes as the old ones were finishing. At the moment when the last Naive.Trader process finished the trade cycle, the Naive.Leader called stop_trading/1 on “it’s” symbol, terminating the whole supervision tree for that symbol. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["abstract-duplicated-supervision-code.html", "Chapter 13 Abstract duplicated supervision code 13.1 Objectives 13.2 Overview of requirements 13.3 Pseudo generalize Core.ServiceSupervisor module 13.4 Utilize pseudo generalized code inside the Naive DynamicSymbolSupervisor 13.5 Implement a truly generic Core.ServiceSupervisor 13.6 Remove boilerplate using use macro 13.7 Use the Core.ServiceSupervisor module inside the streamer application", " Chapter 13 Abstract duplicated supervision code 13.1 Objectives overview of requirements pseudo generalize Core.ServiceSupervisor module utilize pseudo generalized code inside the Naive.DynamicSymbolSupervisor implement a truly generic Core.ServiceSupervisor use the Core.ServiceSupervisor module inside the streamer application 13.2 Overview of requirements In the last few chapters, we went through adding and modifying the dynamic supervision tree around the naive and streamer applications’ workers. Initially, we just copied the implementation from the streamer application to the naive application (with a few minor tweaks like log messages). That wasn’t the most sophisticated solution and we will address this copy-paste pattern in this chapter. We will write an “extension” of the DynamicSupervisor that allows to start, stop and autostart workers. Just to keep things simple we will create a new application inside our umbrella project where we will place the logic. This will save us from creating a new repo for time being. Our new Core.ServiceSupervisor module will hold all the logic responsible for starting, stopping, and autostarting worker processes. To limit the boilerplate inside the implementation modules (like Naive.DynamicSymbolSupervisor or Streamer.DynamicStreamerSupervisor) we will utilize the use macro that will dynamically generate low-level wiring for us. 13.3 Pseudo generalize Core.ServiceSupervisor module Let’s start by creating a new non-supervised application called core inside our umbrella project. At this moment our “abstraction code” will sit inside it just to keep things simple as otherwise, we would need to create a new repo and jump between codebases which we will avoid for time being: $ cd apps $ mix new core * creating README.md * creating .formatter.exs * creating .gitignore * creating mix.exs * creating lib * creating lib/core.ex * creating test * creating test/test_helper.exs * creating test/core_test.exs ... We can now create a new directory called core inside the apps/core/lib directory and a new file called service_supervisor.ex inside it where we will put all abstracted starting/stopping/autostarting logic. Let’s start with an empty module: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do end The first step in our refactoring process will be to move(cut) all of the functions from the Naive.DynamicSymbolSupervisor (excluding the start_link/1, init/1 and shutdown_trading/1) and put them inside the Core.ServiceSupervisor module which should look as follows: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do def autostart_trading do ... end def start_trading(symbol) when is_binary(symbol) do ... end def stop_trading(symbol) when is_binary(symbol) do ... end defp get_pid(symbol) do ... end defp update_trading_status(symbol, status) when is_binary(symbol) and is_binary(status) do ... end defp start_symbol_supervisor(symbol) do ... end defp fetch_symbols_to_trade do ... end end All of the above code is trading related - we need to rename functions/logs to be more generic. Starting with autostart_trading/0 we can rename it to autostart_workers/0: # /apps/core/lib/core/service_supervisor.ex ... def autostart_workers do # <= updated function name fetch_symbols_to_start() # <= updated function name |> Enum.map(&start_worker/1) # <= updated function name end ... As we updated two functions inside the autostart_workers/0 we need to update their implementations. The start_trading/1 will become start_worker/1, internally we will inline the start_symbol_supervisor/1 function(move it’s contents inside the start_worker/1 function and remove the start_symbol_supervisor/1 function) as it’s used just once inside this module as well as update_trading_status/2 need to be renamed to update_status/2. The fetch_symbols_to_trade/0 will get updated to fetch_symbols_to_start/0: # /apps/core/lib/core/service_supervisor.ex def start_worker(symbol) when is_binary(symbol) do # <= updated name case get_pid(symbol) do nil -> Logger.info("Starting trading of #{symbol}") {:ok, _settings} = update_status(symbol, "on") # <= updated name {:ok, _pid} = DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) # ^^^^^^ inlined `start_symbol_supervisor/1` pid -> Logger.warning("Trading on #{symbol} already started") {:ok, _settings} = update_status(symbol, "on") # <= updated name {:ok, pid} end end ... defp fetch_symbols_to_start do # <= updated name ... end Inside the above code we updated the update_trading_status/2 call to update_status/2 so we need to update the function header to match: # /apps/core/lib/core/service_supervisor.ex defp update_status(symbol, status) # <= updated name when is_binary(symbol) and is_binary(status) do ... end Last function to rename in this module will be the stop_trading/1 to stop_worker/1, we also need to update calls to update_trading_status/2 to update_status/2 as it was renamed: # /apps/core/lib/core/service_supervisor.ex def stop_worker(symbol) when is_binary(symbol) do # <= updated name case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_status(symbol, "off") # <= updated name pid -> Logger.info("Stopping trading of #{symbol}") :ok = DynamicSupervisor.terminate_child( Naive.DynamicSymbolSupervisor, pid ) {:ok, _settings} = update_status(symbol, "off") # <= updated name end end At this moment we have a pseudo-generic implementation of start_worker/1 and stop_worker/1 inside the Core.ServiceSupervisor module. Function names are generic but they still refer to Repo, Settings, and other modules specific to the naive app’s implementation. We are probably in a worse situation than we have been before starting this refactoring ;) but don’t fear this was just the first step on the way to abstract away that starting, stopping, and autostarting code. 13.4 Utilize pseudo generalized code inside the Naive DynamicSymbolSupervisor Before we will jump back to the naive’s application modules we need to add the core application the dependencies of the naive application: # /apps/naive/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:binance_mock, in_umbrella: true}, {:core, in_umbrella: true}, # <= core dep added .... Let’s get back to the Naive.DynamicSymbolSupervisor where we expect functions that we just cut out to exist like start_trading/1 or stop_trading/1. Let’s reimplement more generic versions of those functions as just simple calls to the Core.ServiceSupervisor module: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers() end def start_worker(symbol) do Core.ServiceSupervisor.start_worker(symbol) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker(symbol) end We also need to update the shutdown_trading/1 function as we removed all the private functions that it relies on: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do # <= updated name case Core.ServiceSupervisor.get_pid(symbol) do # <= module added nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = Core.ServiceSupervisor.update_status(symbol, "off") # ^^^ updated name + module _pid -> Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = Core.ServiceSupervisor.update_status(symbol, "shutdown") # ^^^ updated name + module Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end As we were moving all the private helper functions we didn’t make them public so the Naive.DynamicSymbolSupervisor module can use them - we will fix that now together with temporary aliases/require/imports at the top of the Core.ServiceSupervisor: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do require Logger # <= added require import Ecto.Query, only: [from: 2] # <= added import alias Naive.Repo # <= added alias alias Naive.Schema.Settings # <= added alias ... def get_pid(symbol) do # <= updated from private to public ... end def update_status(symbol, status) # <= updated from private to public when is_binary(symbol) and is_binary(status) do ... end As fetch_symbols_to_start/0 is only used internally by the Core.ServiceSupervisor module itself, we don’t need to make it public. We can also remove the aliases and import from the Naive.DynamicSymbolSupervisor as it won’t need them anymore. The next step will be to add ecto to the deps of the core application as it will make db queries now: # /apps/core/mix.exs defp deps do [ {:ecto_sql, "~> 3.0"} ] end As we modified the interface of the Naive.DynamicSymbolSupervisor (for example renamed start_trading/1 to start_worker/1 and others) we need to modify the Naive.Supervisor’s children list - more specifically the Task process: # /apps/naive/lib/naive/supervisor.ex ... {Task, fn -> Naive.DynamicSymbolSupervisor.autostart_workers() # <= func name updated end} ... The last step will be to update the interface of the naive application: # /apps/naive/lib/naive.ex alias Naive.DynamicSymbolSupervisor def start_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.start_worker() end def stop_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.stop_worker() end def shutdown_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.shutdown_worker() end Believe it or not, but at this moment(ignoring all of the warnings because we created a circular dependency between the core and the naive applications - which we will fix in the next steps) our application runs just fine! We are able to start and stop trading, autostarting works as well. 13.5 Implement a truly generic Core.ServiceSupervisor Ok. Why did we even do this? What we are aiming for is a separation between the interface of our Naive.DynamicSymbolSupervisor module (like start_worker/1, autostart_workers/0 and stop_worker/1) and the implementation which is now placed inside the Core.ServiceSupervisor module. That’s all nice and to-some-extent understandable but Core.ServiceSupervisor module is not a generic module. We can’t use it inside the streaming application to supervise the Streamer.Binance processes. So, what’s the point? Well, we can make it even more generic! 13.5.1 First path starting with the fetch_symbols_to_start/0 function Moving on to full generalization of the Core.ServiceSupervisor module. We will start with the helper functions first as they are the ones doing the work and they need to be truly generalized first: # /apps/core/lib/core/service_supervisor.ex def fetch_symbols_to_start do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end The fetch_symbols_to_start/0 function uses Repo and Settings that are aliased at the top of the Core.ServiceSupervisor module. This just won’t work with any other applications as Streamer will require its own Repo and Settings modules etc. To fix that we will pass both repo and schema as arguments to the fetch_symbols_to_start/0 function which will become fetch_symbols_to_start/2: # /apps/core/lib/core/service_supervisor.ex def fetch_symbols_to_start(repo, schema) do # <= args added repo.all( # <= lowercase `repo` is an argument not aliased module from(s in schema, # <= settings schema module passed as arg where: s.status == "on", select: s.symbol ) ) end This will have a knock-on effect on any functions that are using fetch_symbols_to_start/0 - now they need to use fetch_symbols_to_start/2 and pass appropriate Repo and Schema modules. So, the fetch_symbols_to_start/0 is referenced by the autostart_workers/0 - we will need to modify it to pass the repo and schema to the fetch_symbols_to_start/2 and as it’s inside the Core.ServiceSupervisor module it needs to get them passed as arguments: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema) do # <= args added fetch_symbols_to_start(repo, schema) # <= args passed |> Enum.map(&start_worker/1) end Going even further down the line, autostart_workers/0 is referenced by the autostart_workers/0 inside the Naive.DynamicSymbolSupervisor module. As this module is (naive) application-specific, it is a place where repo and schema are known from the context - for the naive application repo is the Naive.Repo module and schema is the Naive.Schema.Settings module: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, # <= new value passed Naive.Schema.Settings # <= new value passed ) end This finishes the first of multiple paths that we need to follow to fully refactor the Core.ServiceSupervisor module. 13.5.2 Second path starting with the update_status/2 Let’s don’t waste time and start from the other helper function inside the Core.ServiceSupervisor module. This time we will make the update_status/2 function fully generic: # /apps/core/lib/core/service_supervisor.ex def update_status(symbol, status, repo, schema) # <= args added when is_binary(symbol) and is_binary(status) do repo.get_by(schema, symbol: symbol) # <= using dynamic repo and schema modules |> Ecto.Changeset.change(%{status: status}) |> repo.update() # <= using dynamic repo module end As previously we added repo and schema as arguments and modified the body of the function to utilize them instead of hardcoded modules (aliased at the top of the Core.ServiceSupervisor module). In the same fashion as previously, we need to check “who” is using the update_status/2 and update those calls to update_status/4. The function is used inside the start_worker/1 and the stop_worker/1 inside the Core.ServiceSupervisor module so as previously we need to bubble them up(pass via arguments to both start_worker/1 and stop_worker/1 functions): # /apps/core/lib/core/service_supervisor.ex def start_worker(symbol, repo, schema) when is_binary(symbol) do # <= new args ... {:ok, _settings} = update_status(symbol, "on", repo, schema) # <= args passed ... {:ok, _settings} = update_status(symbol, "on", repo, schema) # <= args passed ... end def stop_worker(symbol, repo, schema) when is_binary(symbol) do # <= new args ... {:ok, _settings} = update_status(symbol, "off", repo, schema) # <= args passed ... {:ok, _settings} = update_status(symbol, "off", repo, schema) # <= args passed ... end As we modified both start_worker/1 and stop_worker/1 by adding two additional arguments we need to update all references to them and here is where things branch out a bit. We will start with start_worker/1 function (which is now start_worker/3) - it’s used by the autostart_workers/2 inside Core.ServiceSupervisor module. The autostart_workers/2 function already has repo and schema so we can just pass them to the start_worker/3: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema) do fetch_symbols_to_start(repo, schema) |> Enum.map(&start_worker(&1, repo, schema)) # <= args passed end Both the start_worker/3 and the stop_worker/3 function are used by the functions inside the Naive.DynamicSymbolSupervisor module. We need to pass the Repo and Schema in the same fashion as previously with the autostart_workers/2 function: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, Naive.Repo, # <= new arg passed Naive.Schema.Settings # <= new arg passed ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, Naive.Repo, # <= new arg passed Naive.Schema.Settings # <= new arg passed ) end At this moment there’s no code inside the Core.ServiceSupervisor module referencing the aliased Repo nor Schema modules so we can safely remove both aliases - definitely, we are moving in the right direction! Btw. Our project still works at this stage, we can start/stop trading and it autostarts trading. 13.5.3 Third path starting with the get_pid/1 function Starting again from the most nested helper function - this time the get_pid/1: # /apps/core/lib/core/service_supervisor.ex def get_pid(symbol) do Process.whereis(:"Elixir.Naive.SymbolSupervisor-#{symbol}") end We can see that it has a hardcoded Naive.SymbolSupervisor worker module - we need to make this part dynamic by using the worker_module argument: # /apps/core/lib/core/service_supervisor.ex def get_pid(worker_module, symbol) do # <= arg added Process.whereis(:"#{worker_module}-#{symbol}") # <= arg used end Moving up to functions that are referencing the get_pid/1 function, those will be the start_worker/3 and the stop_worker/3 function. As those are the two last functions to be updated, we will look into them more closely to finish our refactoring in this 3rd run. At this moment both need to add worker_module as both are calling the get_pid/2 function. Looking at both function we can see two other hardcoded details: inside log message there are words “trading” - we can replace them so we will utilize the worker_module and symbol arguments there are two references to the Naive.DynamicSymbolSupervisor which we will replace with the module argument there is one more reference to the Naive.SymbolSupervisor module which we will replace with the worker_module argument Let’s look at updated functions: # /apps/core/lib/core/service_supervisor.ex # module and worker_module args added vvvv def start_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do case get_pid(worker_module, symbol) do # <= worker_module passed nil -> Logger.info("Starting #{worker_module} worker for #{symbol}") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "on", repo, schema) {:ok, _pid} = DynamicSupervisor.start_child(module, {worker_module, symbol}) # ^^^ args used pid -> Logger.warning("#{worker_module} worker for #{symbol} already started") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "on", repo, schema) {:ok, pid} end end # module and worker_module added as args vvvv def stop_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do case get_pid(worker_module, symbol) do # <= worker_module passed nil -> Logger.warning("#{worker_module} worker for #{symbol} already stopped") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "off", repo, schema) pid -> Logger.info("Stopping #{worker_module} worker for #{symbol}") # ^^^ dynamic text :ok = DynamicSupervisor.terminate_child(module, pid) # <= arg used {:ok, _settings} = update_status(symbol, "off", repo, schema) end end Inside both the start_worker/5 and the stop_worker/5 functions we modified: get_pid/1 to pass the worker_module Logger’s messages to use the worker_module and symbol DynamicSupervisor’s functions to use the module and the worker_module Again, as we modified start_worker/5 we need to make the last change inside the Core.ServiceSupervisor module - autostart_workers/2 uses the start_worker/5 function: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema, module, worker_module) do # <= args added fetch_symbols_to_start(repo, schema) |> Enum.map(&start_worker(&1, repo, schema, module, worker_module)) # <= args added end Just for reference - the final function headers look as following: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do def autostart_workers(repo, schema, module, worker_module) do ... end def start_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do ... end def stop_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do ... end def get_pid(worker_module, symbol) do ... end def update_status(symbol, status, repo, schema) when is_binary(symbol) and is_binary(status) do ... end def fetch_symbols_to_start(repo, schema) do ... end end That finishes the 3rd round of updates inside the Core.ServiceSupervisor module, now we need to update the Naive.DynamicSymbolSupervisor module to use updated functions(and pass required arguments): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def shutdown_worker(symbol) when is_binary(symbol) do case Core.ServiceSupervisor.get_pid(Naive.SymbolSupervisor, symbol) do # <= arg added nil -> Logger.warning("#{Naive.SymbolSupervisor} worker for #{symbol} already stopped") # ^^^ updated {:ok, _settings} = Core.ServiceSupervisor.update_status( symbol, "off", Naive.Repo, Naive.Schema.Settings ) # ^^^ args added _pid -> Logger.info( "Initializing shutdown of #{Naive.SymbolSupervisor} worker for #{symbol}" ) # ^^^ updated {:ok, settings} = Core.ServiceSupervisor.update_status( symbol, "shutdown", Naive.Repo, Naive.Schema.Settings ) # ^^^ additional args passed Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end We needed to update referrences inside the shutdown_trading/1 function as well, as it calls get_pid/2 and update_status/4 functions. We are now done with refactoring the Core.ServiceSupervisor module, it’s completely generic and can be used inside both streamer and the naive applications. At this moment to use the Core.ServiceSupervisor module we need to write interface functions in our supervisors and pass multiple arguments in each one - again, would need to use of copies those functions inside streamer and naive application. In the next section we will look into how could we leverage Elixir macros to remove that boilerplate. 13.6 Remove boilerplate using use macro Elixir provides a way to use other modules. Idea is that inside the Naive.DynamicSymbolSupervisor module we are useing the DynamicSupervisor module currently but we could use Core.ServiceSupervisor: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do use Core.ServiceSupervisor To be able to use the Core.ServiceSupervisor module it needs to provide the __using__/1 macro. As the simplest content of that macro, we can use here would be just to use the DynamicSupervisor inside: # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do IO.inspect(opts) quote location: :keep do use DynamicSupervisor end end How does this work? As an oversimplification, you can think about it as Elixir will look through the contents of quote’s body(everything between quote ... do and end) in search for the unquote function which can inject dynamic content. All of this will become much clearer as we will go through the first example but the important part is that after executing any potential unquotes inside the quote’s body, Elixir will grab that code as it would be just part of code and place it inside the Naive.DynamicSymbolSupervisor module at compile time(we will also see the result of IO.inspect/1 at compilation). At this moment(after swapping to use Core.ServiceSupervisor) our code still works and it’s exactly as we would simply have use DynamicSupervisor inside the Naive.DynamicSymbolSupervisor module - as at compilation, it will be swapped to it either way(as per contents of the __using__/1 macro). As the autostart_workers/0 function is a part of the boilerplate, we will move it from the Naive.DynamicSymbolSupervisor module to the Core.ServiceSupervisor module inside the __using__/1 macro. Ok, but it has all of those other naive application-specific arguments - where will we get those? That’s what that opts argument is for inside the __using__/1 macro. When we call use Core.ServiceSupervisor we can pass an additional keyword list which will contain all naive application-specific details: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do use Core.ServiceSupervisor, repo: Naive.Repo, schema: Naive.Schema.Settings, module: __MODULE__, worker_module: Naive.SymbolSupervisor We can now update the __using__/1 macro to assign all of those details to variables(instead of using IO.inspect/1): # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do {:ok, repo} = Keyword.fetch(opts, :repo) {:ok, schema} = Keyword.fetch(opts, :schema) {:ok, module} = Keyword.fetch(opts, :module) {:ok, worker_module} = Keyword.fetch(opts, :worker_module) ... At this moment we can use those dynamic values to generate code that will be specific to the implementation module for example autostart_workers/0 that we moved from the Naive.DynamicSymbolSupervisor module and will need to have different values passed to it(like Streamer.Binance as worker_module) for the streamer application. We can see that it requires inserting those dynamic values inside the autstart_workers/0 but how to dynamically inject arguments - unquote to the rescue. When we will update the autostart_workers/0 function from: # sample moved code from the `Naive.DynamicSymbolSupervisor` module def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, __MODULE__, Naive.SymbolSupervisor ) end to: # updated code that will become part of the `__using__/1` macro def autostart_workers do Core.ServiceSupervisor.autostart_workers( unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end At the end, generated code that will be “pasted” to the Naive.DynamicSymbolSupervisor module at compile time will be: # compiled code attached to the `Naive.DynamicSymbolSupervisor` module def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, Naive.DynamicSymbolSupervisor, Naive.SymbolSupervisor ) end This way we can dynamically create functions for any application(for the streamer application, it will generate function call with the Streamer.Repo, Streamer.Schema.Settings args, etc). We can apply that to all of the passed variables inside the autostart_workers/0 function - just for reference full macro will look as follows: # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do {:ok, repo} = Keyword.fetch(opts, :repo) {:ok, schema} = Keyword.fetch(opts, :schema) {:ok, module} = Keyword.fetch(opts, :module) {:ok, worker_module} = Keyword.fetch(opts, :worker_module) quote location: :keep do use DynamicSupervisor def autostart_workers do Core.ServiceSupervisor.autostart_workers( unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end end end You can think about the above macro that it will substitute the unquote(..) parts with passed values and then it will grab the whole contents between quote ... do and end and it will paste it to the Naive.DynamicSymbolSupervisor module at compile-time - we can visualize generated/“pasted” code as: # generated by the `__using__/1` macro injected into the `Naive.DynamicSymbolSupervisor` use DynamicSupervisor def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, Naive.DynamicSymbolSupervisor, Naive.SymbolSupervisor ) end This is exactly the code that we had before inside the Naive.DynamicSymbolSupervisor module but now it’s stored away inside the Core.ServiceSupervisor’s __using__/1 macro and it doesn’t need to be implemented/copied across twice into two apps anymore. We can now follow the same principle and move start_worker/1 and stop_worker/1 from the Naive.DynamicSymbolSupervisor module into __using__/1 macro inside the Core.ServiceSupervisor module: # /apps/core/lib/core/service_supervisor.ex # append the below before the end of the __using__/1 macro def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, # <= this needs to stay as variable unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, # <= this needs to stay as variable unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end Here we have an example of an execution time variable called symbol that we should not unquote as it will be different per function call (source code should have symbol variable there not for example \"NEOUSDT\"). At this moment the Naive.DynamicSymbolSupervisor consists of only start_link/1, init/1 and shutdown_worker/1, it’s under 50 lines of code and works exactly as before refactoring. All of the boilerplate was moved to the Core.ServiceSupervisor module. We left the shutdown_worker/1 function as it’s specific to the naive application, but inside it, we utilize both the get_pid/2 and the update_status/4 functions where we are passing the naive application-specific variables(like Naive.Repo). To make things even nicer we can create convenience wrappers for those two functions inside the __using__/1 macro: # /apps/core/lib/core/service_supervisor.ex # add below at the end of `quote` block inside `__using__/1` defp get_pid(symbol) do Core.ServiceSupervisor.get_pid( unquote(worker_module), symbol ) end defp update_status(symbol, status) do Core.ServiceSupervisor.update_status( symbol, status, unquote(repo), unquote(schema) ) end As those will get compiled and “pasted” into the Naive.DynamicSymbolSupervisor module we can utilize them inside the shutdown_worker/1 function as they would be much simpler naive application-specific local functions: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do case get_pid(symbol) do # <= macro provided function nil -> Logger.warning("#{Naive.SymbolSupervisor} worker for #{symbol} already stopped") {:ok, _settings} = update_status(symbol, "off") # <= macro provided function _pid -> Logger.info( "Initializing shutdown of #{Naive.SymbolSupervisor} worker for #{symbol}" ) {:ok, settings} = update_status(symbol, "shutdown") # <= macro provided function Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end And now, a very last change - I promise ;) Both the start_link/1 and the init/1 functions are still referencing the DynamicSupervisor module which could be a little bit confusing - let’s swap those calls to use the Core.ServiceSupervisor module (both to not confuse people and be consistent with the use macro): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def start_link(init_arg) do Core.ServiceSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do Core.ServiceSupervisor.init(strategy: :one_for_one) end As we don’t want/need to do anything different inside the Core.ServiceSupervisor module than the DynamicSupervisor is doing we can just delegate both of those inside the Core.ServiceSupervisor module: # /apps/core/lib/core/service_supervisor.ex defdelegate start_link(module, args, opts), to: DynamicSupervisor defdelegate init(opts), to: DynamicSupervisor That finishes our refactoring of both the Naive.DynamicSymbolSupervisor and the Core.ServiceSupervisor modules. We can test to confirm that everything works as expected: $ iex -S mix iex(1)> Naive.start_trading("NEOUSDT") 21:42:37.741 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 21:42:37.768 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.464.0>} 21:42:39.455 [info] Initializing new trader(1614462159452) for NEOUSDT iex(2)> Naive.stop_trading("NEOUSDT") 21:43:08.362 [info] Stopping Elixir.Naive.SymbolSupervisor worker for NEOUSDT {:ok, %Naive.Schema.Settings{ ... }} iex(3)> Naive.start_trading("HNTUSDT") 21:44:08.689 [info] Starting Elixir.Naive.SymbolSupervisor worker for HNTUSDT 21:44:08.723 [info] Starting new supervision tree to trade on HNTUSDT {:ok, #PID<0.475.0>} 21:44:11.182 [info] Initializing new trader(1614462251182) for HNTUSDT BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution $ iex -S mix 21:47:22.119 [info] Starting Elixir.Naive.SymbolSupervisor worker for HNTUSDT 21:47:22.161 [info] Starting new supervision tree to trade on HNTUSDT 21:47:24.213 [info] Initializing new trader(1614462444212) for HNTUSDT iex(1)> Naive.shutdown_trading("HNTUSDT") 21:48:42.003 [info] Initializing shutdown of Elixir.Naive.SymbolSupervisor worker for HNTUSDT {:ok, %Naive.Schema.Settings{ ... }} The above test confirms that we can start, stop, and shut down trading on a symbol as well as autostarting of trading works. 13.7 Use the Core.ServiceSupervisor module inside the streamer application As we are happy with the implementation of the Core.ServiceSupervisor module we can upgrade the streamer application to use it. We need to start with adding the core application to the list of dependencies of the streamer application: # /apps/streamer/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:core, in_umbrella: true}, # <= core added to deps ... We can now move on to the Streamer.DynamicStreamerSupervisor where we will remove everything (really everything including imports, aliases and even require) beside the start_link/1 and the init/1. As with the Naive.DynamicSymbolSupervisor we will use the Core.ServiceSupervisor and pass all required options - full implementation of the Streamer.DynamicStreamerSupervisor module should look as follows: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defmodule Streamer.DynamicStreamerSupervisor do use Core.ServiceSupervisor, repo: Streamer.Repo, schema: Streamer.Schema.Settings, module: __MODULE__, worker_module: Streamer.Binance def start_link(init_arg) do Core.ServiceSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do Core.ServiceSupervisor.init(strategy: :one_for_one) end end Not much to add here - we are useing the Core.ServiceSupervisor module and passing options to it so it can macro generates streamer application-specific wrappers(like start_worker/1 or stop_worker/1 with required repo, schema, etc) around generic logic from the Core.ServiceSupervisor module. Using the Core.Servicesupervisor module will have an impact on the interface of the Streamer.DynamicStreamerSupervisor as it will now provide functions like start_worker/1 instead of start_streaming/1 etc. As with the naive application, we need to update the Task function inside the Streamer.Supervisor module: # /apps/streamer/lib/streamer/supervisor.ex ... {Task, fn -> Streamer.DynamicStreamerSupervisor.autostart_workers() end} ... As well as main Streamer module needs to forward calls instead of delegating: # /apps/streamer/lib/streamer.ex alias Streamer.DynamicStreamerSupervisor def start_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.start_worker() end def stop_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.stop_worker() end We can run a quick test to confirm that indeed everything works as expected: $ iex -S mix iex(1)> Streamer.start_streaming("NEOUSDT") 22:10:38.813 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.465.0>} iex(2)> Streamer.stop_streaming("NEOUSDT") 22:10:48.212 [info] Stopping Elixir.Streamer.Binance worker for NEOUSDT {:ok, %Streamer.Schema.Settings{ __meta__: #Ecto.Schema.Metadata<:loaded, "settings">, id: "db8c9429-2356-4243-a08f-0d0e89b74986", inserted_at: ~N[2021-02-25 22:15:16], status: "off", symbol: "NEOUSDT", updated_at: ~N[2021-02-27 22:10:48] }} iex(3)> Streamer.start_streaming("LTCUSDT") 22:26:03.361 [info] Starting Elixir.Streamer.Binance worker for LTCUSDT {:ok, #PID<0.490.0>} BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution ^C $ iex -S mix ... 22:26:30.775 [info] Starting Elixir.Streamer.Binance worker for LTCUSDT This finishes the implementation for both the streamer and the naive application. We are generating dynamic functions(metaprogramming) using Elixir macros which is a cool exercise to go through and feels like superpowers ;) [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["store-trade-events-and-orders-inside-the-database.html", "Chapter 14 Store trade events and orders inside the database 14.1 Objectives 14.2 Overview of requirements 14.3 Create a new data_warehouse application in the umbrella 14.4 Connect to the database using Ecto 14.5 Store trade events’ data 14.6 Store orders’ data 14.7 Implement supervision", " Chapter 14 Store trade events and orders inside the database 14.1 Objectives overview of requirements create a new data_warehouse application in the umbrella connect to the database using Ecto store trade events’ data store orders’ data implement supervision 14.2 Overview of requirements In the next chapter, we will move on to testing our strategy against historical data(aka backtesting - I will explain that process in the next chapter). What we need to have in place before we will be able to do that is both trade events and orders stored in the database. Starting with the trade events. The streamer application could store trade events from Binance inside its database but how would that work if we would like to introduce another source of non-streamed trade events(ie. flat files, HTTP polling). It would be better if the Streamer.Binance process would keep on streaming those trade events as it is and we would create a new application that would subscribe to the existing TRADE_EVENTS:#{symbol} topic and store them in the database. A similar idea applies to the orders’ data. At this moment the naive application uses the Binance module to place orders. We could store them inside the naive application’s database but how would that work if we would like to introduce another trading strategy. Holding data in separate databases for each strategy would cause further complications in future reporting, auditing, etc. To store trade events’ and orders’ data we will create a new application called data_warehouse inside our umbrella project. It will subscribe to a TRADE_EVENTS:#{symbol} stream as well as ORDERS:#{symbol} stream, convert broadcasted data to its own representations(structs) and store it inside the database. Trade events are already broadcasted to the PubSub topic, orders on the other hand aren’t. We will need to modify the Naive.Trader module to broadcast the new and updated orders to the ORDERS:#{symbol} topic. After implementing the basic worker that will store the incoming data(trade events and orders) inside the database, we will look into adding a supervision tree utilizing Elixir Registry. It will allow us to skip registering every worker with a unique atom and will offer an easy lookup to fetch PIDs instead. 14.3 Create a new data_warehouse application in the umbrella Let’s start by creating a new application called data_warehouse inside our umbrella: $ cd apps $ mix new data_warehouse --sup * creating README.md * creating .formatter.exs * creating .gitignore * creating mix.exs * creating lib * creating lib/data_warehouse.ex * creating lib/data_warehouse/application.ex * creating test * creating test/test_helper.exs * creating test/data_warehouse_test.exs ... 14.4 Connect to the database using Ecto We can now follow similar steps as previously and add required dependencies (like the ecto) to its deps by modifying its mix.exs file: # /apps/data_warehouse/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:ecto_sql, "~> 3.0"}, {:ecto_enum, "~> 1.4"}, {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, {:streamer, in_umbrella: true} ] end Additionally, we added the phoenix_pubsub(to subscribe to the PubSub topic), the streamer application(to use its Streamer.Binance.TradeEvent struct) and the binance package(to pattern match it’s structs). We can now jump back to the terminal to install added dependencies and generate a new Ecto.Repo module: $ mix deps.get ... $ cd apps/data_warehouse $ mix ecto.gen.repo -r DataWarehouse.Repo * creating lib/data_warehouse * creating lib/data_warehouse/repo.ex * updating ../../config/config.exs Before we will be able to create migrations that will create our tables we need to update the generated configuration inside the config/config.exs file: # /config/config.exs ... config :data_warehouse, # <= added line ecto_repos: [DataWarehouse.Repo] # <= added line config :data_warehouse, DataWarehouse.Repo, database: "data_warehouse", # <= updated line username: "postgres", # <= updated line password: "hedgehogSecretPassword", # <= updated line hostname: "localhost" ... and add the DataWarehouse.Repo module to the children list of the DataWarehouse.Application’s process: # /apps/data_warehouse/lib/data_warehouse/application.ex ... children = [ {DataWarehouse.Repo, []} ] ... The last step will be to create a database by running mix ecto.create -r DataWarehouse.Repo command. This ends up the setup of the Ecto - we can now move on to the implementation of storing the orders and the trade events. 14.5 Store trade events’ data The first step to store trade events inside the database will be to create a table that will hold our data. We will start by creating the migration: $ cd apps/data_warehouse $ mix ecto.gen.migration create_trade_events * creating priv/repo/migrations * creating priv/repo/migrations/20210222224514_create_trade_events.exs The Streamer.Binance.TradeEvent struct will serve as a list of columns for our new trade_events table. Here’s the full implementation of our migration: # /apps/data_warehouse/priv/repo/migrations/20210222224514_create_trade_events.exs defmodule DataWarehouse.Repo.Migrations.CreateTradeEvents do use Ecto.Migration def change do create table(:trade_events, primary_key: false) do add(:id, :uuid, primary_key: true) add(:event_type, :text) add(:event_time, :bigint) add(:symbol, :text) add(:trade_id, :integer) add(:price, :text) add(:quantity, :text) add(:buyer_order_id, :bigint) add(:seller_order_id, :bigint) add(:trade_time, :bigint) add(:buyer_market_maker, :bool) timestamps() end end end We added the additional id field to easily identify each trade event and our timestamps for monitoring. Let’s run the migration so it will create a new trade_events table for us: $ mix ecto.migrate The next step will be to create a new directory called schema inside the apps/data_warehouse/lib/data_warehouse directory. Inside it, we need to create a new schema file called trade_event.ex. We can copy across the same columns from the migration straight to schema: # /apps/data_warehouse/lib/data_warehouse/schema/trade_event.ex defmodule DataWarehouse.Schema.TradeEvent do use Ecto.Schema @primary_key {:id, :binary_id, autogenerate: true} schema "trade_events" do field(:event_type, :string) field(:event_time, :integer) field(:symbol, :string) field(:trade_id, :integer) field(:price, :string) field(:quantity, :string) field(:buyer_order_id, :integer) field(:seller_order_id, :integer) field(:trade_time, :integer) field(:buyer_market_maker, :boolean) timestamps() end end At this moment we should be able to execute crud(create, read[select], update, delete) operations over the table using the above struct. Currently, we can already store the trade events’ data inside the database so we can move on to collecting it. Trade events are getting broadcasted by the Streamer.Binance process here: # /apps/streamer/lib/streamer/binance.ex ... Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) ... We will implement a subscriber process that will be given a PubSub topic and will store incoming data inside the database. Let’s start by creating a new folder called subscriber inside the apps/data_warehouse/lib/data_warehouse directory together with a new file called worker.ex inside it: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex defmodule DataWarehouse.Subscriber.Worker do use GenServer require Logger defmodule State do @enforce_keys [:topic] defstruct [:topic] end def start_link(topic) do GenServer.start_link( __MODULE__, topic, name: :"#{__MODULE__}-#{topic}" ) end def init(topic) do {:ok, %State{ topic: topic }} end end At this moment it’s just a box standard implementation of the GenServer with a state struct containing a single key(:topic). We need to update the init/1 function to subscribe to the PubSub topic: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def init(topic) do Logger.info("DataWarehouse worker is subscribing to #{topic}") Phoenix.PubSub.subscribe( Streamer.PubSub, topic ) ... Next, we need to add a handler for received messages: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def handle_info(%Streamer.Binance.TradeEvent{} = trade_event, state) do opts = trade_event |> Map.from_struct() struct!(DataWarehouse.Schema.TradeEvent, opts) |> DataWarehouse.Repo.insert() {:noreply, state} end As we did in the case of the Naive.Trader, all incoming messages trigger a handle_info/2 callback with the contents of the message and the current state of the subscriber worker. We just convert that incoming trade event to a map and then that map to the TradeEvent struct that gets inserted into the database. This finishes storing of trade events implementation which we can test by in the interactive shell by running: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") 00:48:30.147 [info] Starting Elixir.Streamer.Binance worker for XRPUSDT {:ok, #PID<0.395.0>} iex(2)> DataWarehouse.Subscriber.Worker.start_link("TRADE_EVENTS:XRPUSDT") 00:49:48.204 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:XRPUSDT {:ok, #PID<0.405.0>} After a couple of minutes we can check the database using psql: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse; You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# \\x Expanded display is on. data_warehouse=# SELECT * FROM trade_events; -[ RECORD 1 ]------+------------------------------------- id | f6eae686-946a-4e34-9c33-c7034c2cad5d event_type | trade event_time | 1614041388236 symbol | XRPUSDT trade_id | 152765072 price | 0.56554000 quantity | 1199.10000000 buyer_order_id | 1762454848 seller_order_id | 1762454775 trade_time | 1614041388235 buyer_market_maker | f inserted_at | 2021-02-23 00:49:48 ... As we can see in the above output, trade events are now getting stored inside the database. 14.6 Store orders’ data In the same fashion as with trade events’ data above, to store orders data we will create an orders table inside a new migration: $ cd apps/data_warehouse $ mix ecto.gen.migration create_orders * creating priv/repo/migrations/20210222224522_create_orders.exs The list of columns for this table will be a copy of Binance.Order struct returned from the Binance exchange: # /apps/data_warehouse/priv/repo/migrations/20210222224522_create_orders.exs defmodule DataWarehouse.Repo.Migrations.CreateOrders do use Ecto.Migration def change do create table(:orders, primary_key: false) do add(:order_id, :bigint, primary_key: true) add(:client_order_id, :text) add(:symbol, :text) add(:price, :text) add(:original_quantity, :text) add(:executed_quantity, :text) add(:cummulative_quote_quantity, :text) add(:status, :text) add(:time_in_force, :text) add(:type, :text) add(:side, :text) add(:stop_price, :text) add(:iceberg_quantity, :text) add(:time, :bigint) add(:update_time, :bigint) timestamps() end end end We updated all of the shortened names like orig_qty to full names like original_quantity. Let’s run the migration so it will create a new orders table for us: $ mix ecto.migrate We can copy the above fields list to create a schema module. First, let’s create a new file called order.ex inside the apps/data_warehouse/lib/data_warehouse/schema directory: # /apps/data_warehouse/lib/data_warehouse/schema/order.ex defmodule DataWarehouse.Schema.Order do use Ecto.Schema @primary_key {:order_id, :integer, autogenerate: false} schema "orders" do field(:client_order_id, :string) field(:symbol, :string) field(:price, :string) field(:original_quantity, :string) field(:executed_quantity, :string) field(:cummulative_quote_quantity, :string) field(:status, :string) field(:time_in_force, :string) field(:type, :string) field(:side, :string) field(:stop_price, :string) field(:iceberg_quantity, :string) field(:time, :integer) field(:update_time, :integer) timestamps() end end We can now add a handler to our DataWarehouse.Subscriber.Worker that will convert the Binance.Order struct to DataWarehouse.Schema.Order and store data inside the database: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def handle_info(%Binance.Order{} = order, state) do data = order |> Map.from_struct() struct(DataWarehouse.Schema.Order, data) |> Map.merge(%{ original_quantity: order.orig_qty, executed_quantity: order.executed_qty, cummulative_quote_quantity: order.cummulative_quote_qty, iceberg_quantity: order.iceberg_qty }) |> DataWarehouse.Repo.insert( on_conflict: :replace_all, conflict_target: :order_id ) {:noreply, state} end ... In the above code, we are copying the matching fields using the struct/2 function but all other fields that aren’t 1 to 1 between two structs won’t be copied, so we need to merge them in the second step(using the Map.merge/2 function). We are also using the on_conflict: :replace_all option to make the insert/2 function act as it would be upsert/2(to avoid writing separate logic for inserting and updating the orders). Having all of this in place we will now be able to store broadcasted orders’ data in the database but there’s nothing actually broadcasting them. We need to modify the Naive.Trader module to broadcast the Binance.Order whenever it places buy/sell orders or fetches them again: # /apps/naive/lib/naive/trader.ex ... # inside placing initial buy order callback {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_buy(symbol, quantity, price, "GTC") :ok = broadcast_order(order) ... # inside buy order (partially) filled callback {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) ... # inside the same callback in case of buy order filled {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) ... # inside sell order (partially) filled callback {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) ... Above 4 places send both the Binance.OrderResponse and the Binance.Order structs - our broadcast_order/1 function needs to be able to handle them both. Add the following at the bottom of the Naive.Trader module: # /apps/naive/lib/naive/trader.ex defp broadcast_order(%Binance.OrderResponse{} = response) do response |> convert_to_order() |> broadcast_order() end defp broadcast_order(%Binance.Order{} = order) do Phoenix.PubSub.broadcast( Streamer.PubSub, "ORDERS:#{order.symbol}", order ) end defp convert_to_order(%Binance.OrderResponse{} = response) do data = response |> Map.from_struct() struct(Binance.Order, data) |> Map.merge(%{ cummulative_quote_qty: "0.00000000", stop_price: "0.00000000", iceberg_qty: "0.00000000", is_working: true }) end As DataWarehouse.Subscriber.Worker process expects only the Binance.Order structs to be broadcasted, we first check is it the Binance.OrderResponse struct and convert the passed value to the Binance.Order struct (if that’s the case) and only then broadcast it to the PubSub topic. The converting logic as previously uses the struct/2 function but it also merges in default values that are missing from the much smaller Binance.OrderResponse struct(with comparison to the Binance.Order). At this moment we will be able to store orders inside the database and we can check that by running: $ iex -S mix ... iex(1)> DataWarehouse.Subscriber.Worker.start_link("ORDERS:NEOUSDT") 22:37:43.043 [info] DataWarehouse worker is subscribing to ORDERS:XRPUSDT {:ok, #PID<0.400.0>} iex(2)> Naive.start_trading("NEOUSDT") 22:38:39.741 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 22:38:39.832 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.402.0>} 22:38:41.654 [info] Initializing new trader(1614119921653) for NEOUSDT iex(3)> Streamer.start_streaming("NEOUSDT") 22:39:23.786 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.412.0>} 22:39:27.187 [info] The trader(1614119921653) is placing a BUY order for NEOUSDT @ 37.549, quantity: 5.326 22:39:27.449 [info] The trader(1614119921653) is placing a SELL order for NEOUSDT @ 37.578, quantity: 5.326. At this moment inside the DataWarehouse’s database we should see orders: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse; You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# \\x Expanded display is on. data_warehouse=# SELECT * FROM orders; -[ RECORD 1 ]--------------+--------------------------------- order_id | 1 client_order_id | C81E728D9D4C2F636F067F89CC14862C symbol | NEOUSDT price | 38.16 original_quantity | 5.241 executed_quantity | 0.00000000 cummulative_quote_quantity | 0.00000000 status | FILLED time_in_force | GTC type | LIMIT side | BUY stop_price | 0.00000000 iceberg_quantity | 0.00000000 time | 1614120906320 update_time | 1614120906320 inserted_at | 2021-02-23 22:55:10 updated_at | 2021-02-23 22:55:10 -[ RECORD 2 ]--------------+--------------------------------- order_id | 2 client_order_id | ECCBC87E4B5CE2FE28308FD9F2A7BAF3 symbol | NEOUSDT price | 38.19 original_quantity | 5.241 executed_quantity | 0.00000000 cummulative_quote_quantity | 0.00000000 status | NEW time_in_force | GTC type | LIMIT side | SELL stop_price | 0.00000000 iceberg_quantity | 0.00000000 time | update_time | inserted_at | 2021-02-23 22:55:10 updated_at | 2021-02-23 22:55:10 The first record above got inserted and updated as its state is “FILLED”, the second one wasn’t updated yet as it’s still in “NEW” state - that confirms that the upsert trick works. That finishes the implementation of storing orders inside the database. 14.7 Implement supervision Currently, we have a DataWarehouse.Subscriber.Worker process that will take care of storing data into the database, but sadly if anything will go wrong inside our worker and it will crash there’s no supervision in place to restart it. The supervision tree for the data_warehouse application will be similar to ones from the naive and streamer apps but different enough to not use the Core.ServiceSupervisor abstraction. For example, it doesn’t use the symbol column, it works based on the topic column. This would require changes to the Core.ServiceSupervisor’s functions like update_status/4 or fetch_symbols_to_start/2, we could update them to accept column name but that would need to be passed through other functions. We can see that this is probably not the best approach and the further we will get the more complex it will become. The second issue would be that we are registering all processes with names and that can be problematic as the list of processes will start to grow(as we can imagine in the case of the data_warehouse application). The better approach would be to mix the DynamicSupervisor together with Registry. The DynamicSupervisor will supervise the Subscriber.Workers and instead of keeping track of them by registering them using atoms we will start them :via Elixir Registry. We will add all functionality that we implemented for naive and streamer applications. We will provide the functions to start and stop storing data on passed PubSub topics as well as store those topics inside the database so storing will be autostarted. 14.7.1 Create subscriber_settings table To provide autostarting function we need to create a new migration that will create the subscriber_settings table: $ cd apps/data_warehouse $ mix ecto.gen.migration create_subscriber_settings * creating priv/repo/migrations/20210227230123_create_subscriber_settings.exs At this moment we can copy the code to create the settings table(enum and index as well) from the streamer application and tweak it to fit the data_warehouse application. So the first important change (besides updating namespaces from Streamer to DataWarehouse) will be to make a note that we have a setting per topic - not per symbol as for the naive and streamer applications: # /apps/data_warehouse/priv/repo/migrations/20210227230123_create_subscriber_settings.exs defmodule DataWarehouse.Repo.Migrations.CreateSubscriberSettings do use Ecto.Migration alias DataWarehouse.Schema.SubscriberStatusEnum def change do SubscriberStatusEnum.create_type() create table(:subscriber_settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:topic, :text, null: false) add(:status, SubscriberStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:subscriber_settings, [:topic])) end end Both schema and enum will be almost identical to the ones from the streamer application - we can simply copy those files and apply basic tweaks like updating the namespace: $ cp apps/streamer/lib/streamer/schema/settings.ex \\ apps/data_warehouse/lib/data_warehouse/schema/subscriber_settings.ex $ cp apps/streamer/lib/streamer/schema/streaming_status_enum.ex \\ apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex Remember about updating the symbol column to topic as well as table name inside the DataWarehouse.Schema.SubscriberSettings: # /apps/data_warehouse/lib/data_warehouse/schema/subscriber_settings.ex defmodule DataWarehouse.Schema.SubscriberSettings do use Ecto.Schema alias DataWarehouse.Schema.SubscriberStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "subscriber_settings" do field(:topic, :string) field(:status, SubscriberStatusEnum) timestamps() end end Inside apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex we need to swap references of Streamer to DataWarehouse and references of StreamingStatusEnum to SubscriberStatusEnum: # /apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex import EctoEnum defenum(DataWarehouse.Schema.SubscriberStatusEnum, :subscriber_status, [:on, :off]) Don’t forget to run the migration: $ mix ecto.migrate At this moment we have all pieces in place to execute queries on our new table. In this place, we can think about the seeding script. For the data_warehouse specifically, we won’t need to provide that script as we don’t know in advance what topic names we will use. Instead of seeding settings in advance, our code will “upsert”(using insert function) settings when start_storing/1 or stop_storing/1 are called. 14.7.2 Redesign supervision using Registry We can now focus on drafting a supervision tree for the data_warehouse application. At this moment we have only the DataWarehouse.Subscriber.Worker and the DataWarehouse.Application modules. As it was with the case of naive and streamer applications, we will need an additional level of supervision to cater for “autostarting” Task as well as, in the case of the data_warehouse application the Registry. The full supervision tree will look as follows: Everything looks very similar to the supervision tree that we created in the streamer and the naive applications but there’s an additional Registry that is supervised by the SubscriberSupervisior process. The idea is that inside the Worker module’s start_link/1 we will register worker processes using :via tuple. Internally, GenServer will utilize Registry’s functions like register_name/2 to add process to the registry under the topic string. This way we will be able to retrieve PIDs assigned to topics using those topic strings instead of registering each worker process with an atom name. Just as previously the DynamicSupervisor will be in charge of supervising the Worker processes and it won’t be even aware that we are using the Registry to keep track of topic => PID association. 14.7.3 Create the DataWarehouse.Subscriber.DynamicSupervisor module Let’s start by creating a new file called dynamic_supervisor.ex inside the apps/data_warehouse/lib/data_warehouse/subscriber directory and put default dynamic supervisor implementation inside: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex defmodule DataWarehouse.Subscriber.DynamicSupervisor do use DynamicSupervisor def start_link(_arg) do DynamicSupervisor.start_link(__MODULE__, [], name: __MODULE__) end def init(_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end As we will put all our logic related to autostarting, starting and stopping inside this module we can already add aliases, import and require: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex require Logger alias DataWarehouse.Repo alias DataWarehouse.Schema.SubscriberSettings alias DataWarehouse.Subscriber.Worker import Ecto.Query, only: [from: 2] @registry :subscriber_workers Additionally, we added the @registry module attribute that we will use to retrieve PID for the specific topic. We can move on to implementing autostart_workers/0 which will look very similar to the ones that we implemented in the streamer and the naive applications: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def autostart_workers do Repo.all( from(s in SubscriberSettings, where: s.status == "on", select: s.topic ) ) |> Enum.map(&start_child/1) end defp start_child(args) do DynamicSupervisor.start_child( __MODULE__, {Worker, args} ) end We can see that we are querying the database for a list of topics(not symbols) and we are calling start_child/2 for each result. The start_worker/1 is where the Registry will shine as we won’t need to check is there already a process running for that topic - we can leave that check to the Registry. If there’s a process already running for that topic it will just return a tuple starting with :error atom: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def start_worker(topic) do Logger.info("Starting storing data from #{topic} topic") update_status(topic, "on") start_child(topic) end ... defp update_status(topic, status) when is_binary(topic) and is_binary(status) do %SubscriberSettings{ topic: topic, status: status } |> Repo.insert( on_conflict: :replace_all, conflict_target: :topic ) end As we are not seeding the database with the default settings we will use the insert/2 function with options(as previously) to make it work as it would be an “upsert” function. Last function in this module will be stop_worker/1 which uses private stop_child/1 function. The stop_child/1 function shows how to retrieve PID of the process assigned to the passed topic: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def stop_worker(topic) do Logger.info("Stopping storing data from #{topic} topic") update_status(topic, "off") stop_child(topic) end ... defp stop_child(args) do case Registry.lookup(@registry, args) do [{pid, _}] -> DynamicSupervisor.terminate_child(__MODULE__, pid) _ -> Logger.warning("Unable to locate process assigned to #{inspect(args)}") end end That is a full implementation of the DataWarehouse.Subscriber.DynamicSupervisor module and it’s almost as slim as one from the last chapter where we leveraged macros to achieve that lightness. Using the Registry is the preferred way to manage a list of identifiable processes. We won’t run into an issue of overusing the atoms(as they are not garbage collected, we could hit that limit sooner or later). 14.7.4 Register Worker processes using :via The above DynamicSupervisor module assumes that Workers are registered inside the Registry - to make this happen we will need to update the start_link/1 function of the DataWarehouse.Subscriber.Worker module: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex ... def start_link(topic) do GenServer.start_link( __MODULE__, topic, name: via_tuple(topic) ) end ... defp via_tuple(topic) do {:via, Registry, {:subscriber_workers, topic}} end ... Passing the :name option to the GenServer’s start_link/3 function we instruct it to utilize the Registry module to register processes under topic names. 14.7.5 Create a new supervision level for Registry, Task and the DynamicSupervisor We have the lowest level modules - the Worker and the DynamicSupervisor implemented - time to add a new Supervisor that will start the Registry, the DynamicSupervisor, and the autostart storing Task. First create a new file called subscriber_supervisor.ex inside the apps/data_warehouse/lib/data_warehouse directory: # /apps/data_warehouse/lib/data_warehouse/subscriber_supervisor.ex defmodule DataWarehouse.SubscriberSupervisor do use Supervisor alias DataWarehouse.Subscriber.DynamicSupervisor @registry :subscriber_workers def start_link(_args) do Supervisor.start_link(__MODULE__, [], name: __MODULE__) end def init(_args) do children = [ {Registry, [keys: :unique, name: @registry]}, {DynamicSupervisor, []}, {Task, fn -> DynamicSupervisor.autostart_workers() end} ] Supervisor.init(children, strategy: :rest_for_one) end end The important part here will be to match the Registry name to the one defined inside the DynamicSupervisor and the Worker modules. 14.7.6 Link the SubscriberSupervisor to the Application We need to update the DataWarehouse.Application module to start our new DataWarehouse.SubscriberSupervisor process as well as register itself under name matching to its module(just for consistency with other applications): # /apps/data_warehouse/lib/data_warehouse/application.ex ... def start(_type, _args) do children = [ {DataWarehouse.Repo, []}, {DataWarehouse.SubscriberSupervisor, []} # <= new module added ] # See https://hexdocs.pm/elixir/Supervisor.html # for other strategies and supported options opts = [strategy: :one_for_one, name: __MODULE__] # <= name updated Supervisor.start_link(children, opts) end ... 14.7.7 Add interface The final step will be to add an interface to the DataWarehouse application to start and stop storing: # /apps/data_warehouse/lib/data_warehouse.ex alias DataWarehouse.Subscriber.DynamicSupervisor def start_storing(stream, symbol) do to_topic(stream, symbol) |> DynamicSupervisor.start_worker() end def stop_storing(stream, symbol) do to_topic(stream, symbol) |> DynamicSupervisor.stop_worker() end defp to_topic(stream, symbol) do [stream, symbol] |> Enum.map(&String.upcase/1) |> Enum.join(":") end Inside the above functions, we are just doing a couple of sanity checks on the case of the passed arguments assuming that both topics and stream are uppercase. 14.7.8 Test The interface above was the last step in our implementation, we can now test that all works as expected: $ iex -S mix ... iex(1)> DataWarehouse.start_storing("TRADE_EVENTS", "NEOUSDT") 19:34:00.740 [info] Starting storing data from TRADE_EVENTS:NEOUSDT topic 19:34:00.847 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:NEOUSDT {:ok, #PID<0.429.0>} iex(2)> DataWarehouse.start_storing("TRADE_EVENTS", "NEOUSDT") 19:34:04.753 [info] Starting storing data from TRADE_EVENTS:NEOUSDT topic {:error, {:already_started, #PID<0.459.0>}} iex(3)> DataWarehouse.start_storing("ORDERS", "NEOUSDT") 19:34:09.386 [info] Starting storing data from ORDERS:NEOUSDT topic 19:34:09.403 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT {:ok, #PID<0.431.0>} BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution ^C% $ iex -S mix ... 19:35:30.058 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:NEOUSDT 19:35:30.062 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT # autostart works ^^^ iex(1)> Naive.start_trading("NEOUSDT") 19:36:45.316 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 19:36:45.417 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.419.0>} iex(3)> 19:36:47.484 [info] Initializing new trader(1615221407466) for NEOUSDT iex(2)> Streamer.start_streaming("NEOUSDT") 16:37:39.660 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.428.0>} ... iex(3)> DataWarehouse.stop_storing("trade_events", "NEOUSDT") 19:39:26.398 [info] Stopping storing data from trade_events:NEOUSDT topic :ok iex(4)> DataWarehouse.stop_storing("trade_events", "NEOUSDT") 19:39:28.151 [info] Stopping storing data from trade_events:NEOUSDT topic 19:39:28.160 [warn] Unable to locate process assigned to "trade_events:NEOUSDT" :ok iex(5)> [{pid, nil}] = Registry.lookup(:subscriber_workers, "ORDERS:NEOUSDT") [{#PID<0.417.0>, nil}] iex(6)> Process.exit(pid, :crash) true 16:43:40.812 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT As we can see even this simple implementation handles starting, autostarting, and stopping. It also gracefully handles starting workers when one is already running as well as stopping when there none running. As a challenge, you could update the naive and the streamer application to use the Registry and remove Core.ServiceSupervisor module as it was superseded by the above solution - here’s the link to PR(pull request) that sums up the required changes. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["backtest-trading-strategy.html", "Chapter 15 Backtest trading strategy 15.1 Objectives 15.2 Overview of requirements 15.3 Implement the storing task 15.4 Test the backtesting", " Chapter 15 Backtest trading strategy 15.1 Objectives overview of requirements implement the storing task test the backtesting 15.2 Overview of requirements In the last chapter, we started storing trade events and orders in the database which will be crucial for backtesting, which we will focus on in this chapter. Backtesting is a procedure of running historical data through the system and observing how our strategy would perform as if we would run it “in the past”. Backtesting works on assumption that the market will behave in a similar fashion in the future as it was in the past. At this moment we are receiving the trade events from the Binance through WebSocket. The Streamer.Binance process is handling those messages by parsing them from JSON string to map, then converting them to structs and broadcasting them to the TRADE_EVENTS:#{symbol} PubSub topic. The Naive.Trader subscribes to the TRADE_EVENTS:#{symbol} topic and takes decisions based on incoming data. As it places buy and sell orders it broadcasts them to the ORDERS:#{symbol} PubSub topic. The DataWarehouse.Subscriber.Worker processes subscribe to both trade events and orders topics and store incoming data inside the database. We can visualize this flow like that: To backtest we can substitute the Streamer.Binance process with a Task that will stream trade events’ data from the database and broadcasts it to the TRADE_EVENTS:#{symbol} PubSub topic(the same topic as the Streamer.Binance process). From the perspective of the Naive.Trader it does not make any difference who is broadcasting those trade events. This should be a clear indication of the value of publish/subscribe model that we implemented from the beginning. It allows us to swap producer and consumers freely to backtest our trading strategies: 15.3 Implement the storing task We will start by creating a new file called publisher.ex inside the apps/data_warehouse/lib/data_warehouse directory. We will start by implementing the basic Task behavior: # /apps/data_warehouse/lib/data_warehouse/publisher.ex defmodule DataWarehouse.Publisher do use Task def start_link(arg) do Task.start_link(__MODULE__, :run, [arg]) end def run(arg) do # ... end end To be able to query the database we will import Ecto and require Logger for logging: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... import Ecto.Query, only: [from: 2] require Logger ... We can now modify the run/1 function to expect specific type, symbol, from, to and interval: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... def run(%{ type: :trade_events, symbol: symbol, from: from, to: to, interval: interval }) do ... Inside the body of the run/1 function, first, we will convert from and to Unix timestamps by using private helper functions as well as make sure that the passed symbol is uppercase: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... def run(%{ ... }) do symbol = String.upcase(symbol) from_ts = "#{from}T00:00:00.000Z" |> convert_to_ms() to_ts = "#{to}T23:59:59.000Z" |> convert_to_ms() end ... defp convert_to_ms(iso8601DateString) do iso8601DateString |> NaiveDateTime.from_iso8601!() |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_unix() |> Kernel.*(1000) end Next, we will select data from the database but because of possibly hundreds of thousands of rows being selected and because we are broadcasting them to the PubSub every x ms it could take a substantial amount of time to broadcast all of them. Instead of selecting data and storing all of it in the memory, we will use Repo.stream/1 function to keep broadcasting it on the go. Additionally, we will add index to the data to be able to log info messages every 10k messages. The last thing that we need to define will be the timeout value - the default value is 5 seconds and we will change it to :infinity: # /apps/data_warehouse/lib/data_warehouse/publisher.ex def run(%{ ... }) do ... DataWarehouse.Repo.transaction( fn -> from(te in DataWarehouse.Schema.TradeEvent, where: te.symbol == ^symbol and te.trade_time >= ^from_ts and te.trade_time < ^to_ts, order_by: te.trade_time ) |> DataWarehouse.Repo.stream() |> Enum.with_index() |> Enum.map(fn {row, index} -> :timer.sleep(interval) if rem(index, 10_000) == 0 do Logger.info("Publisher broadcasted #{index} events") end publish_trade_event(row) end) end, timeout: :infinity ) Logger.info("Publisher finished streaming trade events") end Finally, the above code uses the publish_trade_event/1 helper function which converts DataWarehouse’s TradeEvent to the Streamer’s TradeEvent to broadcast the same structs as the streamer application: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... defp publish_trade_event(%DataWarehouse.Schema.TradeEvent{} = trade_event) do new_trade_event = struct( Streamer.Binance.TradeEvent, trade_event |> Map.to_list() ) Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", new_trade_event ) end We also need to remember about keeping the interface tidy so we will add publish_data to the DataWarehouse module: # /apps/data_warehouse/lib/data_warehouse.ex ... def publish_data(args) do DataWarehouse.Publisher.start_link(args) end ... This finishes our implementation - we should be able to stream trade events from the database to the PubSub using the above Task which we will do below. 15.4 Test the backtesting For consistency and ease of testing/use, I prepared an compressed single data of trade events for XRPUSDT(2019-06-03). We can download that file from GitHub using wget: $ cd /tmp $ wget https://github.com/Cinderella-Man/binance-trade-events \\ /raw/master/XRPUSDT/XRPUSDT-2019-06-03.csv.gz We can now uncompress the archive and load those trade events into our database: $ gunzip XRPUSDT-2019-06-03.csv.gz $ PGPASSWORD=hedgehogSecretPassword psql -Upostgres -h localhost -ddata_warehouse \\ -c "\\COPY trade_events FROM '/tmp/XRPUSDT-2019-06-03.csv' WITH (FORMAT csv, delimiter ';');" COPY 206115 The number after the word COPY in the response indicates the number of rows that got copied into the database. We can now give it a try and run full backtesting but first let’s clean the orders table: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# DELETE FROM orders; DELETE ... We can now start a new iex session where we will start trading(the naive application) as well as storing orders(the data_warehouse application) and instead of starting the Streamer.Binance worker we will start the DataWarehouse.Publisher task with arguments matching the imported day and symbol: $ iex -S mix ... iex(1)> DataWarehouse.start_storing("ORDERS", "XRPUSDT") 19:17:59.596 [info] Starting storing data from ORDERS:XRPUSDT topic 19:17:59.632 [info] DataWarehouse worker is subscribing to ORDERS:XRPUSDT {:ok, #PID<0.417.0>} iex(2)> Naive.start_trading("XRPUSDT") 19:18:16.293 [info] Starting Elixir.Naive.SymbolSupervisor worker for XRPUSDT 19:18:16.332 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.419.0>} 19:18:18.327 [info] Initializing new trader(1615288698325) for XRPUSDT iex(3)> DataWarehouse.publish_data(%{ type: :trade_events, symbol: "XRPUSDT", from: "2019-06-02", to: "2019-06-04", interval: 5 }) {:ok, #PID<0.428.0>} 19:19:07.532 [info] Publisher broadcasted 0 events 19:19:07.534 [info] The trader(1615288698325) is placing a BUY order for XRPUSDT @ 0.44391, quantity: 450.5 19:19:07.749 [info] The trader(1615288698325) is placing a SELL order for XRPUSDT @ 0.44426, quantity: 450.5. ... 19:20:07.568 [info] Publisher broadcasted 10000 events ... 19:21:07.571 [info] Publisher broadcasted 20000 events 19:22:07.576 [info] Publisher broadcasted 30000 events ... 19:39:07.875 [info] Publisher broadcasted 200000 events 19:39:44.576 [info] Publisher finished streaming trade events From the above log, we can see that it took about 20 minutes to run 206k records through the system(a lot of that time[17+ minutes] was indeed the 5ms sleep). After the streaming finished we can check out the orders table inside the database to figure out how many trades we made and what income have they generated. $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# SELECT COUNT(*) FROM orders; count ------- 224 (1 row) By looking at the orders we can figure out some performance metrics but that’s less than perfect to get answers to simple questions like “what’s the performance of my strategy?”. We will address that and other concerns in future chapters. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["end-to-end-testing.html", "Chapter 16 End-to-end testing 16.1 Objectives 16.2 Decide on the tested functionality 16.3 Implement basic test 16.4 Introduce environment based config files 16.5 Add convenience aliases 16.6 Cache initial seed data inside a file 16.7 Update seeding scripts to use the BinanceMock 16.8 Introduce the Core application", " Chapter 16 End-to-end testing 16.1 Objectives decide on the tested functionality implement basic test introduce environment based config files add convenience aliases cache initial seed data inside a file update seeding scripts to use the BinanceMock introduce the core application 16.2 Decide on the tested functionality We’ve reached the stage where we have a decent solution in place, and to ensure that it’s still working correctly after any future refactoring, we will add tests. We will start with the “integration”/“end-to-end”(E2E) test, which will confirm that the whole “trading” works. To perform tests at this level, we will need to orchestrate databases together with processes and broadcast trade events from within the test to cause our trading strategy to place orders. We will be able to confirm the right behavior by checking the database after running the test. You should have the least amount of this type of test as they are very brittle and require substantial effort to set up and maintain. My personal rule of thumb is that only major “happy paths” should be tested this way. Let’s look at the current flow of data through our system: Currently, the Streamer.Binance establishes a WebSocket connection with Binance. It decodes the incoming trade events and broadcasts them to PubSub(TRADE_EVENTS:#{symbol} topics). PubSub then sends them to the Naive.Trader processes. As those processes place orders(or orders get filled), they broadcast orders to the PubSub(ORDERS:#{symbol} topics). The DataWarehouse.Subscriber.Worker processes subscribe to the broadcasted orders and store them in the database. What we could do is to stop all the Streamer.Binance processes and broadcast trade events directly from the test. We would then be able to fine-tune the prices inside those events to run through the full trade cycle: This would allow us to fetch orders from the database to confirm that trading indeed happened. 16.3 Implement basic test We will place our test inside the NaiveTest module inside the apps/naive/test/naive_test.exs file. First, we will need to alias multiple modules that we will use to either initialize or confirm the results: # /apps/naive/test/naive_test.exs ... alias DataWarehouse.Schema.Order alias Naive.Schema.Settings, as: TradingSettings alias Streamer.Binance.TradeEvent import Ecto.Query, only: [from: 2] Now we can update the generated test to have a tag in front of it: # /apps/naive/test/naive_test.exs ... @tag integration: true We will use this tag to select only this test when we are running the integration tests. The first step will be to update the trading settings to values that will cause trading activity: # /apps/naive/test/naive_test.exs ... test "Naive trader full trade(buy + sell) test" do symbol = "XRPUSDT" # Step 1 - Update trading settings settings = [ profit_interval: 0.001, buy_down_interval: 0.0025, chunks: 5, budget: 100.0 ] {:ok, _} = TradingSettings |> Naive.Repo.get_by!(symbol: symbol) |> Ecto.Changeset.change(settings) |> Naive.Repo.update() As we updated the trading settings, we can now start trading: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 2 - Start trading on symbol Naive.start_trading(symbol) Before we start broadcasting events, we need to ensure that the DataWarehouse application will store resulting orders into the database: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 3 - Start storing orders DataWarehouse.start_storing("ORDERS", "XRPUSDT") :timer.sleep(5000) Additionally, as seen in the above code, we need to allow some time(5 seconds above) to initialize trading and data storing processes. We can now move on to broadcasting trade events: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 4 - Broadcast 9 events [ # buy order palced @ 0.4307 generate_event(1, "0.43183010", "213.10000000"), generate_event(2, "0.43183020", "56.10000000"), generate_event(3, "0.43183030", "12.10000000"), # event at the expected buy price generate_event(4, "0.4307", "38.92000000"), # event below the expected buy price # it should trigger fake fill event for placed buy order # and palce sell order @ 0.4319 generate_event(5, "0.43065", "126.53000000"), # event below the expected sell price generate_event(6, "0.43189", "26.18500000"), # event at exact the expected sell price generate_event(7, "0.4319", "62.92640000"), # event above the expected sell price # it should trigger fake fill event for placed sell order generate_event(8, "0.43205", "345.14235000"), # this one should trigger buy order for a new trader process generate_event(9, "0.43210", "3201.86480000") ] |> Enum.each(fn event -> Phoenix.PubSub.broadcast( Core.PubSub, "TRADE_EVENTS:#{symbol}", event ) :timer.sleep(10) end) :timer.sleep(2000) The above code will broadcast trade events to the PubSub topic that the trader processes are subscribed to. It should cause 3 orders to be placed at specific prices. In the last step, we will confirm this by querying the database: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 5 - Check orders table query = from(o in Order, select: [o.price, o.side, o.status], order_by: o.inserted_at, where: o.symbol == ^symbol ) [buy_1, sell_1, buy_2] = DataWarehouse.Repo.all(query) assert buy_1 == ["0.43070000", "BUY", "FILLED"] assert sell_1 == ["0.43190000", "SELL", "FILLED"] assert buy_2 == ["0.43100000", "BUY", "NEW"] That finishes the test function. The final addition inside the NaiveTest module will be to add a private helper function that generates trade event for the passed values: # /apps/naive/test/naive_test.exs ... defp generate_event(id, price, quantity) do %TradeEvent{ event_type: "trade", event_time: 1_000 + id * 10, symbol: "XRPUSDT", trade_id: 2_000 + id * 10, price: price, quantity: quantity, buyer_order_id: 3_000 + id * 10, seller_order_id: 4_000 + id * 10, trade_time: 5_000 + id * 10, buyer_market_maker: false } end This finishes the implementation of the test, but as we are now using DataWarehouse’s modules inside the Naive application, we need to add data_warehouse to the dependencies: # /apps/naive/mix.exs defp deps do [ ... {:data_warehouse, in_umbrella: true, only: :test}, ... We could now run our new integration test, but it would be run against our current(development) databases. In addition, as we will need to reset all the data inside them before every test run, it could mean losing data. To avoid all of those problems, we will use separate databases for testing. 16.4 Introduce environment based config files Currently, our new test is running in the test environment (the MIX_ENV environmental variable is set to \"test\" whenever we run mix test), but we do not leverage that fact to configure our application for example: to use test databases as mentioned above. Configuration for our applications lives in config/config.exs configuration file. Inside it, we have access to the name of the environment, which we will utilize to place an environment based import_config/1 function: # /config/config.exs # add the below at the end of the file ... import_config "#{config_env()}.exs" Now we will create multiple config files, one for each environment: /config/dev.exs for development: # /config/dev.exs import Config /config/test.exs for future “unit” testing: # /config/test.exs import Config /config/integration.exs for end-to-end testing: # /config/integration.exs import Config config :streamer, Streamer.Repo, database: "streamer_test" config :naive, Naive.Repo, database: "naive_test" config :data_warehouse, DataWarehouse.Repo, database: "data_warehouse_test" /config/prod.exs for production: # /config/prod.exs import Config config :naive, binance_client: Binance After adding the above environment-based configuration files, our test will use the test databases. There’s one more remaining problem - we need to set those test databases before each test run, and as this process requires multiple steps, it’s a little bit cumbersome. 16.5 Add convenience aliases To be able to run our new integration test as easily as possible without bothering ourselves with all the database setup, we will introduce aliases in both the streamer and naive applications that will wrap seeding the databases: # /apps/naive/mix.exs & /apps/streamer/mix.exs def project do [ ... aliases: aliases() ] end defp aliases do [ seed: ["run priv/seed_settings.exs"] ] end Inside the main mix.exs file of our umbrella, we will use those with usual ecto’s commands like ecto.create and ecto.migrate: # /mix.exs def project do [ ... aliases: aliases() ] end defp aliases do [ setup: [ "ecto.drop", "ecto.create", "ecto.migrate", "cmd --app naive --app streamer mix seed" ], "test.integration": [ "setup", "test --only integration" ] ] end We can now safely run our test: $ MIX_ENV=integration mix test.integration Wait… Why do we need to set the MIX_ENV before calling our alias? So, as I mentioned earlier, the mix test command automatically assigns the \"test\" environment when called. However, our alias contains other commands like mix ecto.create, which without specifying the environment explicitly, would be run using the dev database. So we would set up the dev databases(drop, create, migrate & seed) and then run tests on the test databases. So our test is now passing, but it relies on the database being setup upfront, which requires seeding using a couple of requests to the Binance API. 16.6 Cache initial seed data inside a file Relying on the 3rd party API to be able to seed our database to run tests is a horrible idea. However, we can fix that by cache the response JSON in a file. How will this data be tunneled into the test database? In the spirit of limiting the change footprint, we could update the BinanceMock module to serve the cached data dependent on the flag - let’s add that flag first: # /config/config.exs # add below lines under the `import Config` line config :binance_mock, use_cached_exchange_info: false # /config/integration.exs # add below lines under the `import Config` line config :binance_mock, use_cached_exchange_info: true We can see how convenient it is to have a configuration file per environment - we enabled cached exchange info data only for the test environment. Inside the BinanceMock module, we can now update the get_exchange_info/0 function to use this configuration value to serve either cached or live exchange info response: # /apps/binance_mock/lib/binance_mock.ex def get_exchange_info() do case Application.compile_env(:binance_mock, :use_cached_exchange_info) do true -> get_cached_exchange_info() _ -> Binance.get_exchange_info() end end # add this at the bottom of the module defp get_cached_exchange_info do {:ok, data} = File.cwd!() |> Path.split() |> Enum.drop(-1) |> Kernel.++([ "binance_mock", "test", "assets", "exchange_info.json" ]) |> Path.join() |> File.read() {:ok, Jason.decode!(data) |> Binance.ExchangeInfo.new()} end As the binance_mock app wasn’t using the jason package before, we need to add it to dependencies: # /apps/binance_mock/mix.exs defp deps do [ ... {:jason, "~> 1.2"}, ... The above change will take care of flipping between serving the live/cached exchange info data, but we still need to manually save the current response to the file (to be used as a cached version later). Let’s open the IEx terminal to fetch the exchange info data and serialize it to JSON: $ iex -S mix iex(1)> Binance.get_exchange_info() |> elem(1) |> Jason.encode! You should get the following error: ... of type Binance.ExchangeInfo (a struct), Jason.Encoder protocol must always be explicitly implemented. If you own the struct, you can derive the implementation specifying which fields should be encoded to JSON: @derive {Jason.Encoder, only: [....]} defstruct ... It is also possible to encode all fields, although this should be used carefully to avoid accidentally leaking private information when new fields are added: @derive Jason.Encoder defstruct ... Finally, if you dont own the struct you want to encode to JSON, you may use Protocol.derive/3 placed outside of any module: Protocol.derive(Jason.Encoder, NameOfTheStruct, only: [...]) Protocol.derive(Jason.Encoder, NameOfTheStruct) In a nutshell, this means that the jason package doesn’t know how to encode the Binance.ExchangeInfo struct. Ok, as we don’t own this struct(it’s a part of the binance package), we will follow the last suggestion and try to derive the Jason.Encoder module for the Binance.ExchangeInfo struct: $ iex -S mix iex(1)> require Protocol Protocol iex(2)> Protocol.derive(Jason.Encoder, Binance.ExchangeInfo) warning: the Jason.Encoder protocol has already been consolidated, an implementation for Binance.ExchangeInfo has no effect. If you want to implement protocols after compilation or during tests, check the "Consolidation" section in the Protocol module documentation iex:2: (file) Hmm… This didn’t work again. The reason for it is a mechanism called the “Protocol consolidation”. Long story short, Elixir at compilation time knows upfront what structs derive which protocols, and to speed things up, it consolidates them at that moment. To avoid this process being run in development, we can modify the main mix.exs file to disable it: # /mix.exs def project do [ ... consolidate_protocols: Mix.env() == :prod ] end We should now be able to encode JSON using the jason module: $ mkdir apps/binance_mock/test/assets $ iex -S mix iex(1)> require Protocol Protocol iex(2)> Protocol.derive(Jason.Encoder, Binance.ExchangeInfo) :ok iex(3)> data = Binance.get_exchange_info() |> elem(1) |> Jason.encode!(pretty: true) ... iex(4)> File.write("apps/binance_mock/test/assets/exchange_info.json", data) :ok So we have the BinanceMock updated to serve cached/live responses based on the configuration and cached exchange info response. The last step is to ensure that seeding uses the BinanceMock module instead of using Binance directly to leverage the above implementation. 16.7 Update seeding scripts to use the BinanceMock The seed settings script for the Naive application(apps/naive/priv/seed_settings.exs) already uses the BinanceMock. Inside the Streamer application (apps/streamer/priv/seed_settings.exs) we can see that the Binance module is getting used. So we can update the fetching part of the script to the following to fix it: # /apps/streamer/priv/seed_settings.exs binance_client = Application.compile_env(:streamer, :binance_client) # <= new Logger.info("Fetching exchange info from Binance to create streaming settings") {:ok, %{symbols: symbols}} = binance_client.get_exchange_info() # <= updated We need to update the config to point to the BinanceMock for the streamer application in the same way as we do for the naive application: # /config/config.exs ... config :streamer, binance_client: BinanceMock, # <= added ecto_repos: [Streamer.Repo] ... # /config/prod.exs ... config :streamer, binance_client: Binance as well as swap the binance to the BinanceMock inside the list of dependencies of the Streamer app: # /apps/streamer/mix.exs ... defp deps do [ {:binance_mock, in_umbrella: true}, ... At this moment, we should be ready to run our test using the test database together with cached Binance response: $ MIX_ENV=test mix test.integration ** (Mix) Could not sort dependencies. There are cycles in the dependency graph And this is the moment when we will pay for cutting corners in the past. Let me explain. When we started this project, as we implemented communication using the PubSub topics, we put both the PubSub process(in the supervision tree) and the TradeEvent struct inside the streamer application. The knock-on effect of this decision is that any other app in the umbrella that would like to use either PubSub or TradeEvent struct needs to depend on the streamer application: As we added the binance_mock application as a dependency of the streamer application, we created a dependency cycle. This is quite typical in daily work as a software engineer. One of the common problems(besides naming things) is deciding where things belong. For example, do PubSub and TradeEvent belong in the Streamer app? Or maybe we should put it in the BinanceMock? I believe that it should be neither of them as those applications use the PubSub and TradeEvent struct. I believe that they should be placed in neither of those applications as those applications are only using the struct and PubSub process. What we should do instead is to create a new supervised application where we can attach the PubSub to the supervision tree and hold the system-wide structs(like TradeEvent) so every app can depend on it instead of each other: 16.8 Introduce the Core application Let’s start with create a new application: $ cd apps $ mix new --sup core We can now create a new directory called struct inside the apps/core/lib/core directory and move the TradeEvent struct from the streamer app to it(in the same terminal or from the apps directory): $ mkdir core/lib/core/struct $ mv streamer/lib/streamer/binance/trade_event.ex core/lib/core/struct Now we need to update the module to Core.Struct.TradeEvent: # /apps/core/lib/core/struct/trade_event.ex ... defmodule Core.Struct.TradeEvent do As we moved the TradeEvent struct over to the Core application, we need to: update all places that reference the Streamer.Binance.TradeEvent to Core.Struct.TradeEvent add the core to the dependencies lists of all apps in the umbrella remove the streamer from the dependencies lists of all apps in the umbrella The final step will be to move the PubSub process from the supervision tree of the Streamer application to the supervision of the Core application. # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ ... { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 }, # ^ remove it from here ... ] # /apps/core/lib/core/application.ex def start(_type, _args) do children = [ { Phoenix.PubSub, name: Core.PubSub, adapter_name: Phoenix.PubSub.PG2 } # ^ add it here ] As we changed the module name of the PubSub process(from Streamer.PubSub to Core.PubSub), we need to update all the places where it’s referenced as well as add the phoenix_pubsub package to dependencies of the core application: # /apps/core/mix.exs defp deps do [ {:phoenix_pubsub, "~> 2.0"} ] end We can now run our test that will use the test database as well as cached exchange info: $ MIX_ENV=test mix test.integration We should see a lot of setup log followed by a confirmation: Finished in 0.03 seconds (0.00s async, 0.03s sync) 1 test, 0 failures, 1 excluded This wraps up our implementation of the end-to-end test. In the next chapter, we will see how we would implement a unit test for our trading strategy. The additional benefit of all the time that we put in the implementation of this test is that we won’t need to remember how to set up local environment anymore as it’s as simple as: mix setup Yay! :) It’s worth reiterating the downsides of the end-to-end tests: lack of visibility over what’s broken - most of the time, we will see the result of error but not the error itself requirement of synchronous execution - they rely on the database(s), so they can’t be run in parallel randomness/flakiness - as there’s no feedback loop, we wait for a hardcoded amount of time, that we assume it’s enough to finish initialization/execution - this can randomly fail It’s possible to implement a feedback loop and run our tests inside “sandbox” (transaction), but it’s not worth it as we can invest that time into developing reliable unit tests. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["mox-rocks.html", "Chapter 17 Mox rocks 17.1 Objectives 17.2 Introduction to mock based tests 17.3 Add the mox package 17.4 Investigate the Naive.Trader module 17.5 Implement a test of the Naive.Trader module 17.6 Define an alias to run unit tests", " Chapter 17 Mox rocks 17.1 Objectives introduction to mock based tests add the Mox package investigate the Naive.Trader module mock the Binance module mock the NaiveLeader module mock the Phoenix.PubSub module mock the Logger module implement a test of the Naive.Trader module define an alias to run unit tests 17.2 Introduction to mock based tests In the previous chapter, we’ve implemented the end-to-end test. It required a lot of prep work as well as we were able to see the downsides of this type of test clearly: we will be unable to run more than one end-to-end test in parallel as they rely on the database’s state we need to set up the database before every test run we need to start processes in the correct order with the suitable parameters we need to wait a (guessed) hardcoded amount of time that it will take to finish the trading(this is extremely bad as it will cause randomly failing tests as people will make the time shorter to speed up tests) we wouldn’t be able to quickly pinpoint which part error originated from as the test spans over a vast amount of the system logging was polluting our test output How could we fix the above issues? The most common way is to limit the scope of the test. Instead of testing the whole trading flow, we could focus on testing a single Naive.Trader process. Focusing on a single trader process would remove the requirement for starting multiple processes before testing, but it would also bring its own challenges. Let’s look at a concrete example: When the Naive.Trader process starts, it subscribes to the TRADE_EVENTS:#{symbol} PubSub topic. It also broadcasts updates of the orders it placed to the ORDERS:#{symbol} PubSub topic. How could we break the link between the Naive.Trader and the PubSub(or any other module it depends on)? We could utilize the trick that we used for the Binance module. We could create a module that provides the same functions as the PubSub module. We know that the trader process calls Phoenix.PubSub.subscribe/2 and Phoenix.PubSub.broadcast/3 functions. We could implement a module that contains the same functions: defmodule Test.PubSub do def subscribe(_, _), do: :ok def broadcast(_, _, _), do: :ok end The above module would satisfy the PubSub’s functionality required by the Naive.Trader module, but this solution comes with a couple of drawbacks: it doesn’t the passed values. It just ignores them, which is a missed opportunity to confirm that the PubSub module was called with the expected values. we can’t define a custom implemention specific to test. This is possible by extending the implemention with test related returns(hack!) Using the mox module would fix both of the problems mentioned above. With the mox module we can define add-hoc function implemention per test: # inside test file test ... Test.PubSubMock |> expect(:subscribe, fn (_module, "TRADE_EVENTS:XRPUSDT") -> :ok end) |> expect(:broadcast, fn (_module, "ORDERS:XRPUSDT", _order) -> :ok end) There are multiple benefits to using the mox module instead of handcrafting the implementation: it allows defining functions that will pattern match values specific to each test(as in the case of the “usual” pattern matching, they will break when called with unexpected values) it allows defining implementations of the mocked functions based on incoming(test specific) values it can validate that all defined mocked functions have been called by the test it comes with its own tests, so we don’t need to test it as it would need with our custom handcrafted mimicking module implementation But there’s a catch* ;) For the mox to know what sort of functions the module provides, it needs to know its behaviour. In Elixir, to define a behaviour of the module, we need to add the @callback attributes to it: defmodule Core.Test.PubSub do @type t :: atom @type topic :: binary @type message :: term @callback subscribe(t, topic) :: :ok | {:error, term} @callback broadcast(t, topic, message) :: :ok | {:error, term} end A behaviour can be defined in a separate module if we are working with 3rd party module that doesn’t provide it(like in the case of the Phoenix.PubSub module). Note: The additional benefit of using the behaviours is that we could tell Elixir that our module implements the behaviour by adding the @behaviour attribute: def MyPubSub do @behaviour Core.Test.PubSub ... Using the above will cause Elixir to validate at compile time that the MyPubSub module implements all functions defined inside the Core.Test.PubSub module(otherwise it will raise compilation error). Let’s get back to the main topic. We figured out that we could mock all of the modules that the Naive.Trader depends on using the mox module. But, how would we tell the Naive.Trader to use the mocked modules instead of the “real” ones when we run tests? We could make all modules that the Naive.Trader depends on be dynamically injected from the configuration(based on the environment). Another requirement to make mox work is to define the mocks upfront using the Mox.defmock/2 function. It will dynamically define a new module that will be limited by the passed behaviour(we will only be able to mock[inside tests] functions defined as a part of that behaviour). To sum up, there are a few steps to get the mox running: implement behaviours that we would like to mock(as most of the packages[like Phoenix.PubSub] are not coming with those) define mock modules using the Mox.defmock function modify the application’s configuration to use the mocked module(s) specify mocked module’s expectation inside the test Let’s move to the implementation. 17.3 Add the mox package First let’s add the mox package to the naive application’s dependencies: # /apps/naive/mix.exs ... defp deps do [ ... {:mox, "~> 1.0", only: [:test, :integration]}, ... We can now run mix deps.get to fetch the mox package. [Note] As we will add the mox’s mocking code into the test_helper.exs file, we need to make mox available in all test environments(both test and integration). 17.4 Investigate the Naive.Trader module Let’s investigate the Naive.Trader module(/apps/naive/lib/naive/trader.ex). We are looking for all calls to other modules - we can see: Logger.info/2 Phoenix.PubSub.subscribe/2 @binance_client.order_limit_buy/4 Naive.Leader.notify/2 @binance_client.get_order/3 @binance_client.order_limit_sell/4 Phoenix.PubSub.broadcast/3 So the Naive.Trader relies on four modules: Logger Phoenix.PubSub Naive.Leader @binance_client(either Binance or BinanceMock) We will need to work through them one by one. 17.4.1 Mock the Binance module Let’s start with the binance client, as it’s already a dynamic value based on the configuration. Neither the Binance nor the BinanceMock(our dummy implementation) module doesn’t provide a behaviour - let’s fix that by defining the @callback attributes at the top of the BinanceMock module before the structs: # /apps/binance_mock/lib/binance_mock.ex ... alias Binance.Order alias Binance.OrderResponse alias Core.Struct.TradeEvent @type symbol :: binary @type quantity :: binary @type price :: binary @type time_in_force :: binary @type timestamp :: non_neg_integer @type order_id :: non_neg_integer @type orig_client_order_id :: binary @type recv_window :: binary @callback order_limit_buy( symbol, quantity, price, time_in_force ) :: {:ok, %OrderResponse{}} | {:error, term} @callback order_limit_sell( symbol, quantity, price, time_in_force ) :: {:ok, %OrderResponse{}} | {:error, term} @callback get_order( symbol, timestamp, order_id, orig_client_order_id | nil, recv_window | nil ) :: {:ok, %Order{}} | {:error, term} In the above code, we added three @callback attributes that define the binance client behaviour. For clarity, we defined a distinct type for each of the arguments. As we now have a binance client behaviour defined, we can use it to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs ExUnit.start() Application.ensure_all_started(:mox) #1 Mox.defmock(Test.BinanceMock, for: BinanceMock) #2 First(#1), we need to ensure that the mox application has been started. Then(#2), we can tell the mox package to define the Test.BinanceMock module based on the BinanceMock behaviour. As we defined the binance client behaviour and mock, we can update our configuration to use them. We want to keep using the BinanceMock module in the development environment, but for the test environment, we would like to set the mocked module generated by the mox package: # /config/test.exs config :naive, binance_client: Test.BinanceMock 17.4.2 Mock the NaiveLeader module We can now move back to the Naive.Trader module to update all the hardcoded references to the Naive.Leader module with a dynamic attribute called @leader and add this attribute at the top of the module: # /apps/naive/lib/trader.ex ... @leader Application.compile_env(:naive, :leader) ... @leader.notify(:trader_state_updated, new_state) ... @leader.notify(:trader_state_updated, new_state) ... @leader.notify(:rebuy_triggered, new_state) ... As it was in case of the BinanceMock(our dummy implementation) module, the Naive.Leader module doesn’t provide a behaviour - let’s fix that by defining the @callback attributes at the top of the module: # /apps/naive/lib/leader.ex ... @type event_type :: atom @callback notify(event_type, %Trader.State{}) :: :ok In the above code, we added a single @callback attribute that defines the naive leader behaviour. For clarity, we defined a distinct type for the event_type arguments. As we now have a naive leader behaviour defined, we can use it to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.Naive.LeaderMock, for: Naive.Leader) In the above code, we’ve told the mox package to define the Test.Naive.LeaderMock module based on the Naive.Leader behaviour. We are moving on to the configuration. As the Naive.Leader wasn’t part of the configuration, we need to add it to the default config and test config file. First, let’s add the :leader key inside the config :naive in the default /config/config.exs configuration file: # /config/config.exs ... config :naive, binance_client: BinanceMock, leader: Naive.Leader, # <= added ... and then we need to apply the same update to the /config/test.exs configuration file(it will point to the module generated by the mox package - Test.Naive.LeaderMock): # /config/test.exs ... config :naive, binance_client: Test.BinanceMock, leader: Test.Naive.LeaderMock # <= added ... 17.4.3 Mock the Phoenix.PubSub module Mocking the Phoenix.PubSub dependency inside the Naive.Trader module will look very similar to the last two mocked modules. Inside the Naive.Trader module we need to update all the references to the Phoenix.PubSub to an @pubsub_client attribute with value dependent on the configuration: # /apps/naive/lib/trader.ex ... @pubsub_client Application.compile_env(:core, :pubsub_client) ... @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) ... @pubsub_client.broadcast( Core.PubSub, "ORDERS:#{order.symbol}", order ) ... The Phoenix.PubSub module doesn’t provide a behaviour. As we can’t modify its source, we need to create a new module to define the PubSub behaviour. Let’s create a new file called test.ex inside the /apps/core/lib/core directory with the following behaviour definition: # /apps/core/lib/core/test.ex defmodule Core.Test do defmodule PubSub do @type t :: atom @type topic :: binary @type message :: term @callback subscribe(t, topic) :: :ok | {:error, term} @callback broadcast(t, topic, message) :: :ok | {:error, term} end end As previously, we defined a couple of callbacks and additional types for each of their arguments. Next, we will use the above behaviour to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.PubSubMock, for: Core.Test.PubSub) In the above code, we’ve told the mox package to define the Test.PubSubMock module based on the Core.Test.PubSub behaviour. The final step will be to append the :core, :pubsub_client configuration to the /config/config.exs file: # /config/config.exs config :core, # <= added pubsub_client: Phoenix.PubSub # <= added and the test /config/test.exs configuration file: # /config/test.exs config :core, # <= added pubsub_client: Test.PubSubMock # <= added 17.4.4 Mock the Logger module Before we dive in, we should ask ourselves why we would mock the Logger module? We could raise the logging level to error and be done with it. Yes, that would fix all debug/info/warning logs, but we would also miss an opportunity to confirm a few details (depends on what’s necessary for our use case): you can ensure that the log was called when the tested function was run you can pattern match the logging level you can check the message. This could be useful if you don’t want to put sensitive information like banking details etc. inside log messages Mocking the Logger dependency inside the Naive.Trader module will follow the same steps as the previous updates. Inside the Naive.Trader module we need to update all the references to the Logger to an @logger attribute with value dependent on the configuration: # /apps/naive/lib/trader.ex ... @logger Application.compile_env(:core, :logger) ... @logger.info("Initializing new trader(#{id}) for #{symbol}") ... @logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) ... @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) ... @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") ... @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") ... @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") ... @logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") ... The Logger module doesn’t provide a behaviour. As we can’t modify its source, we need to create a new module to define the Logger behaviour. Let’s place it inside the Core.Test namespace in the /apps/core/lib/core/test.ex file side by side with the PubSub behaviour with the following definition: # /apps/core/lib/core/test.ex defmodule Core.Test do ... defmodule Logger do @type message :: binary @callback info(message) :: :ok end end As previously, we defined a callback and additional type for the message argument. Next, we will use the above behaviour to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.LoggerMock, for: Core.Test.Logger) In the above code, we’ve told the mox package to define the Test.LoggerMock module based on the Core.Test.Logger behaviour. The final step will be to append the :core, :logger configuration to the /config/config.exs file: # /config/config.exs config :core, logger: Logger, # <= added pubsub_client: Phoenix.PubSub and the test /config/test.exs configuration file: # /config/test.exs config :core, logger: Test.LoggerMock, # <= added pubsub_client: Test.PubSubMock This finishes the updates to the Naive.Trader module. We made all dependencies based on the configuration values. We can now progress to writing the test. 17.5 Implement a test of the Naive.Trader module Finally, we can implement the unit test for the Naive.Trader module. We will create a folder called naive inside the /apps/naive/test directory and a new file called trader_test.exs inside it. Let’s start with an empty skeleton of the test tagged as unit: # /apps/naive/test/naive/trader_test.exs defmodule Naive.TraderTest do use ExUnit.Case doctest Naive.Trader @tag :unit test "Placing buy order test" do end end Let’s add the mox related code above the @tag :unit line: # /apps/naive/test/naive/trader_test.exs import Mox # <= 1 setup :set_mox_from_context # <= 2 setup :verify_on_exit! # <= 3 In the above code, we are: importing the mox module so we will be able to use functions like expect/3 allowing any process to consume mocks defined by the test. This is crucial as tests are run as separate processes that would normally be the only ones allowed to use mocks that they define. Inside our test, we will start a new Naive.Trader process that needs to be able to access mocks defined in the test - hence this update telling mox to verify that all the mocks defined in the tests have been called from within those tests. Otherwise, it will flag such cases as test errors Inside our test, we need to define implementation for all the functions that the Naive.Trader relies on: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do Test.PubSubMock |> expect(:subscribe, fn _module, "TRADE_EVENTS:XRPUSDT" -> :ok end) # <= 1 |> expect(:broadcast, fn _module, "ORDERS:XRPUSDT", _order -> :ok end) Test.BinanceMock |> expect(:order_limit_buy, fn "XRPUSDT", "464.360", "0.4307", "GTC" -> # <= 2 {:ok, BinanceMock.generate_fake_order( "XRPUSDT", "464.360", "0.4307", "BUY" ) |> BinanceMock.convert_order_to_order_response()} end) test_pid = self() # <= 3 Test.Naive.LeaderMock |> expect(:notify, fn :trader_state_updated, %Naive.Trader.State{} -> send(test_pid, :ok) # <= 3 :ok end) Test.LoggerMock |> expect(:info, 2, fn _message -> :ok end) # <= 4 ... It’s important to note that we defined the mocked function with expected values in the above code. We expect our test to subscribe to a specific topic and broadcast to the other(#1). We are also expecting that process will place an order at the exact values that we calculated upfront. This way, our mock becomes an integral part of the test, asserting that the correct values will be passed to other parts of the system(dependencies of the Naive.Trader module). Another “trick”(#3) that we can use in our mocks is to leverage the fact that we can send a message to the test process from within the mocked function. We will leverage this idea to know precisely when the trader process finished its work as the notify/1 is the last function call inside the process’ callback(handle_info/2 inside the Naive.Trader module). We will assert that we should receive the message, and the test will be waiting for it before exiting(the default timeout is 100ms) instead of using hardcoded sleep to “hack” it to work. The final part(#4) tells the mox package that Logger.info/1 will be called twice inside the test. The mox will verify the number of calls to the mocked function and error if it doesn’t much the expected amount. The second part of the test is preparing the initial state for the Naive.Trader process, generating trade event and sending it to the process: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... trader_state = dummy_trader_state() trade_event = generate_event(1, "0.43183010", "213.10000000") {:ok, trader_pid} = Naive.Trader.start_link(trader_state) send(trader_pid, trade_event) assert_receive :ok end As described above, the assert_receive/1 function will cause the test to wait for the message for 100ms before quitting. Here are the helper functions that we used to generate the initial trader state and trade event: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... end defp dummy_trader_state() do %Naive.Trader.State{ id: 100_000_000, symbol: "XRPUSDT", budget: "200", buy_order: nil, sell_order: nil, buy_down_interval: Decimal.new("0.0025"), profit_interval: Decimal.new("0.001"), rebuy_interval: Decimal.new("0.006"), rebuy_notified: false, tick_size: "0.0001", step_size: "0.001" } end defp generate_event(id, price, quantity) do %Core.Struct.TradeEvent{ event_type: "trade", event_time: 1_000 + id * 10, symbol: "XRPUSDT", trade_id: 2_000 + id * 10, price: price, quantity: quantity, buyer_order_id: 3_000 + id * 10, seller_order_id: 4_000 + id * 10, trade_time: 5_000 + id * 10, buyer_market_maker: false } end The above code finishes the implementation of the test, but inside it, we used functions from the BinanceMock module that are private. We need to update the module by making the generate_fake_order/4 and convert_order_to_order_response/1 function public(and moving them up in the module, so they are next to other public functions): # /apps/binance_mock/lib/binance_mock.ex ... def get_order(symbol, time, order_id) do ... end def generate_fake_order(symbol, quantity, price, side) # <= updated to public ... end def convert_order_to_order_response(%Binance.Order{} = order) do # <= updated to public ... end ... We updated both of the methods to public and moved them up after the get_order/3 function. 17.6 Define an alias to run unit tests Our unit test should be run without running the whole application, so we need to run them with the --no-start argument. We should also select unit tests by tag(--only unit). Let’s create an alias that will hide those details: # /mix.exs defp aliases do [ ... "test.unit": [ "test --only unit --no-start" ] ] end We can now run our test using a terminal: MIX_ENV=test mix test.unit We should see the following error: 21:22:03.811 [error] GenServer #PID<0.641.0> terminating ** (stop) exited in: GenServer.call(BinanceMock, :generate_id, 5000) ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started One of the BinanceMock module’s functions is sending a message to generate a unique id to the process that doesn’t exist(as we are running our tests without starting the supervision tree[the --no-start argument]). There are two ways to handle this issue: inside the /apps/naive/test/test_helper.exs file we could ensure that the BinanceMock is up and running by adding Application.ensure_all_started(:binance_mock) function call - this is a hack we could refactor the BinanceMock.generate_fake_order/4 to accept order_id as an argument instead of sending the message internally - this should be a much better solution. Let’s give it a shot. First, let’s update the BinanceMock module: # /apps/binance_mock/lib/binance_mock.ex def generate_fake_order(order_id, symbol, quantity, price, side) # <= order_id added ... # remove the call to GenServer from the body ... end ... defp order_limit(symbol, quantity, price, side) do ... generate_fake_order( GenServer.call(__MODULE__, :generate_id), # <= order_id generation added symbol, quantity, price, side ) Now we need to update our test to pass some dummy order id from the mocked function: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... {:ok, BinanceMock.generate_fake_order( "12345", # <= order_id added "XRPUSDT", "464.360", "0.4307", "BUY" ) ... end We can now rerun our test: MIX_ENV=test mix test.unit ... Finished in 0.1 seconds (0.00s async, 0.1s sync) 2 tests, 0 failures, 1 excluded Congrats! We just successfully tested placing an order without any dependencies. To avoid explicitly passing the MIX_ENV=test environment variable, we will add the preferred environment for our alias inside the mix.exs file: # /mix.exs def project do [ ... preferred_cli_env: [ "test.unit": :test ] end Now we can run our tests by: mix test.unit ... Finished in 0.06 seconds (0.00s async, 0.06s sync) 2 tests, 0 failures, 1 excluded That’s all for this chapter - to sum up, the main advantages from the mox based tests: we were able to test a standalone process/module ignoring all of its dependencies we were able to confirm that dependent functions were called and expected values were passed to them we were able to create a feedback loop where mock was sending a message back to the test, because of which, we didn’t need to use sleep, and that resulted in a massive speed gains [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["functional-elixir.html", "Chapter 18 Functional Elixir 18.1 Objectives 18.2 The reasoning behind the functional approach 18.3 Simplifying by splitting 18.4 Abstracting the “pure” logic 18.5 Dealing with dirty code 18.6 Making dirty code testable 18.7 The power with-in 18.8 Do or not to do 18.9 Final thoughts", " Chapter 18 Functional Elixir 18.1 Objectives the reasoning behind the functional approach simplifying by splitting abstracting the “pure” logic dealing with dirty code making dirty code testable the power with-in do or not to do final thoughts 18.2 The reasoning behind the functional approach Across the last 17 chapters, we focused on learning OTP by building a trading system. On the way, we omitted (for a very good reason - a clear focus on OTP) the conversation about functional programming. But wait, what? We are already using concepts like higher-order functions - isn’t that enough? We indeed use some functional patterns, but we never dug deeper into what Elixir developers should know(and apply) and, most importantly, why. In a nutshell, the selling point of functional programming is that applying it will make your code easier to reason about and test. Tests dramatically improve software quality. The easier they are to write, there’s less excuse not to write them - as simple as that. We will start from the basics and look into different ways of implementing functional concepts, considering Elixir’s strengths and weaknesses. 18.3 Simplifying by splitting Note: This section could appear to be a bit “random”, but I added it to aid continuity of refactoring steps(refactoring those callbacks later would cause a fair amount of complexity). Let’s look at our strategy inside the Naive.Trader module. In this section, we will focus on its (handle_info/2) callback function. We are looking for clauses that do more than “one thing” to split them into multiple clauses: The first callback places a buy order - it has a single responsibility and is easy to follow. The second callback takes care of race conditions - the same story, easy to understand. The third callback is the one we will focus on. It branches using the if statement, and we could describe it as “fetch and maybe place a sell order” function. The “and” in the description clearly indicates that it’s really two functions glued together. We will split it into “fetch buy order” and “place a sell order” functions(below code replaces the 3rd handle_info/2 callback): # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{}, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, orig_qty: quantity, status: "FILLED" }, sell_order: nil, profit_interval: profit_interval, tick_size: tick_size } = state ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) new_state = %{state | sell_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = buy_order } = state ) do @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) buy_order = %{buy_order | status: current_buy_order.status} new_state = %{state | buy_order: buy_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The first function takes care of placing a sell order. The second one fetches the buy order. We can now move to the next clause, similar to the last one we could describe as “fetch the sell order and maybe terminate the trader”. We will split it into two callbacks: “fetch the sell order” and “terminate trader”. The code below replaces the 5th handle_info/2 callback: # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{}, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ status: "FILLED" } } = state ) do @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") {:stop, :normal, state} end def handle_info( %TradeEvent{ seller_order_id: order_id }, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = sell_order } = state ) do @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) sell_order = %{sell_order | status: current_sell_order.status} new_state = %{state | sell_order: sell_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The first function takes care of terminating the trader. The second function is fetching the sell order. That finishes our first refactoring round, but I need to admit that our change has impacted the behaviour of our strategy. Each time a buy or sell order gets filled, we will fetch that order from Binance, but we won’t immediately place a sell order nor terminate as it was happening before. Instead, only when another event arrives will the trader place a sell order or terminate. Changes like this require approval from the business in a work situation, but it’s a good showcase of the situation where we can propose a solution that will simplify the code(the benefits will become evident in the following sections). We can confirm that we have broken our tests by running our integration testsuite: $ MIX_ENV=integration mix test.integration ... 1) test Naive trader full trade(buy + sell) test (NaiveTest) apps/naive/test/naive_test.exs:12 ** (MatchError) no match of right hand side value: [["0.43070000", "BUY", "FILLED"]... code: [buy_1, sell_1, buy_2] = DataWarehouse.Repo.all(query) stacktrace: test/naive_test.exs:83: (test) (Subject to acceptance by the business) we will fix the integration test in the following way: # /apps/naive/test/naive_test.exs test "Naive trader full trade(buy + sell) test" do ... # Step 4 - Broadcast 10 events # <= updated comment [ ... generate_event(8, "0.43205", "345.14235000"), # this one should trigger buy order for a new trader process generate_event(9, "0.43205", "345.14235000"), # <= added line generate_event(10, "0.43210", "3201.86480000") # <= updated id ] We added an event at the same price(as the sell order’s price) that will trigger placing a buy order by the new trader and make our test green again. 18.4 Abstracting the “pure” logic In our adventure to make our code more functional, we should strive to separate(as much as possible) pure business logic from side effects and boilerplate. The Naive.Trader module is a GenServer that receives trade events via messages. Based on them and the current state, using pattern-matching, it decides what action should be performed(place a buy order, fetch a buy order, place a sell order, fetch sell order, terminate trader, trigger rebuy or ignore event). Each of the pattern-matches inside the callback functions’ headers is a strategy specific business logic that got mixed with the fact that it’s executed by a GenServer that receives messages. We will create a new file called strategy.exs inside the apps/naive/lib/naive/ directory, where we will copy all of the handle_info/2 callback functions from the Naive.Trader module: # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do def handle_info(...) do ... # <= place a buy order logic end def handle_info(...) do ... # <= race condition fix logic end def handle_info(...) do ... # <= place a sell order logic end def handle_info(...) do ... # <= fetch the buy order logic end def handle_info(...) do ... # <= terminate trader logic end def handle_info(...) do ... # <= fetch the sell order logic end def handle_info(...) do ... # <= trigger rebuy order logic end def handle_info(...) do ... # <= ignore trade event logic end First, we will rename all of the handle_info/2 functions inside the Naive.Strategy module to generate_decision/2. Next, we will go through them one by one, leaving the pure parts and limiting them to returning the decision. 18.4.1 Place a buy order rules The first function decides should the trader place a buy order. We can see that price and quantity calculations are pure functions based on the incoming data. We will remove everything below those two as it’s causing side effects. As now we are dealing with a function generating a decision, we will return a tuple with data that, together with state, will be used to place a buy order. After removing some of the pattern-matching that we used to retrieve data(no longer needed), our first function should look like this: # /apps/naive/lib/naive/strategy.ex # the first clause def generate_decision( %TradeEvent{price: price}, %State{ budget: budget, buy_order: nil, buy_down_interval: buy_down_interval, tick_size: tick_size, step_size: step_size } ) do price = calculate_buy_price(price, buy_down_interval, tick_size) quantity = calculate_quantity(budget, price, step_size) {:place_buy_order, price, quantity} end 18.4.2 Race condition rules The second function deals with the race condition when multiple transactions fill the buy order. The original callback ignores those trade events, so the generate_decision/2 function should return the same “decision”: # /apps/naive/lib/naive/strategy.ex # the second clause def generate_decision( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id, status: "FILLED" }, sell_order: %Binance.OrderResponse{} } ) when is_number(order_id) do :skip end 18.4.3 Fetch the buy order rules For the 3th clause, we will return only an atom as there’s no pure logic besides the pattern-match in the header itself: # /apps/naive/lib/naive/strategy.ex # the third clause def generate_decision( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id }, sell_order: nil } ) when is_number(order_id) do :fetch_buy_order end 18.4.4 Place a sell order rules We will follow the same logic for the 4th clause of the generate_decision/2 function. We will leave only the sell price calculation as it’s pure and return a tuple together with the decision: # /apps/naive/lib/naive/strategy.ex # the fourth clause def generate_decision( %TradeEvent{}, %State{ buy_order: %Binance.OrderResponse{ status: "FILLED", price: buy_price }, sell_order: nil, profit_interval: profit_interval, tick_size: tick_size } ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) {:place_sell_order, sell_price} end 18.4.5 Terminate trader rules For the 5th clause, we will indicate that trader needs to terminate: # /apps/naive/lib/naive/strategy.ex # the fifth clause def generate_decision( %TradeEvent{}, %State{ sell_order: %Binance.OrderResponse{ status: "FILLED" } } ) do :exit end 18.4.6 Fetch the sell order rules For the 6th clause, we will indicate that trader needs to fetch the sell order: # /apps/naive/lib/naive/strategy.ex # the sixth clause def generate_decision( %TradeEvent{ seller_order_id: order_id }, %State{ sell_order: %Binance.OrderResponse{ order_id: order_id } } ) do :fetch_sell_order end 18.4.7 Trigger rebuy rules Inside the 7th clause, we are dealing with triggering the rebuy. Here, we can decide whether rebuy should be triggered and get rid of conditional logic inside further steps. We couldn’t refactor this function by splitting it (as we’ve done in the first section) as we need to call the trigger_rebuy?/3 function to check should rebuy be triggered. The functions that we refactored in the first section of this chapter were splittable as they relied on pattern-matching in the function headers where calling local functions is not allowed): # /apps/naive/lib/naive/strategy.ex # the seventh clause def generate_decision( %TradeEvent{ price: current_price }, %State{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false } ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) do :rebuy else :skip end end 18.4.8 The final clause rules The final (8th) clause will just ignore the trade event as it’s of no interest: # /apps/naive/lib/naive/strategy.ex # the final(8th) clause def generate_decision(%TradeEvent{}, %State{}) do :skip end This finishes the changes to the generate_decision/2 clauses. We extracted a fair amount of logic into an easily testable pure function. We now need to use it inside the Naive.Trader module. 18.4.9 Changes to the Naive.Trader module We will start by moving all of the calculation functions to the Naive.Strategy module as we are using them from the generate_decision/2 function. Those will be: calculate_sell_price/3 calculate_buy_price/3 calculate_quantity/3 trigger_rebuy?/3 They can now be changed to public functions as they are pure and fit the “interface” of the Naive.Strategy module(it feels ok[and it’s safe as they are pure] to “expose” them to be called from other modules). We need to remember about moving the Decimal alias into the Naive.Strategy module together with a copy of the TradeEvent struct alias and add the alias for the Naive.Trader.State struct: # /apps/naive/lib/naive/strategy.ex alias Decimal, as: D alias Core.Struct.TradeEvent alias Naive.Trader.State The next step will be to rename all the handle_info/2 callback functions inside the Naive.Trader module to execute_decision/2, which we will get back to in a moment. First, we need to add a single handle_info/2 callback under the init/1 function that will pattern match only the fact that the received message contains the TradeEvent struct and the state is the correct State struct: # /apps/naive/lib/naive/trader.ex # add after the `init/1` function def handle_info(%TradeEvent{} = trade_event, %State{} = state) do Naive.Strategy.generate_decision(trade_event, state) |> execute_decision(state) end So, the Naive.Strategy module will decide what the trader server should do based on its pure business logic. That decision will be passed forward with the state to the execute_decision/2 function (at this moment, it’s just the old handle_info/2 function renamed, but we will update it next). 18.4.10 Naive.Trader - place buy order We will update the execute_decision/2 function to take a decision + state and execute the correct action based on pattern-match of the decision. Starting with the 1st clause, we need to pattern match a tuple: # /apps/naive/lib/naive/trader.ex # the first execute clause def execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state ) do @logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_buy(symbol, quantity, price, "GTC") :ok = broadcast_order(order) new_state = %{state | buy_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The amount of pattern matching will be much smaller as part of the original callback has been moved inside the Naive.Strategy’s logic(to calculate the price and quantity). 18.4.11 Naive.Trader - Race condition clause As we are using the :skip “decision” for both the race condition events and the “non interesting” events, we can safely remove this clause as we will implement skipping as the last clause. 18.4.12 Naive.Trader - Place a sell order In case of placing a sell order, we will pattern match on a tuple containing the :place_sell_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( {:place_sell_order, sell_price}, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ orig_qty: quantity } } = state ) do @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) new_state = %{state | sell_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.13 Naive.Trader - Fetch the buy order In case of fetching the buy order, we will pattern match on a :fetch_buy_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :fetch_buy_order, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = buy_order } = state ) do @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) buy_order = %{buy_order | status: current_buy_order.status} new_state = %{state | buy_order: buy_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.14 Naive.Trader - Terminate the trader In case of terminating the trader, we will pattern match on a :exit atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :exit, %State{ id: id, symbol: symbol } = state ) do @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") {:stop, :normal, state} end 18.4.15 Naive.Trader - Fetch the sell order In case of fetching the sell order, we will pattern match on a :fetch_sell_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :fetch_sell_order, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = sell_order } = state ) do @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) sell_order = %{sell_order | status: current_sell_order.status} new_state = %{state | sell_order: sell_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.16 Naive.Trader - Triggering rebuy In case of triggering the rebuy procedure, we will pattern match on a :rebuy atom, slim down on pattern matching and simplify the function a fair bit(no branching required anymore - yay!): # /apps/naive/lib/naive/trader.ex def execute_decision( :rebuy, %State{ id: id, symbol: symbol } = state ) do @logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") new_state = %{state | rebuy_notified: true} @leader.notify(:rebuy_triggered, new_state) {:noreply, new_state} end 18.4.17 Naive.Trader - The final ignore clause The final ignore clause will :skip all events: # /apps/naive/lib/naive/trader.ex def execute_decision(:skip, state) do {:noreply, state} end The ignore clause finishes our current refactoring round, which showcased that sometimes abstracting pattern matching into a separate function is a valid strategy to increase the amount of pure code. Note: The fact that we could abstract the logic from pattern matches is quite a unique situation to our application. I would not advise abstracting GenServer pattern matching into a separate module if dealing with different structs/actions(in our case, all our pattern matches were “making a trading decision”, it’s a single “action”, that’s why we abstracted them). 18.5 Dealing with dirty code In the last section, we’ve split the handle_info/2 clauses into the generate_decision/2 and execute_decision/2 functions. That’s excellent progress, but we still have the strategy logic inside the Naive.Trader module. Let’s move the execute_decision/2 function(together with all the code that it depends on, like the broadcast_order/1 and convert_to_order/1 functions as well as a copy of the require Logger) from the Naive.Trader module to the Naive.Strategy module. As the generate_decision/2 function is causing side effects, we don’t want it to be called directly from the outside of the module, so we will need to make it private. Changing the execute_decision/2 function(now inside the Naive.Strategy module) to private will cause a problem with the handle_info/2 callback function inside the Naive.Trader module as it relies on the execute_decision/2 function to be public. The fact that our strategy makes a decision and then executes code based on it is an implementation detail that we shouldn’t share with the Naive.Trader module. That’s why we will move the body of the handle_info/2 callback function into a new function called execute/2 inside the Naive.Strategy module: # /apps/naive/lib/naive/strategy.ex def execute(%TradeEvent{} = trade_event, %State{} = state) do generate_decision(trade_event, state) |> execute_decision(state) end Before updating the Naive.Trader module to use the execute/2 function, we need to address another issue that moving the execute_decision/2 caused. At this moment, all of the clauses return GenServer specific tuples. What we really need to return to the trader is an atom indicating should it continue or terminate together with the updated state: # /apps/naive/lib/naive/strategy.ex # last lines inside the `execute_decision/2` clauses {:ok, new_state} # <= previously {:noreply, new_state} (5 times) {:ok, state} # <= previously {:noreply, state} (once) :exit # <= previously {:stop, :normal, state} + remove `state` pattern match (once) We can now update the handle_info/2 callback function to call the new “interface” of the Naive.Strategy module that we just created and act accordingly to the result: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do case Naive.Strategy.execute(trade_event, state) do {:ok, new_state} -> {:noreply, new_state} :exit -> {:stop, :normal, state} end end At this moment, we could just copy/move module attributes from the Naive.Trader module to the Naive.Strategy module and our code would start to work again. Still, before we will do that, we will use this opportunity to look into how to make our dirty code testable. 18.6 Making dirty code testable Making dirty code testable is very closely linked to injecting dependencies. In the testing environment, we would like to use dummy implementations instead of executing the side-effect-causing code to simplify the tests. We will look into the different ways that we can pass side-effect-causing “code” into impure functions. 18.6.1 Passing functions arguments Functions are first-class citizens in Elixir, which means that we can pass them as arguments to functions. This way, we can pass side-effect causing functions into our Naive.Strategy module. Let’s look at how this would look in practice. We need to look into the execute_decision/2 function, as it’s where the place side effects happen. Looking at the 1st clause(responsible for placing a buy order), we can see that it’s calling the Logger.info/1, Binance.order_limit_buy/4, PubSub.broadcast/3(via the broadcast_order/1 function) and Leader.notify/2 functions. To make our code easily testable, we would need to be able to pass dummy implementations for all of those. As we aren’t calling the execute_decision/2 directly, we need to pass all of the above functions as arguments to the execute/2 function, which will pass them onward to the execute_decision/2. We can see that even with default values pointing to the “real” implementation, that’s still a lot of noise to make testing easier. It will negatively impact the maintenance of the code - here’s an example of what this would look like(don’t bother typing it): # /apps/naive/lib/naive/strategy.ex # injecting dummy implementation, fallback to real implementation def execute( %TradeEvent{} = trade_event, %State{} = state, logger_info \\\\ &Logger.info/1, # <= function injected order_limit_buy \\\\ &Binance.order_limit_buy/4, # <= function injected pubsub_broadcast \\\\ &PubSub.broadcast/3, # <= function injected notify_leader \\\\ &Leader.notify/2 # <= function injected ) do ... There are already four functions, and we only took care of side-effects causing functions from the first execute_decision/2 clause. We can easily see how this very quickly becomes just unmanageable as there would be 10+ “injected” arguments going from the execute/2 to execute_decision/2, and only some of them would be used in each clause. Additional downsides: when passing a function as an argument, we need to specify the arity, so when we would like to use more than one arity, we need to pass the function multiple times with different arities. An example could be passing Logger.info/1 and Logger.info/2 we need to give a name to every passed function, sometimes multiple arities (again, how should variables for Logger.info/1 and Logger.info/2 be called? logger_info_2?) share amount of arguments negatively impacts code readability We can see that passing functions as arguments is just a bad idea in case of making our code testable. It will have the opposite effect, decreasing readability making our code difficult to maintain and follow. Important note: Passing functions as arguments is not always bad! A good example could be when different actions need to be performed based on runtime data. 18.6.2 Passing grouped functions as a context The natural next step would be to put all of those functions into some structure like Map or Keyword list. Whichever we would choose, we will end up with the same problems of naming keys(this time inside the map/keyword list), multiple functions because of different arity but also default values inside each clause of the execute_decision/2 function: # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state, %{} = context # <= context added ) do # vvv fetch from context vvv logger_info = Map.get(context, :logger_info, &Logger.info/1) order_limit_buy = Map.get(context, :order_limit_buy, &Binance.order_limit_buy/4) leader_notify = Map.get(context, :leader_notify, &Leader.notify/2) Again this looks like a bad idea. It’s probably marginally better than just sending functions one by one, but not much. 18.6.3 Passing grouped modules as a context The significant advantage of passing modules as arguments instead of functions is that we no longer have a problem with naming keys or caring about different functions’ arities. There will also be substantially fewer modules used in comparison to functions. Sadly we still need to use the Map function to get the modules out of \"context\": # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state, %{} = context # <= context added ) do logger = Map.get(context, :logger, &Logger) # <= fetch from context binance = Map.get(context, :binance, Binance) # <= fetch from context leader = Map.get(context, :leader, &Leader) # <= fetch from context This is much better, but we will still need to do a fair amount of additional work to get the modules out. Also, our code will be full of the “default” modules(as each of the clauses retrieving them from the context will need to specify defaults). 18.6.4 Injecting modules to module’s attributes based on the configuration And we finally got there - we have come a full circle. This is the approach that we previously used inside the Naive.Trader module(you can go ahead and add them to the Naive.Strategy module): # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do ... @binance_client Application.compile_env(:naive, :binance_client) @leader Application.compile_env(:naive, :leader) @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) We looked into different ways to inject dependencies to understand their downsides. Sometimes, injecting values(like modules) as module attributes can feel like a “global state”, “singleton”, or similar antipattern. We need to understand that each programming language provides different ways to solve common programming problems. Dependency injection is one of those common concerns that every language needs to solve, and Elixir solves it by using compile-time modules’ attributes. As long as you are using module attributes to be able to inject compile-time dependencies to test your code, there’s just no better way to do it in Elixir, and now we know why(based on the issues with the alternative approaches). Together with the module attributes, our code should be now fully functional. 18.7 The power with-in In the last section, we looked into different ways to inject modules’ dependencies to avoid side-effects causing functions inside the tests. Besides side-effect causing functions, in functional programming, error handling is also done in a specific manner. Many languages introduced concepts like Either, which is a struct that can be either Left(error result) or Right(success result). Those quite nicely fit to the standard Elixir results like {:error, reason} and {:ok, result}. Further, those languages provide multiple functions to work with the Either, like map. safeDivide(2, 0) # <= returns Left("Dividing error") |> then(Either.map(&(&1 * 2))) # <= still Left("Dividing error") safeDivide(2, 1) # <= returns Right(2) |> then(Either.map(&(&1 * 2))) # <= returns Right(4) The above code will use hypothetical Left('Dividing error') or Right(result). The Either.map/2 is a special map function that runs the passed function if it’s Right or completely ignores it when it’s Left - it could be visualized as: def map(%Either.Left{} = left, _fun), do: left def map(%Either.Right{result: v}, fun), do: %Either.Right{result: fun.(v)} This is nice and great, but what if the function inside the Either.map/2 returns another Either? Like: safeDivide(2, 1) # <= returns Right(2) |> then(Either.map(&(safeDivide(&1, 1)))) # <= now Right(Right(2))!? Now we need to understand those abstractions to be able to decide should we map or flatMap(that’s the function that will not wrap the function result into the Right): safeDivide(2, 1) # <= returns Right(2) |> then(Either.flatMap(&(safeDivide(&1, 1)))) <= still Right(2) And that is just the beginning of the complexities that those abstractions bring. Furthermore, let’s say that inside the first Either.map/2 callback, we will have some variable(s) that we would like to use later on. We are now deep inside closures world like the following: safeDivide(2, 1) # <= returns Right(2) |> then(Either.flatMap(fn res -> # x = some data generated here safeDivide(2, 1) |> then(Either.map(&(&1 * 2))) |> then(Either.map(&(&1 * x))) # <= a clause to have access to x end)) The above example is obviously simplified and silly but should give us a gist of what sort of complexity we will very soon get involved in. And, again, we just scratched the surface - there are so many more functions that the Either provides. Besides, writing code in this fashion in Elixir would cause a lot of friction in the team as it’s difficult to find any advantages of using it. 18.7.1 Idiomatic error handling To achieve the same results, Elixir provides the with statement: with {:ok, divide_result} <- safeDiv(2,1), {:ok, divide_result_2} <- safeDivide(2, 1) do divide_result_2 * 2 * divide_result else err -> err end The above code provides the same functionality as the one before with Either. We can clearly understand it without any knowledge about how Either works, mapping, flatMapping etc. It’s just standard Elixir. Again, as in the case of modules’ attributes. Elixir provides a pragmatic way of dealing with errors - just return a tuple with an :error atom. It also provides utility functions like with to deal with errors in an idiomatic way. There’s no reason to introduce concepts like Either as language has built-in concepts/patterns taking care of error situations. 18.8 Do or not to do In the last section, we discussed wrapping the results in the Either structs to be able to map, flatMap on them regardless of the function result. What if we could apply the same principle to avoid executing any code(side effects) at all? That’s the basic idea behind all the category theory related abstractions like the infamous IO Monad. I won’t go into a vast amount of details. Still, we can think about it as every time we are calling a special map or flatMap, instead of executing anything, it would just wrap whatever was passed to it inside another function and return it like: def map(acc, function) do fn -> case acc.() do {:ok, data} -> {:ok, function.(data)} {:error, error} -> {:error, error} end end end In a nutshell, what we would end up with is a function containing a function containing a function… At this moment, I find it very difficult to find any practical reason why somebody would want to do something like this in a dynamically typed language. In statically typed languages, there’s an argument that instead of a function of function etc., we could have a typed object which would indicate what actions can be performed on that future result. This is very often praised as a compile-time guarantee of side effectfull code. In the Elixir, without strong typing and with a massive impact on how the code is written and how easy it is to understand, there’s just no practical reason to use those concepts beyond toy programs. The resulting function would be an untestable blob without introspection support from the BEAM VM. 18.9 Final thoughts Every programming language needs to provide tools to handle common concerns like error handling or dependency injection. Elixir provides excellent tools to handle both of those concerns using the with statement and modules’ attributes. Without a type system, there’s no practical reason why anybody would introduce category theory-based abstractions like Monads. The resulting code will be complicated to deal with, and as in the case of many other functional programming languages like Ocaml or Clojure, the pragmatic way is to execute side effects. It’s the developers’ responsibility to design code in a way that maximizes the amount of pure code and push side effects to “the edge”. The typical pattern would be to “prepare” (group all logic before side effects) or to “post process” the results of multiple side effects (group pure logic after side effects). That’s all in regards to functional programming in Elixir. In the next chapter, we will look into what the idiomatic Elixir code looks like. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["idiomatic-otp.html", "Chapter 19 Idiomatic OTP 19.1 Objectives 19.2 The concept 19.3 Initial implementation 19.4 Idiomatic solution", " Chapter 19 Idiomatic OTP 19.1 Objectives the concept initial implementation idiomatic solution 19.2 The concept In this chapter, we will look into building an OHLC(open-high-low-close) indicator. We will discuss different potential implementations, which will give us an excellent example to understand the idiomatic usage of the OTP framework. The OHLC indicator consists of four prices that could be used to draw a candle on the chart: The OHLC indicators get created by collecting the first price (the “open” price), lowest price(the “low” price), highest price(the “high” price) and the last price(the “close” price) within a specific timeframe like 1 minute. Our code will need to be able to generate those for multiple timeframes at once - 1m, 5m, 15m, 1h, 4h and 24h. 19.3 Initial implementation What we could do is to have multiple GenServer processes subscribed to the trade events topic in the PubSub where each one would update their own OHLC numbers: Let’s start by creating a new application inside our umbrella called “indicators”(run below inside terminal): $ cd apps $ mix new indicator --sup We can now create a new directory called “ohlc” inside the “/apps/indicator/lib/indicator” directory, where we will create the GenServer “worker.ex” file: # /apps/indicator/lib/indicator/ohlc/worker.ex defmodule Indicator.Ohlc.Worker do use GenServer def start_link({symbol, duration}) do GenServer.start_link(__MODULE__, {symbol, duration}) end def init({symbol, duration}) do {:ok, {symbol, duration}} end end As each worker will need to subscribe to the PubSub’s \"TRADE_EVENTS:#{symbol}\" topic, we can update the init/1 function to do that: # /apps/indicator/lib/indicator/ohlc/worker.ex # add those at the top of the worker module require Logger @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) ... # updated `init/1` function def init({symbol, duration}) do symbol = String.upcase(symbol) @logger.info("Initializing a new OHLC worker(#{duration} minutes) for #{symbol}") @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, {symbol, duration}} end Following the pattern established by the Naive.Trader, we use the module’s attributes(with values based on the configuration) instead of hardcoded module names. Additionally, we’ve used the Core.PubSub and Phoenix.PubSub(indirectly) modules so we need to add them to the dependencies list of the indicator application: # /apps/indicator/mix.exs defp deps do [ {:core, in_umbrella: true}, # <= added {:phoenix_pubsub, "~> 2.0"} # <= added ... As we subscribed to the PubSub, we need to provide a callback that will handle the incoming trade events: # /apps/indicator/lib/indicator/ohlc/worker.ex # add this at the top alias Core.Struct.TradeEvent def handle_info(%TradeEvent{} = trade_event, ohlc) do {:noreply, Indicator.Ohlc.process(ohlc, trade_event)} end To avoid mixing our business logic with the GenServer boilerplate(as discussed in the last chapter), we will place it in a new module. First, we need to create a new file /apps/indicator/lib/indicator/ohlc.ex and the Indicator.Ohlc module inside it: # /apps/indicator/lib/indicator/ohlc.ex defmodule Indicator.Ohlc do end The Indicator.Ohlc module will define a struct that the Indicator.Ohlc.Worker will use as a state: # /apps/indicator/lib/indicator/ohlc.ex @enforce_keys [ :symbol, :start_time, :duration ] defstruct [ :symbol, :start_time, :duration, :open, :high, :low, :close ] Most of the above are self-descriptive, besides the start_time(a Unix timestamp) and the duration(the timeframe in minutes). We can now progress to the implementation of the process/2 function, but instead of focusing on it, we will start from the “deepest”/“bottom” function that it will rely on and work our way up. As we discussed in the last chapter, we will try to maximize the amount of pure code. We can imagine that the bottom function will be involved in merging of the trade event’s data with the current OHLC data. Two things can happen, either: trade event’s trade_time is within the current OHLC timeframe. Trade event’s price will get merged to the current OHLC trade event’s trade_time is outside the current OHLC timeframe. The current(now old) OHLC will be returned together with a new OHLC based on the trade event’s price Here’s the implementation: # /apps/indicator/lib/indicator/ohlc.ex def merge_price(%__MODULE__{} = ohlc, price, trade_time) do if within_current_timeframe(ohlc.start_time, ohlc.duration, trade_time) do {nil, %{ohlc | low: min(ohlc.low, price), high: max(ohlc.high, price), close: price}} else {ohlc, generate_ohlc(ohlc.symbol, ohlc.duration, price, trade_time)} end end together with the within_current_timeframe/3 and generate_ohlc/3 function: # /apps/indicator/lib/indicator/ohlc.ex def within_current_timeframe(start_time, duration, trade_time) do end_time = start_time + duration * 60 trade_time = div(trade_time, 1000) start_time <= trade_time && trade_time < end_time end def generate_ohlc(symbol, duration, price, trade_time) do start_time = div(div(div(trade_time, 1000), 60), duration) * duration * 60 %__MODULE__{ symbol: symbol, start_time: start_time, duration: duration, open: price, high: price, low: price, close: price } end Moving up the call chain, besides merging the trade event’s data into OHLC data, we need to deal with the initial state of the worker(the {symbol, duration} tuple). Let’s add a process/2 function with two clauses handling each of those cases: # /apps/indicator/lib/indicator/ohlc.ex # add the below line at the top of the module alias Core.Struct.TradeEvent def process(%__MODULE__{} = ohlc, %TradeEvent{} = trade_event) do {old_ohlc, new_ohlc} = merge_price(ohlc, trade_event.price, trade_event.trade_time) maybe_broadcast(old_ohlc) new_ohlc end def process({symbol, duration}, %TradeEvent{} = trade_event) do generate_ohlc(symbol, duration, trade_event.price, trade_event.trade_time) end The second clause takes care of the initial state of the OHLC worker(happens upon receiving the first trade event - once in the lifetime of the worker process). The first clause handles all the other trade events. This order of clauses could appear weird, but it makes a lot of sense as Elixir will try pattern match clauses from the top, and in our case, the first(top) clause will be used for almost all of the calls. 19.3.1 Maybe functions Let’s get back to the first clause of the process/2 function as it uses another Elixir/Erlang pattern that we didn’t discuss before - the maybe_do_x functions. In case of the incoming trade event’s trade_time outside of the current OHLC’s timeframe, we would like to broadcast the current OHLC and return a new OHLC(based on the trade event’s data). Otherwise(trade event’s trade_time within the current OHLC), the trade event’s price is merged into the current OHLC, and it’s not broadcasted. This sounds very similar to the if-else, but it’s most of the time achieved using the pattern matching: # /apps/indicator/lib/indicator/ohlc.ex # add below lines at the top of the module require Logger @pubsub_client Application.compile_env(:core, :pubsub_client) defp maybe_broadcast(nil), do: :ok defp maybe_broadcast(%__MODULE__{} = ohlc) do Logger.debug("Broadcasting OHLC: #{inspect(ohlc)}") @pubsub_client.broadcast( Core.PubSub, "OHLC:#{ohlc.symbol}", ohlc ) end By using a separate function, we avoided branching using if-else inside the process/2 function. The idea is not necessarily to avoid if statements but to keep the code at the consistent level of abstraction, so it’s easier to understand. Inside the process/2 function, we can understand what’s going on just by reading the function names inside - there’s no “logic”. Sometimes people advise that “code should be like well written prose” and maybe_do_x functions are one of the ways to achieve this “nirvana” state. 19.3.2 Testing At this moment, our code should compile, and we should already be able to test it. First, let’s change the logging level to debug inside config/config.exs to see what OHLC structs got broadcasted: # /config/config.exs config :logger, level: :debug # <= updated We can now progress with testing: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.Ohlc.Worker.start_link({"XRPUSDT", 1}) {:ok, #PID<0.447.0>} ... 22:45:00.335 [debug] Broadcasting OHLC: %Indicator.Ohlc{close: "0.63880000", duration: 1, high: "0.63890000", low: "0.63840000", open: "0.63860000", start_time: 1644014640, symbol: "XRPUSDT"} The above test confirms that we can manually start a single OHLC worker that will aggregate data over a single minute timeframe. 19.3.3 Supervision To supervise multiple Indicators.Workers we will use the DynamicSupervisor. We need to update the Indicators application’s supervision tree to start a dynamic supervisor: # /apps/indicator/lib/indicator/application.ex children = [ {DynamicSupervisor, strategy: :one_for_one, name: Indicator.DynamicSupervisor} ] We can now add aggregate_ohlcs/1 function that will start all workers: # /apps/indicator/lib/indicator.ex def aggregate_ohlcs(symbol) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.each( &DynamicSupervisor.start_child( Indicator.DynamicSupervisor, {Indicator.Ohlc.Worker, {symbol, &1}} ) ) end We can now start multiple OHLC workers just by running a single function: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.aggregate_ohlcs("XRPUSDT") {:ok, #PID<0.447.0>} The above calls will start six OHLC worker processes supervised under the Indicator.DynamicSupervisor process. We could continue with this exercise, add a Registry to be able to stop the indicators and a database to be able to autostart them. Those improvements would get the “indicators” application in line with the other applications, but that’s not the goal of this chapter. 19.4 Idiomatic solution What we will focus on is the usage of processes(in our case the GenServers) in our solution. We’ve split our logic between multiple processes, each aggregating a single timeframe. All of those processes work in the same way. They subscribe to the PubSub topic, merge the incoming data into OHLC structs, and potentially broadcast them. The only difference is the timeframe that they use for merging data. The solution feels very clean, but also we are using multiple processes to aggregate data for each symbol. In a situation like this, we should always ask ourselves: do we need that many processes? are we using them to achieve parallelism? Is it required? could we reorganize our code to use fewer processes? The main idea is to keep our code as simple as possible and only use processes when it’s absolutely required. Instead of a single worker being responsible for aggregation within a single timeframe, we could restructure our code to make it responsible for all timeframes of the symbol. This improvement would: make our merging code a little bit complex(it would merge multiple timeframes at once) decrease the amount of PubSub subscribers by six (instead of six processes per symbol, we would have just one) potentially decrease the amount of broadcasted messages (we could group OHLC structs into a single message) allow a single worker single worker to decide what to do with all current OHLCs in case of errors, without need for any additional symbol supervision level(like one_for_all) make it impossible to aggregate nor broadcast OHLCS of the same symbol in parallel We can see that the solution based on processes could get really complex really quickly(multiple processes per symbol, growing supervision tree, multiple subscriptions, multiple messages etc). Just to be clear - processes do have their place, they are a really powerful tool, but as with every tool, the responsibility lies on us developers to use them wisely - they must not be used for code organization. Enough theory - let’s look into how we could update our Indicator.Ohlc module to be able to deal with multiple timeframes at once. Initially, we could be tempted to update the process/2 function: # /apps/indicator/lib/indicator.ex def process([_ | _] = ohlcs, %TradeEvent{} = trade_event) do results = ohlcs |> Enum.map(&merge_price(&1, trade_event.price, trade_event.trade_time)) results |> Enum.map(&maybe_broadcast(elem(&1, 0))) results |> Enum.map(&elem(&1, 1)) end def process(symbol, %TradeEvent{} = trade_event) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.map( &generate_ohlc( symbol, &1, trade_event.price, trade_event.trade_time ) ) end We added some logic to both clauses. At this moment, it maybe doesn’t look that bad, but it’s a great place to mix even more logic with dirty code. This is a great example where we should stop and rethink how we could maximize the amount of pure code. Instead of expanding the process/2 function, we could built on top of the merge_price/3 and generate_ohlc/4 functions, which deal with a single OHLC data. We could add plural versions of those functions that will understand that we now deal with multiple OHLC structs: # /apps/indicator/lib/indicator.ex def merge_prices(ohlcs, price, trade_time) do results = ohlcs |> Enum.map(&merge_price(&1, price, trade_time)) { results |> Enum.map(&elem(&1, 0)) |> Enum.filter(& &1), results |> Enum.map(&elem(&1, 1)) } end def generate_ohlcs(symbol, price, trade_time) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.map( &generate_ohlc( symbol, &1, price, trade_time ) ) end Now the process/2 function got back to its almost original shape: def process([_ | _] = ohlcs, %TradeEvent{} = trade_event) do {old_ohlcs, new_ohlcs} = merge_prices(ohlcs, trade_event.price, trade_event.trade_time) old_ohlcs |> Enum.each(&maybe_broadcast/1) new_ohlcs end def process(symbol, %TradeEvent{} = trade_event) do generate_ohlcs(symbol, trade_event.price, trade_event.trade_time) end By introducing the merge_prices/3 and generate_ohlcs/3 functions, we were able to keep the dirty part of our code small(it grew only to accommodate multiple broadcasts). The new functions are pure and can be easily tested. As we modified the interface of the process/2 function (by removing the duration), we need to update the Indicator.Ohlc.Worker module to be blissfully not aware that we have different durations: # /apps/indicator/lib/indicator/ohlc/worker.ex def start_link(symbol) do # <= duration removed GenServer.start_link(__MODULE__, symbol) # <= duration removed end def init(symbol) do # <= duration removed symbol = String.upcase(symbol) @logger.debug("Initializing new a OHLC worker for #{symbol}") # <= duration skipped ... {:ok, symbol} # <= duration removed end The final update will be to simplify the Indicator.aggregate_ohlcs/1 function just to start a single OHLC worker: # /apps/indicator/lib/indicator.ex def aggregate_ohlcs(symbol) do DynamicSupervisor.start_child( Indicator.DynamicSupervisor, {Indicator.Ohlc.Worker, symbol} ) end We can now test our implementation by running the following once again: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.Ohlc.Worker.start_link("XRPUSDT") ... 23:23:00.416 [info] Broadcasting OHLC: %Indicator.Ohlc{close: "0.68230000", duration: 1, high: "0.68330000", low: "0.68130000", open: "0.68160000", start_time: 1644189720, symbol: "XRPUSDT"} The logged message(s) confirms that our OHLC aggregator logic works as expected using a single process. In the case of the OHLC aggregator, we’ve seen that there are some trade-off between running multiple processes(simpler code) vs single process(more complex merging) - it could be unclear what’s the benefit of limiting the usage of processes(especially that they are “almost free”). I totally understand. Please treat this chapter as an introduction to the idiomatic Elixir. In the next chapter, we will apply this concept when refactoring the Naive trading strategy to see its practical benefits. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["idiomatic-trading-strategy.html", "Chapter 20 Idiomatic trading strategy 20.1 Objectives 20.2 Following the OHLC footsteps 20.3 Simplifying the Naive supervision tree 20.4 Supporting multiple positions 20.5 Retrofitting the “shutdown” functionality 20.6 Updating the Strategy to handle rebuys 20.7 Fetching active positions 20.8 Tidying up 20.9 Final thoughts", " Chapter 20 Idiomatic trading strategy 20.1 Objectives Following the OHLC footsteps Simplifying the Naive supervision tree Supporting multiple positions Retrofitting the “shutdown” functionality Updating the Strategy to handle rebuys Fetching active positions Tidying up 20.2 Following the OHLC footsteps In the last chapter, we looked into the idiomatic Elixir. We refactored our initial implementation of OHLC aggregation to maximise the amount of pure code by limiting the number of processes running per symbol. It was a nice standalone functionality to showcase the concept. In this chapter, we will look into how could we refactor our naive strategy’s code to achieve the same result. At this moment, the naive strategy uses multiple processes per symbol, including Trader processes, dedicated Leader and SymbolSupervisor. We will update the Trader process to be responsible for multiple trades(we will call them “positions” from now on) on a single symbol. This way, we will have a single Trader process per symbol as well, as we will get rid of both the Leader(we will move rebuy/shutdown logic to our strategy - where it belongs) and the SymbolSupervisor: There are multiple benefits of simplifying the supervision hierarchy, and we will look at them closely as we refactor the code - let’s get to it. 20.3 Simplifying the Naive supervision tree Starting from the top of the tree, the first module we need to update will be the Naive.DynamicSymbolSupervisor module. 20.3.1 The Naive.DynamicTraderSupervisor module The filename needs to be updated to dynamic_trader_supervisor.ex and the module name to Naive.DynamicTraderSupervisor. Next, there’s the @registry attribute that we will rename to :naive_traders. Finally, update the alias to the Naive.SymbolSupervisor to the Naive.Trader and use it inside the start_child/1 function: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex alias Naive.Trader ... defp start_child(args) do DynamicSupervisor.start_child( __MODULE__, {Trader, args} ) end 20.3.2 The Naive module The Naive module heavily depends on the Naive.DynamicSymbolSupervisor(now called the Naive.DynamicTraderSupervisor), we need to update all the references to it: # /apps/naive/lib/naive.ex alias Naive.DynamicTraderSupervisor ... |> DynamicTraderSupervisor.start_worker() ... |> DynamicTraderSupervisor.stop_worker() ... |> DynamicTraderSupervisor.shutdown_worker() 20.3.3 The Naive.Supervisor module The Naive.Supervisor supervises the Naive.DynamicSymbolSupervisor(now called the Naive.DynamicTraderSupervisor) and the registry that stores the traders’ PIDs - we need to update both: # /apps/naive/lib/naive/supervisor.ex alias Naive.DynamicTraderSupervisor # <= updated @registry :naive_traders # <= updated ... children = [ {Registry, [keys: :unique, name: @registry]}, {DynamicTradersSupervisor, []}, # <= updated {Task, fn -> DynamicTradersSupervisor.autostart_workers() # <= updated end} ] 20.3.4 The Naive.Trader module The final module to be updated will be the Naive.Trader. It needs to register process’ PID inside the Registry: # /apps/naive/lib/naive/trader.ex @registry :naive_traders # <= added ... def start_link(%State{} = state) do symbol = String.upcase(state.symbol) # <= updated GenServer.start_link( __MODULE__, state, name: via_tuple(symbol) # <= updated ) end ... defp via_tuple(symbol) do {:via, Registry, {@registry, symbol}} end That finishes the changes to the supervision tree - the Naive.Leader and the Naive.SymbolSupervisor aren’t used anymore. At this moment, our codebase won’t work as we need to retrofit the functionality that the Naive.Leader was offering into our Naive.Trader and Naive.Strategy modules, which we will focus on in the next section. 20.4 Supporting multiple positions The current State struct inside the Naive.Trader was geared toward a single trade cycle. As we now need to handle multiple positions inside a single Trader process, we will need to update this struct. We will start by moving the current State struct from the Naive.Trader into the Naive.Strategy and renaming it to Position: # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do ... defmodule Position do @enforce_keys [ # keys copied from `Naive.Trader.State` struct ] defstruct [ # keys copied from `Naive.Trader.State` struct ] end This will break all the references to Naive.Trader.State inside the Naive.Strategy, which we need to update to Position(and remove the alias of Naive.Trader.State): # /apps/naive/lib/naive/strategy.ex ... def execute(%TradeEvent{} = trade_event, %Position{} = position do generate_decision(trade_event, position) |> execute_decision(position) end ... def generate_decision( %TradeEvent{ ... }, %Position{ # <= in all 8 clauses ... defp execute_decision( {.... # decision }, %Position{ # <= updated ... } = position # <= updated ) do ... new_position = %{position | buy_order: order} # <= updated @leader.notify(:trader_state_updated, new_position) # <= updated {:ok, new_position} # <^= similar changes in all execute_decision We will ignore the fact that we are still calling the @leader and still dealing with a single position(inside the strategy) - we will fix that in the following section. One step at a time ;) As we are already changing strategy to work with positions, we will update all the logger messages: # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, ... ) do ) do @logger.info( "Position (#{symbol}/#{id}): " <> "Placing a BUY order @ #{price}, quantity: #{quantity}" ) # ^ updated message ... defp execute_decision( {:place_sell_order, sell_price}, ... ) do @logger.info( "Position (#{symbol}/#{id}): The BUY order is now filled. " <> "Placing a SELL order @ #{sell_price}, quantity: #{quantity}" ) # ^ updated message ... defp execute_decision( :fetch_buy_order, ... ) do @logger.info("Position (#{symbol}/#{id}): The BUY order is now partially filled") ... # ^^^ updated message defp execute_decision( :exit, ... ) do @logger.info("Position (#{symbol}/#{id}): Trade cycle finished") ... # ^^^ updated message defp execute_decision( :fetch_sell_order, ... ) do @logger.info("Position (#{symbol}/#{id}): The SELL order is now partially filled") ... # ^^^ updated message defp execute_decision( :rebuy, ... ) do @logger.info("Position (#{symbol}/#{id}): Rebuy triggered") ... # ^^^ updated message Our code is still far from working, but we are incrementally updating it to work with multiple positions. 20.4.1 Initialization At this moment, the Naive.Trader expects the state to be injected on start (using the start_link/1 function). We were able to do that because the Naive.Leader was fetching the settings and building the fresh trader state. First, let’s update the State of the Naive.Trader - it will now hold the symbol’s settings(previously held in the leader) and list of positions(list of the Naive.Strategy.Position structs): # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [:settings, :positions] defstruct [:settings, positions: []] end Now we need to update the start_link/1 and init/1 functions as well as add the handle_continue/2 callback to fetch settings and store them together with an initial position in the state: # /apps/naive/lib/naive/trader.ex alias Naive.Strategy ... def start_link(symbol) do # <= now expecting symbol symbol = String.upcase(symbol) # <= updated GenServer.start_link( __MODULE__, symbol, # <= updated name: via_tuple(symbol) ) ... def init(symbol) do # <= updated @logger.info("Initializing new trader for #{symbol}") # <= updated @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, nil, {:continue, {:start_position, symbol}}} # <= updated end def handle_continue({:start_position, symbol}, _state) do settings = Strategy.fetch_symbol_settings(symbol) positions = [Strategy.generate_fresh_position(settings)] {:noreply, %State{settings: settings, positions: positions}} end # ^^^ new function/callback As the Naive.Trader starts, it returns the {:continue, ...} tuple from the init/1 function. This will cause the handle_continue/2 callback to be called asynchronously. Inside it, we fetch settings and add a single fresh position to the list of positions - both stored in Trader’s state. Both functions inside the handle_continue/2 callback previously were part of the Naive.Leader - we need to move them across to the Naive.Strategy: # /apps/naive/lib/naive/strategy.ex alias Naive.Schema.Settings ... @repo Application.compile_env(:naive, :repo) ... def fetch_symbol_settings(symbol) do exchange_info = @binance_client.get_exchange_info() db_settings = @repo.get_by!(Settings, symbol: symbol) merge_filters_into_settings(exchange_info, db_settings, symbol) end def merge_filters_into_settings(exchange_info, db_settings, symbol) do symbol_filters = exchange_info |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") Map.merge( %{ tick_size: tick_size, step_size: step_size }, db_settings |> Map.from_struct() ) end def generate_fresh_position(settings, id \\\\ :os.system_time(:millisecond)) do %{ struct(Position, settings) | id: id, budget: D.div(settings.budget, settings.chunks), rebuy_notified: false } end Inside the above code, we modified the fetch_symbol_settings/1 function to fetch settings from binance and DB first and then progress with the “pure” part. This update allows us to test most of the logic easily without using mocks. The generate_fresh_position/2 was previously called fresh_trader_state/1 inside the Naive.Leader. It had an id assigned inside the function based on the current system time. That made it a bit more difficult to test as we don’t know what should we expect there as a value. By moving the id to the arguments and assigning the current time there, we are now able to test it by passing our dummy value. We are now using @repo inside the Naive.Strategy so we need to add it to configuration files(including test configuration): # /config/config.exs config :naive, ... repo: Naive.Repo, # /config/test.exs config :naive, ... repo: Test.Naive.RepoMock, 20.4.2 Parallelising the strategy We can now move on to the strategy, but first, let’s update the Naive.Trader to pass positions and settings separately: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do case Naive.Strategy.execute(trade_event, state.positions, state.settings) do # <= updated {:ok, updated_positions} -> # <= updated {:noreply, %{state | positions: updated_positions}} # <= updated :exit -> {:stop, :normal, state} end We need all the positions to iterate through them, deciding and executing appropriate actions. The settings will be used inside the strategy later, but we will pass it on now to avoid going back and forward later. Additionally, we updated the case match to expect a list of updated positions which we will assign to the Trader’s state. Now we can modify the Naive.Strategy to handle multiple positions: # /apps/naive/lib/naive/strategy.ex def execute(%TradeEvent{} = trade_event, positions, settings) do generate_decisions(positions, [], trade_event, settings) |> Enum.map(fn {decision, position} -> Task.async(fn -> execute_decision(decision, position, settings) end) end) |> Task.await_many() |> then(&parse_results/1) end We need to write most of the functions used above, but we can already see the idea. We will map each of the decisions that we generate to async tasks that execute them. Next, we wait for all of them to finish and parse the results. First, we are calling a new function generate_decisions/4, which is a recursive function on top of the existing generate_decision/2: # /apps/naive/lib/naive/strategy.ex def generate_decisions([], generated_results, _trade_event, _settings) do generated_results end def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do current_positions = positions ++ (generated_results |> Enum.map(&elem(&1, 0))) case generate_decision(trade_event, position, current_positions, settings) do decision -> generate_decisions( rest, [{decision, position} | generated_results], trade_event, settings ) end end At this moment, the generate_decisions/4 can look like overengineered Enum.map/2 function, but we are actually preparing the ground for the consequent updates later in this chapter(to get the rest of the functionality running). It’s important to note that we are now passing four arguments into the generate_decision function - we added current_positions and settings - those will be required in the further updates as it was mentioned above. At this moment though, we will update all the generate_decision/2 clauses to include two additional arguments: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{...}, %Position{ ... }, _positions, # <= add this 8 times _settings # <= add this 8 times ) do Now back to the main execute/3 function where we are calling execute_decision/3, which we need to update as well(all clauses): # /apps/naive/lib/naive/strategy.ex defp execute_decision( {...}, %Position{ ... } = position, _settings # <= added 7 times ) do The final function that gets called from the execute/3 function is parse_results/1, which will aggregate all the results into a single tuple: # /apps/naive/lib/naive/strategy.ex def parse_results([_ | _] = results) do results |> Enum.map(fn {:ok, new_position} -> new_position end) |> then(&{:ok, &1}) end At this moment, we should be able to run our code: $ iex -S mix ... iex(1)> Naive.start_trading("XRPUSDT") ... iex(2)> Streamer.start_streaming("XRPUSDT") 21:29:17.998 [info] Starting streaming XRPUSDT trade events ... 21:29:21.037 [info] Position (XRPUSDT/1651696014179): Placing a BUY order @ 0.64010000, quantity: 31.00000000 21:29:21.037 [error] Task #PID<0.10293.0> started from #PID<0.480.0> terminating ** (stop) exited in: GenServer.call(:"Elixir.Naive.Leader-XRPUSDT"... So we have a trader that start and places a buy order but then it tries to update the leader with it’s new state - we can update the execute_decision/3 function to drop the updates(in all of the clauses): # /apps/naive/lib/naive/strategy.ex defp execute_decision( ... ) do ... # convert the below: new_position = %{position | buy_order: order} @leader.notify(:trader_state_updated, new_position) {:ok, new_position} # to: {:ok, %{position | buy_order: order}} end Apply similar changes to all the clauses of the execute_decision/3 to get rid of the references to the @leader - remember to remove the module’s attribute as well, as we won’t need it anymore. Important note - one of those references to the @leader will be the notification that rebuy was triggered: # /apps/naive/lib/naive/strategy.ex @leader.notify(:rebuy_triggered, new_position) At this moment, remove that reference as well. We will get back to the rebuy functionality in the next section. We can now rerun our code: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 21:59:19.836 [info] Position (ETHUSDT/1651697959836): Placing a BUY order @ 2945.31000000, quantity: 0.06790000 21:59:46.997 [info] Position (ETHUSDT/1651697959836): The BUY order is now partially filled 21:59:46.997 [info] Position (ETHUSDT/1651697959836): The BUY order is now filled. Placing a SELL order @ 2947.66000000, quantity: 0.06790000 22:00:21.631 [info] Position (ETHUSDT/1651697959836): The SELL order is now partially filled 22:00:21.734 [info] Position (ETHUSDT/1651697959836): Trade cycle finished 22:00:21.737 [error] GenServer {:naive_traders, "ETHUSDT"} terminating ** (FunctionClauseError) no function clause matching in anonymous fn/1 in Naive.Strategy.parse_results/1 (naive 0.1.0) lib/naive/strategy.ex:56: anonymous fn(:exit) in Naive.Strategy.parse_results/1 We can see that our trader process can now go through the whole trade cycle, but it fails to start a new position after the first trade cycle finishes and returns :exit. To fix this issue, we need to return :finished instead of :exit from the generate_decision/3 clause responsible for matching end of the trade cycle: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{}, %Position{ sell_order: %Binance.OrderResponse{ status: "FILLED" } }, _positions, _settings ) do :finished # <= updated end This decision will end up inside the execute_decision/3 where previously we were returning :exit atom, which was causing an error - let’s move this clause to be the last clause and update its body to generate a fresh state instead of returning a dummy atom: # /apps/naive/lib/naive/strategy.ex defp execute_decision( :finished, # <= previously :exit; updated %Position{ id: id, symbol: symbol }, settings # <= now used ) do new_position = generate_fresh_position(settings) # <= added @logger.info("Position (#{symbol}/#{id}): Trade cycle finished") {:ok, new_position} # <= updated end At this moment, our trader process should be able to run across multiple trade cycles one after another: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 22:46:46.568 [info] Position (ETHUSDT/1651697959836): Trade cycle finished 22:46:46.577 [info] Position (ETHUSDT/1651697959836): Placing a BUY order @ 2945.31000000, quantity: 0.06790000 This finishes direct changes related to making the trader/strategy work with multiple positions, but it lacks all the features that the Naive.Leader offered. We will now iterate on this code to bring that missing functionality. 20.5 Retrofitting the “shutdown” functionality Previously, the shutdown logic was scattered around in multiple places inside the Naive.Leader, for example, when the rebuy was triggered - making sure that new Trader processes won’t get started in the “shutdown” state. Now, we have an opportunity to make the shutdown functionality part of our strategy. We will start by modifying the DynamicTraderSupervisor where we will update the shutdown_worker/1 function to call the Naive.Trader instead of the Naive.Leader: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = update_status(symbol, "shutdown") Trader.notify(:settings_updated, settings) # <= updated {:ok, settings} end Now, the Trader will handle updating the settings, which we will add next, but before we do that, we should move the update_status/2 function into the Naive.Strategy as it will be used from both the DynamicTraderSupervisor and the Naive.Strategy: # /apps/naive/lib/naive/strategy.ex def update_status(symbol, status) # <= updated to public when is_binary(symbol) and is_binary(status) do @repo.get_by(Settings, symbol: symbol) # <= updated to use @repo |> Ecto.Changeset.change(%{status: status}) |> @repo.update() # <= updated to use @repo end Now we need to update the DynamicTraderSupervisor module to call the update_status/2 from the Naive.Strategy module: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex alias Naive.Strategy ... def start_worker(symbol) do ... Strategy.update_status(symbol, "on") # <= updated .. def stop_worker(symbol) do ... Strategy.update_status(symbol, "off") # <= updated ... def shutdown_worker(symbol) when is_binary(symbol) do ... {:ok, settings} = Strategy.update_status(symbol, "shutdown") # <= updated 20.5.1 Handling updated settings We can now move on to the Naive.Trader module, where we need to add a new notify/2 interface function: # /apps/naive/lib/naive/trader.ex def notify(:settings_updated, settings) do call_trader(settings.symbol, {:update_settings, settings}) end ... defp call_trader(symbol, data) do case Registry.lookup(@registry, symbol) do [{pid, _}] -> GenServer.call( pid, data ) _ -> Logger.warning("Unable to locate trader process assigned to #{symbol}") {:error, :unable_to_locate_trader} end end The notify/2 function acts as a part of the public interface of the Naive.Trader module. It uses the call_trader/2 helper function to abstract away looking up the Trader process from the Registry and making a GenServer.call. Besides the “looking up” part being an implementation detail that should be abstracted, we will also need to look up traders’ PIDs to provide other functionalities in the upcoming sections. As we are making a call to the trader process, we need to add a callback: # /apps/naive/lib/naive/trader.ex def handle_call( {:update_settings, new_settings}, _, state ) do {:reply, :ok, %{state | settings: new_settings}} end 20.5.2 Updating the Naive.Strategy to honour the “shutdown” state We updated all of the modules to update the settings inside the %State{} of the Trader process. That’s the first step, but now we need to modify our strategy to act appropriately. The first step will be to update the generate_decision/4 clause that handles the rebuy being triggered to take under consideration the settings.status: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{ price: current_price }, %Position{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false }, _positions, settings # <= updated ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) && settings.status != "shutdown" do # <= updated :rebuy else :skip end end Another clause that we need to update is the one responsible for matching end of the trading cycle: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{}, %Position{ sell_order: %Binance.OrderResponse{ status: "FILLED" } }, _positions, settings # <= updated ) do if settings.status != "shutdown" do # <= updated :finished else :exit # <= new decision end end As we added a new :exit decision that we need to handle inside the generate_decisions/4 - it needs to remove this decision from the list of generated decisions: # /apps/naive/lib/naive/strategy.ex def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do ... case generate_decision(trade_event, position, current_positions, settings) do :exit -> generate_decisions(rest, generated_results, trade_event, settings) decision -> ... ... Inside the recursive function, we are skipping all the positions that ended up with the :exit decisions. This will slowly cause the list of positions to drain to an empty list, which will cause the parse_results/1 function to fail(as it expects non-empty list). We will add a new first clause to match the empty list of positions and return the :exit atom: # /apps/naive/lib/naive/strategy.ex def parse_results([]) do # <= added clause :exit end def parse_results([_ | _] = results) do ... end In the end, the :exit atom will cause the Naive.Trader module to stop the process. The final step will be to update the Naive.Trader to log a message and update the status to \"off\" before exiting the process: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do ... case Naive.Strategy.execute(trade_event, state.positions, state.settings) do ... :exit -> {:ok, _settings} = Strategy.update_status(trade_event.symbol, "off") Logger.info("Trading for #{trade_event.symbol} stopped") {:stop, :normal, state} We can test this by running the following: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(4)> Naive.start_trading("ETHUSDT") ... iex(4)> Naive.shutdown_trading("ETHUSDT") 22:35:58.929 [info] Shutdown of trading on ETHUSDT initialized 23:05:40.068 [info] Position (ETHUSDT/1651788334058): The SELL order is now partially filled 23:05:40.123 [info] Trading for ETHUSDT stopped That finishes the shutdown functionality. As mentioned previously, one after another, positions will complete their trading cycles, and the whole process will exit at the end. 20.6 Updating the Strategy to handle rebuys Previously, both the Trader and the Leader were involved in the rebuy functionality. As now we removed the Leader, it’s an excellent opportunity to move as much as possible of that logic into our strategy. We will start by updating the generate_decision/4 clause responsible for matching the rebuy scenario. We will take into consideration the number of currently open positions(this check was previously done inside the Naive.Leader): # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{ price: current_price }, %Position{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false }, positions, # <= updated settings ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) && settings.status != "shutdown" && length(positions) < settings.chunks do # <= added :rebuy else :skip end end Now we need to deal with the :rebuy decision(previously, we removed the logic notifying the Naive.Leader about the rebuy being triggered). In case of rebuy decision we need to add a new position to the positions list which can be done by modifying the generate_decisions/4 function: # /apps/naive/lib/naive/strategy.ex def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do ... case generate_decision(trade_event, position, current_positions, settings) do :exit -> ... :rebuy -> generate_decisions( rest, [{:skip, %{position | rebuy_notified: true}}, {:rebuy, position}] ++ generated_results, trade_event, settings ) # ^^^^^ added decision -> ... In the case of the :rebuy decision, we are updating the rebuy_notified of the position that triggered it, as well as adding another position to the list with the :rebuy decision(it’s the same position that triggered rebuy but we will ignore it further down the line). The final step will be to update the execute_decision/3 clause that matches the :rebuy decision to generate_fresh_position/1, log and return that newly created position: # /apps/naive/lib/naive/strategy.ex defp execute_decision( :rebuy, %Position{ id: id, symbol: symbol }, # <= position removed settings # <= updated ) do new_position = generate_fresh_position(settings) # <= updated @logger.info("Position (#{symbol}/#{id}): Rebuy triggered. Starting new position") # <= updated {:ok, new_position} # <= updated end We updated the whole function body as now it deals with initialising a new position instead of just flipping the rebuy_triggered flag inside the original position. We can now run the strategy to confirm that rebuy starts new positions: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 18:00:29.872 [info] Position (ETHUSDT/1651856406828): Rebuy triggered. Starting new position 18:00:29.880 [info] Position (ETHUSDT/1651856429871): Placing a BUY order @ 13.39510000, quantity: 14.93000000 The above shows that a single buy position can trigger rebuy, starting a new position immediately placing another buy order. At this moment the integration tests should already be passing, but first, we need to fix the Naive.TraderTest a bit to make the test code compile: # /apps/naive/test/naive/trader_test.exs defp dummy_trader_state() do %Naive.Strategy.Position{ # <= updated That’s just the bare minimum as this test won’t run, but Elixir would not be able to find the :id attribute inside the State struct at the compilation time. We can now run the integration tests: $ MIX_ENV=integration mix test.integration ... Finished in 7.2 seconds (0.00s async, 7.2s sync) 2 tests, 0 failures, 1 excluded Yay! We reached the point where our strategy took over all the functionality that the Naive.Leader provided. 20.7 Fetching active positions Previously, we were able to figure out the number of currently open positions by looking at the supervision tree, but now there’s just a single trader process with possibly multiple open positions. To aid observability of the state of our trading on the symbols, we will add an interface that can be used to fetch the currently open positions of the trader process. We will start with the interface itself. It will take a symbol to be able to find the trader responsible for it: # /apps/naive/lib/naive.ex alias Naive.Trader ... def get_positions(symbol) do symbol |> String.upcase() |> Trader.get_positions() end Now the trader’s interface function will forward the symbol to the GenServer.call/2 to the actual process Naive.Trader process responsible for trading on that symbol: # /apps/naive/lib/naive/trader.ex def get_positions(symbol) do call_trader(symbol, {:get_positions, symbol}) end As we need to look up the PID of the trader process in the Registry, we can use the same call_trader/2 helper as in the case of the notify/2 function. The message will get sent to the Trader process, where we need to add a callback that will return all the current positions: # /apps/naive/lib/naive/trader.ex def handle_call( {:get_positions, _symbol}, _, state ) do {:reply, state.positions, state} end We can now test fetching currently open positions by running: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... iex(3)> Naive.get_positions("ETHUSDT") [ %Naive.Strategy.Position{ ... }, %Naive.Strategy.Position{ ... }, ... ] We can see that we now have a better overview of what’s happening. Previously we needed to go to the database as the state was shared between multiple Trader processes. Now everything is in one place, which we could leverage to load the initial state for some frontend dashboards(subsequent positions’ updates could be done by listening to the PubSub topic and pushing diffs to the browser via WebSocket). 20.8 Tidying up Let’s tidy up the codebase start with removing the /apps/naive/lib/naive/leader.ex and /apps/naive/lib/naive/symbol_supervisor.ex as we don’t need them anymore. This will cause problems with our mocks that we need to update in the test helper: # /apps/naive/test/test_helper.exs Mox.defmock(Test.Naive.LeaderMock, for: Naive.Leader) # <= remove Our integration test will now run again and pass. Sadly that won’t be the case for our unit tests. We will revisit the mocking and unit tests in the next chapter, where we will once again look into how we should structure our code to be more testable and “mockable”. 20.9 Final thoughts In this chapter, we gathered parts of our strategy that were spread across multiple processes and put them into the Naive.Strategy module. Furthermore, we made efforts to separate parts of the strategy that are pure from side-effectfull code, which we pushed to the edge. It should be visible that this way, we can cover the vast amount of logic with simple and easy to understand tests that don’t require mocking or setup. In the next chapter, we will look into how we could improve the testing of the parts “pushed to the edge”(side effects). [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["layers-of-abstraction.html", "Chapter 21 Layers of abstraction 21.1 Objectives 21.2 Admitting the simplification 21.3 Abstracting the exchange 21.4 Mimicking the reality 21.5 Swapping back to attributes", " Chapter 21 Layers of abstraction 21.1 Objectives admitting the simplification abstracting the exchange mimicking the reality swapping back to attributes 21.2 Admitting the simplification There comes a time when I need to admit to something that I’ve learned on the way as I was writing this book and was misused throughout. When we were using the Mox package, we were disappointed that most packages don’t provide behaviours we could use in our tests(to mock the actual implementations). To fix that, we were creating behaviours for 3rd party packages we are using, like Binance or even Ecto.Repo. This approach felt weird, and it should, as I believe that was not the intended usage of the Mox package. Instead, we should introduce an additional layer(of abstraction) on top of the 3rd party modules we are using. A typical example could be abstracting dealing with an exchange to an behaviour and providing different implementations(for example, one could be wrapping the Binance module): In the example above, we will introduce a new behaviour module called Core.Exchange that would define the standard way to interact with any exchange. As this will be a generic exchange behaviour, it needs to accept and return generic structs(we will need to define those as well). We will also create a new Core.Exchange.Binance module(wrapping up the Binance module) and update the BinanceMock module. Both will implement the Core.Exchange behaviour. In this chapter, we will look into the intended way/scenario for using the Mox package, its advantages and disadvantages and go beyond and look into alternatives. 21.3 Abstracting the exchange First, we will look at an intended use case for the Mox module, as mentioned above. 21.3.1 Defining the Core.Exchange behaviour We will start by creating a new file /apps/core/lib/core/exchange.ex together with a new module inside it: # /apps/core/lib/core/exchange.ex defmodule Core.Exchange do end Now, based on how we currently interact with the Binance module inside the Naive.Strategy, we can define the following callback functions: order_limit_buy/3 - almost the same as the Binance.order_limit_buy/4, just skipped the optional argument # /apps/core/lib/core/exchange.ex @callback order_limit_buy(symbol :: String.t(), quantity :: number(), price :: number()) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} order_limit_sell/3 - almost the same as the Binance.order_limit_sell/4, just skipped the optional argument # /apps/core/lib/core/exchange.ex @callback order_limit_sell(symbol :: String.t(), quantity :: number(), price :: number()) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} get_order/3 - the same as the Binance.get_order/3 # /apps/core/lib/core/exchange.ex @callback get_order( symbol :: String.t(), timestamp :: non_neg_integer(), order_id :: non_neg_integer() ) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} All of the above callbacks rely on the Core.Exchange.Order struct, which we will add now inside the Core.Exchange module: # /apps/core/lib/core/exchange.ex defmodule Order do @type t :: %__MODULE__{ id: non_neg_integer(), symbol: String.t(), price: number(), quantity: number(), side: :buy | :sell, status: :new | :filled, timestamp: non_neg_integer() } defstruct [:id, :symbol, :price, :quantity, :side, :status, :timestamp] end The above struct is a simplification of the Binance.Order struct limited to just the fields we are using in our strategy. Additionally, we use the Binance module to fetch symbol filters inside the Naive.Strategy (we actually fetch the whole exchange info and then dig inside to find our filters) - we will create a dedicated struct for those filters: # /apps/core/lib/core/exchange.ex # add below inside the Core.Exchange module defmodule SymbolInfo do @type t :: %__MODULE__{ symbol: String.t(), tick_size: number(), step_size: number() } defstruct [:symbol, :tick_size, :step_size] end @callback fetch_symbol_filters(symbol :: String.t()) :: {:ok, Core.Exchange.SymbolInfo.t()} | {:error, any()} The final usage of the Binance module comes from the seed scripts, where we fetch the exchange info just to get the list of the supported currencies. We will make getting a list of supported currencies part of our behaviour: # /apps/core/lib/core/exchange.ex # add below inside the Core.Exchange module @callback fetch_symbols() :: {:ok, [String.t()]} | {:error, any()} This finishes the definition of the Core.Exchange behaviour. It should consist of five callback functions( fetch_symbols/0, fetch_symbol_filters/1, get_order/3, order_limit_buy/3 and order_limit_sell/3) together with two structs(Order and SymbolInfo). 21.3.2 Implementation of the Core.Exchange.Binance module As we defined the behaviour, we can now wrap the production implementation(the Binance module) inside a module that will implement that behaviour. We will start by creating a new directory called “exchange” inside the apps/core/lib/core directory, together with a new file called binance.ex. Inside it, we will define a module that will implement the Core.Exchange behaviour: # /apps/core/lib/core/exchange/binance.ex defmodule Core.Exchange.Binance do @behaviour Core.Exchange end Now we are obliged to implement all functions defined in the behaviour, starting with the fetch_symbols/0: # /apps/core/lib/core/exchange/binance.ex alias Core.Exchange @impl Core.Exchange def fetch_symbols() do case Binance.get_exchange_info() do {:ok, %{symbols: symbols}} -> symbols |> Enum.map(& &1["symbol"]) |> then(&{:ok, &1}) error -> error end end As we can see - the case statement wraps the call to the Binance module, and either we evaluate further business logic or forward the error so the “consumer” of our library can decide what to do with the error condition. This pattern will appear in all our functions as the Core.Exchange.Binance module is our own “library” module. Let’s continue with implementing the remaining functions defined in the behaviour: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def fetch_symbol_filters(symbol) do case Binance.get_exchange_info() do {:ok, exchange_info} -> {:ok, fetch_symbol_filters(symbol, exchange_info)} error -> error end end defp fetch_symbol_filters(symbol, exchange_info) do symbol_filters = exchange_info |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") %Exchange.SymbolInfo{ symbol: symbol, tick_size: tick_size, step_size: step_size } end The fetch_symbol_filters/1 function follows the previously discussed pattern. The fetch_symbol_filters/2, on the other hand, is a modified copy of the merge_filters_into_settings/2 function from the Naive.Strategy module is now returning the Exchange.SymbolInfo struct. Another function to be implemented to fulfil the behaviour is get_order/3: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def get_order(symbol, timestamp, order_id) do case Binance.get_order(symbol, timestamp, order_id) do {:ok, %Binance.Order{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, symbol: order.symbol, price: order.price, quantity: order.orig_qty, side: side_to_atom(order.side), status: status_to_atom(order.status), timestamp: order.time }} error -> error end end defp side_to_atom("BUY"), do: :buy defp side_to_atom("SELL"), do: :sell defp status_to_atom("NEW"), do: :new defp status_to_atom("FILLED"), do: :filled As in the case of the previously implemented functions, the get_order/3 implementation wraps the Binance’s function inside the case statement. To satisfy the Core.Exchange behaviour, it needs to return the Exchange.Order struct - hence the conversion. It also needs to convert the string side and status fields to atoms before assigning them to the struct(that’s the role of the status_to_atom and side_to_atom helper functions). The final two functions to be implemented will be the order_limit_buy/3 and order_limit_sell/3: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def order_limit_buy(symbol, quantity, price) do case Binance.order_limit_buy(symbol, quantity, price, "GTC") do {:ok, %Binance.OrderResponse{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, price: order.price, quantity: order.orig_qty, side: :buy, status: :new, timestamp: order.transact_time }} error -> error end end @impl Core.Exchange def order_limit_sell(symbol, quantity, price) do case Binance.order_limit_sell(symbol, quantity, price, "GTC") do {:ok, %Binance.OrderResponse{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, price: order.price, quantity: order.orig_qty, side: :sell, status: :new, timestamp: order.transact_time }} error -> error end end That finishes our first implementation of the Core.Exchange behaviour. It will be used in the production by our Naive.Strategy, but before we will update it, let’s update the BinanceMock module to implement the same behaviour for testing/backtesting. 21.3.3 Updating the BinanceMock module to implement the Core.Exchange behaviour The BinanceMock module must implement the Core.Exchange behaviour. It will (at compile time) guarantee that both Core.Exchange.Binance and BinanceMock share a common interface that can be used by the Naive.Strategy. First, we will start by declaring that the BinanceMock actually implements the Core.Exchange behaviour: # /apps/binance_mock/lib/binance_mock.ex defmodule BinanceMock do @behaviour Core.Exchange # <= added Next, we can replace all the aliases to the Binance structs with a single alias to the Core.Exchange module: # /apps/binance_mock/lib/binance_mock.ex alias Core.Exchange Don’t forget to update all references to the Binance.Order with Exchange.Order module. As the behaviour is now defined in the Core.Exchange module, we can remove all @type and @callback attributes. Moving on, we will replace the get_exchange_info/0(together with it’s get_cached_exchange_info/0 helper function) with fetch_symbols/0 and fetch_symbol_filters/1(and their helper functions): # /apps/binance_mock/lib/binance_mock.ex def fetch_symbols() do case fetch_exchange_info() do {:ok, %{symbols: symbols}} -> symbols |> Enum.map(& &1["symbol"]) |> then(&{:ok, &1}) error -> error end end def fetch_symbol_filters(symbol) do case fetch_exchange_info() do {:ok, exchange_info} -> {:ok, fetch_symbol_filters(symbol, exchange_info)} error -> error end end defp fetch_exchange_info() do case Application.get_env(:binance_mock, :use_cached_exchange_info) do true -> get_cached_exchange_info() _ -> Binance.get_exchange_info() end end defp get_cached_exchange_info do File.cwd!() |> Path.split() |> Enum.drop(-1) |> Kernel.++([ "binance_mock", "test", "assets", "exchange_info.json" ]) |> Path.join() |> File.read() end defp fetch_symbol_filters(symbol, exchange_info) do # <= this is a copy of `Core.Exchange.Binance.fetch_symbol_filters/2` function end There are a few additional helpers above, and it got a bit long - let’s unpack it. First, both the fetch_symbols/0 and fetch_symbol_filters/1 look very similar to the ones we implemented for the Core.Exchange.Binance module. The main difference here is that we support cached exchange info by introducing the fetch_exchange_info/0 function, which branches out to either using the Binance module or the get_cached_exchange_info/0 function. The latter was updated to return the raw data instead of the Binance.ExchangeInfo struct. Next, there’s the get_oder/3 function - as it’s working in the same way as per our behaviour, we will leave it as it is. The final two functions to update will be the order_limit_buy/4 and order_limit_sell/4, which will now become three argument functions: # /apps/binance_mock/lib/binance_mock.ex def order_limit_buy(symbol, quantity, price) do order_limit(symbol, quantity, price, "BUY") end def order_limit_sell(symbol, quantity, price) do order_limit(symbol, quantity, price, "SELL") end In the above functions, we simply skipped the fourth arguments to fulfil the behaviour. The changes to different structs will have a ripple effect in other parts of the BinanceMock module: # /apps/binance_mock/lib/binance_mock.ex def generate_fake_order(...) do ... %Exchange.Order{ id: order_id, symbol: symbol, price: price, quantity: quantity, side: side_to_atom(side), status: status_to_atom("NEW"), timestamp: current_timestamp } # <= keys updated & `.new` dropped end defp side_to_atom("BUY"), do: :buy # <= added defp side_to_atom("SELL"), do: :sell # <= added defp status_to_atom("NEW"), do: :new # <= added defp status_to_atom("FILLED"), do: :filled # <= added def handle_call( {:get_order, symbol, time, order_id}, ... ) do ... |> Enum.find( &(&1.symbol == symbol and &1.timestamp == time and # <= field updated &1.id == order_id) # <= field updated ) end def handle_info( %TradeEvent{} = trade_event, ... ) do ... filled_buy_orders = ... |> Enum.map(&Map.replace!(&1, :status, :filled)) # <= changed to atom ... filled_sell_orders = ... |> Enum.map(&Map.replace!(&1, :status, :filled)) # <= changed to atom ... end defp order_limit(symbol, quantity, price, side) do ... {:ok, fake_order} # <= no need to convert between structs any more end # remove the `convert_order_to_order_response/1` function - not required anymore # and finally ;) defp convert_order_to_event(%Exchange.Order{} = order, time) do %TradeEvent{ event_time: time - 1, symbol: order.symbol, trade_id: Integer.floor_div(time, 1000), price: order.price, quantity: order.quantity, buyer_order_id: order.id, seller_order_id: order.id, trade_time: time - 1, buyer_market_maker: false } # ^^^^^^= updated mapping end The above changes finish the modifications to the BiananceMock. The module now correctly implements the behaviour. 21.3.4 Updating the Naive.Strategy We can now move on to the code that will use our implementations of the Core.Exchange behaviour - the Naive.Strategy module. We will start by adding an alias to the Core.Exchange at the top of the module: # /apps/naive/lib/naive/strategy.ex alias Core.Exchange Next, we can rename the configuration based @binance_client to @exchange_client and update references to it throughout the module: # /apps/naive/lib/naive/strategy.ex @exchange_client Application.compile_env(:naive, :exchange_client) Besides the above, we are now relying on the generic structs, so we need to update all references to the Binance.OrderResponse and Binance.Order modules with the Exchange.Order (including updating all field names) - for example: # /apps/naive/lib/naive/strategy.ex # from: %Position{ buy_order: %Binance.Order{ order_id: order_id, status: "FILLED" }, sell_order: Binance.Order{} }, # to: %Position{ buy_order: %Exchange.Order{ # <= struct updated id: order_id, # <= key updated status: :filled # <= updated to atom }, sell_order: %Exchange.Order{} } # rename cheatsheet: # order_id to id (do not use "global" file replace) # orig_qty to quantity ("global" file replace safe) # transact_time to timestamp ("global" file replace safe) # "FILLED" to :filled ("global" file replace safe) As the behaviour’s interface(public functions) differs from the Binance module, we need to update all calls that we simplified: # /apps/naive/lib/naive/strategy.ex {:ok, %Exchange.Order{} = order} = @exchange_client.order_limit_buy(symbol, quantity, price) ... {:ok, %Exchange.Order{} = order} = @exchange_client.order_limit_sell(symbol, quantity, sell_price) As of now, we will deal only with the Exchange.Order structs instead a pair of Binance.OrderResponse and Binance.Order, we can simplify the existing two clauses of broadcast_order/1 into a single one(and remove the convert_to_order/1 function): # /apps/naive/lib/naive/strategy.ex defp broadcast_order(%Exchange.Order{} = order) do @pubsub_client.broadcast( Core.PubSub, "ORDERS:#{order.symbol}", order ) end The final change to the Naive.Strategy module will be to update the fetch_symbol_settings/1 function (and remove the merge_filters_into_settings/3 function): # /apps/naive/lib/naive/strategy.ex def fetch_symbol_settings(symbol) do {:ok, filters} = @exchange_client.fetch_symbol_filters(symbol) db_settings = @repo.get_by!(Settings, symbol: symbol) Map.merge( filters |> Map.from_struct(), db_settings |> Map.from_struct() ) end The function is now much more straightforward as we use the fetch_symbol_filters/1 function implemented as a part of the Core.Exchange behaviour. 21.3.5 Updating the seed scripts The other places we use the exchange are seed scripts that we need to update. First inside the Naive application: # /apps/naive/priv/seed_settings.exs exchange_client = Application.compile_env(:naive, :exchange_client) ... {:ok, symbols} = exchange_client.fetch_symbols() ... maps = symbols |> Enum.map(&(%{base_settings | symbol: &1})) We no longer use the binance_client but exchange_client instead - in the same fashion as inside the Naive.Strategy module. Both implementations provide the fetch_symbols/0 function, which returns a list of symbols - hence the change inside the Enum/2 function. We will follow up with changes to the seeding script of the Streamer application(I will skip listing the changes here as they are the same as in the case of the Naive application). At this moment, we can change the configuration to make the Naive.Strategy work: # /config/config.ex config :streamer, exchange_client: BinanceMock, # <= key updated config :naive, exchange_client: BinanceMock, # <= key updated # /config/prod.exs config :naive, exchange_client: Core.Exchange.Binance # <= key and module updated config :streamer, exchange_client: Core.Exchange.Binance # <= key and module updated # /config/test.exs config :naive, exchange_client: Test.BinanceMock, # <= key updated 21.3.6 Manual testing after the refactoring We can now test that Naive.Strategy works: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Naive.start_trading("XRPUSDT") ... 21:42:12.813 [info] Position (XRPUSDT/1662842530254): Placing a BUY order @ 0.35560000, quantity: 562.00000000 21:42:15.280 [info] Position (XRPUSDT/1662842530254): The BUY order is now partially filled 21:42:15.281 [info] Position (XRPUSDT/1662842530254): The BUY order is now filled. Placing a SELL order @ 0.35580000, quantity: 562.00000000 21:42:15.536 [info] Position (XRPUSDT/1662842530254): The SELL order is now partially filled 21:42:15.593 [info] Position (XRPUSDT/1662842530254): Trade cycle finished The above output confirms that we have a full working trading flow using either Core.Exchange.Binance or BinanceMock. 21.3.7 Storing the data As we are now using generic structs like the Core.Exchange.Order, all data storage-related code needs to be updated. We will start by updating the migration script to store only limited passed data: # /apps/data_warehouse/priv/repo/migrations/20210222224522_create_orders.exs def change do create table(:orders, primary_key: false) do add(:id, :bigint, primary_key: true) add(:symbol, :text) add(:price, :text) add(:quantity, :text) add(:side, :text) add(:status, :text) add(:timestamp, :bigint) timestamps() end end A lot of fields got removed/renamed, including the primary key. We will follow up by updating the schema for that table: # /apps/data_warehouse/lib/data_warehouse/schema/order.ex @primary_key {:id, :integer, autogenerate: false} # <= column updated schema "orders" do field(:symbol, :string) field(:price, :string) field(:quantity, :string) field(:side, :string) field(:status, :string) field(:timestamp, :integer) timestamps() end The schema was updated to mirror the new shape of the orders db table. We can now progress to the Worker, where we will start to use the Core.Exchange based structs: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex alias Core.Exchange # <= alias added ... def handle_info(%Exchange.Order{} = order, state) do data = order |> Map.from_struct() |> Map.merge(%{ side: atom_to_side(order.side), status: atom_to_status(order.status) }) struct(DataWarehouse.Schema.Order, data) |> DataWarehouse.Repo.insert( on_conflict: :replace_all, conflict_target: :id # <= column updated ) ... defp atom_to_side(:buy), do: "BUY" defp atom_to_side(:sell), do: "SELL" defp atom_to_status(:new), do: "NEW" defp atom_to_status(:filled), do: "FILLED" The Worker will now pattern matches on the Core.Exchange.Order struct instead of Binance.Order as before. Inside the callback, we simplified the mapping to the schema struct and updated the conflict to the renamed id column. Finally, we added the helper functions to convert status and side atoms to strings. 21.3.8 The Mox approach summary We didn’t yet look into updating our tests, but instead of focusing on that, we will chat about our implementation. First, it’s worth stressing that it required multiple changes to many parts of the system spanning from the Naive application through Streamer (seeding) and ending in the DataWarehouse application. More importantly, we needed to define a behaviour. It gives us a compile-time guarantee, but on the other hand, we were pushed to define it very early. Let me explain. Up to this moment, we have been using only the Binance module. We didn’t have an opportunity to work with other modules/exchanges. In fact, we didn’t want to create an Exchange level abstraction. We were happy with using the Binance module, and we added the behaviour just to be able to use the Mox package to mock it inside our tests. All of this feels like a really heavy over-engineering just to be able to test. Furthermore, as we defined the behaviour, we needed to define the generic structs that we based on the ones from the Binance module. We have never seen examples of structs from other packages, so we took only fields that we are using in our strategy to limit the possibility of missing data from another exchange in the future. The knock-on effect will be that we are already missing valuable data in the database as well as adding any new exchanges in the future may require updates to the behaviour, behaviour’s existing implementations and most of the code that uses it (like the Naive.Strategy). Additionally, we returned the Binance’s error messages straight to the user of our abstraction(Naive.Strategy). We should be converting those to generic errors, but we don’t have a clue about other exchanges and the errors they could raise. At this moment, abstracting our code into behaviour+implementations is uneducated over-engineering and simply asking for troubles in the future. What’s the alternative? The first thing that comes to mind would be to look for some “standard” that could be leveraged to build our behaviour/define structs. For cryptocurrency exchanges, that will be “CCXT” - it’s an open-source “library” available for Python, JavaScript and PHP. We could look further and look for an Elixir implementation of the CCXT package and find the package named ccxtex. It’s a wrapper around the JavaScript version of the CCXT package. Using the above(either the ccxtex package or ccxt as a “blueprint”) instead of trying to figure out our own behaviour based on our limited knowledge about exchanges would most certainly let us avoid continuous updates to our code. Those updates, coupled with the fact that we would add the behaviour just to be able to test the implementation, put usage of the Mox package in serious doubt. The source code up to this moment can be found at Github We will stop here and revert to the source code from the end of the 20th chapter. Instead of leaving something we are not prepared to continue with, we will look into alternative ways to test our strategy. 21.4 Mimicking the reality In this section, we will look into using the Mimic package to mock the Binance module to test our Naive.Strategy. The advantage of using the Mimic package is that we don’t need to define behaviours to mock our modules. Let’s kick this off by swapping the mox package to the mimic package in the dependencies of the Naive application: # /apps/naive/mix.exs defp deps do [ ... {:mimic, "~> 1.7", only: [:test, :integration]}, ... ] end Don’t forget to run mix deps.get to resolve the dependencies. 21.4.1 Updating the Naive.Strategy Before we dive into writing new tests, we can update the Naive.Strategy module. The mimic module doesn’t require us to inject dependencies into module attributes based on config, so we can remove them: # /apps/naive/lib/naive/strategy.ex # remove the below lines @binance_client Application.compile_env(:naive, :binance_client) @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) @repo Application.compile_env(:naive, :repo) We will switch back to using modules’ names as before. We will update all references to attributes throughout the module with corresponding hardcoded module names: # /apps/naive/lib/naive/strategy.ex # change @logger to Logger # change @binance_client to Binance # change @pubsub_client to Phoenix.PubSub # change @repo to Repo As we are pointing to Repo instead of Naive.Repo, we need to add an alias at the top of the module: # /apps/naive/lib/naive/strategy.ex alias Naive.Repo [Note: At this moment, we will apply the above changes to the Indicator.Ohlc.Worker and Indicator.Ohlc( apps/indicator/lib/indicator/ohlc/worker.ex and apps/indicator/lib/indicator/ohlc.ex) to avoid breaking the application when we will clean up the config in the next step.] That finishes our conversion to hardcoded module names. As we are no longer basing our module on the configuration, we can remove all redundant configuration keys from the main config.exs file: # /config/config.exs config :core, # <= remove logger: Logger, # <= remove pubsub_client: Phoenix.PubSub # <= remove config :streamer, binance_client: BinanceMock, # <= remove ... config :naive, binance_client: BinanceMock, # <= remove repo: Naive.Repo, # <= remove ... We can now move on to figure out how we are going to test it. 21.4.2 Testing the Naive.Strategy First, we can remove the existing unit tests(apps/naive/test/naive/trader_test.exs) as they are not applicable anymore. Next, we will create a new file apps/naive/test/naive/strategy_test.exs with a skeleton of a test: # /apps/naive/test/naive/strategy_test.exs defmodule Naive.StrategyTest do use ExUnit.Case, async: true use Mimic alias Core.Struct.TradeEvent alias Naive.Strategy # we will add our tests here end As we will stub dependencies using mimic, we need to use it inside the test module. We will be testing the primary entry function, the Naive.Strategy.execute/3, where we will first focus on placing a buy order scenario: # /apps/naive/test/naive/strategy_test.exs @tag :unit test "Strategy places a buy order" do # we will put our code here end The simplest scenario will be to pass hardcoded settings, a fresh position(based on those settings) and a trade event(that will trigger the buy order): # /apps/naive/test/naive/strategy_test.exs settings = %{ symbol: "ABC", chunks: "5", budget: "200", buy_down_interval: "0.2", profit_interval: "0.1", rebuy_interval: "0.5", tick_size: "0.000001", step_size: "0.001", status: :on } {:ok, new_positions} = Naive.Strategy.execute( %TradeEvent{ price: "1.00000" }, [ Strategy.generate_fresh_position(settings) ], settings ) Now, the above call to the Naive.Strategy.execute/3 will cause the Binance.order_limit_buy/4, Phoenix.PubSub.brodcast/3 and Logger.info/1(we will skip this one and get back to it later) functions to be called. We need to mock those functions at the beginning of our test before calling the Naive.Strategy.execute/3 function: # /apps/naive/test/naive/strategy_test.exs expected_order = %Binance.OrderResponse{ client_order_id: "1", executed_qty: "0.000", order_id: "x1", orig_qty: "50.000", price: "0.800000", side: "BUY", status: "NEW", symbol: "ABC" } Binance |> stub( :order_limit_buy, fn "ABC", "50.000", "0.800000", "GTC" -> {:ok, expected_order} end ) Phoenix.PubSub |> stub( :broadcast, fn _pubsub, _topic, _message -> :ok end ) We can use the expected_order above to assert that the Naive.Strategy.execute/3 returned the correct value - the buy_order field should hold the same data as the expected_order. We can add the below assertions at the end of the test: # /apps/naive/test/naive/strategy_test.exs assert (length new_positions) == 1 %{buy_order: buy_order} = List.first(new_positions) assert buy_order == expected_order That finishes the test implementation, but before we will be able to use the mimic module, we need to prepare modules so we can stub them inside tests - here are the new contents of the test helper file: # /apps/naive/test/test_helper.exs Application.ensure_all_started(:mimic) Mimic.copy(Binance) Mimic.copy(Phoenix.PubSub) ExUnit.start() We removed all references to the mox module and replaced them with calls to the Mimic.copy/1 function. We are now ready to run our new test: $ mix test.unit ... 21:49:39.737 [info] Position (ABC/1675460979732): Placing a BUY order @ 0.800000, quantity: 50.000 . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded As we can see, we successfully mocked the Binance and Phoenix.PubSub modules. We can also see that we are getting log messages that we will deal with next. 21.4.3 Logging elephant in the room As we moved back to using the Logger module instead of some dummy implementation, we are now back to square one, seeing logs in our tests. We could go on the route of mocking the Logger module using the Mimic, but actually, there’s a better way to deal with logs in the tests. As ExUnit starts, it allows us to pass options that will modify its behaviour. One of those is capture_log, which, when set to true, will cause ExUnit to hide all log messages - let’s update the test helper script to enable this feature: # /apps/naive/test/test_helper.exs ... ExUnit.start(capture_log: true) Let’s rerun our tests to see the difference: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded We can see that the ExUnit output is now free of any logs. But what if we would like to assert the logged message? We were able to do that using the mox package, as we were mocking and asserting log messages’ contents inside those mocks. ExUnit provides a helper function for that case as well. We will modify our test to capture the log inside it and assert that it logs the correct value (the price of $0.8): # /apps/naive/test/naive/strategy_test.exs import ExUnit.CaptureLog # <= import logging capturing functionality ... test "Strategy places a buy order" do ... {{:ok, new_positions}, log} = with_log(fn -> Naive.Strategy.execute( %TradeEvent{ price: "1.00000" }, [ Strategy.generate_fresh_position(settings) ], settings ) end) assert log =~ "0.8" In the above code, we wrapped our call to the Naive.Strategy.execute/3 into an anonymous function that we passed as an argument to the with_log/1 function. The with_log/1 function returns a tuple containing the result of the passed function and the generated log message(s). We can then assert that the logged message contains the expected value, strengthening our test. We can now rerun our unit test: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded It’s worth noting that we were able to capture the log message even with global capture_log enabled(inside the test helper when starting ExUnit). This gives us ultimate flexibility. None of the logs are displayed, although whenever we need, we can always capture logs inside test cases on a test-by-tas basis. That would wrap up the writing unit tests part. But how will this work with running our code locally(or in “production”) or running integration tests? 21.5 Swapping back to attributes We need to have a way to swap Binance’s implementation between dev/test/integration and prod environments. We can’t use the mimic package to swap the implementation as this is a “running” mode, not some tests. Please note that most of the applications won’t need to change the implementation based on the environment as the 3rd party library/package itself will provide some flags to enable/disable the functionality(like sending emails to newly registered users). Let’s get back to the Naive.Strategy module, where we will bring back the attribute-based @binance_client: # /apps/naive/lib/naive/strategy.ex @binance_client Application.compile_env(:naive, :binance_client) ... @binance_client.order_limit_buy(...) ... @binance_client.order_limit_sell(...) ... @binance_client.get_order(...) ... @binance_client.get_order(...) ... @binance_client.get_exchange_info(...) We need to update all references to the Binance module’s functions to use the @binance_client module’s attribute. As we are already modifying the Naive application, we can follow up by removing the @logger and @pubsub_client module’s attributes in the Naive.Trader: # /apps/naive/lib/naive/trader.ex # remove the below attributes @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) ... # change @logger to Logger # change @pubsub_client to Phoenix.PubSub 21.5.1 Config files We will now move to config files, where we will re-add the binance_client configuration. As previously we will want the BinanceMock to be used everywhere besides production: # /config/config.exs config :streamer, binance_client: BinanceMock # <= add config :naive, binance_client: BinanceMock, # <= add leader: Naive.Leader, # <= remove # /config/prod.exs # stays as it was - pointing to the `Binance` module # /config/test.exs # remove everything besides the `import` It’s important to understand that we don’t need to configure the binance_client inside the test configuration. As we now utilise the mimic package, we can drive mocking from the test level. The knock-on effect of bringing back the environment driven @binance_client is that now we will need to mimic the BinanceMock module instead of Binance for our unit tests. To fix that, we need to update the test helper: # /apps/naive/test/test_helper.exs ... Mimic.copy(BinanceMock) # <= updated from Binance and the unit test: # /apps/naive/test/naive/strategy_test.exs ... BinanceMock # <= updated from Binance |> stub( We needed to change the above as now, in the case of dev and integration, we are using the BinanceMock. After applying the above changes, we can now run the unit tests: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded As well as run the integration tests: $ MIX_ENV=integration mix test.integration . Finished in 7.2 seconds (0.04s async, 7.1s sync) 2 tests, 0 failures, 1 excluded And finally, we are able to run the project: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 22:57:53.834 [info] Position (ETHUSDT/1675724273832): Placing a BUY order @ 1632.82000000, quantity: 0.12240000 In this chapter, we’ve reiterated the ideas behind the mox package, highlighting its shortcomings, especially the push to create needless abstractions(behaviours). We then dropped our changes to show the alternative approach using the ‘mimic’ package, which was way handier and easier to understand. In the end, we realized that to facilitate using different implementations between dev and production, we will need to keep the @binance_client attribute. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] +[["index.html", "Hands-on Elixir & OTP: Cryptocurrency trading bot Preface Limit of Liability/Disclaimer of Warranty PDF & EPUB Preface Who this book is for What this book covers Contributing, Errata and Source code", " Hands-on Elixir & OTP: Cryptocurrency trading bot Kamil Skowron 0.5.2 Preface Want to learn Elixir & OTP by creating a real-world project? With “Hands-on Elixir & OTP: Cryptocurrency trading bot”, you will gain hands-on experience by writing an exciting software project from scratch. We will explore all the key abstractions and essential principles through iterative implementation improvements. We will start by creating a new umbrella application, subscribing to WebSocket streams, implementing a basic trading flow, and focusing on improving it by expanding on the topics like supervision trees, resiliency, refactoring using macros, utilising the Registry, testing and others. This book is 93% complete - chapters 1-21 are finished, and I’ll add more content soon. It’s also a loosely written representation of the Hands-on Elixir & OTP: Cryptocurrency trading bot video course released on YouTube. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0. To get notified about updates to this book just “watch” the source code’s repository, and don’t forget to leave a star: Limit of Liability/Disclaimer of Warranty THIS BOOK IS NOT FINANCIAL ADVICE THE SOFTWARE/BOOK IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE/BOOK OR THE USE OR OTHER DEALINGS IN THE SOFTWARE/BOOK. PDF & EPUB To keep this book up to date and publicly available for people who can’t afford to pay for it, I’ve released it in the HTML format free online at https://www.elixircryptobot.com. The PDF & EPUB formats are available for purchase on Gumroad. Preface In recent years Elixir programming language gained a lot of interest in the industry. Its unmatched parallelisation capabilities are unique and powerful, making it a great candidate for highly concurrent systems like the ones trading assets on exchanges. In this book, we will go through the development process of a cryptocurrency trading bot in Elixir. We will start ground up and chapter by chapter progress with the implementation ending up with a fully-fledged naive trading strategy. We will be designing process supervision trees, describing why specific decisions were taken and how will they impact the system going forward. By any stretch of the imagination, I don’t believe that “this is the only way”(nor even the best way) to create a cryptocurrency trading bot in Elixir. This book focuses more on building a real-life project and iterating over it, taking decisions on the way as it would happen in a real work environment. Some parts will be “perfect” the first time around, but there are also others, where we will make compromises to “get it to working”, and then when the time is right, we will refactor them as we will gain a better understanding of Elixir/OTP and the domain. Who this book is for This book will be an excellent resource for everyone that already knows the basics of Elixir and wants to get a feel of how developing a non-trivial system looks like using it. Readers do not need deep knowledge about cryptocurrencies to follow along, as I will shy away from crypto/trading jargon as well as will explain it whenever it’s unavoidable. This is not a book focused on trading strategies, neither it’s financial advice to trade at all. The main focus of this book is to showcase how the implementation of even complex problems can be achieved in Elixir by simple processes working together in an orchestrated manner. The strategy described in this book is naive and most probably will lose money, but that’s not the point of this book. As we will build up the strategy, we will face a spectrum of problems developers face at work. It’s a great primer if you want to get your first “project” behind your belt. So, if you’ve already gone through the motions and learned Elixir and OTP but still feel like you need to get your hands dirty with a “real problem” to “make it stick”, this book is for you. What this book covers This book is an ongoing project, and at present, it contains the following chapters: Chapter 1 - Stream live cryptocurrency prices from the Binance WSS Stream live cryptocurrency prices (trade events) from the Binance exchange. We will create a new umbrella project and a streamer application inside it starting grounds up. The streamer application will use a Websocket client called WebSockex to connect with the Binance API and receive a live feed. After receiving the event as a JSON string, we will decode it using the jason library and convert it to our data struct. We will see decoded trade events logged to the terminal by the end of the chapter. Chapter 2 - Create a naive trading strategy - single trader without supervision In this chapter, we will create our first naive trading strategy. We will generate another application inside our umbrella called naive. We will put data streamed to our streamer application to good use by sending it over to the naive application. We will start with a very basic solution consisting of a single process called trader that will utilise the GenServer behaviour. It will allow us to go through the complete trading cycle and give us something that “works”. Chapter 3 - Introduce PubSub as a communication method To allow our trading strategy to scale to multiple parallel traders, we need to find a way to distribute the latest prices (trade events) to those multiple traders. We will introduce PubSub to broadcast messages from the streamer(s) to the trader(s). PubSub will allow us to break hardcoded references between applications in our umbrella and become a pattern that we will utilise moving forward. Chapter 4 - Mock the Binance API Besides historical prices (trade events), to perform backtesting, we need to be able to mock placing orders and get trade events back as they are filled. In this chapter, we will focus on developing the solution that will allow our traders to “trade” without contacting the Binance exchange(for people without Binance accounts). This will also allow us to backtest our trading strategy. Chapter 5 - Enable parallel trading on multiple symbols Our basic strategy implementation from the last chapter is definitely too basic to be used in a “production environment” - it can’t be neither scaled nor it is fault-tolerant. In this chapter, we will upgrade our naive strategy to be more resilient. This will require a supervision tree to be created and will allow us to see different supervision strategies in action and understand the motivation behind using and stacking them. Chapter 6 - Introduce a buy_down_interval to make a single trader more profitable At this moment our Naive.Trader implementation will blindly place a buy order at the price of the last trade event. Whenever the Naive.Trader process will finish trade, a new Naive.Trader process will be started and it will end up placing a buy order at the same price as the price of the previous sell order. This will cost us double the fee without gaining any advantage and would cause further complications down the line, so we will introduce a buy_down_interval which will allow the Naive.Trader processes to place a buy order below the current trade event’s price. Chapter 7 - Introduce a trader budget and calculating the quantity Since the second chapter, our Naive.Trader processes are placing orders with a hardcoded quantity of 100. In this chapter, we will introduce a budget that will be evenly split between the Naive.Trader processes using chunks. We will utilize that budget to calculate quantity (to be able to do that we need to fetch further step_size information from the Binance API). Chapter 8 - Add support for multiple transactions per order Our Naive.Trader implementation assumes that our orders will be filled within a single transaction, but this isn’t always the case. In this chapter, we will discuss how could we implement the support for multiple transactions per order and race conditions that could occur between the bot and the Binance API. Chapter 9 - Run multiple traders in parallel With PubSub, supervision tree, buy down and budget in place we can progress with scaling the number of traders. This will require further improvements to our trading strategy like introducing a rebuy_interval. At the end of this chapter, our trading strategy will be able to start and run multiple traders in parallel. Chapter 10 - Fine-tune trading strategy per symbol Currently, the naive strategy works based on settings hardcoded in the leader module. To allow for fine-tuning the naive trading strategy per symbol we will introduce a new database together with the table that will store trading settings. Chapter 11 - Supervise and autostart streaming In the last chapter, we introduced a new database inside the naive application to store default settings, in this chapter we will do the same for the streamer application. Inside the settings, there will be a status flag that will allow us to implement the autostarting functionality on initialization using Task abstraction. Chapter 12 - Start, stop, shutdown, and autostart trading To follow up after autostarting streaming we will apply the same trick to the trading supervision tree using Task abstraction. We will need to introduce a new supervision level to achieve the correct supervision strategy. Chapter 13 - Abstract duplicated supervision code As both the naive and the streamer applications contain almost the same copy-pasted code that allows us to start, stop and autostart workers. We will look into how could we abstract the common parts of that implementation into a single module. We will venture into utilizing the __using__ macro to get rid of the boilerplate. Chapter 14 - Store trade events and orders inside the database To be able to backtest the trading strategy, we need to have historical prices (trade events) and a list of orders that were placed stored in the database, which will be the focus of this chapter. At this moment, the latest prices (trade events) are broadcasted to PubSub topic and traders are subscribing to it. We will create a new application called data_warehouse inside our umbrella that will be responsible for subscribing to the same PubSub topics and storing incoming prices (trade events) in the Postgres database. We will update the Naive.Trader module to broadcast orders as traders will place them. Then we will move on to adding supervision similar to the one from the naive and the streamer applications but this time we will show how we could avoid using both common module and macros by utilizing the Registry module. Chapter 15 - Backtest trading strategy In this chapter, we will be backtesting our trading strategy by developing a publisher inside the DataWarehouse application. It will stream trade events from the database to broadcast them to the TRADE_EVENTS:#{symbol} PubSub topic. It will use the same topic as data would be streamed directly from the Binance. From the trader’s perspective, it won’t any difference and will cause normal trading activity that will be stored inside the database to be analyzed later. Chapter 16 - End-to-end testing We’ve reached the stage where we have a decent solution in place, and to ensure that it’s still working correctly after any future refactoring, we will add tests. We will start with the “integration”/“end-to-end”(E2E) test, which will confirm that the whole “trading” works. To perform tests at this level, we will need to orchestrate databases together with processes and broadcast trade events from within the test to cause our trading strategy to place orders. We will be able to confirm the right behaviour by checking the database after running the test. Chapter 17 - Mox rocks In the previous chapter, we’ve implemented the end-to-end test that required a lot of prep work, and we were able to see the downsides of this type of tests clearly. This chapter will focus on implementing a more granular test that will utilize the mox package to mock out the dependencies of the Naive.Trader. We will look into how the Mox works and how we will need to modify our code to use it. Chapter 18 - Functional Elixir In this chapter, we will venture into the functional world by looking at how could we improve our code to push side effects to the edge. We will revise the Naive.Trader code to abstract away our strategy code into a new module called Naive.Strategy. From this place, we will reorganise the code to maximise the amount of easily testable pure functions. Finally, we will explore hypothetical implementations that will allow us to inject data into function or even manage effects to aid testability. We will compare those to solutions built into Elixir like the with statement. Chapter 19 - Idiomatic OTP In the last chapter, we were looking into how we could reorganise the code to maximise the amount of pure code. In this chapter, we will look into different ways of implementing the OHLC(open-high-low-close) aggregator, considering similar optimisation but expanding to limit the number of processes to aid testability and maintainability. Chapter 20 - Idiomatic trading strategy We will use the knowledge gained in the last chapter to revise our Naive trading strategy so we will minimise the number of processes required to trade. We will move the functionalities provided by the Naive.Leader and the Naive.SymbolSupervisor into our strategy, taking care to put as much of it as possible into the pure part. In the end, our Naive.Trader will be able to manage multiple positions(trade cycles), and the vast majority of code previously scattered across multiple modules/processes will become easily testable pure functions inside our Naive.Strategy. Contributing, Errata and Source code The book is written using R Markdown(it’s a very similar syntax to the GitHub markdown but supports many more features including code execution, etc.) and converted to final form (for example PDF) using the bookdown app. This means that editing a chapter is as simple as editing the markdown source of that chapter. There are two repositories related to this book(both hosted on Github): source code of the book itself code written across the book where the final code of each chapter has its own branch In regards to contributions - I would love to follow the standard process of forking, making changes, opening PR(please look is there a branch for the next version and point to it instead of main), merging, and releasing a new version of the book. This books has also the GitHub Discussions enabled for both the book’s repo as well as source code’s repo, please feel welcome to start any discussions related to book there. "],["stream-live-cryptocurrency-prices-from-the-binance-wss.html", "Chapter 1 Stream live cryptocurrency prices from the Binance WSS 1.1 Objectives 1.2 Create a new umbrella app 1.3 Create a supervised application inside an umbrella 1.4 Connect to Binance’s WebSocket Stream using the WebSockex module 1.5 Decode incoming events using the Jason module", " Chapter 1 Stream live cryptocurrency prices from the Binance WSS 1.1 Objectives create a new umbrella app create a supervised application inside an umbrella connect to Binance’s WebSocket Stream using the WebSockex module define a TradeEvent struct that will hold incoming data decode incoming events using the Jason module 1.2 Create a new umbrella app As we are starting from scratch, we need to create a new umbrella project: mix new hedgehog --umbrella 1.3 Create a supervised application inside an umbrella We can now proceed with creating a new supervised application called streamer inside our umbrella: cd hedgehog/apps mix new streamer --sup 1.4 Connect to Binance’s WebSocket Stream using the WebSockex module To establish a connection to Binance API’s stream, we will need to use a WebSocket client. The module that we will use is called WebSockex. Scrolling down to the Installation section inside the module’s readme on Github, we are instructed what dependency we need to add to our project. We will append :websockex to the deps function inside the mix.exs file of the streamer application: # /apps/streamer/mix.exs defp deps do [ {:websockex, "~> 0.4"} ] end As we added a dependency to our project, we need to fetch it using mix deps.get. We can now progress with creating a module that will be responsible for streaming. We will create a new file called binance.ex inside the apps/streamer/lib/streamer directory. From the readme of WebSockex module, we can see that to use it we need to create a module that will implement the WebSockex behavior: # WebSockex's readme defmodule WebSocketExample do use WebSockex def start_link(url, state) do WebSockex.start_link(url, __MODULE__, state) end def handle_frame({type, msg}, state) do IO.puts "Received Message - Type: #{inspect type} -- Message: #{inspect msg}" {:ok, state} end def handle_cast({:send, {type, msg} = frame}, state) do IO.puts "Sending #{type} frame with payload: #{msg}" {:reply, frame, state} end end We will copy the whole code above across to our new binance.ex file. The first step will be to update the module name to match our file name: # /apps/streamer/lib/streamer/binance.ex defmodule Streamer.Binance do In the spirit of keeping things tidy - we will now remove the handle_cast/2 function (the last function in our module) as we won’t be sending any messages back to Binance via WebSocket (to place orders etc - Binance provides a REST API which we will use in the next chapter). Next, let’s look up what URL should we use to connect to Binance’s API. Binance has a separate WSS (Web Socket Streams) documentation at Github. Scrolling down we can see the General WSS information section where 3 important pieces of information are listed: The base endpoint is: wss://stream.binance.com:9443 Raw streams are accessed at /ws/<streamName> All symbols for streams are lowercase We can see that the full endpoint for raw streams(we will be using a “raw” stream) will be wss://stream.binance.com:9443/ws/ with stream name at the end (together with lowercased symbol). Note: In the context of Binance API, “raw” means that no aggregation was performed before broadcasting the data on WebSocket. Let’s introduce a module attribute that will hold the full raw stream endpoint which will be used across the module: # /apps/streamer/lib/streamer/binance.ex @stream_endpoint "wss://stream.binance.com:9443/ws/" Now back in Binance’s WSS documentation we need to search for “Trade Streams”. “trade” in the context of this documentation means an exchange of assets(coins/tokens) by two sides (buyer and seller). Our future trading strategy will be interested in the “latest price” which is simply the last trade event’s price. We can see that docs are pointing to the following stream name: Stream Name: <symbol>@trade Together, our full URL looks like: “wss://stream.binance.com:9443/ws/@trade”. To give a concrete example: the raw trade events stream URL for symbol XRPUSDT is: “wss://stream.binance.com:9443/ws/xrpusdt@trade” (remember that symbols need to be lowercased, otherwise no trade events will get streamed - there’s no error). Back to the IDE, we will now modify the start_link/2 function to use Binance API’s URL: # /apps/streamer/lib/streamer/binance.ex def start_link(symbol) do symbol = String.downcase(symbol) WebSockex.start_link( "#{@stream_endpoint}#{symbol}@trade", __MODULE__, nil ) end Instead of passing an URL, we modified the function to accept a symbol, downcase it and use it together with the module’s @stream_endpoint attribute to build a full URL. At this moment streaming of trade events already works which we can test using iex: $ iex -S mix ... iex(1)> Streamer.Binance.start_link("xrpusdt") {:ok, #PID<0.335.0>} Received Message - Type: :text -- Message: "{\\"e\\":\\"trade\\", \\"E\\":1603226394741, \\"s\\":\\"XRPUSDT\\",\\"t\\":74608889,\\"p\\":\\"0.24373000\\",\\"q\\":\\"200.00000000\\", \\"b\\":948244411,\\"a\\":948244502,\\"T\\":1603226394739,\\"m\\":true,\\"M\\":true}" We can see the messages logged above because we copied the sample implementation from WebSockex’s readme where handle_frame/2 function uses IO.puts/1 to print out all incoming data. The lesson here is that every incoming message from Binance will cause the handle_frame/2 callback to be called with the message and the process’ state. Just for reference, our module should look currently as follows: # /apps/streamer/lib/streamer/binance.ex defmodule Streamer.Binance do use WebSockex @stream_endpoint "wss://stream.binance.com:9443/ws/" def start_link(symbol) do symbol = String.downcase(symbol) WebSockex.start_link( "#{@stream_endpoint}#{symbol}@trade", __MODULE__, nil ) end def handle_frame({type, msg}, state) do IO.puts "Received Message - Type: #{inspect type} -- Message: #{inspect msg}" {:ok, state} end end 1.5 Decode incoming events using the Jason module Currently, all incoming data from WebSocket is encoded as a JSON. To decode JSON we will use the jason module. Scrolling down to the Installation section inside the module’s readme, we can see that we need to add it to the dependencies and we can start to use it right away. Let’s open the mix.exs file of the streamer application and append the :jason dependency to the list inside deps function: # /apps/streamer/mix.exs defp deps do [ {:jason, "~> 1.2"}, {:websockex, "~> 0.4"} ] end As previously, don’t forget to run mix deps.get to fetch the new dependency. Looking through the documentation of the Jason module we can see encode!/2 and decode!/2 functions, both of them have exclamation marks which indicate that they will throw an error whenever they will be unable to successfully encode or decode the passed value. This is less than perfect for our use case as we would like to handle those errors in our own way(technically we could just use try/rescue but as we will find out both encode/2 and decode/2 are available). We will go a little bit off-topic but I would highly recommend those sorts of journeys around somebody’s code. Let’s look inside the Jason module. Scrolling down in search of decode/2 (without the exclamation mark) we can see it about line 54: # /lib/jason.ex def decode(input, opts \\\\ []) do input = IO.iodata_to_binary(input) Decoder.parse(input, format_decode_opts(opts)) end It looks like it uses the parse/2 function of a Decoder module, let’s scroll back up and check where it’s coming from. At line 6: # /lib/jason.ex alias Jason.{Encode, Decoder, DecodeError, EncodeError, Formatter} we can see that Decoder is an alias of the Jason.Decoder. Scrolling down to the Jason.Decoder module we will find a parse/2 function about line 43: # /lib/decoder.ex def parse(data, opts) when is_binary(data) do key_decode = key_decode_function(opts) string_decode = string_decode_function(opts) try do value(data, data, 0, [@terminate], key_decode, string_decode) catch {:position, position} -> {:error, %DecodeError{position: position, data: data}} {:token, token, position} -> {:error, %DecodeError{token: token, position: position, data: data}} else value -> {:ok, value} end end Based on the result of decoding it will either return {:ok, value} or {:error, %Decode.Error{...}} we can confirm that by digging through documentation of the module on the hexdocs. Once again, the point of this lengthy investigation was to show that Elixir code is readable and easy to understand so don’t be thrown off when documentation is a little bit light, quite opposite, contribute to docs and code as you gain a better understanding of the codebase. We can now get back to our Streamer.Binance module and modify the handle_frame/2 function to decode the incoming JSON message. Based on the result of Jason.decode/2 we will either call the process_event/2 function or log an error. Here’s the new version of the handle_frame/2 function: # /apps/streamer/lib/streamer/binance.ex def handle_frame({_type, msg}, state) do case Jason.decode(msg) do {:ok, event} -> process_event(event) {:error, _} -> Logger.error("Unable to parse msg: #{msg}") end {:ok, state} end Please make note that type is now prefixed with an underscore as we aren’t using it at the moment. The second important thing to note is that we are using Logger so it needs to be required at the beginning of the module: # /apps/streamer/lib/streamer/binance.ex require Logger Before implementing the process_event/2 function we need to create a structure that will hold the incoming trade event’s data. Let’s create a new directory called binance inside the apps/streamer/lib/streamer/ and a new file called trade_event.ex inside it. Our new module will hold all the trade event’s information but we will also use readable field names(you will see the incoming data below). We can start by writing a skeleton module code: # /apps/streamer/lib/streamer/binance/trade_event.ex defmodule Streamer.Binance.TradeEvent do defstruct [] end We can refer to Binance’s docs to get a list of fields: { "e": "trade", // Event type "E": 123456789, // Event time "s": "BNBUSDT", // Symbol "t": 12345, // Trade ID "p": "0.001", // Price "q": "100", // Quantity "b": 88, // Buyer order ID "a": 50, // Seller order ID "T": 123456785, // Trade time "m": true, // Is the buyer the market maker? "M": true // Ignore } Let’s copy them across and convert the comments to update the defstruct inside the Streamer.Binance.TradeEvent module’s struct to following: # /apps/streamer/lib/streamer/binance/trade_event.ex defstruct [ :event_type, :event_time, :symbol, :trade_id, :price, :quantity, :buyer_order_id, :seller_order_id, :trade_time, :buyer_market_maker ] That’s all for this struct, we can now get back to implementing the process_event/2 function inside the Streamer.Binance module. We will map every field of the response map to the %Streamer.Binance.TradeEvent struct. A useful trick here would be to copy the list of fields once again from the struct and assign the incoming fields one by one. Inside the header of the function, we will pattern match on event type(a field called “e” in the message) to confirm that indeed we received a trade event). In the end, the process_event/2 function should look as follows: # /apps/streamer/lib/streamer/binance.ex defp process_event(%{"e" => "trade"} = event) do trade_event = %Streamer.Binance.TradeEvent{ :event_type => event["e"], :event_time => event["E"], :symbol => event["s"], :trade_id => event["t"], :price => event["p"], :quantity => event["q"], :buyer_order_id => event["b"], :seller_order_id => event["a"], :trade_time => event["T"], :buyer_market_maker => event["m"] } Logger.debug( "Trade event received " <> "#{trade_event.symbol}@#{trade_event.price}" ) end We added the Logger.debug/2 function to be able to see logs of incoming trade events. Lastly, before testing our implementation, let’s add a nice interface to our streamer application that allows starting streaming: # /apps/streamer/lib/streamer.ex defmodule Streamer do @moduledoc """ Documentation for `Streamer`. """ def start_streaming(symbol) do Streamer.Binance.start_link(symbol) end end The final version of the Streamer.Binance module should look like this. The last step will be to add the Logger configuration into the main config/config.exs file. We will set the Logger level to :debug for a moment to be able to see incoming trade events: # /config/config.exs config :logger, level: :debug This finishes the implementation part of this chapter, we can now give our implementation a whirl using iex: $ iex -S mix ... iex(1)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.251.0>} 23:14:32.217 [debug] Trade event received XRPUSDT@0.25604000 23:14:33.381 [debug] Trade event received XRPUSDT@0.25604000 23:14:35.380 [debug] Trade event received XRPUSDT@0.25605000 23:14:36.386 [debug] Trade event received XRPUSDT@0.25606000 As we can see, the streamer is establishing a WebSocket connection with Binance’s API and its receiving trade events. It decodes them from JSON to %Streamer.Binance.TradeEvent struct and logs a compiled message. Also, our interface hides implementation details from the “user” of our application. We will now flip the Logger level back to info so the output won’t every incoming trade event: # /config/config.exs config :logger, level: :info [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["create-a-naive-trading-strategy---a-single-trader-process-without-supervision.html", "Chapter 2 Create a naive trading strategy - a single trader process without supervision 2.1 Objectives 2.2 Initialisation 2.3 How trading strategy will work?", " Chapter 2 Create a naive trading strategy - a single trader process without supervision 2.1 Objectives create another supervised application inside the umbrella to store our trading strategy define callbacks for events depending on the state of the trader push events from the streamer app to the naive app 2.2 Initialisation To develop our naive strategy, we need to create a new supervised application inside our umbrella project: cd apps mix new naive --sup We can now focus on creating a trader abstraction inside that newly created application. First we need to create a new file called trader.ex inside apps/naive/lib/naive/. Let’s start with a skeleton of a GenServer: # /apps/naive/lib/naive/trader.ex defmodule Naive.Trader do use GenServer require Logger def start_link(args) do GenServer.start_link(__MODULE__, args, name: :trader) end def init(args) do {:ok, args} end end Our module uses the GenServer behavior and to fulfill its “contract”, we need to implement the init/1 function. The start_link/1 function is a convention and it allows us to register the process with a name(it’s a default function that the Supervisor will use when starting the Trader). We also add a require Logger as we will keep on logging across the module. Next, let’s model the state of our server: # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [:symbol, :profit_interval, :tick_size] defstruct [ :symbol, :buy_order, :sell_order, :profit_interval, :tick_size ] end Our trader needs to know: what symbol does it need to trade (“symbol” here is a pair of assets for example “XRPUSDT”, which is XRP to/from USDT) placed buy order (if any) placed sell order (if any) profit interval (what net profit % we would like to achieve when buying and selling an asset - single trade cycle) tick_size (yes, I know, jargon warning. We can’t ignore it here as it needs to be fetched from Binance and it’s used to calculate a valid price. Tick size differs between symbols and it is the smallest acceptable price movement up or down. For example in the physical world tick size for USD is a single cent, you can’t sell something for $1.234, it’s either $1.23 or $1.24 (a single cent difference between those is the tick size) - more info here. Our strategy won’t work without symbol, profit_interval nor tick_size so we added them to the @enforce_keys attribute. This will ensure that we won’t create an invalid %State{} without those values. As now we know that our GenServer will need to receive those details via args, we can update pattern matching in start_link/1 and init/1 functions to confirm that passed values are indeed maps: # /apps/naive/lib/naive/trader.ex def start_link(%{} = args) do ... end def init(%{symbol: symbol, profit_interval: profit_interval}) do ... end As we are already in the init/1 function we will need to modify it to fetch the tick_size for the passed symbol and initialize a fresh state: # /apps/naive/lib/naive/trader.ex def init(%{symbol: symbol, profit_interval: profit_interval}) do symbol = String.upcase(symbol) Logger.info("Initializing new trader for #{symbol}") tick_size = fetch_tick_size(symbol) {:ok, %State{ symbol: symbol, profit_interval: profit_interval, tick_size: tick_size }} end We are uppercasing the symbol above as Binance’s REST API only accepts uppercased symbols. It’s time to connect to Binance’s REST API. The easiest way to do that will be to use the binance module. As previously, looking through the module’s docs on Github, we can see the Installation section. We will follow the steps mentioned there, starting from adding binance to the deps in /apps/naive/mix.exs: # /apps/naive/mix.ex defp deps do [ {:binance, "~> 1.0"}, {:decimal, "~> 2.0"}, {:streamer, in_umbrella: true} ] end Besides adding the :binance module, we also added :decimal and the :streamer. The decimal module will help us to calculate the buy and sell prices (without the decimal module we will face problems with the precision). Lastly, we need to include the :streamer application(created in the first chapter) as we will use the %Streamer.Binance.TradeEvent{} struct inside the naive application. We need to run mix deps.get to install our new deps. We can now get back to the trader module and focus on fetching the tick size from Binance: # /apps/naive/lib/naive/trader.ex defp fetch_tick_size(symbol) do Binance.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") end We are using get_exchange_info/0 to fetch the list of symbols, which we will filter out to find the symbol that we are requested to trade. Tick size is defined as a PRICE_FILTER filter. Here’s the link to the documentation listing all keys in the result. In a nutshell, that’s how the important parts of the result look like: {:ok, %{ ... symbols: [ %{ "symbol": "ETHUSDT", ... "filters": [ ... %{"filterType: "PRICE_FILTER", "tickSize": tickSize, ...} ], ... } ] }} 2.3 How trading strategy will work? Our trader process has an internal state that will serve as an indicator of its step in the trade cycle. The following diagram shows 3 possible trader states that trader will progress through from left to right: Our trader will be receiving trade events sequentially and take decisions based on its own state and trade event’s contents. We will focus on a trader in 3 different states: a new trader without any orders a trader with a buy order placed a trader with a sell order placed. First state - A new trader The trader doesn’t have any open orders which we can confirm by pattern matching on the buy_order field from its state. From the incoming event, we can grab the current price which we will use in the buy order that the trader will place. Second state - Buy order placed After placing a buy order, the trader’s buy order will be pattern matched against the incoming events’ data to confirm the order got filled, otherwise ignoring it. When a trade event matching the order id of the trader’s buy order will arrive, it means that the buy order got filled(simplification - our order could be filled in two or more transactions but implementation in this chapter won’t cater for this case, it will always assume that it got filled in a single transaction) and the trader can now place the sell order based on the expected profit and the buy_price. Third state - Sell order placed Finally, in a very similar fashion to the previous state, the trader will be pattern matching to confirm that the incoming event has filled his sell order(matching order id), otherwise ignore it. When a trade event matching the order id of trader’s sell order will arrive, which means that the sell order got filled(simplification as described above) and the full trade cycle has ended and the trader can now exit. 2.3.1 Implementation of the first scenario Enough theory :) back to the editor, we will implement the first scenario. Before doing that let’s alias Streamer’s TradeEvent struct as we will rely on it heavily in pattern matching. # /apps/naive/lib/naive/trader.ex alias Streamer.Binance.TradeEvent We are also aliasing the %Streamer.Binance.TradeEvent{} struct as we will rely on it heavily in pattern matching. To confirm that we are dealing with a “new” trader, we will pattern match on buy_order: nil from its state: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{price: price}, %State{symbol: symbol, buy_order: nil} = state ) do quantity = "100" # <= Hardcoded until chapter 7 Logger.info("Placing BUY order for #{symbol} @ #{price}, quantity: #{quantity}") {:ok, %Binance.OrderResponse{} = order} = Binance.order_limit_buy(symbol, quantity, price, "GTC") {:noreply, %{state | buy_order: order}} end For the time being, we will keep the quantity hardcoded as this chapter will get really long otherwise - don’t worry, we will refactor this in one of the next chapters. After confirming that we deal with the “new” trader(by pattern matching on the buy_order field from the state), we can safely progress to placing a new buy order. We just need to remember to return the updated state as otherwise, the trader will go on a shopping spree, as every next incoming event will cause further buy orders(the above pattern match will continue to be successful). 2.3.2 Implementation of the second scenario With that out of the way, we can now move on to monitoring for an event that matches our buy order id and quantity to confirm that our buy order got filled: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{ buyer_order_id: order_id, quantity: quantity }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, order_id: order_id, orig_qty: quantity }, profit_interval: profit_interval, tick_size: tick_size } = state ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) Logger.info( "Buy order filled, placing SELL order for " <> "#{symbol} @ #{sell_price}), quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = Binance.order_limit_sell(symbol, quantity, sell_price, "GTC") {:noreply, %{state | sell_order: order}} end We will implement calculating sell price in a separate function based on buy price, profit interval, and tick_size. Our pattern match will confirm that indeed our buy order got filled(order_id and quantity matches) so we can now proceed with placing a sell order using calculated sell price and quantity retrieved from the buy order. Again, don’t forget to return the updated state as otherwise, the trader will keep on placing sell orders for every incoming event. To calculate the sell price we will need to use precise math and that will require a custom module. We will use the Decimal module, so first, let’s alias it at the top of the file: # /apps/naive/lib/naive/trader.ex alias Decimal, as: D Now to calculate the correct sell price, we can use the following formula which gets me pretty close to expected value: # /apps/naive/lib/naive/trader.ex defp calculate_sell_price(buy_price, profit_interval, tick_size) do fee = "1.001" original_price = D.mult(buy_price, fee) net_target_price = D.mult( original_price, D.add("1.0", profit_interval) ) gross_target_price = D.mult(net_target_price, fee) D.to_string( D.mult( D.div_int(gross_target_price, tick_size), tick_size ), :normal ) end First, we will hardcode the fee to 0.1% which we will refactor in one of the future chapters. We started by calculating the original_price which is the buy price together with the fee that we paid on top of it. Next, we enlarge the originally paid price by profit interval to get net_target_price. As we will be charged a fee for selling, we need to add the fee again on top of the net target sell price(we will call this amount the gross_target_price). Next, we will use the tick size as Binance won’t accept any prices that aren’t divisible by the symbols’ tick sizes so we need to “normalize” them on our side. 2.3.3 Implementation of the third scenario Getting back to handling incoming events, we can now add a clause for a trader that wants to confirm that his sell order was filled: # /apps/naive/lib/naive/trader.ex def handle_cast( %TradeEvent{ seller_order_id: order_id, quantity: quantity }, %State{ sell_order: %Binance.OrderResponse{ order_id: order_id, orig_qty: quantity } } = state ) do Logger.info("Trade finished, trader will now exit") {:stop, :normal, state} end When the sell order was successfully filled(confirmed by pattern matching above), there’s nothing else to do for the trader, so it can return a tuple with :stop atom which will cause the trader process to terminate. 2.3.4 Implementation fallback scenario A final callback function that we will need to implement will just ignore all incoming events as they were not matched by any of the previous pattern matches: # /apps/naive/lib/naive/trader.ex def handle_cast(%TradeEvent{}, state) do {:noreply, state} end We need this callback for cases where our trader has an “open” order(not yet filled) and the incoming event has nothing to do with it, so it needs to be ignored. 2.3.5 Updating the Naive interface Now we will update an interface of our naive application by modifying the Naive module to allow to send an event to the trader: # /apps/naive/lib/naive.ex defmodule Naive do @moduledoc """ Documentation for `Naive`. """ alias Streamer.Binance.TradeEvent def send_event(%TradeEvent{} = event) do GenServer.cast(:trader, event) end end We will use the fact that we have registered our trader process with a name to be able to cast a message to it. 2.3.6 Updating streamer app To glue our apps together for the time and keep things simple in this chapter we will modify the streamer process to simply call our new Naive interface directly by appending the following function call at the end of the process_event/1 function inside the Streamer.Binance module: # /apps/streamer/lib/streamer/binance.ex defp process_event(%{"e" => "trade"} = event) do ... Naive.send_event(trade_event) end This creates a two-way link between the streamer and the naive app. In the next chapter, we will fix that as in the perfect world those apps shouldn’t even be aware of existence of each other. 2.3.7 Access details to Binance Inside the config of our umbrella project we create a new file config/secrets.exs. We will use this for our Binance account access details. # /config/secrets.exs import Config config :binance, api_key: "YOUR-API-KEY-HERE", secret_key: "YOUR-SECRET-KEY-HERE" We don’t want to check this file in, so we add it to our .gitignore: # .gitignore config/secrets.exs Finally, we update our main config file to include it using import_config: # /config/config.exs # Import secrets file with Binance keys if it exists if File.exists?("config/secrets.exs") do import_config("secrets.exs") end Important note: To be able to run the below test and perform real trades, a Binance account is required with a balance of at least 20 USDT. In the 4th chapter, we will focus on creating a BinanceMock that will allow us to run our bot without the requirement for a real Binance account. You don’t need to test run it now if you don’t need/want to have an account. 2.3.8 Test run Now it’s time to give our implementation a run for its money. Once again, to be able to do that you will need to have at least 20 USDT tokens in your Binance’s wallet and you will lose just under 0.5% of your USDTs(as “expected profit” is below 0 to quickly showcase the full trade cycle) in the following test: $ iex -S mix ... iex(1)> Naive.Trader.start_link(%{symbol: "XRPUSDT", profit_interval: "-0.01"}) 13:45:30.648 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.355.0>} iex(2)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.372.0>} iex(3)> 13:45:32.561 [info] Placing BUY order for XRPUSDT @ 0.25979000, quantity: 100 13:45:32.831 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.2577, quantity: 100 13:45:33.094 [info] Trade finished, trader will now exit After starting the IEx session, start the trader process with a map containing the symbol and profit interval. To be able to quickly test the full trade cycle we will pass a sub-zero profit interval instead of waiting for the price increase. Next, we will start streaming on the same symbol, please be aware that this will cause an immediate reaction in the trader process. We can see that our trader placed a buy order at 25.979c per XRP, it was filled in under 300ms, so then the trader placed a sell order at ~25.77c which was also filled in under 300ms. This way the trader finished the trade cycle and the process can terminate. That’s it. Congratulations! You just made your first algorithmic trade and you should be proud of that! In the process of creating that algorithm, we touched on multiple topics including GenServer and depending on its state and external data (trade events) to perform different actions - this is a very common workflow that Elixir engineers are following and it’s great to see it in action. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-pubsub-as-a-communication-method.html", "Chapter 3 Introduce PubSub as a communication method 3.1 Objectives 3.2 Design 3.3 Implementation", " Chapter 3 Introduce PubSub as a communication method 3.1 Objectives consider reasons why introducing a PubSub communication would be beneficial implement the PubSub communication between the Streamer.Binance and the Naive.Trader(s) 3.2 Design First, let’s look at the current situation: We started with the Binance streamer calling the send_event/1 function on the Naive module. The Naive module then calls the trader process using the GenServer’s cast/2 function(via its registered name). The next step in the process of extending our trading strategy will be to scale it to run multiple Naive.Trader processes in parallel. To be able to do that we will need to remove the option to register the trader process with a name(as only one process can be registered under a single name). The second issue with that design was the fact that the Streamer needs to be aware of all processes that are interested in the streamed data and explicitly push that information to them. To fix those issues we will invert the design and introduce a PubSub mechanism: The streamer will broadcast trade events to the PubSub topic and whatever is interested in that data, can subscribe to the topic and it will receive the broadcasted messages. There’s no coupling between the Streamer and Naive app anymore. We can now introduce multiple traders that will subscribe to the topic and they will receive messages from the PubSub: Going even further down the line we can picture that system could consist of other processes interested in the streamed data. An example of those could be a process that will save all streamed information to the database to be utilized in backtesting later on: 3.3 Implementation We will start by adding a Phoenix.PubSub library to both Streamer and Naive app(as both will be using it, Streamer app as a broadcaster and Naive app as a subscriber). Scrolling down through its readme on GitHub we can see that we need to add :phoenix_pubsub to list of dependencies: # /apps/streamer/mix.exs & /apps/naive/mix.exs defp deps do [ ... {:phoenix_pubsub, "~> 2.0"}, ... ] end Remember to place it so the list will keep alphabetical order. The second step in the readme says that we need to add PubSub as a child of our app. We need to decide where we will put it, Streamer sounds like a good starting point. We will modify the /apps/streamer/lib/streamer/application.ex module by appending the PubSub to it: # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 } ] ... end We will add the :adapter_name option to instruct PubSub to use pg adapter, which will give us distributed process groups. We will now modify the streamer to broadcast a message to PubSub topic instead of using the Naive module’s function: # /apps/streamer/lib/streamer/binance.ex defp process_event(...) do ... Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) end Inside the trader on init we need to subscribe to the “TRADE_EVENTS” PubSub channel: # /apps/naive/lib/naive/trader.ex def init(...) do ... Phoenix.PubSub.subscribe( Streamer.PubSub, "TRADE_EVENTS:#{symbol}" ) ... end Next, we need to convert all handle_cast callbacks to handle_info inside our Trader module as PubSub doesn’t use GenServer.cast/2 to send messages over to subscribers. The final change will be to remove the send_event function from the Naive module as it’s no longer required. Our update is now finished so we can start an iex session to see how it works. First, we will start a streamer process that will broadcast messages to PubSub. Next, we will start trading on the same symbol. On init, the trader will subscribe to a PubSub channel and it will make a full trade cycle. $ iex -S mix ... iex(1)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.483.0>} iex(2)> Naive.Trader.start_link(%{symbol: "XRPUSDT", profit_interval: "-0.01"}) 23:46:37.482 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.474.0>} 23:46:55.179 [info] Placing BUY order for XRPUSDT @ 0.29462000, quantity: 100 23:46:55.783 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29225), quantity: 100.00000000 23:46:56.029 [info] Trade finished, trader will now exit This shows that the new trader process successfully subscribed to the PubSub, received the broadcasted messages, placed buy/sell orders, and terminated after the full trade cycle finished. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["mock-the-binance-api.html", "Chapter 4 Mock the Binance API 4.1 Objectives 4.2 Design 4.3 Create “BinanceMock” app 4.4 Implement getting exchange info 4.5 Implement placing buy and sell orders 4.6 Implement order retrival 4.7 Implement callback for incoming trade events 4.8 Upgrade trader and config 4.9 Test the implementation", " Chapter 4 Mock the Binance API 4.1 Objectives design the binance mock application create a new app implement getting exchange info implement placing buy and sell orders implement callback for incoming trade events upgrade trader and config test the implementation 4.2 Design First, let’s start with the current state: Currently, our trader is using the Binance module to place buy/sell orders and get exchange info. The get_exchange_info/0 function doesn’t require a Binance account as it’s publicly available information so we can call the Binance lib directly from our module. The remaining ones(buying/selling) require a Binance account and some coins/tokens inside its wallet. We need to mock those inside our module. We will update the trader to fetch the Binance’s module name from the config: We will set up a config so it points to the Binance client to be used - either Binance or BinanceMock. Regards the BinanceMock itself it will have the same interface as the Binance module. It will need to store both buy and sell orders and it will allow us to retrieve them. That will cover the REST functions but Binance also streams back trade events for those orders as they get filled, that’s why BinanceMock will also need to broadcast fake events to the “TRADE_EVENTS:#{symbol}” PubSub topic so the trader will pick them up: When exactly should we broadcast those fake trade events? Well, the best thing that we can do is make the BinanceMock process subscribe to the trade events stream and try to broadcast fake trade events whenever the price of orders would be matched: Starting from the arrow on the left, our naive strategy will place an order at the current price. In this hypotetical scenario, the price raised for a moment after placing the buy order, so BinanceMock will keep on waiting until a trade event will get broadcasted from the PubSub with a price below the buy order’s price. At that moment BinanceMock will generate a fake trade event and broadcast it to the same PubSub topic. The trader will get that event and assume that it came from the Binance and that the buy order got filled so it will place a sell order. Similar to the buy order, BinanceMock will keep on waiting until a trade event will get broadcasted from the PubSub with the price above the sell order’s price. At that moment BinanceMock will generate a fake trade event and broadcast it to the same PubSub topic. Enough theory for now, let’s get our hands dirty with some coding. 4.3 Create “BinanceMock” app We will start by creating a new supervised app called BinanceMock: $ cd apps $ mix new binance_mock --sup The next step will be to update the BinanceMock module to be a GenServer. We will utilize: the Decimal module for comparing the prices the Logger module to log As well as we will define internal %State{} struct that will hold: map called order_books for each traded symbol list of symbols that mock subscribed to last generated id - for consistent generating of unique ids for fake trade events order_books map will consist of :\"#{symbol} => %OrderBook{}. We will define the %OrderBook{} struct as 3 lists buy_side, sell_side and historical: # /apps/binance_mock/lib/binance_mock.ex defmodule BinanceMock do use GenServer alias Decimal, as: D alias Streamer.Binance.TradeEvent require Logger defmodule State do defstruct order_books: %{}, subscriptions: [], fake_order_id: 1 end defmodule OrderBook do defstruct buy_side: [], sell_side: [], historical: [] end def start_link(_args) do GenServer.start_link(__MODULE__, nil, name: __MODULE__) end def init(_args) do {:ok, %State{}} end end 4.4 Implement getting exchange info As it was mentioned before, to retrieve exchange info we can just call Binance’s function directly as its publicly available information: # /apps/binance_mock/lib/binance_mock.ex def get_exchange_info do Binance.get_exchange_info() end 4.5 Implement placing buy and sell orders For buy and sell limit orders we will write a helper function as the logic is the same for both order sides: # /apps/binance_mock/lib/binance_mock.ex def order_limit_buy(symbol, quantity, price, "GTC") do order_limit(symbol, quantity, price, "BUY") end def order_limit_sell(symbol, quantity, price, "GTC") do order_limit(symbol, quantity, price, "SELL") end The “order_limit” helper function will: generate a fake order based on symbol, quantity, price, and side cast a message to the BinanceMock process to add the fake order return with a tuple with %OrderResponse{} struct to be consistent with the Binance module: # /apps/binance_mock/lib/binance_mock.ex defp order_limit(symbol, quantity, price, side) do %Binance.Order{} = fake_order = generate_fake_order( symbol, quantity, price, side ) GenServer.cast( __MODULE__, {:add_order, fake_order} ) {:ok, convert_order_to_order_response(fake_order)} end We can now move on to implementing the handle_cast/2 callback to :add_order to the order book for the symbol from the order. It needs to subscribe to the TRADE_EVENTS:#{symbol} topic for the symbol from the order and add the order to the correct order book: # /apps/binance_mock/lib/binance_mock.ex def handle_cast( {:add_order, %Binance.Order{symbol: symbol} = order}, %State{ order_books: order_books, subscriptions: subscriptions } = state ) do new_subscriptions = subscribe_to_topic(symbol, subscriptions) updated_order_books = add_order(order, order_books) { :noreply, %{ state | order_books: updated_order_books, subscriptions: new_subscriptions } } end We will start with the implementation of the subscribe_to_topic/2 function. We need to make sure that the symbol is uppercased as well as check have we already subscribed to that topic. Otherwise, we can safely use the PubSub module to subscribe to the TRADE_EVENTS:#{symbol} topic for this symbol. We need to remember to append the symbol to the list of subscription and return the updated list: # /apps/binance_mock/lib/binance_mock.ex defp subscribe_to_topic(symbol, subscriptions) do symbol = String.upcase(symbol) stream_name = "TRADE_EVENTS:#{symbol}" case Enum.member?(subscriptions, symbol) do false -> Logger.debug("BinanceMock subscribing to #{stream_name}") Phoenix.PubSub.subscribe( Streamer.PubSub, stream_name ) [symbol | subscriptions] _ -> subscriptions end end Next, time for implementation of the add_order function. First, we need to get the order book for the symbol of the order. Depends on the side of the order we will update either the buy_side or sell_side list remembering that both sides are sorted. We are sorting them so we can easily grab all orders that should be filled whenever trade event arrived, this will become clearer as we will write a handle callback for incoming trade events: # /apps/binance_mock/lib/binance_mock.ex defp add_order( %Binance.Order{symbol: symbol} = order, order_books ) do order_book = Map.get( order_books, :"#{symbol}", %OrderBook{} ) order_book = if order.side == "SELL" do Map.replace!( order_book, :sell_side, [order | order_book.sell_side] |> Enum.sort(&D.lt?(&1.price, &2.price)) ) else Map.replace!( order_book, :buy_side, [order | order_book.buy_side] |> Enum.sort(&D.gt?(&1.price, &2.price)) ) end Map.put(order_books, :"#{symbol}", order_book) end Now we need to follow up and implement the functions that we referred to previously - those are generate_fake_order and convert_order_to_order_response. Starting with the generate_fake_orders, it’s a function that takes a symbol, quantity, price, and side and based on those values returns a Binance.Order struct. To return the struct we will need to generate a unique id for each faked order - this is where fake_order_id will be used(callback implemented later). This way we will be able to run tests multiple times using the BinanceMock and always get the same ids: # /apps/binance_mock/lib/binance_mock.ex defp generate_fake_order(symbol, quantity, price, side) when is_binary(symbol) and is_binary(quantity) and is_binary(price) and (side == "BUY" or side == "SELL") do current_timestamp = :os.system_time(:millisecond) order_id = GenServer.call(__MODULE__, :generate_id) client_order_id = :crypto.hash(:md5, "#{order_id}") |> Base.encode16() Binance.Order.new(%{ symbol: symbol, order_id: order_id, client_order_id: client_order_id, price: price, orig_qty: quantity, executed_qty: "0.00000000", cummulative_quote_qty: "0.00000000", status: "NEW", time_in_force: "GTC", type: "LIMIT", side: side, stop_price: "0.00000000", iceberg_qty: "0.00000000", time: current_timestamp, update_time: current_timestamp, is_working: true }) end We can now focus on converting the Binance.Order to the Binance.OrderResponse struct. As Binance.Order struct contains almost all of the same fields that the Binance.OrderResponse struct, we can use struct function without exclamation mark to ignore all additional fields. The only field that has a different name is transact_time field which is called time in the Binance.Order struct - we can fix that separately: # /apps/binance_mock/lib/binance_mock.ex defp convert_order_to_order_response(%Binance.Order{} = order) do %{ struct( Binance.OrderResponse, order |> Map.to_list() ) | transact_time: order.time } end The last function to finish support for placing buy and sell orders is to add a callback that will iterate the fake order id and return it: # /apps/binance_mock/lib/binance_mock.ex def handle_call( :generate_id, _from, %State{fake_order_id: id} = state ) do {:reply, id + 1, %{state | fake_order_id: id + 1}} end 4.6 Implement order retrival We can now move on to retrieving the orders. First, we need to add an interface function that will call our BinanceMock GenServer: # /apps/binance_mock/lib/binance_mock.ex def get_order(symbol, time, order_id) do GenServer.call( __MODULE__, {:get_order, symbol, time, order_id} ) end The callback itself is pretty straightforward. We will need to get an order book for the passed symbol. As we don’t know the order’s side, we will concat all 3 lists(buy_side, sell_side, and historical) and try to find an order that will match passed symbol, time, and order_id: # /apps/binance_mock/lib/binance_mock.ex def handle_call( {:get_order, symbol, time, order_id}, _from, %State{order_books: order_books} = state ) do order_book = Map.get( order_books, :"#{symbol}", %OrderBook{} ) result = (order_book.buy_side ++ order_book.sell_side ++ order_book.historical) |> Enum.find( &(&1.symbol == symbol and &1.time == time and &1.order_id == order_id) ) {:reply, {:ok, result}, state} end 4.7 Implement callback for incoming trade events Finally, we need to handle incoming trade events(streamed from the PubSub topic). We need to implement a callback that will: get the order book for the symbol from the trade event use the take_while/2 function on the buy orders with prices that are greater than the current price - we can update their status to filled. use the take_while/2 function again, this time to sell orders with prices less than the current price, we will also update their statuses to filled. concat both lists of filled orders, convert them to trade events, and broadcast them to the PubSub’s TRADE_EVENTS topic. remove the filled orders from buy and sell lists and put them into the historical list. Here we can clearly see the benefit of sorting the lists, we can use functions like take_while/2 and drop/2 instead of filter/2 and reject/2(later ones will go through whole lists which could become a bottleneck when multiple open orders would be active): # /apps/binance_mock/lib/binance_mock.ex def handle_info( %TradeEvent{} = trade_event, %{order_books: order_books} = state ) do order_book = Map.get( order_books, :"#{trade_event.symbol}", %OrderBook{} ) filled_buy_orders = order_book.buy_side |> Enum.take_while(&D.lt?(trade_event.price, &1.price)) |> Enum.map(&Map.replace!(&1, :status, "FILLED")) filled_sell_orders = order_book.sell_side |> Enum.take_while(&D.gt?(trade_event.price, &1.price)) |> Enum.map(&Map.replace!(&1, :status, "FILLED")) (filled_buy_orders ++ filled_sell_orders) |> Enum.map(&convert_order_to_event(&1, trade_event.event_time)) |> Enum.each(&broadcast_trade_event/1) remaining_buy_orders = order_book.buy_side |> Enum.drop(length(filled_buy_orders)) remaining_sell_orders = order_book.sell_side |> Enum.drop(length(filled_sell_orders)) order_books = Map.replace!( order_books, :"#{trade_event.symbol}", %{ buy_side: remaining_buy_orders, sell_side: remaining_sell_orders, historical: filled_buy_orders ++ filled_sell_orders ++ order_book.historical } ) {:noreply, %{state | order_books: order_books}} end Inside the callback we referred to two new functions that we will implement now(convert_order_to_event and broadcast_trade_event). Starting with the convert_order_to_event function, it will simply return a new Streamer.Binance.TradeEvent struct filled with data. An interesting thing to observe here is that again all values are predictable and function will return the same values for the same input - this will become beneficial for backtesting over and over again and comparing the behavior between runs: # /apps/binance_mock/lib/binance_mock.ex defp convert_order_to_event(%Binance.Order{} = order, time) do %TradeEvent{ event_type: order.type, event_time: time - 1, symbol: order.symbol, trade_id: Integer.floor_div(time, 1000), price: order.price, quantity: order.orig_qty, buyer_order_id: order.order_id, seller_order_id: order.order_id, trade_time: time - 1, buyer_market_maker: false } end Broadcasting trade events to PubSub will be the last function that will finish the implementation of BinanceMock for now. It’s safe to assume that the incoming symbol will be uppercased as it comes from the exchange (the symbol is part of the topic name which is case-sensitive): # /apps/binance_mock/lib/binance_mock.ex defp broadcast_trade_event(%Streamer.Binance.TradeEvent{} = trade_event) do Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) end That finishes the BinanceMock implementation. Now, we need to add it to the children list of the application so it starts automatically: # /apps/binance_mock/lib/binance_mock/application.ex ... def start(_type, _args) do children = [ {BinanceMock, []} ] ... end end 4.8 Upgrade trader and config We can move on to the Naive.Trader module where we will add an attribute that will point to the Binance client dictated by config: # /apps/naive/lib/naive/trader.ex @binance_client Application.compile_env(:naive, :binance_client) We need to replace all direct calls to the Binance module for calls to the @binance_client attribute inside the Naive.Trader: # /apps/naive/lib/naive/trader.ex ... @binance_client.order_limit_buy( ... @binance_client.order_limit_sell ... @binance_client.get_exchange_info() ... As the Naive.Trader is now relying on the config to specify which Binance client should they use, we need to add it to the config: # /config/config.exs config :naive, binance_client: BinanceMock The last modification to our system will be to modify the mix.exs of the binance_mock app to list all deps required for it to work: # /apps/binance_mock/mix.exs ... defp deps do [ {:binance, "~> 1.0"}, {:decimal, "~> 2.0"}, {:phoenix_pubsub, "~> 2.0"}, {:streamer, in_umbrella: true} ] end ... We also add :binance_mock to the list of deps of the naive app(as the Naive app will use either Binance or BinanceMock to “trade”): # /apps/naive/mix.exs ... defp deps do [ ... {:binance_mock, in_umbrella: true} ... ] end ... 4.9 Test the implementation We can now see the BinanceMock in action. First, we will start an iex session and double-check that the BinanceMock process is alive. $ iex -S mix ... iex(1)> Process.whereis(BinanceMock) #PID<0.320.0> # <- confirms that BinanceMock process is alive iex(2)> Streamer.start_streaming("xrpusdt") {:ok, #PID<0.332.0>} iex(3)> Naive.Trader.start_link( %{symbol: "XRPUSDT", profit_interval: "-0.001"} ) 00:19:39.232 [info] Initializing new trader for XRPUSDT {:ok, #PID<0.318.0>} 00:19:40.826 [info] Placing BUY order for XRPUSDT @ 0.29520000, quantity: 100 00:19:44.569 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29549), quantity: 100.0 00:20:09.391 [info] Trade finished, trader will now exit As config already points to it so we can continue as previously by starting the streaming and trading on the symbol. The trader is using the BinanceMock and it looks like everything works as it would be dealing with a real exchange. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["enable-parallel-trading-on-multiple-symbols.html", "Chapter 5 Enable parallel trading on multiple symbols 5.1 Objectives 5.2 Introduction - architectural design 5.3 Implement Naive.SymbolSupervisor 5.4 Implement Naive.Leader", " Chapter 5 Enable parallel trading on multiple symbols 5.1 Objectives design supervision tree that will allow trading using multiple traders in parallel per symbol update application supervisor implement Naive.Server implement Naive.SymbolSupervisor 5.2 Introduction - architectural design In the second chapter, we implemented a basic trader which goes through the trading cycle. Inside the iEx session, we were starting the Naive.Trader process using the start_link/1 function: The GenServer.start_link/3 creates a link between IEx’s process and new Naive.Trader process. Whenever a trader process terminates(either finishes the trading cycle or there was an error), a new one won’t get started as there’s no supervision at all. We can do much better than that with a little bit of help from Elixir and OTP. Let’s introduce a supervisor above our trader process. It will start a new trader process whenever the previous one finished/crashed: This looks much better but there are few problems with it. So, when the trader will start to place orders it will be in some state(it will hold buy/sell orders) that the supervisor won’t be aware of. In case of trader crashing, the supervisor will start a new trader without any knowledge of possibly placed orders or any other information from the state(it will be started with a “fresh” state). To fix that we need to keep a copy of the trader’s state outside of the trader process - that’s why we will introduce a new server called Naive.Leader that will keep track of traders’ data: The Naive.Leader will become the interface to start new traders. It will call the start_child/1 function of the Supervisor, then consequently DynamicTraderSupervisor will call the start_link/1 function of our Naive.Trader module. We can also see that our Naive.Trader’s are now started with the temporary restart option. Setting this option will disallow the Supervisor from restarting the traders on its own. The responsibility of restarting traders will now be shifted to the leader. The leader will monitor the traders and restart them to a correct state when any crashes. As trader state will get updated, it will notify the leader about its new state to be stored. This way whenever a trader process would crash, the leader will be able to start a new trader process with the last known state. This setup will also allow us to start and supervise multiple traders for a single symbol which our naive strategy will require in the future(next chapter). For each symbol that we will be trading on we need the above trio of services(Leader + DynamicTraderSupervisor + Trader), to effectively initialize(and supervise) them we will add an Naive.SymbolSupervisor that will start both Naive.Leader and Naive.Dynamic: We will need multiple symbol supervisors, one for each symbol that we would like to trade on. As with traders, they will be dynamically started on demand, this should give us a hint that we need another dynamic supervisor that will supervise symbol supervisors and will be the direct child of our Naive.Supervisor(Naive.Application module): You could ask yourself why we don’t need some additional server to track which symbols are traded at the moment (in the same way as Naive.Leader tracks Naive.Traders). The answer is that we don’t need to track them as we register all Naive.SymbolSupervisors with a name containing a symbol that they trade on. This way we will always be able to refer to them by registered name instead of PIDs/refs. Here’s what happens starting from the top of the graph: the Naive.Application is our top-level application’s supervisor for the naive app, it was auto-generated as a part of the naive app it has a single child Naive.DynamicSymbolSupervisor, which has strategy one_for_one and all of its children are Naive.SymbolSupervisors Naive.SymbolSupervisor process will start two further children: the Naive.Leader and DynamicTraderSupervisor, both created on init the Naive.Leader will ask DynamicTraderSupervisor to start the Naive.Trader child process(es) This can be a little bit confusing at the moment but it will get a lot easier as we will write the code. Let’s get to it! 5.2.1 Update application supervisor Let’s start by adding a Naive.DynamicSymbolSupervisor and a server to the children list of the Naive.Application supervisor: # /apps/naive/lib/naive/application.ex def start(_type, _args) do children = [ { DynamicSupervisor, strategy: :one_for_one, name: Naive.DynamicSymbolSupervisor } ] ... end 5.2.2 Add interface method We will now add an interface method to the Naive module that will instruct Naive.DynamicSymbolSupervisor to start Naive.SymbolSupervisor(to be implemented next) as its child: # /apps/naive/lib/naive.ex def start_trading(symbol) do symbol = String.upcase(symbol) {:ok, _pid} = DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) end 5.3 Implement Naive.SymbolSupervisor Next, time for the Naive.SymbolSupervisor, the first step will be to create a file called symbol_supervisor.ex inside apps/naive/lib/naive directory. There’s no point in using the DynamicSupervisor, as we know the children that we would like to start automatically on init. This is a full implementation of the supervisor and it’s a simple as just listing child processes inside the init function: # /apps/naive/lib/naive/symbol_supervisor.ex defmodule Naive.SymbolSupervisor do use Supervisor require Logger def start_link(symbol) do Supervisor.start_link( __MODULE__, symbol, name: :"#{__MODULE__}-#{symbol}" ) end def init(symbol) do Logger.info("Starting new supervision tree to trade on #{symbol}") Supervisor.init( [ { DynamicSupervisor, strategy: :one_for_one, name: :"Naive.DynamicTraderSupervisor-#{symbol}" }, {Naive.Leader, symbol} ], strategy: :one_for_all ) end end It’s advised to keep supervisor processes slim. We registered the Naive.SymbolSupervisor processes with names, which will help us understand the supervision tree inside the observer GUI(it will also allow us to stop those supervisors in the future). As mentioned previously whenever either the Naive.Leader or Naive.DynamicSymbolSupervisor-#{symbol} would crash we would like to kill the other child process as we won’t be able to recover the state - it’s just easier to init both again. 5.4 Implement Naive.Leader It’s time for the Naive.Leader module, again, the first step will be to create a file called the leader.ex inside apps/naive/lib/naive directory. At this moment it will be a skeleton GenServer implementation just to get the code to compile: # /apps/naive/lib/naive/leader.ex defmodule Naive.Leader do use GenServer def start_link(symbol) do GenServer.start_link( __MODULE__, symbol, name: :"#{__MODULE__}-#{symbol}" ) end def init(symbol) do {:ok, %{symbol: symbol}} end end At this moment we have half of the supervision tree working so we can give it a spin in iex. Using the observer we will be able to see all processes created when the start_trading/1 function gets called: $ iex -S mix ... iex(1)> :observer.start() The above function will open a new window looking as follows: To clearly see the supervision tree we will click on the “Applications” tab at the top - the following tree of processes will be shown on the left: If any other process tree is visible, go to the list on the left and select the naive application. The Naive.Supervisor is our Naive.Application module(you can confirm that by checking the name option send to the start_link function inside the module). It starts the Naive.DynamicSymbolSupervisor. We can now call the Naive.start_trading/1 function couple time to see how the tree will look like with additional processes(go back to the iex session): ... iex(2)> Naive.start_trading("adausdt") 23:14:40.974 [info] Starting new supervision tree to trade on ADAUSDT {:ok, #PID<0.340.0>} iex(3)> Naive.start_trading("xrpusdt") 23:15:12.117 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.345.0>} We can see that two new branches were created: SymbolSupervisor-ADAUSDT SymbolSupervisor-XRPUSDT Each of them contains a Naive.Leader and DynamicTraderSupervisor. 5.4.1 Updating the leader module Let’s jump back to extending a leader implementation to get those traders running. We will introduce a leader’s state that will consist of a symbol, setting, and a list of traders’ data. Trader data will hold PID, ref, and state of the trader: # /apps/naive/lib/naive/leader.ex ... alias Naive.Trader require Logger @binance_client Application.compile_env(:naive, :binance_client) defmodule State do defstruct symbol: nil, settings: nil, traders: [] end defmodule TraderData do defstruct pid: nil, ref: nil, state: nil end We will use a handle_continue callback which was introduced in Erlang 21 to initialize the leader asynchronously. To do that we will return a tuple starting with a :continue atom from inside the init function: # /apps/naive/lib/naive/leader.ex def init(symbol) do {:ok, %State{ symbol: symbol }, {:continue, :start_traders}} end The Naive.Leader will fetch symbol settings and based on them, it will build the state for traders so they don’t need to fetch the same settings again. It will also start as many traders there were set under chunks key in setting: # /apps/naive/lib/naive/leader.ex # below init() def handle_continue(:start_traders, %{symbol: symbol} = state) do settings = fetch_symbol_settings(symbol) trader_state = fresh_trader_state(settings) traders = for _i <- 1..settings.chunks, do: start_new_trader(trader_state) {:noreply, %{state | settings: settings, traders: traders}} end Fetching symbol settings will be hardcoded for time being to keep this chapter focused. We will also move the code responsible for fetching tick size from the Naive.Trader to the Naive.Leader and hardcode the rest of the values: # /apps/naive/lib/naive/leader.ex defp fetch_symbol_settings(symbol) do tick_size = fetch_tick_size(symbol) %{ symbol: symbol, chunks: 1, # -0.12% for quick testing profit_interval: "-0.0012", tick_size: tick_size } end defp fetch_tick_size(symbol) do @binance_client.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") end Additionally, we need to create a helper method that we used inside the handle_continue/2 callback called fresh_trader_state/1: # /apps/naive/lib/naive/leader.ex # place this one above the `fetch_symbol_settings` function defp fresh_trader_state(settings) do struct(Trader.State, settings) end Starting a new trader isn’t any different from the code that we already wrote to start a new Naive.SymbolSupervisor. We need to call the DynamicSupervisor.start_child/2 function and start to monitor the process: # /apps/naive/lib/naive/leader.ex defp start_new_trader(%Trader.State{} = state) do {:ok, pid} = DynamicSupervisor.start_child( :"Naive.DynamicTraderSupervisor-#{state.symbol}", {Naive.Trader, state} ) ref = Process.monitor(pid) %TraderData{pid: pid, ref: ref, state: state} end 5.4.2 Updating the Naive.Trader module Now we can update the Naive.Trader, first, we will set restart to be temporary to avoid restarting it by the Naive.DynamicTraderSupervisor: # /apps/naive/lib/naive/trader.ex defmodule Naive.Trader do use GenServer, restart: :temporary ... Next, we will update the start_link/1 and init/1 functions to take the state instead of building it from args: # /apps/naive/lib/naive/trader.ex def start_link(%State{} = state) do GenServer.start_link(__MODULE__, state) end def init(%State{symbol: symbol} = state) do symbol = String.upcase(symbol) Logger.info("Initializing new trader for symbol(#{symbol})") Phoenix.PubSub.subscribe( Streamer.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, state} end Next, we need to update two handle_info/2 callbacks that change the state of the Naive.Trader process(when placing buy order and when placing sell order). They will need to notify the Naive.Leader that the state is changed before returning it: # /apps/naive/lib/naive/trader.ex ... def handle_info( ... ) do Logger.info("Placing buy order (#{symbol}@#{price})") ... new_state = %{state | buy_order: order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end def handle_info( ... ) do ... Logger.info("Buy order filled, placing sell order ...") ... new_state = %{state | sell_order: order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end ... 5.4.3 Finalizing Naive.Leader implementation Now we need to get back to the Naive.Leader where we will implement the notifying logic. We will start with the notify function that will just call the Naive.Leader process: # /apps/naive/lib/naive/leader.ex # below init def notify(:trader_state_updated, trader_state) do GenServer.call( :"#{__MODULE__}-#{trader_state.symbol}", {:update_trader_state, trader_state} ) end Now, it’s time for a callback function that will handle the trader state update. As this is a handle_call/3 callback we have access to the trader PID which sent the notification message. We will try to find that trader in the list of traders. If that’s successful we will update the cached state for that trader locally: # /apps/naive/lib/naive/leader.ex # below handle_continue def handle_call( {:update_trader_state, new_trader_state}, {trader_pid, _}, %{traders: traders} = state ) do case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to update the state of trader that leader is not aware of" ) {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} {:reply, :ok, %{state | :traders => List.replace_at(traders, index, new_trader_data)}} end end Another callback functions that we will need to provide are two handle_info/2 functions that will handle the trade finished scenario as well as crashed trader. First, trade finished scenario. As previously, we will try to find the trader data in the traders list. If that’s successful, we will start a new trader with a fresh state. We will also overwrite existing trader data locally(as PID, ref, and state changed): # /apps/naive/lib/naive/leader.ex # below state updated handle_call callback def handle_info( {:DOWN, _ref, :process, trader_pid, :normal}, %{traders: traders, symbol: symbol, settings: settings} = state ) do Logger.info("#{symbol} trader finished trade - restarting") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart finished #{symbol} " <> "trader that leader is not aware of" ) {:noreply, state} index -> new_trader_data = start_new_trader(fresh_trader_state(settings)) new_traders = List.replace_at(traders, index, new_trader_data) {:noreply, %{state | traders: new_traders}} end end Here we will assume that whenever the reason that the Naive.Trader process died is :normal that means that we stopped it after trade cycle finished. The final callback that we need to provide will handle the scenario where the trader crashed. We would like to find the cached state of the crashed trader and start a new one with the same state and then update the local cache as PID and ref will change for that trader: # /apps/naive/lib/naive/leader.ex # below trade finished handle_info callback def handle_info( {:DOWN, _ref, :process, trader_pid, reason}, %{traders: traders, symbol: symbol} = state ) do Logger.error("#{symbol} trader died - reason #{reason} - trying to restart") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart #{symbol} trader " <> "but failed to find its cached state" ) {:noreply, state} index -> trader_data = Enum.at(traders, index) new_trader_data = start_new_trader(trader_data.state) new_traders = List.replace_at(traders, index, new_trader_data) {:noreply, %{state | traders: new_traders}} end end 5.4.4 IEx testing That finishes the implementation part, let’s jump into the IEx session to see how it works. We will start the observer first, then we will start trading on any valid symbol. When our trader will start, you should be able to right-click and select “Kill process”(leave the reason as kill) and click “OK”. At that moment you should see that the PID of the trader changed and we can also see a log message from the leader. $ iex -S mix ... iex(1)> :observer.start() :ok iex(2)> Naive.start_trading("xrpusdt") 00:04:35.041 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.455.0>} 00:04:37.697 [info] Initializing new trader for XRPUSDT iex(3)> 00:08:01.476 [error] XRPUSDT trader died - trying to restart 00:08:01.476 [info] Initializing new trader for XRPUSDT [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-a-buy_down_interval-to-make-a-single-trader-more-profitable.html", "Chapter 6 Introduce a buy_down_interval to make a single trader more profitable 6.1 Objectives 6.2 Why we need to buy below the current price? Feature overview 6.3 Naive.Trader implementation 6.4 Naive.Leader implementation", " Chapter 6 Introduce a buy_down_interval to make a single trader more profitable 6.1 Objectives present reasons why to introduce buy_down_interval add buy_down interval to Naive.Trader’s state and calculate buy price add buy_down interval to Naive.Trader’s state compiled by the Naive.Leader manually test the implementation inside iex 6.2 Why we need to buy below the current price? Feature overview The Naive.Trader process(marked in above diagram with blue color) at the arrival of the first trade event, immediately places a buy order at the current price. At the moment when the buy order gets filled, it places the sell order which later also gets filled. The Trader A exits and a new trader B is started which again immediately places a buy order at the same price as the previous trader just sold. When this gets filled sell order gets placed and the loop continues on and on. We can see that there’s a problem here as we just paid a fee twice(once for selling by the Trader A and once for buying by the Trader B) without really gaining anything(the Trader A could just hold the currency and could simply cash in on double profit in this specific situation). The solution is to be more clever about our buy order’s price. The idea is simple, instead of placing a new buy order at the current price(price from the last TradeEvent), we will introduce a buy_down_interval: So every new Naive.Trader process as it receives the first trade event, the trader will take its price and will calculate a decreased price by using the buy_down_interval value(for example 0.005 would be 0.5%) and place a buy order at that calculated price. When looking at the chart above we can figure out that buy_down_interval should never be smaller than double the fee(at the moment of writing transaction fee is 0.1%) that you are paying per transaction. 6.3 Naive.Trader implementation Let’s open the Naive.Trader module’s file(/apps/naive/lib/naive/trader.ex) and add buy_down_interval to its state: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :buy_down_interval, # <= add this line :profit_interval, :tick_size ] defstruct [ :symbol, :buy_order, :sell_order, :buy_down_interval, # <= add this line :profit_interval, :tick_size ] end ... Next, we need to update the initial handle_info/2 callback which places the buy order. We need to retrieve the buy_down_interval and the tick_size from the state of the trader to be able to calculate the buy price. We will put the logic to calculate that price in a separate function at the end of the file: # /apps/naive/lib/naive/trader.ex ... def handle_info( %TradeEvent{price: price}, %State{ symbol: symbol, buy_order: nil, buy_down_interval: buy_down_interval, # <= add this line tick_size: tick_size # <= add this line } = state ) do price = calculate_buy_price(price, buy_down_interval, tick_size) # ^ add above call ... To calculate the buy price we will use a very similar method to the one used before to calculate the sell price. First, we will need to cast all variables into the Decimal structs and then, we will simply subtract the buy_down_interval of the price from the price. The number that we will end up with won’t necessarily be a legal price as every price needs to be divisible by the tick_size which we will assure in the last calculation: # /apps/naive/lib/naive/trader.ex ... defp calculate_buy_price(current_price, buy_down_interval, tick_size) do # not necessarily legal price exact_buy_price = D.sub( current_price, D.mult(current_price, buy_down_interval) ) D.to_string( D.mult( D.div_int(exact_buy_price, tick_size), tick_size ), :normal ) end ... 6.4 Naive.Leader implementation Next, we need to update the Naive.Leader as it needs to add buy_down_interval to the Naive.Trader’s state: # /apps/naive/lib/naive/leader.ex defp fetch_symbol_settings(symbol) do ... %{ symbol: symbol, chunks: 1, # 0.01% for quick testing buy_down_interval: "0.0001", # <= add this line # -0.12% for quick testing profit_interval: "-0.0012", tick_size: tick_size } end ... 6.4.1 IEx testing That finishes the buy_down_interval implementation, we will jump into the IEx session to see how it works, but before that, for a moment we will change the logging level to debug to see current prices: # config/config.exs ... config :logger, level: :debug # <= updated for our manual test ... After starting the streaming we should start seeing log messages with current prices. As we updated our implementation we should place our buy order below the current price as it’s visible below: $ iex -S mix ... iex(1)> Streamer.start_streaming("FLMUSDT") {:ok, #PID<0.313.0>} iex(2)> Naive.start_trading("FLMUSDT") 21:16:14.829 [info] Starting new supervision tree to trade on FLMUSDT ... 21:16:16.755 [info] Initializing new trader for FLMUSDT ... 21:16:20.000 [debug] Trade event received FLMUSDT@0.15180000 21:16:20.009 [info] Placing BUY order for FLMUSDT @ 0.1517, quantity: 100 As we can see our Naive.Trader process placed a buy order below the current price (based on the most recent trade event received) [Note] Please remember to revert the change to logger level as otherwise there’s too much noise in the logs. [Note 2] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["introduce-a-trader-budget-and-calculating-the-quantity.html", "Chapter 7 Introduce a trader budget and calculating the quantity 7.1 Objectives 7.2 Fetch step_size 7.3 Append budget and step_size to the Trader’s state inside the Leader 7.4 Append budget and step_size to the Trader’s state 7.5 Calculate quantity", " Chapter 7 Introduce a trader budget and calculating the quantity 7.1 Objectives fetch step_size append budget and step_size to the Trader’s state compiled by the Leader append budget and step_size to the Trader’s state calculate quantity 7.2 Fetch step_size In the 2nd chapter we hardcoded quantity to 100, it’s time to refactor that. We will need step_size information from the Binance which we are already retrieving together with tick_size in the exchangeInfo call(but not getting it out from the response). So we will rename the fetch_tick_size/1 function to fetch_symbol_filters/1 which will allow us to return multiple filters(tick_size and step_size) from that function. # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) # <= updated fetch_tick_size Map.merge( %{ symbol: symbol, chunks: 1, budget: 20, # -0.01% for quick testing buy_down_interval: "0.0001", # -0.12% for quick testing profit_interval: "-0.0012" }, symbol_filters ) end defp fetch_symbol_filters(symbol) do # <= updated fetch_tick_size symbol_filters = @binance_client.get_exchange_info() |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") %{ tick_size: tick_size, step_size: step_size } end Instead of reassigning the filters one by one into the settings, we will merge them together(#1). Additionally, we will introduce a budget(#2) which will be shared across all traders of the symbol. Also, we don’t need to assign tick_size here as it’s part of the settings that are merged. 7.3 Append budget and step_size to the Trader’s state inside the Leader The budget needs to be added to the %State{}(step_size will be automatically passed on by struct/2) of the trader inside fresh_trader_state/1(where we initialize the state of traders). Before we will assign it we need to divide it by the number of chunks as each trader gets only a chunk of the budget: # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | budget: D.div(settings.budget, settings.chunks) } end In the code above we are using the Decimal module(aliased as D) to calculate the budget - we need to alias it at the top of Naive.Leader’s file: # /apps/naive/lib/naive/leader.ex defmodule Naive.Leader do use GenServer alias Decimal, as: D # <= add this line alias Naive.Trader ... 7.4 Append budget and step_size to the Trader’s state We need to add both budget and step_size to the Naive.Trader’s state struct: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :budget, # <= add this line :buy_down_interval, :profit_interval, :tick_size, :step_size # <= add this line and comma above ] defstruct [ :symbol, :budget, # <= add this line :buy_order, :sell_order, :buy_down_interval, :profit_interval, :tick_size, :step_size # <= add this line and comma above ] end ... 7.5 Calculate quantity Jumping back to the handle_info/2 where the Naive.Trader places a buy order, we need to pattern match on the step_size and budget then we will be able to swap hardcoded quantity with the result of calling the calculate_quantity/3 function: # /apps/naive/lib/naive/trader.ex ... def handle_info( %TradeEvent{price: price}, %State{ symbol: symbol, budget: budget, # <= add this line buy_order: nil, buy_down_interval: buy_down_interval, tick_size: tick_size, step_size: step_size # <= add this line } = state ) do ... quantity = calculate_quantity(budget, price, step_size) ... To calculate quantity we will just divide the budget by the price with a caveat that it’s possible (as with calculating the price) that it’s not a legal quantity value as it needs to be divisible by step_size: # /apps/naive/lib/naive/trader.ex # add below at the bottom of the file ... defp calculate_quantity(budget, price, step_size) do # not necessarily legal quantity exact_target_quantity = D.div(budget, price) D.to_string( D.mult( D.div_int(exact_target_quantity, step_size), step_size ), :normal ) end 7.5.1 IEx testing That finishes the quantity(and budget) implementation, we will jump into the IEx session to see how it works. First, start the streaming and trading on the same symbol and a moment later you should see a variable amount of quantity that more or less uses the full allowed budget: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") {:ok, #PID<0.313.0>} iex(2)> Naive.start_trading("XRPUSDT") 21:16:14.829 [info] Starting new supervision tree to trade on XRPUSDT 21:16:16.755 [info] Initializing new trader for XRPUSDT 21:16:20.009 [info] Placing BUY order for XRPUSDT @ 0.29506, quantity: 67.7 21:16:23.456 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.29529, quantity: 67.7 As we can see our Naive.Trader process is now buying and selling based on passed budget. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["add-support-for-multiple-transactions-per-order.html", "Chapter 8 Add support for multiple transactions per order 8.1 Objectives 8.2 The issue with the current implementation 8.3 Improve buy order filled callback 8.4 Implement buy order “filled” callback 8.5 Improve sell order callback 8.6 Test the implementation", " Chapter 8 Add support for multiple transactions per order 8.1 Objectives describe the issue with the current implementation improve buy order filled callback implement buy order “filled” callback improve sell order callback 8.2 The issue with the current implementation Currently, Naive.Trader process is placing a buy order and it’s assuming that it will be filled by a single opposite sell order(we are pattern matching on quantity to confirm that): Here we can see our buy order for 1000 units(on the left) and other trader’s sell order(on the right) for 1000 units. This(order fully filled in a single transaction) is a case most of the time but it’s not ALWAYS the case. Sometimes our order will be filled by two or more transactions: The easiest and the safest way to check has this event filled our order fully is to fetch our order again from Binance at the moment when trade event filling our order arrives. The problem with this approach is that sometimes we will run into a race condition: From the left, first, we are sending a buy order for quantity 1000 to the Binance. It hangs for a while until it gets filled by 2 transactions that happened very quickly. Quickly enough for us to receive both messages almost in the same moment. When our bot will handle the first one it will fetch the buy order which is already filled. It will cause the trader to place a sell order but then there’s another trade event waiting in the message box. It will be handled by another callback that will again fetch the order and place another sell order to be placed and that’s obviously not correct. What we need to do is to update the status of the buy order after the first fetch(if it’s filled) so when the second trade event arrives we will ignore it(this will require an additional callback). The same issue will appear when placing a sell order and dealing with multiple simultaneous transactions. 8.3 Improve buy order filled callback First, we need to modify the callback which monitors incoming trade events for ones filling its buy order and then places sell order. We need to remove pattern matching assuming that a single trade event will fill our buy order - we need to drop quantity check as well as add: # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{ buyer_order_id: order_id # <= quantity got removed from here }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, order_id: order_id, orig_qty: quantity, transact_time: timestamp # <= timestamp added to query order } = buy_order, # <= buy order to update it profit_interval: profit_interval, tick_size: tick_size } = state ) do Now we can fetch our buy order to check is it already filled. We will get the Binance.Order struct instead of the Binance.OrderResponse that we normally deal with. At this moment we will simply update our Binance.OrderResponse struct from the state: # /apps/naive/lib/naive/trader.ex # inside the same callback def handle_info( ... ) do {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) buy_order = %{buy_order | status: current_buy_order.status} ... The rest of the logic inside this callback will depend on the status of the buy order. If our buy order is “filled” we would like to follow the existing logic but also update the buy_order field inside the state of the trader process. On the other hand, if our order is not yet filled the only thing to do is to update the buy_order field inside the state of the Trader process. Here’s an updated body below the above changes(few variables got renamed for clarity as we are now fetching the order): # /apps/naive/lib/naive/trader.ex # inside the same callback buy_order = .... {:ok, new_state} = if buy_order.status == "FILLED" do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) Logger.info( "Buy order filled, placing SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") {:ok, %{state | buy_order: buy_order, sell_order: order}} else Logger.info("Buy order partially filled") {:ok, %{state | buy_order: buy_order}} end Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end As we are branching our logic and both paths are updating the state, we will return it together with an :ok atom to be able to pattern match it and assign it as a new state. 8.4 Implement buy order “filled” callback The above callback covers the case where we will get multiple transactions filling our buy order. We aren’t yet covering for the race condition described at the beginning of this chapter. When another trade event matching buyer_order_id would arrive, the above callback would be used and another sell order would be placed. To avoid that we need to add a new callback ABOVE the one that we just edited that will match buyer_order_id together with “filled” status and it will simply ignore that trade event as we know that sell event needed to be placed by previous trade event: # /apps/naive/lib/naive/trader.ex # place this callback ABOVE callback from previous section def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id, # <= confirms that it's event for buy order status: "FILLED" # <= confirms buy order filled }, sell_order: %Binance.OrderResponse{} # <= confirms sell order placed } = state ) do {:noreply, state} end 8.5 Improve sell order callback Let’s move on to the callback where the trader receives a trade event matching the sell order’s id (about line 135 inside the Naive.Trader module). We need to modify the header of our callback in the following ways: drop both pattern matches on quantity as we already know that trade event could partially fill our order (#1) get symbol out of state (#2) get transact_time out of the sell_order (used to fetch get_order) (#3) assign sell_order to a variable (#4) # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{ seller_order_id: order_id # `quantity` check removed below (#1) }, %State{ symbol: symbol, (#2) sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp # `transact_time` to `get_order` (#3) } = sell_order # to update order (#4) } = state ) do Moving to the body of the function, we need to: fetch current state of our sell order update status of our sell_order from Trader’s state branch out the logic based on status of the sell_order: log and return the :stop atom to stop the GenServer or update the state with new sell_order and continue Here’s the full body of our callback: # /apps/naive/lib/naive/trader.ex # inside the callabck {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) sell_order = %{sell_order | status: current_sell_order.status} if sell_order.status == "FILLED" do Logger.info("Trade finished, trader will now exit") {:stop, :normal, state} else Logger.info("Sell order partially filled") new_state = %{state | sell_order: sell_order} Naive.Leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 8.6 Test the implementation Testing this feature is a bit tricky as it requires trading on real Binance exchange(as our BinanceMock always fills orders with a single transaction) as well as race condition to happen :) Not that easy but even without race condition we should still test that code works as expected with BinanceMock: $ iex -S mix ... iex(1)> Naive.start_trading("XRPUSDT") 23:27:35.977 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.331.0>} 23:27:39.073 [info] Initializing new trader for XRPUSDT iex(2)> Streamer.start_streaming("XRPUSDT") {:ok, #PID<0.345.0>} 23:31:57.044 [info] Initializing new trader for XRPUSDT 23:31:57.888 [info] Placing BUY order for XRPUSDT @ 0.28031, quantity: 71.3 23:32:01.023 [info] Buy order filled, placing SELL order for XRPUSDT @ 0.28053, quantity: 71.30000000 23:33:08.865 [info] Trade finished, trader will now exit 23:33:08.865 [info] XRPUSDT Trader finished - restarting [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["run-multiple-traders-in-parallel.html", "Chapter 9 Run multiple traders in parallel 9.1 Objectives 9.2 Describe and design the required functionality 9.3 Implement rebuy inside Naive.Trader 9.4 Implement rebuy in the Naive.Leader 9.5 Improve logs by assigning ids to traders 9.6 Test the implementation", " Chapter 9 Run multiple traders in parallel 9.1 Objectives describe and design the required functionality implement rebuy in the Naive.Trader implement rebuy in the Naive.Leader improve logs by assigning ids to traders 9.2 Describe and design the required functionality At this moment, inside the Naive.Leader we have a silly code that starts all of the traders at the same moment: # /apps/naive/lib/naive/leader.ex ... traders = for _i <- 1..settings.chunks, do: start_new_trader(trader_state) ... All the changes we made in this episode will enable us to fix this. Let’s say that we placed a buy order that got filled and the price has fallen before reaching the sell level. We can see here that we missed a nice opportunity to buy more as price drops and make money as it climbs back: We will implement an additional trade event callback inside the Naive.Trader that will keep checking the price after the buy order has been filled. Whenever a price drops below the buy_order’s price by rebuy_interval we will notify the Naive.Leader to start the new Naive.Trader process: The Naive.Leader keeps track of how many Naive.Traders are running and needs to honor the number of chunks set up in the settings (one chunk == one trader). To stop the Naive.Traders from continuously notifying about a drop in the price we will also introduce a boolean flag that will track has the Naive.Leader been already notified. 9.3 Implement rebuy inside Naive.Trader We will start by adding the rebuy_interval and the rebuy_notified to the trader’s state: # /apps/naive/lib/naive/trader.ex ... defmodule State do @enforce_keys [ :symbol, :budget, :buy_down_interval, :profit_interval, :rebuy_interval, # <= add this field :rebuy_notified, # <= add this field :tick_size, :step_size ] defstruct [ :symbol, :budget, :buy_order, :sell_order, :buy_down_interval, :profit_interval, :rebuy_interval, # <= add this field :rebuy_notified, # <= add this field :tick_size, :step_size ] end Rebuy logic should be placed almost as the last callback just before the one that ignores all events. We will need to retrieve the current price and buy_price and confirm that we didn’t notify the leader yet(rebuy_notified flag): # /apps/naive/lib/naive/trader.ex ... # sell filled callback here ... def handle_info( %TradeEvent{ price: current_price }, %State{ symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false } = state ) do end # catch all callback here We need to calculate is the current price below the rebuy interval. If yes we will notify the leader and update the boolean flag. We will abstract calculation to separate function(for readability) that we will write below: # /apps/naive/lib/naive/trader.ex # body of the above callback if trigger_rebuy?(buy_price, current_price, rebuy_interval) do Logger.info("Rebuy triggered for #{symbol} trader") new_state = %{state | rebuy_notified: true} Naive.Leader.notify(:rebuy_triggered, new_state) {:noreply, new_state} else {:noreply, state} end As mentioned before, we will set the rebuy_notified boolean flag to true and notify the leader using the notify function with the dedicated atom. At the bottom of the module we need to add the trigger_rebuy? helper function: # /apps/naive/lib/naive/trader.ex # bottom of the module defp trigger_rebuy?(buy_price, current_price, rebuy_interval) do rebuy_price = D.sub( buy_price, D.mult(buy_price, rebuy_interval) ) D.lt?(current_price, rebuy_price) end 9.4 Implement rebuy in the Naive.Leader Moving on to the Naive.Leader module, we can get update starting of the traders automatically by the leader to starting just one inside handle_continue: # /apps/naive/lib/naive/leader.ex def handle_continue(:start_traders, %{symbol: symbol} = state) do ... traders = [start_new_trader(trader_state)] # <= updated part ... end We will need to add a new clause of the notify function that will handle the rebuy scenario: # /apps/naive/lib/naive/leader.ex # add below current `notify` function def notify(:rebuy_triggered, trader_state) do GenServer.call( :"#{__MODULE__}-#{trader_state.symbol}", {:rebuy_triggered, trader_state} ) end We need to add a new handle_call function that will start new traders only when there are still chunks available(enforce the maximum number of parallel traders) - let’s start with a header: # /apps/naive/lib/naive/leader.ex # place this one after :update_trader_state handle_call def handle_call( {:rebuy_triggered, new_trader_state}, {trader_pid, _}, %{traders: traders, symbol: symbol, settings: settings} = state ) do end There are few important details to make note of: we need the trader’s PID to be able to find it details inside the list of traders we need settings to confirm the number of chunks to be able to limit the maximum number of parallel traders Moving on to the body of our callback. As with other ones, we will check can we find a trader inside the list of traders, and based on that we will either start another one(if we didn’t reach the limit of chunks) or ignore it: # /apps/naive/lib/naive/leader.ex # body of our callback case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning("Rebuy triggered by trader that leader is not aware of") {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} updated_traders = List.replace_at(traders, index, new_trader_data) updated_traders = if settings.chunks == length(traders) do Logger.info("All traders already started for #{symbol}") updated_traders else Logger.info("Starting new trader for #{symbol}") [start_new_trader(fresh_trader_state(settings)) | updated_traders] end {:reply, :ok, %{state | :traders => updated_traders}} end In the above code, we need to remember to update the state of the trader that triggered the rebuy inside the traders list as well as add the state of a new trader to that list. As with other setting we will hardcode the rebuy_interval(inside the fetch_symbol_settings function) and assign them to trader’s state(inside the fresh_trader_state function): # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | budget: D.div(settings.budget, settings.chunks), rebuy_notified: false # <= add this line } end defp fetch_symbol_settings(symbol) do ... Map.merge( %{ ... chunks: 5, # <= update to 5 parallel traders max budget: 100, # <= update this line ... profit_interval: "-0.0012", rebuy_interval: "0.001" # <= add this line }, symbol_filters ) end We also update the chunks and the budget to allow our strategy to start up to 5 parallel traders with a budget of 20 USDT each(100/5) as Binance has minimal order requirement at about $15(when using the BinanceMock this doesn’t really matter). 9.5 Improve logs by assigning ids to traders The final change will be to add an id to the trader’s state so we can use it inside log messages to give us meaningful data about what’s going on(otherwise we won’t be able to tell which message was logged by which trader). First, let’s add the id into the Naive.Leader’s fresh_trader_state as it will be defined per trader: # /apps/naive/lib/naive/leader.ex defp fresh_trader_state(settings) do %{ struct(Trader.State, settings) | id: :os.system_time(:millisecond), # <= add this line budget: D.div(settings.budget, settings.chunks), rebuy_notified: false } end Now we can move on to the Naive.Trader and add it to the %State{} struct as well as we will modify every callback to include that id inside log messages: # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [ :id, ... ] defstruct [ :id, ... ] end ... def init(%State{id: id, symbol: symbol} = state) do ... Logger.info("Initializing new trader(#{id}) for #{symbol}") ... end def handle_info( %TradeEvent{price: price}, %State{ id: id, ... } = state ) do ... Logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) ... end def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ id: id, ... } = state ) do ... Logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) ... Logger.info("Trader's(#{id} #{symbol} BUY order got partially filled") ... end def handle_info( %TradeEvent{ seller_order_id: order_id }, %State{ id: id, ... } = state ) do ... Logger.info("Trader(#{id}) finished trade cycle for #{symbol}") ... Logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") ... end def handle_info( %TradeEvent{ price: current_price }, %State{ id: id, ... } = state ) do ... Logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") ... end That finishes the implementation part - we should now be able to test the implementation and see a dynamically growing number of traders for our strategy based on price movement. 9.6 Test the implementation Let’s start an iEx session and open the :observer(inside go to “Applications” tab and click on naive from the list of the left) so we will be able to see how the number of traders is growing as well as PIDs are changing which means that they are finishing the full trades: $ iex -S mix ... iex(1)> :observer.start() ... iex(2)> Naive.start_trading("HNTUSDT") 10:22:05.018 [info] The trader(1616754009963) is placing a BUY order for HNTUSDT @ 8.175, quantity: 2.446 10:22:11.665 [info] Rebuy triggered for HNTUSDT by the trader(1616754009963) 10:22:11.665 [info] Starting new trader for HNTUSDT 10:22:11.665 [info] Initializing new trader(1616754131665) for HNTUSDT 10:22:11.665 [info] The trader(1616754009963) is placing a SELL order for HNTUSDT @ 8.181, quantity: 2.446. 10:22:11.665 [info] The trader(1616754131665) is placing a BUY order for HNTUSDT @ 8.157, quantity: 2.451 10:22:58.339 [info] Trader(1616754009963) finished trade cycle for HNTUSDT 10:22:58.339 [info] HNTUSDT trader finished trade - restarting 10:22:58.339 [info] Initializing new trader(1616754178339) for HNTUSDT 10:22:58.339 [info] The trader(1616754178339) is placing a BUY order for HNTUSDT @ 8.212, quantity: 2.435 10:23:13.232 [info] Rebuy triggered for HNTUSDT by the trader(1616754178339) 10:23:13.232 [info] Starting new trader for HNTUSDT 10:23:13.232 [info] Initializing new trader(1616754193232) for HNTUSDT 10:23:13.232 [info] The trader(1616754178339) is placing a SELL order for HNTUSDT @ 8.218, quantity: 2.435. 10:23:31.120 [info] The trader(1616754193232) is placing a BUY order for HNTUSDT @ 8.194, quantity: 2.44 10:23:31.121 [info] Trader(1616754178339) finished trade cycle for HNTUSDT 10:23:31.122 [info] HNTUSDT trader finished trade - restarting 10:23:31.122 [info] Initializing new trader(1616754211122) for HNTUSDT 10:24:31.891 [info] The trader(1616754211122) is placing a BUY order for HNTUSDT @ 8.198, quantity: 2.439 10:25:24.155 [info] The trader(1616754211122) is placing a SELL order for HNTUSDT @ 8.204, quantity: 2.439. 10:25:24.155 [info] The trader(1616754193232) is placing a SELL order for HNTUSDT @ 8.2, quantity: 2.44. 10:25:24.155 [info] Rebuy triggered for HNTUSDT by the trader(1616754211122) 10:25:24.155 [info] Starting new trader for HNTUSDT 10:25:24.156 [info] Initializing new trader(1616754324155) for HNTUSDT 10:25:24.156 [info] Rebuy triggered for HNTUSDT by the trader(1616754193232) 10:25:24.156 [info] The trader(1616754324155) is placing a BUY order for HNTUSDT @ 8.183, quantity: 2.444 10:25:24.156 [info] Starting new trader for HNTUSDT 10:25:24.156 [info] Initializing new trader(1616754324156) for HNTUSDT 10:25:24.156 [info] The trader(1616754324156) is placing a BUY order for HNTUSDT @ 8.176, quantity: 2.446 10:25:24.156 [info] The trader(1616754324155) is placing a SELL order for HNTUSDT @ 8.189, quantity: 2.444. 10:25:37.527 [info] Trader(1616754324155) finished trade cycle for HNTUSDT 10:25:37.528 [info] HNTUSDT trader finished trade - restarting 10:25:37.528 [info] Initializing new trader(1616754337528) for HNTUSDT 10:25:37.528 [info] The trader(1616754337528) is placing a BUY order for HNTUSDT @ 8.192, quantity: 2.441 10:25:37.530 [info] Trader(1616754211122) finished trade cycle for HNTUSDT 10:25:37.530 [info] Trader(1616754193232) finished trade cycle for HNTUSDT 10:25:37.530 [info] HNTUSDT trader finished trade - restarting 10:25:37.530 [info] Initializing new trader(1616754337530) for HNTUSDT 10:25:37.530 [info] HNTUSDT trader finished trade - restarting 10:25:37.530 [info] Initializing new trader(1616754337530) for HNTUSDT 10:25:40.015 [info] Rebuy triggered for HNTUSDT by the trader(1616754337528) 10:25:40.015 [info] The trader(1616754337530) is placing a BUY order for HNTUSDT @ 8.179, quantity: 2.445 10:25:40.015 [info] All traders already started for HNTUSDT And our observer shows the following: We can clearly see that our strategy dynamically scaled from 1 to 5 parallel traders and they were going through different trading steps without any problems - I think that’s really cool to see and it wasn’t difficult to achieve in Elixir. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["fine-tune-trading-strategy-per-symbol.html", "Chapter 10 Fine-tune trading strategy per symbol 10.1 Objectives 10.2 Describe and design the required functionality 10.3 Add docker to project 10.4 Set up ecto inside the naive app 10.5 Create and migrate the DB 10.6 Seed symbols’ settings 10.7 Update the Naive.Leader to fetch settings", " Chapter 10 Fine-tune trading strategy per symbol 10.1 Objectives describe and design the required functionality add docker to project set up ecto inside the naive app create and migrate the DB seed symbols’ settings update the Naive.Leader to fetch settings 10.2 Describe and design the required functionality At this moment the settings of our naive strategy are hardcoded inside the Naive.Leader: # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) Map.merge( %{ symbol: symbol, # <= chunks: 5, # <= budget: 100, # <= # -0.01% for quick testing # <= buy_down_interval: "0.0001", # <= all of those settings # -0.12% for quick testing # <= profit_interval: "-0.0012", # <= rebuy_interval: "0.001" # <= }, symbol_filters ) end ... The problem about those is that they are hardcoded and there’s no flexibility to define them per symbol at the moment. In this chapter, we will move them out from this file into the Postgres database. 10.3 Add docker to project The requirements for this section are docker and docker-compose installed in your system. Inside the main directory of our project create a new file called docker-compose.yml and fill it with the below details: # /docker-compose.yml version: "3.2" services: db: image: postgres:latest restart: always environment: POSTGRES_PASSWORD: "hedgehogSecretPassword" ports: - 5432:5432 volumes: - ../postgres-data:/var/lib/postgresql/data If you are new to docker here’s the gist of what the above will do: it will start a single service called “db” “db” service will use the latest version of the postgres (image) inside the docker container (latest version as tagged per https://hub.docker.com/_/postgres/) we map TCP port 5432 in the container to port 5432 on the Docker host(format container_port:hosts_port) we set up environmental variable inside the docker container that will be used by the Postgres app as a password for the default (postgres) user volumes option maps the directory from inside of the container to the host. This way we will keep the state of the database between restarts. We can now start the service using docker-compose: $ docker-compose up -d Creating hedgehog_db_1 ... done To validate that it works we can run: $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 98558827b80b postgres:latest "docker-entrypoint.sh" 4 seconds ago Up 4 seconds 0.0.0.0:5432->5432/tcp hedgehog_db_1 10.4 Set up ecto inside the naive app Let’s start by adding database access to the naive application. The first step is to add the Ecto module together with the Postgrex ecto’s driver package to the deps function inside the mix.exs file. As we are going to use Enums inside Postgres, we need to add the EctoEnum module as well: # /apps/naive/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:binance_mock, in_umbrella: true}, {:decimal, "~> 2.0"}, {:ecto_sql, "~> 3.0"}, # <= New line {:ecto_enum, "~> 1.4"}, # <= New line {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, # <= New line {:streamer, in_umbrella: true} ] end Remember about installing those deps using: $ mix deps.get We can now use the ecto generator to add an the ecto repository to the Naive application: $ cd apps/naive $ mix ecto.gen.repo -r Naive.Repo * creating lib/naive * creating lib/naive/repo.ex * updating ../../config/config.exs Don't forget to add your new repo to your supervision tree (typically in lib/naive/application.ex): {Naive.Repo, []} And to add it to the list of Ecto repositories in your configuration files (so Ecto tasks work as expected): config :naive, ecto_repos: [Naive.Repo] Back to the IDE, the generator updated our config/config.exs file with the default access details to the database, we need to modify them to point to our Postgres docker instance as well as add a list of ecto repositories for our naive app (as per instruction above): # /config/config.exs config :naive, # <= added line ecto_repos: [Naive.Repo], # <= added line binance_client: BinanceMock # <= merged from existing config config :naive, Naive.Repo, database: "naive", # <= updated username: "postgres", # <= updated password: "hedgehogSecretPassword", # <= updated hostname: "localhost" Here we can use localhost as inside the docker-compose.yml file we defined port forwarding from the container to the host(Postgres is available at localhost:5432). We also merged the existing binance_client setting together with the new ecto_repos setting. The last step to be able to communicate with the database using Ecto will be to add the Naive.Repo module(created by generator) to the children list of the Naive.Application: # /apps/naive/lib/naive/application.ex ... def start(_type, _args) do children = [ {Naive.Repo, []}, # <= added line { DynamicSupervisor, strategy: :one_for_one, name: Naive.DynamicSymbolSupervisor } ] ... 10.5 Create and migrate the DB We can now create a new naive database using the mix tool, after that we will be able to generate a migration file that will create the settings table: $ mix ecto.create -r Naive.Repo The database for Naive.Repo has been created $ cd apps/naive $ mix ecto.gen.migration create_settings * creating priv/repo/migrations * creating priv/repo/migrations/20210202223209_create_settings.exs We can now copy the current hardcoded settings from the Naive.Leader module and use them as a column list of our new settings table. All of the below alterations need to be done inside the change function of our migration file: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... def change do create table(:settings) do add(:symbol, :text, null: false) add(:chunks, :integer, null: false) add(:budget, :decimal, null: false) add(:buy_down_interval, :decimal, null: false) add(:profit_interval, :decimal, null: false) add(:rebuy_interval, :decimal, null: false) end end At this moment we just copied the settings and converted them to columns using the add function. We need now to take care of the id column. We need to pass primary_key: false to the create table macro to stop it from creating the default integer-based id column. Instead of that we will define the id column ourselves with :uuid type and pass a flag that will indicate that it’s the primary key of the settings table: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) ... We will also add create and update timestamps that come as a bundle when using the timestamps() function inside the create table macro: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(...) do ... timestamps() # <= both create and update timestamps end ... We will add a unique index on the symbol column to avoid any possible duplicates: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs ... create table(...) do ... end create(unique_index(:settings, [:symbol])) end ... We will now add the status field which will be an Enum. It will be defined inside a separate file and alias’ed from our migration, this way we will be able to use it from within the migration and the inside the lib code. First, we will apply changes to our migration and then we will move on to creating the Enum module. Here’s the full implementation of migration for reference: # /apps/naive/priv/repo/migrations/20210202223209_create_settings.exs defmodule Naive.Repo.Migrations.CreateSettings do use Ecto.Migration alias Naive.Schema.TradingStatusEnum def change do TradingStatusEnum.create_type() create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:symbol, :text, null: false) add(:chunks, :integer, null: false) add(:budget, :decimal, null: false) add(:buy_down_interval, :decimal, null: false) add(:profit_interval, :decimal, null: false) add(:rebuy_interval, :decimal, null: false) add(:status, TradingStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:settings, [:symbol])) end end That finishes our work on the migration file. We will now focus on TradingStatusEnum implementation. First, we need to create a schema directory inside the apps/naive/lib/naive directory and file called trading_status_enum.ex and place below logic (defining the enum) in it: # /apps/naive/lib/naive/schema/trading_status_enum.ex import EctoEnum defenum(Naive.Schema.TradingStatusEnum, :trading_status, [:on, :off]) We used the defenum macro from the ecto_enum module to define our enum. It’s interesting to point out that we didn’t need to define a new module as defenum macro takes care of that for us. Let’s run the migration to create the table, unique index, and the enum: $ mix ecto.migrate 00:51:16.757 [info] == Running 20210202223209 Naive.Repo.Migrations.CreateSettings.change/0 forward 00:51:16.759 [info] execute "CREATE TYPE public.trading_status AS ENUM ('on', 'off')" 00:51:16.760 [info] create table settings 00:51:16.820 [info] create index settings_symbol_index 00:51:16.829 [info] == Migrated 20210202223209 in 0.0s We can now create a schema file for the settings table so inside the /apps/naive/lib/naive/schema create a file called settings.ex. We will start with a skeleton implementation of schema file together with the copied list of columns from the migration and convert to ecto’s types using it’s docs: # /apps/naive/lib/naive/schema/settings.ex defmodule Naive.Schema.Settings do use Ecto.Schema alias Naive.Schema.TradingStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "settings" do field(:symbol, :string) field(:chunks, :integer) field(:budget, :decimal) field(:buy_down_interval, :decimal) field(:profit_interval, :decimal) field(:rebuy_interval, :decimal) field(:status, TradingStatusEnum) timestamps() end end 10.6 Seed symbols’ settings So we have all the pieces of implementation to be able to create DB, migrate the settings table, and query it using Ecto. To be able to drop the hardcoded settings from the Naive.Leader we will need to fill our database with the “default” setting for each symbol. To achieve that we will define default settings inside the config/config.exs file and we will create a seed script that will fetch all pairs from Binance and insert a new config row inside DB for each one. Let’s start by adding those default values to the config file(we will merge them into the structure defining binance_client and ecto_repos): # config/config.exs config :naive, ecto_repos: [Naive.Repo], binance_client: BinanceMock, trading: %{ defaults: %{ chunks: 5, budget: 1000, buy_down_interval: "0.0001", profit_interval: "-0.0012", rebuy_interval: "0.001" } } Moving on to the seeding script, we need to create a new file called seed_settings.exs inside the /apps/naive/lib/naive/priv/ directory. Let’s start by aliasing the required modules and requiring the Logger: # /apps/naive/priv/seed_settings.exs require Logger alias Decimal alias Naive.Repo alias Naive.Schema.Settings Next, we will get the Binance client from the config: # /apps/naive/priv/seed_settings.exs ... binance_client = Application.compile_env(:naive, :binance_client) Now, it’s time to fetch all the symbols(pairs) that Binance supports: # /apps/naive/priv/seed_settings.exs ... Logger.info("Fetching exchange info from Binance to create trading settings") {:ok, %{symbols: symbols}} = binance_client.get_exchange_info() Now we need to fetch default trading settings from the config file as well as the current timestamp: # /apps/naive/priv/seed_settings.exs ... %{ chunks: chunks, budget: budget, buy_down_interval: buy_down_interval, profit_interval: profit_interval, rebuy_interval: rebuy_interval } = Application.compile_env(:naive, :trading).defaults timestamp = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) We will use the default settings for all rows to be able to insert data into the database. Normally we wouldn’t need to set inserted_at and updated_at fields as Ecto would generate those values for us when using Repo.insert/2 but we won’t be able to use this functionality as it takes a single record at the time. We will be using Repo.insert_all/3 which is a bit more low-level function without those nice features like filling timestamps(sadly). Just to be crystal clear - Repo.insert/2 takes at least a couple of seconds(on my machine) for 1000+ symbols currently supported by Binance, on the other hand Repo.insert_all/3, will insert all of them in a couple of hundred milliseconds. As our structs will differ by only the symbol column we can first create a full struct that will serve as a template: # /apps/naive/priv/seed_settings.exs ... base_settings = %{ symbol: "", chunks: chunks, budget: Decimal.new(budget), buy_down_interval: Decimal.new(buy_down_interval), profit_interval: Decimal.new(profit_interval), rebuy_interval: Decimal.new(rebuy_interval), status: "off", inserted_at: timestamp, updated_at: timestamp } We will now map each of the retrieved symbols and inject them to the base_settings structs and pushing all of those to the Repo.insert_all/3 function: # /apps/naive/priv/seed_settings.exs ... Logger.info("Inserting default settings for symbols") maps = symbols |> Enum.map(&(%{base_settings | symbol: &1["symbol"]})) {count, nil} = Repo.insert_all(Settings, maps) Logger.info("Inserted settings for #{count} symbols") 10.7 Update the Naive.Leader to fetch settings The final step will be to update the Naive.Leader to fetch the settings from the database. At the top of the module add the following: # /apps/naive/lib/naive/leader.ex ... alias Naive.Repo alias Naive.Schema.Settings ... Now we need to modify the fetch_symbol_settings/1 to fetch settings from DB instead of the hardcoded map. We will use Repo.get_by!/3 as we are unable to trade without settings. The second trick used here is Map.from_struct/1 that is required here as otherwise result would become the Naive.Schema.Settings struct(this would cause problems further down the line as we are iterating on the returned map and would get the protocol Enumerable not implemented for %Naive.Schema.Settings error): # /apps/naive/lib/naive/leader.ex ... defp fetch_symbol_settings(symbol) do symbol_filters = fetch_symbol_filters(symbol) settings = Repo.get_by!(Settings, symbol: symbol) Map.merge( symbol_filters, settings |> Map.from_struct() ) end ... We can now run the seeding script to fill our database with the default settings: $ cd apps/naive $ mix run priv/seed_settings.exs 18:52:29.341 [info] Fetching exchange info from Binance to create trading settings 18:52:31.571 [info] Inserting default settings for symbols 18:52:31.645 [info] Inserted settings for 1276 symbols We can verify that records were indeed inserted into the database by connecting to it using the psql application: $ psql -Upostgres -hlocalhost Password for user postgres: # <= use 'postgres' password here ... postgres=# \\c naive You are now connected to database "naive" as user "postgres". naive=# \\x Expanded display is on. naive=# SELECT * FROM settings; -[ RECORD 1 ]-----+------------------------------------- id | 159c8f32-d571-47b2-b9d7-38bb42868043 symbol | ETHUSDT chunks | 5 budget | 1000 buy_down_interval | 0.0001 profit_interval | -0.0012 rebuy_interval | 0.001 status | off inserted_at | 2021-02-02 18:52:31 updated_at | 2021-02-02 18:52:31 # press arrows to scroll, otherwise press `q` naive=# SELECT COUNT(*) FROM settings; -[ RECORD 1 ] count | 1276 naive=# \\q # <= to close the `psql` That confirms that there are 1276 settings inside the database that will allow us to continue trading which we can check by running our app inside the IEx(from the main project’s directory): $ iex -S mix ... iex(1)> Naive.start_trading("NEOUSDT") 19:20:02.936 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.378.0>} 19:20:04.584 [info] Initializing new trader(1612293637000) for NEOUSDT The above log messages confirm that the Naive.Leader was able to fetch settings from the database that were later put into the Naive.Trader’s state and passed to it. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["supervise-and-autostart-streaming.html", "Chapter 11 Supervise and autostart streaming 11.1 Objectives 11.2 Describe and design the required functionality 11.3 Register the Streamer.Binance processes with names 11.4 Set up ecto inside the streamer app 11.5 Create and migrate the db 11.6 Seed default settings 11.7 Implement the supervision tree and start streaming functionality 11.8 Implement the stop functionality 11.9 Implement the autostart streaming functionality 11.10 Test the implementation", " Chapter 11 Supervise and autostart streaming 11.1 Objectives describe and design the required functionality register the Streamer.Binance processes with names set up ecto inside the streamer app create and migrate the db seed default settings implement the supervision tree and start streaming functionality implement the stop functionality implement the autostart streaming functionality test the implementation 11.2 Describe and design the required functionality At this moment there’s no supervision around the streamer processes, whenever an error would occur inside the Streamer.Binance process, it will die and never come back up. That’s less than perfect, but we can use supervisors to the rescue. We will create a new Streamer.DynamicStreamerSupervisor module inside our streamer application that will supervise the Streamer.Binance processes. Next, we will consider a list of functionalities that we would like it to provide: start streaming. This will require a new Streamer.Binance process started under the Streamer.DynamicStreamerSupervisor. We will put logic responsible for starting that process inside the Streamer.DynamicStreamerSupervisor module. stop streaming. To be able to stop the Streamer.Binance process streaming on a specific symbol, we will need to know that process’ PID based only on symbol string(ie. “ETHUSDT”). To make that possible, we will need to register every Streamer.Binance process with a name that we will be able to “reverse-engineer” based only on symbol string for example: :\"#{__MODULE__}-#{symbol}\" autostart streaming. At the start of streaming on a symbol, we should persist that action as a symbol’s streaming setting inside the database. We will need to generate a new Ecto.Repo, configure, create and migrate DB (just like in the last chapter for the naive app) to be able to retrieve that list. We will write a logic that will fetch settings of the symbols, autostart the ones that are enabled and place all that logic inside the Streamer.DynamicStreamerSupervisor module. We will introduce a Task child process that will utilize the logic from the Streamer.DynamicStreamerSupervisor to fetch those enabled symbols and start Streamer.Binance processes on startup - we will describe all of this separately in its section in this chapter. 11.3 Register the Streamer.Binance processes with names To be able to perform start/stop streaming on a symbol we will first need to be able to figure out the PID of the Streamer.Binance process that is streaming that symbol. The first change that we need to apply will be to register Streamer.Binance processes with names by passing the 4th argument to the WebSockex.start_link/4 function: # /apps/streamer/lib/streamer/binance.ex def start_link(symbol) do Logger.info( "Binance streamer is connecting to websocket " <> "stream for #{symbol} trade events" ) WebSockex.start_link( "#{@stream_endpoint}#{String.downcase(symbol)}@trade", # <= lowercase symbol __MODULE__, nil, name: :"#{__MODULE__}-#{symbol}" # <= uppercase symbol ) end Few things worth mention here: we are getting the uppercase symbol but inside the URL we need to use a lowercase symbol so we will introduce a new separate variable to be used in the URL we are registering the process using the uppercase symbol so the name will remain consistent with the naive application’s processes to register process we are sending keyword list as the 4th argument to custom start_link/4 function of WebSockex module (link to source - again, no need to be afraid of reading the source code in Elixir, that’s the beauty of it) 11.4 Set up ecto inside the streamer app In the same fashion as in the last chapter, we will need to set up the database inside the streamer app. We will use the same Postgres server(docker container) that we’ve set up inside docker in the last chapter, just a separate database, so there’s no need to update the docker-compose.yml file. As previously the first step will be to add the ecto modules and Postgres related packages into deps inside the mix.exs file of the streamer app. Additionally, we will add the binance module that we will use to fetch all symbols supported by the exchange(to generate default settings as we’ve done for the naive application. We are unable to use the BinanceMock as this will cause the circular dependency [Binance Mock depends on the streamer app]): # /apps/streamer/mix.exs ... defp deps do [ {:binance, "~> 1.0"}, # <= used to retrieve symbols list(exchangeInfo) {:ecto_sql, "~> 3.0"}, # <= added dependency {:ecto_enum, "~> 1.4"}, # <= added dependency {:jason, "~> 1.2"}, {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, # <= added dependency {:websockex, "~> 0.4"} ] end Run mix deps.get to install new dependencies. We can now use ecto generator to add an ecto repository to the Streamer application: $ cd apps/streamer $ mix ecto.gen.repo -r Streamer.Repo * creating lib/streamer * creating lib/streamer/repo.ex * updating ../../config/config.exs ... Update the config to match access details to Postgres’ docker instance: # /config/config.exs config :streamer, # <= added line ecto_repos: [Streamer.Repo] # <= added line config :streamer, Streamer.Repo, database: "streamer", # <= database updated username: "postgres", # <= username updated password: "hedgehogSecretPassword", # <= password updated hostname: "localhost" The last step will be to update the children list of the Streamer.Application module: # /apps/streamer/lib/streamer/application.ex ... def start(_type, _args) do children = [ {Streamer.Repo, []}, # <= repo added { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 } ] ... 11.5 Create and migrate the db We can now create a new streamer database using the mix tool, after that we will be able to generate a migration file that will create the settings table: $ mix ecto.create -r Streamer.Repo The database for Streamer.Repo has been created $ cd apps/streamer $ mix ecto.gen.migration create_settings * creating priv/repo/migrations * creating priv/repo/migrations/20210203184805_create_settings.exs We can safely start just with id, symbol and status columns, where the last one will follow the same enum idea from the previous chapter: # /apps/streamer/priv/repo/migrations/20210203184805_create_settings.exs defmodule Streamer.Repo.Migrations.CreateSettings do use Ecto.Migration alias Streamer.Schema.StreamingStatusEnum def change do StreamingStatusEnum.create_type() create table(:settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:symbol, :text, null: false) add(:status, StreamingStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:settings, [:symbol])) end end That finishes our work on the migration file, we need to add the StreamingStatusEnum in the same way as in the last chapter (create a schema directory inside the apps/streamer/lib/streamer directory and a new file called streaming_status_enum.ex and place below logic (defining the enum) in it: # /apps/streamer/lib/streamer/schema/streaming_status_enum.ex import EctoEnum defenum(Streamer.Schema.StreamingStatusEnum, :streaming_status, [:on, :off]) Let’s run the migration to create the table, unique index, and the enum: $ mix ecto.migrate 21:31:56.850 [info] == Running 20210203184805 Streamer.Repo.Migrations.CreateSettings.change/0 forward 21:31:56.850 [info] execute "CREATE TYPE public.streaming_status AS ENUM ('on', 'off')" 21:31:56.851 [info] create table settings 21:31:56.912 [info] create index settings_symbol_index 21:31:56.932 [info] == Migrated 20210203184805 in 0.0s We can now create a schema file for the settings table. Inside the /apps/streamer/lib/streamer/schema directory create a file called settings.ex: # /apps/streamer/lib/streamer/schema/settings.ex defmodule Streamer.Schema.Settings do use Ecto.Schema alias Streamer.Schema.StreamingStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "settings" do field(:symbol, :string) field(:status, StreamingStatusEnum) timestamps() end end We are now ready to query the table but first, we need to insert the default settings into the database. 11.6 Seed default settings As with the settings inside the naive application, we will fetch all symbols from binance and bulk insert them into the database. First let’s create a new file called seed_settings.exs inside the apps/streamer/priv directory. As this file is nearly the same as the one from the last chapter I will skip the lengthy explanation - this is the script: # /apps/streamer/priv/seed_settings.exs require Logger alias Decimal alias Streamer.Repo alias Streamer.Schema.Settings Logger.info("Fetching exchange info from Binance to create streaming settings") {:ok, %{symbols: symbols}} = Binance.get_exchange_info() timestamp = NaiveDateTime.utc_now() |> NaiveDateTime.truncate(:second) base_settings = %{ symbol: "", status: "off", inserted_at: timestamp, updated_at: timestamp } Logger.info("Inserting default settings for symbols") maps = symbols |> Enum.map(&(%{base_settings | symbol: &1["symbol"]})) {count, nil} = Repo.insert_all(Settings, maps) Logger.info("Inserted settings for #{count} symbols") Don’t forget to run the seeding script before progressing forward: $ cd apps/streamer $ mix run priv/seed_settings.exs 22:03:46.675 [info] Fetching exchange info from Binance to create streaming settings 22:03:51.386 [info] Inserting default settings for symbols 22:03:51.448 [info] Inserted settings for 1277 symbols 11.7 Implement the supervision tree and start streaming functionality Let’s start by creating a new file called dynamic_streamer_supervisor.ex inside the /apps/streamer/lib/streamer directory. Let’s start with a default implementation from the docs (updated with correct module and process names): # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defmodule Streamer.DynamicStreamerSupervisor do use DynamicSupervisor def start_link(init_arg) do DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end Next, we will add the start_streaming/1 function at the bottom of the Streamer.DynamicStreamerSupervisor module: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex ... def start_streaming(symbol) when is_binary(symbol) do case get_pid(symbol) do nil -> Logger.info("Starting streaming on #{symbol}") {:ok, _settings} = update_streaming_status(symbol, "on") {:ok, _pid} = start_streamer(symbol) pid -> Logger.warning("Streaming on #{symbol} already started") {:ok, _settings} = update_streaming_status(symbol, "on") {:ok, pid} end end To unpack above - we are checking is there a streamer process already running for the passed symbol and based on the result of that check, we either start the new streaming process(and update the symbol’s settings) or just update the symbol’s settings. Inside the start_streaming/1 function, we are using 3 helper functions that we need to add at the bottom of the file: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defp get_pid(symbol) do Process.whereis(:"Elixir.Streamer.Binance-#{symbol}") end defp update_streaming_status(symbol, status) when is_binary(symbol) and is_binary(status) do Repo.get_by(Settings, symbol: symbol) |> Ecto.Changeset.change(%{status: status}) |> Repo.update() end defp start_streamer(symbol) do DynamicSupervisor.start_child( Streamer.DynamicStreamerSupervisor, {Streamer.Binance, symbol} ) end The above functions are quite self-explanatory, get_pid/1 is a convenience wrapper, update_streaming_status/2 will update the status field for the passed symbol, start_streamer/1 will instruct the Streamer.DynamicStreamerSupervisor to start a new Streamer.Binance process with symbol passed as the first argument. The last step to get the above function to work(and future ones in this module) would be to add a require, an import, and a few aliases at the top of the module: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex require Logger import Ecto.Query, only: [from: 2] alias Streamer.Repo alias Streamer.Schema.Settings As we added a new start_streaming/1 logic inside the Streamer.DynamicStreamerSupervisor, we need to replace the start_streaming/1 implementation inside the Streamer module: # /apps/streamer/lib/streamer.ex ... alias Streamer.DynamicStreamerSupervisor def start_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.start_streaming() end As we don’t need to put any logic inside the Streamer.start_streaming/1 function, we can just delegate the call straight to the Streamer.DynamicStreamerSupervisor module. The last step will be to append the Streamer.DynamicStreamSupervisor to the children list of the Streamer.Application: # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ ... {Streamer.DynamicStreamerSupervisor, []} ] At this moment our supervision tree already works and all streamer processes are being monitored by the Streamer.DynamicStreamerSupervisor: 11.8 Implement the stop functionality As we can see, we are now registering the Streamer.Binance processes with names that contain their symbols. We will be able to retrieve PIDs of those registered processes just by simply passing the symbol string(ie. “ETHUSDT”) into get_pid/1, which will allow us to then request termination of those processes by the Streamer.DynamicStreamerSupervisor. Let’s write a stop_streaming/1 logic inside the Streamer.DynamicStreamerSupervisor module(put it above first private function): # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex def stop_streaming(symbol) when is_binary(symbol) do case get_pid(symbol) do nil -> Logger.warning("Streaming on #{symbol} already stopped") {:ok, _settings} = update_streaming_status(symbol, "off") pid -> Logger.info("Stopping streaming on #{symbol}") :ok = DynamicSupervisor.terminate_child( Streamer.DynamicStreamerSupervisor, pid ) {:ok, _settings} = update_streaming_status(symbol, "off") end end stop_streaming/1 looks very similar to start_streaming/1, we are checking is there already a Streamer.Binance process registered for that symbol, and we either ask the Streamer.DynamicStreamerSupervisor to terminate it for us (using the DynamicSupervisor.terminate_child/2 function + update the status) or just update the status to be off. We need to update the Streamer module to provide the interface to stop streaming on a symbol: # /apps/streamer/lib/streamer.ex ... def stop_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.stop_streaming() end ... 11.9 Implement the autostart streaming functionality Currently, whenever we will shutdown the elixir app, settings persist in the database but streamers are not started on the next init. To fix this, we will add autostart_streaming/0 inside the Streamer.DynamicStreamerSupervisor. Note: It very important to differentiate between module and process. We will put our autostarting logic inside the module but the Streamer.DynamicStreamerSupervisor process won’t run it. We will introduce a new Task process that will execute all the autostarting logic. That will cover the problem of the Supervisor executing too much business logic (as the Task will execute it), but how will we supervise them together? At init both will start, the Streamer.DynamicStreamerSupervisor first, and then Task will ask it to start multiple children and that will work fine. The problem occurs when the Streamer.DynamicStreamerSupervisor would die because of any reason. Currently, it’s supervised using the one_for_one strategy(and the Task would be as well) which means that it will get started again by the Streamer.Application process but at that moment the “autostarting” Task won’t be there anymore to start streaming on all enabled symbols. We can clearly see that whenever the Streamer.DynamicStreamerSupervisor will die it needs to be started again together with the “autostart” Task and this won’t fit our current Streamer.Application’s strategy. In cases like those, a new level of supervision needs to be introduced that will have a different supervision strategy for those “coupled” processes. We will rename the process name of the Streamer.Application (which is currently registered as Streamer.Supervisor) to Streamer.Application. Then we will introduce the new Streamer.Supervisor module and register it under the same name. We will attach both Streamer.DynamicStreamerSupervisor and Task to the Streamer.Supervisor and assign it with the rest_for_one strategy which will restart the Task whenever Streamer.DynamicStreamerSupervisor would die: Let’s start by creating the autostart_streaming/0 functionality inside the Streamer.DynamicStreamerSupervisor: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex # add below after the `init/1` function def autostart_streaming do fetch_symbols_to_stream() |> Enum.map(&start_streaming/1) end # and this at the end of the module defp fetch_symbols_to_stream do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end autostart_streaming/0 function fetches all symbols from the settings table with status == \"on\" then it passes them one by one into the start_streaming/1 function using Enum.map/2. We can now focus on referring to the above autostarting logic inside the new supervisor that we will create now. Let’s start by creating a new file called supervisor.ex inside the /apps/streamer/lib/streamer/ directory and fill it with default Supervisor implementation: # /apps/streamer/lib/streamer/supervisor.ex defmodule Streamer.Supervisor do # <= updated module name use Supervisor def start_link(init_arg) do Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do children = [ ] Supervisor.init(children, strategy: :one_for_one) end end We can now update the strategy to rest_for_one: # /apps/streamer/lib/streamer/supervisor.ex def init(_init_arg) do ... Supervisor.init(children, strategy: :rest_for_one) # <= strategy updated end The last step inside our new supervisor will be to add 2 children: Streamer.DynamicStreamerSupervisor and Task (that will autostart the symbol streamers): # /apps/streamer/lib/streamer/supervisor.ex def init(_init_arg) do children = [ {Streamer.DynamicStreamerSupervisor, []}, {Task, fn -> Streamer.DynamicStreamerSupervisor.autostart_streaming() end} ] ... end The final update in this chapter will be to replace the Streamer.DynamicStreamerSupervisor as one of the children inside the Streamer.Application module and update the name that the application process registers under: # /apps/streamer/lib/streamer/application.ex ... children = [ {Streamer.Repo, []}, { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 }, {Streamer.Supervisor, []} # <= updated supervisor ] opts = [strategy: :one_for_one, name: Streamer.Application] # <= updated name ... 11.10 Test the implementation Let’s start an IEx session and call the start_streaming/1 function twice for two different symbols and then exit using double Ctrl+c: $ iex -S mix ... iex(1)> Streamer.start_streaming("ethusdt") 18:51:39.809 [info] Starting streaming on ETHUSDT {:ok, #PID<0.370.0>} iex(2)> Streamer.start_streaming("neousdt") 18:51:47.288 [info] Starting streaming on NEOUSDT {:ok, #PID<0.377.0>} Now, open a new IEx session and look at the output: $ iex -S mix ... iex(1)> 18:53:48.920 [info] Starting streaming on ETHUSDT 18:53:50.306 [info] Starting streaming on NEOUSDT We can also confirm that streamer processes are there by using :observer.start(): Inside the same iex session run the following: iex(5)> Streamer.stop_streaming("neousdt") 18:57:37.205 [info] Stopping streaming on NEOUSDT {:ok, %Streamer.Schema.Settings{ ... }} iex(6)> Streamer.stop_streaming("ethusdt") 18:57:51.553 [info] Stopping streaming on ETHUSDT {:ok, %Streamer.Schema.Settings{ ... }} Stop the IEx session and start a new one - streamers shouldn’t be autostarted anymore. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["start-stop-shutdown-and-autostart-trading.html", "Chapter 12 Start, stop, shutdown and autostart trading 12.1 Objectives 12.2 Describe and design the required functionality 12.3 (Re-)Implement the start trading functionality 12.4 Implement the stop trading functionality 12.5 Implement the autostart trading functionality 12.6 Implement the shutdown trading functionality", " Chapter 12 Start, stop, shutdown and autostart trading 12.1 Objectives describe and design the required functionality (re-)implement the start trading functionality implement the stop trading functionality implement the autostart trading functionality implement the shutdown trading functionality test the implementation 12.2 Describe and design the required functionality In the 10th chapter, we’ve introduced the Postgres database inside the naive application together with the settings per symbol. In this chapter, we will progress forward to provide additional trading functionality that will be similar to the functionality implemented in the last chapter for the streaming application: stop trading - as the Naive.SymbolSupervisor processes are registered with names that can be easily reverse engineered, we should be able to utilize the Process.where_is/1 function to retrieve the PIDs and instruct the Naive.DynamicSymbolSupervisor to terminate those child processes. Again, we need to put that logic somewhere so we will implement the Naive.DynamicSymbolSupervisor as a full module using the DynamicSupervisor behavior. start_trading - as our Naive.DynamicSymbolSupervisor will now be a module we will be able to remove the start_trading/1 implementation from the Naive module and reimplement it inside the Naive.DynamicSymbolSupervisor module. It will follow the same pattern of checking for PID, starting the Naive.SymbolSupervisor process and flipping the status flag inside the settings table’s row for that symbol. shutdown trading - sometimes abruptly stopping trading won’t be the best solution, it would be better to allow the Naive.Trader processes to finish their ongoing trades. To be able to do that we will need to inform the Naive.Leader process assigned to the symbol that the settings for that symbol have been updated and that should cause the Naive.Leader process to withhold starting new Naive.Trader processes and terminate the whole tree when the last trader will finish. autostart trading - this will be a very similar implementation to the one from the last chapter. It will require introducing a new supervisor(we will follow the same naming convention: rename Naive.Application’s registered process name to Naive.Application, create a new supervisor called Naive.Supervisor) and utilize the Task process to execute the autostarting logic. 12.3 (Re-)Implement the start trading functionality To (re-)implement the start_trading/1 functionality we will need to create a new file called dynamic_symbol_supervisor.ex inside the /apps/naive/lib/naive directory that will use the DynamicSupervisor behavior. Previously we have been using default DynamicSupervisor implementation(one of the children of the Naive.Application - to be substituted with the below module): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do # <= module updated use DynamicSupervisor require Logger # <= Logger added import Ecto.Query, only: [from: 2] # <= added for querying alias Naive.Repo # <= added for querying/updating alias Naive.Schema.Settings # <= added for querying/updating def start_link(init_arg) do DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end The above code is a default implementation from the DynamicSupervisor docs with some additional imports, require and aliases as we will use them in this chapter. Our start_trading/1 implementation is almost the same as one for the streamer application from the last chapter: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def start_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.info("Starting trading of #{symbol}") {:ok, _settings} = update_trading_status(symbol, "on") {:ok, _pid} = start_symbol_supervisor(symbol) pid -> Logger.warning("Trading on #{symbol} already started") {:ok, _settings} = update_trading_status(symbol, "on") {:ok, pid} end end ... together with additional helper functions: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defp get_pid(symbol) do Process.whereis(:"Elixir.Naive.SymbolSupervisor-#{symbol}") end defp update_trading_status(symbol, status) when is_binary(symbol) and is_binary(status) do Repo.get_by(Settings, symbol: symbol) |> Ecto.Changeset.change(%{status: status}) |> Repo.update() end defp start_symbol_supervisor(symbol) do DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) end Both implementation and helper functions are almost the same as the ones inside the naive application. It could be tempting to abstract some of the logic away but remember that we should treat all applications in our umbrella project as standalone services that should not share any code if possible(we broke that rule for the TradeEvent struct from the streamer app but we could easily just make a lib with that struct that would be shared between two applications). I would shy away from sharing any business logic between applications in the umbrella project. There are two additional places where we need to make updates to get our start_trading/1 to work again: we need to update the children list inside the Naive.Application: # /apps/naive/lib/naive/application.ex ... children = [ {Naive.Repo, []}, {Naive.DynamicSymbolSupervisor, []} # <= replacement of DynamicSupervisor ] we need to replace the start_trading/1 implementation inside the Naive module to defdelegate macro(as we don’t have any logic to run there): # /apps/naive/lib/naive.ex ... alias Naive.DynamicSymbolSupervisor defdelegate start_trading(symbol), to: DynamicSymbolSupervisor ... At this moment we are again able to use the Naive.start_trading/1 function to start trading on a symbol (behind the scenes it will use logic from the new Naive.DynamicSymbolSupervisor module). 12.4 Implement the stop trading functionality Stop trading will require a change in two places, first inside the Naive.DynamicSymbolSupervisor where we will place the termination logic: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def stop_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_trading_status(symbol, "off") pid -> Logger.info("Stopping trading of #{symbol}") :ok = DynamicSupervisor.terminate_child( Naive.DynamicSymbolSupervisor, pid ) {:ok, _settings} = update_trading_status(symbol, "off") end end ... The second change we need to make is to create a forwarding interface using defdelegate inside the Naive module: # /apps/naive/lib/naive.ex ... defdelegate stop_trading(symbol), to: DynamicSymbolSupervisor ... That pretty much finishes the stop_trading/1 functionality. We are now able to start and stop(what was previously not available) trading on a symbol. 12.5 Implement the autostart trading functionality To implement the autostarting we will need to (in a similar fashion as in the last chapter) add a new supervision level that will be dedicated to supervising the Naive.DynamicSymbolSupervisor and the “autostarting” Task. Let’s create a new file called supervisor.ex inside the /apps/naive/lib/naive directory and (as in the last chapter) we will add the Naive.DynamicSymbolSupervisor and the Task to its children list. We will also update the supervision strategy to :rest_for_one: # /apps/naive/lib/naive/supervisor.ex defmodule Naive.Supervisor do use Supervisor def start_link(init_arg) do Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do children = [ {Naive.DynamicSymbolSupervisor, []}, # <= added {Task, # <= added fn -> # <= added Naive.DynamicSymbolSupervisor.autostart_trading() # <= added end} # <= added ] Supervisor.init(children, strategy: :rest_for_one) # <= strategy updated end end Now we need to swap the Naive.DynamicSymbolSupervisor to Naive.Supervisor in the children list of the Naive.Application, as well as update the registered process’ name of the Naive.Application: # /apps/naive/lib/naive/application.ex ... def start(_type, _args) do children = [ {Naive.Repo, []}, {Naive.Supervisor, []} # <= replacement for DynamicSymbolSupervisor ] opts = [strategy: :one_for_one, name: Naive.Application] # <= name updated Finally, we need to implement autostart_trading/0 inside the Naive.DynamicSymbolSupervisor module as our new Task refers to it: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... # add the below function after the `init/1` function def autostart_trading do fetch_symbols_to_trade() |> Enum.map(&start_trading/1) end ... # and this helper at the end of the module defp fetch_symbols_to_trade do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end ... Those are the same (excluding updated function names) as inside the streamer application. We are fetching enabled symbols and starting new Naive.SymbolSupervisor processes for each one. At this moment we can already see our implementation in action: At this moment we are able to test the current implementation inside the IEx: $ iex -S mix ... iex(1)> Naive.start_trading("ethusdt") 21:35:30.207 [info] Starting trading of ETHUSDT 21:35:30.261 [info] Starting new supervision tree to trade on ETHUSDT {:ok, #PID<0.372.0>} 21:35:33.344 [info] Initializing new trader(1612647333342) for ETHUSDT iex(3)> Naive.start_trading("neousdt") 21:35:54.128 [info] Starting trading of NEOUSDT 21:35:54.169 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.383.0>} 21:35:56.007 [info] Initializing new trader(1612647356007) for NEOUSDT 21:38:07.699 [info] Stopping trading of NEOUSDT {:ok, %Naive.Schema.Settings{ ... }} We can now exit the IEx and start a new one: $ iex -S mix ... 21:39:16.894 [info] Starting trading of ETHUSDT 21:39:16.938 [info] Starting new supervision tree to trade on ETHUSDT 21:39:18.786 [info] Initializing new trader(1612647558784) for ETHUSDT iex(1)> The above logs confirm that the naive application autostarts the previously enabled symbols(using the start_trading/1 function) as well as stop_trading/1 updates the status inside the database (so the symbol isn’t autostarted at the next initialization). 12.6 Implement the shutdown trading functionality Last but not least, we will move on to the shutdown_trading/1 functionality. Let’s start with the simplest part which is delegating the function call to the Naive.DynamicSymbolSupervisor module from the Naive module(interface): # /apps/naive/lib/naive.ex ... defdelegate shutdown_trading(symbol), to: DynamicSymbolSupervisor ... Next, we will create a shutdown_trading/1 function inside the Naive.DynamicSymbolSupervisor module where we will check is there any trading going on for that symbol(the same as for start/stop), and in case of trading happening we will inform the Naive.Leader process handling that symbol that settings have been updated: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def shutdown_trading(symbol) when is_binary(symbol) do symbol = String.upcase(symbol) case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_trading_status(symbol, "off") _pid -> Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = update_trading_status(symbol, "shutdown") Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end ... The crucial part of the implementation above is the notify(:settings_updated, settings) where we inform the Naive.Leader process that it needs to update trading settings. Currently, the Naive.Leader module does not support updating the settings after startup - let’s add a new interface function together with a callback function that will handle settings updating: # /apps/naive/lib/naive/leader.ex ... # add the below function as the last clause of the `notify` function def notify(:settings_updated, settings) do GenServer.call( :"#{__MODULE__}-#{settings.symbol}", {:update_settings, settings} ) end # add the below handler function as the last clause of `handle_call` function def handle_call( {:update_settings, new_settings}, _, state ) do {:reply, :ok, %{state | settings: new_settings}} end Ok, we have a way to update the settings of the Naive.Leader process “on the go” but what effects should the shutdown state have on the Naive.Leader’s actions? There are two places that require modification: whenever the Naive.Trader process will finish the trade cycle, Naive.Leader process should not start a new one, as well as check, was that the last trader process and if that was the case it needs to call the Naive.stop_trading/1 function with its symbol to terminate whole supervision tree for that symbol whenever the Naive.Leader process will receive a rebuy notification, it should just ignore it when the symbol is in the shutdown state. Let’s look at the updated implementation of the “end of trade” handler: # /apps/naive/lib/naive/leader.ex ... def handle_info( {:DOWN, _ref, :process, trader_pid, :normal}, %{traders: traders, symbol: symbol, settings: settings} = state ) do Logger.info("#{symbol} trader finished trade - restarting") case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning( "Tried to restart finished #{symbol} " <> "trader that leader is not aware of" ) if settings.status == "shutdown" and traders == [] do # <= additional check Naive.stop_trading(state.symbol) end {:noreply, state} index -> new_traders = if settings.status == "shutdown" do # <= refactored code Logger.warning( "The leader won't start a new trader on #{symbol} " <> "as symbol is in the 'shutdown' state" ) if length(traders) == 1 do Naive.stop_trading(state.symbol) end List.delete_at(traders, index) else new_trader_data = start_new_trader(fresh_trader_state(settings)) List.replace_at(traders, index, new_trader_data) end {:noreply, %{state | traders: new_traders}} end end ... As visible in the above code, whenever the Naive.Trader process will finish the trade cycle, the Naive.Leader process will check can it find a record of that trader in its state (no changes here). We will modify the callback so the leader process will check the settings.status. In the shutdown status it checks wheater it was the last trader in the traders list, to terminate the whole tree at that time(using the Naive.stop_trading/1 function). The second callback that we need to modify is the rebuy triggered: # /apps/naive/lib/naive/leader.ex ... def handle_call( {:rebuy_triggered, new_trader_state}, {trader_pid, _}, %{traders: traders, symbol: symbol, settings: settings} = state ) do case Enum.find_index(traders, &(&1.pid == trader_pid)) do nil -> Logger.warning("Rebuy triggered by trader that leader is not aware of") {:reply, :ok, state} index -> old_trader_data = Enum.at(traders, index) new_trader_data = %{old_trader_data | :state => new_trader_state} updated_traders = List.replace_at(traders, index, new_trader_data) updated_traders = if settings.chunks == length(traders) do Logger.info("All traders already started for #{symbol}") updated_traders else if settings.status == "shutdown" do Logger.warning( "The leader won't start a new trader on #{symbol} " <> "as symbol is in the 'shutdown' state" ) updated_traders else Logger.info("Starting new trader for #{symbol}") [start_new_trader(fresh_trader_state(settings)) | updated_traders] end end {:reply, :ok, %{state | :traders => updated_traders}} end end ... In the above rebuy_triggered handler function we added branching on the settings.status and we simply ignore the rebuy notification when the symbol is in the shutdown status. The final change will be to create a new migration that will update the TradingStatusEnum to have a shutdown option: $ cd apps/naive $ mix ecto.gen.migration update_trading_status * creating priv/repo/migrations/20210205232303_update_trading_status.exs Inside the generated migration file we need to excute a raw SQL command: # /apps/naive/priv/repo/migrations/20210205232303_update_trading_status.exs defmodule Naive.Repo.Migrations.UpdateTradingStatus do use Ecto.Migration @disable_ddl_transaction true def change do Ecto.Migration.execute "ALTER TYPE trading_status ADD VALUE IF NOT EXISTS 'shutdown'" end end We need to apply the same change to the Naive.Schema.TradingStatusEnum: # /apps/naive/lib/naive/schema/trading_status_enum.ex import EctoEnum defenum(Naive.Schema.TradingStatusEnum, :trading_status, [:on, :off, :shutdown]) Don’t forget to run mix ecto.migrate to run the new migration. We can now test the shutdown_trading/1 functionality inside the IEx: $ iex -S mix ... iex(1)> Streamer.start_streaming("ethusdt") 21:46:26.651 [info] Starting streaming on ETHUSDT {:ok, #PID<0.372.0>} iex(2)> Naive.start_trading("ethusdt") 21:46:42.830 [info] Starting trading of ETHUSDT 21:46:42.867 [info] Starting new supervision tree to trade on ETHUSDT {:ok, #PID<0.379.0>} 21:46:44.816 [info] Initializing new trader(1612648004814) for ETHUSDT ... 21:47:52.448 [info] Rebuy triggered for ETHUSDT by the trader(1612648004814) ... 21:49:58.900 [info] Rebuy triggered for ETHUSDT by the trader(1612648089409) ... 21:50:58.927 [info] Rebuy triggered for ETHUSDT by the trader(1612648198900) ... 21:53:27.202 [info] Rebuy triggered for ETHUSDT by the trader(1612648326215) 21:53:27.250 [info] Rebuy triggered for ETHUSDT by the trader(1612648325512) 21:53:27.250 [info] All traders already started for ETHUSDT # at this moment we have 5 `Naive.Trader` processes trading in parallel iex(4)> Naive.shutdown_trading("ethusdt") 21:55:01.556 [info] Shutdown of trading on ETHUSDT initialized {:ok, %Naive.Schema.Settings{ ... }} ... 22:06:58.855 [info] Trader(1612648407202) finished trade cycle for ETHUSDT 22:06:58.855 [info] ETHUSDT trader finished trade - restarting 22:06:58.855 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:50.768 [info] Trader(1612648325512) finished trade cycle for ETHUSDT 22:07:50.768 [info] ETHUSDT trader finished trade - restarting 22:07:50.768 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:50.857 [info] Trader(1612648326215) finished trade cycle for ETHUSDT 22:07:50.857 [info] ETHUSDT trader finished trade - restarting 22:07:50.857 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:07:51.079 [info] Trader(1612648089409) finished trade cycle for ETHUSDT 22:07:51.079 [info] ETHUSDT trader finished trade - restarting 22:07:51.079 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:08:05.401 [info] Trader(1612648004814) finished trade cycle for ETHUSDT 22:08:05.401 [info] ETHUSDT trader finished trade - restarting 22:08:05.401 [warn] The leader won't start a new trader on ETHUSDTas symbol is in shutdown state 22:08:05.401 [info] Stopping trading of ETHUSDT As we can see from the logs above, our naive strategy grown from 1 to 5 Naive.Trader processes running in parallel, then we called the shutdown_trading/1 function. In the shutdown status, the Naive.Leader process ignored rebuy notifications and wasn’t starting any new Naive.Trader processes as the old ones were finishing. At the moment when the last Naive.Trader process finished the trade cycle, the Naive.Leader called stop_trading/1 on “it’s” symbol, terminating the whole supervision tree for that symbol. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["abstract-duplicated-supervision-code.html", "Chapter 13 Abstract duplicated supervision code 13.1 Objectives 13.2 Overview of requirements 13.3 Pseudo generalize Core.ServiceSupervisor module 13.4 Utilize pseudo generalized code inside the Naive DynamicSymbolSupervisor 13.5 Implement a truly generic Core.ServiceSupervisor 13.6 Remove boilerplate using use macro 13.7 Use the Core.ServiceSupervisor module inside the streamer application", " Chapter 13 Abstract duplicated supervision code 13.1 Objectives overview of requirements pseudo generalize Core.ServiceSupervisor module utilize pseudo generalized code inside the Naive.DynamicSymbolSupervisor implement a truly generic Core.ServiceSupervisor use the Core.ServiceSupervisor module inside the streamer application 13.2 Overview of requirements In the last few chapters, we went through adding and modifying the dynamic supervision tree around the naive and streamer applications’ workers. Initially, we just copied the implementation from the streamer application to the naive application (with a few minor tweaks like log messages). That wasn’t the most sophisticated solution and we will address this copy-paste pattern in this chapter. We will write an “extension” of the DynamicSupervisor that allows to start, stop and autostart workers. Just to keep things simple we will create a new application inside our umbrella project where we will place the logic. This will save us from creating a new repo for time being. Our new Core.ServiceSupervisor module will hold all the logic responsible for starting, stopping, and autostarting worker processes. To limit the boilerplate inside the implementation modules (like Naive.DynamicSymbolSupervisor or Streamer.DynamicStreamerSupervisor) we will utilize the use macro that will dynamically generate low-level wiring for us. 13.3 Pseudo generalize Core.ServiceSupervisor module Let’s start by creating a new non-supervised application called core inside our umbrella project. At this moment our “abstraction code” will sit inside it just to keep things simple as otherwise, we would need to create a new repo and jump between codebases which we will avoid for time being: $ cd apps $ mix new core * creating README.md * creating .formatter.exs * creating .gitignore * creating mix.exs * creating lib * creating lib/core.ex * creating test * creating test/test_helper.exs * creating test/core_test.exs ... We can now create a new directory called core inside the apps/core/lib directory and a new file called service_supervisor.ex inside it where we will put all abstracted starting/stopping/autostarting logic. Let’s start with an empty module: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do end The first step in our refactoring process will be to move(cut) all of the functions from the Naive.DynamicSymbolSupervisor (excluding the start_link/1, init/1 and shutdown_trading/1) and put them inside the Core.ServiceSupervisor module which should look as follows: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do def autostart_trading do ... end def start_trading(symbol) when is_binary(symbol) do ... end def stop_trading(symbol) when is_binary(symbol) do ... end defp get_pid(symbol) do ... end defp update_trading_status(symbol, status) when is_binary(symbol) and is_binary(status) do ... end defp start_symbol_supervisor(symbol) do ... end defp fetch_symbols_to_trade do ... end end All of the above code is trading related - we need to rename functions/logs to be more generic. Starting with autostart_trading/0 we can rename it to autostart_workers/0: # /apps/core/lib/core/service_supervisor.ex ... def autostart_workers do # <= updated function name fetch_symbols_to_start() # <= updated function name |> Enum.map(&start_worker/1) # <= updated function name end ... As we updated two functions inside the autostart_workers/0 we need to update their implementations. The start_trading/1 will become start_worker/1, internally we will inline the start_symbol_supervisor/1 function(move it’s contents inside the start_worker/1 function and remove the start_symbol_supervisor/1 function) as it’s used just once inside this module as well as update_trading_status/2 need to be renamed to update_status/2. The fetch_symbols_to_trade/0 will get updated to fetch_symbols_to_start/0: # /apps/core/lib/core/service_supervisor.ex def start_worker(symbol) when is_binary(symbol) do # <= updated name case get_pid(symbol) do nil -> Logger.info("Starting trading of #{symbol}") {:ok, _settings} = update_status(symbol, "on") # <= updated name {:ok, _pid} = DynamicSupervisor.start_child( Naive.DynamicSymbolSupervisor, {Naive.SymbolSupervisor, symbol} ) # ^^^^^^ inlined `start_symbol_supervisor/1` pid -> Logger.warning("Trading on #{symbol} already started") {:ok, _settings} = update_status(symbol, "on") # <= updated name {:ok, pid} end end ... defp fetch_symbols_to_start do # <= updated name ... end Inside the above code we updated the update_trading_status/2 call to update_status/2 so we need to update the function header to match: # /apps/core/lib/core/service_supervisor.ex defp update_status(symbol, status) # <= updated name when is_binary(symbol) and is_binary(status) do ... end Last function to rename in this module will be the stop_trading/1 to stop_worker/1, we also need to update calls to update_trading_status/2 to update_status/2 as it was renamed: # /apps/core/lib/core/service_supervisor.ex def stop_worker(symbol) when is_binary(symbol) do # <= updated name case get_pid(symbol) do nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = update_status(symbol, "off") # <= updated name pid -> Logger.info("Stopping trading of #{symbol}") :ok = DynamicSupervisor.terminate_child( Naive.DynamicSymbolSupervisor, pid ) {:ok, _settings} = update_status(symbol, "off") # <= updated name end end At this moment we have a pseudo-generic implementation of start_worker/1 and stop_worker/1 inside the Core.ServiceSupervisor module. Function names are generic but they still refer to Repo, Settings, and other modules specific to the naive app’s implementation. We are probably in a worse situation than we have been before starting this refactoring ;) but don’t fear this was just the first step on the way to abstract away that starting, stopping, and autostarting code. 13.4 Utilize pseudo generalized code inside the Naive DynamicSymbolSupervisor Before we will jump back to the naive’s application modules we need to add the core application the dependencies of the naive application: # /apps/naive/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:binance_mock, in_umbrella: true}, {:core, in_umbrella: true}, # <= core dep added .... Let’s get back to the Naive.DynamicSymbolSupervisor where we expect functions that we just cut out to exist like start_trading/1 or stop_trading/1. Let’s reimplement more generic versions of those functions as just simple calls to the Core.ServiceSupervisor module: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers() end def start_worker(symbol) do Core.ServiceSupervisor.start_worker(symbol) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker(symbol) end We also need to update the shutdown_trading/1 function as we removed all the private functions that it relies on: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do # <= updated name case Core.ServiceSupervisor.get_pid(symbol) do # <= module added nil -> Logger.warning("Trading on #{symbol} already stopped") {:ok, _settings} = Core.ServiceSupervisor.update_status(symbol, "off") # ^^^ updated name + module _pid -> Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = Core.ServiceSupervisor.update_status(symbol, "shutdown") # ^^^ updated name + module Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end As we were moving all the private helper functions we didn’t make them public so the Naive.DynamicSymbolSupervisor module can use them - we will fix that now together with temporary aliases/require/imports at the top of the Core.ServiceSupervisor: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do require Logger # <= added require import Ecto.Query, only: [from: 2] # <= added import alias Naive.Repo # <= added alias alias Naive.Schema.Settings # <= added alias ... def get_pid(symbol) do # <= updated from private to public ... end def update_status(symbol, status) # <= updated from private to public when is_binary(symbol) and is_binary(status) do ... end As fetch_symbols_to_start/0 is only used internally by the Core.ServiceSupervisor module itself, we don’t need to make it public. We can also remove the aliases and import from the Naive.DynamicSymbolSupervisor as it won’t need them anymore. The next step will be to add ecto to the deps of the core application as it will make db queries now: # /apps/core/mix.exs defp deps do [ {:ecto_sql, "~> 3.0"} ] end As we modified the interface of the Naive.DynamicSymbolSupervisor (for example renamed start_trading/1 to start_worker/1 and others) we need to modify the Naive.Supervisor’s children list - more specifically the Task process: # /apps/naive/lib/naive/supervisor.ex ... {Task, fn -> Naive.DynamicSymbolSupervisor.autostart_workers() # <= func name updated end} ... The last step will be to update the interface of the naive application: # /apps/naive/lib/naive.ex alias Naive.DynamicSymbolSupervisor def start_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.start_worker() end def stop_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.stop_worker() end def shutdown_trading(symbol) do symbol |> String.upcase() |> DynamicSymbolSupervisor.shutdown_worker() end Believe it or not, but at this moment(ignoring all of the warnings because we created a circular dependency between the core and the naive applications - which we will fix in the next steps) our application runs just fine! We are able to start and stop trading, autostarting works as well. 13.5 Implement a truly generic Core.ServiceSupervisor Ok. Why did we even do this? What we are aiming for is a separation between the interface of our Naive.DynamicSymbolSupervisor module (like start_worker/1, autostart_workers/0 and stop_worker/1) and the implementation which is now placed inside the Core.ServiceSupervisor module. That’s all nice and to-some-extent understandable but Core.ServiceSupervisor module is not a generic module. We can’t use it inside the streaming application to supervise the Streamer.Binance processes. So, what’s the point? Well, we can make it even more generic! 13.5.1 First path starting with the fetch_symbols_to_start/0 function Moving on to full generalization of the Core.ServiceSupervisor module. We will start with the helper functions first as they are the ones doing the work and they need to be truly generalized first: # /apps/core/lib/core/service_supervisor.ex def fetch_symbols_to_start do Repo.all( from(s in Settings, where: s.status == "on", select: s.symbol ) ) end The fetch_symbols_to_start/0 function uses Repo and Settings that are aliased at the top of the Core.ServiceSupervisor module. This just won’t work with any other applications as Streamer will require its own Repo and Settings modules etc. To fix that we will pass both repo and schema as arguments to the fetch_symbols_to_start/0 function which will become fetch_symbols_to_start/2: # /apps/core/lib/core/service_supervisor.ex def fetch_symbols_to_start(repo, schema) do # <= args added repo.all( # <= lowercase `repo` is an argument not aliased module from(s in schema, # <= settings schema module passed as arg where: s.status == "on", select: s.symbol ) ) end This will have a knock-on effect on any functions that are using fetch_symbols_to_start/0 - now they need to use fetch_symbols_to_start/2 and pass appropriate Repo and Schema modules. So, the fetch_symbols_to_start/0 is referenced by the autostart_workers/0 - we will need to modify it to pass the repo and schema to the fetch_symbols_to_start/2 and as it’s inside the Core.ServiceSupervisor module it needs to get them passed as arguments: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema) do # <= args added fetch_symbols_to_start(repo, schema) # <= args passed |> Enum.map(&start_worker/1) end Going even further down the line, autostart_workers/0 is referenced by the autostart_workers/0 inside the Naive.DynamicSymbolSupervisor module. As this module is (naive) application-specific, it is a place where repo and schema are known from the context - for the naive application repo is the Naive.Repo module and schema is the Naive.Schema.Settings module: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, # <= new value passed Naive.Schema.Settings # <= new value passed ) end This finishes the first of multiple paths that we need to follow to fully refactor the Core.ServiceSupervisor module. 13.5.2 Second path starting with the update_status/2 Let’s don’t waste time and start from the other helper function inside the Core.ServiceSupervisor module. This time we will make the update_status/2 function fully generic: # /apps/core/lib/core/service_supervisor.ex def update_status(symbol, status, repo, schema) # <= args added when is_binary(symbol) and is_binary(status) do repo.get_by(schema, symbol: symbol) # <= using dynamic repo and schema modules |> Ecto.Changeset.change(%{status: status}) |> repo.update() # <= using dynamic repo module end As previously we added repo and schema as arguments and modified the body of the function to utilize them instead of hardcoded modules (aliased at the top of the Core.ServiceSupervisor module). In the same fashion as previously, we need to check “who” is using the update_status/2 and update those calls to update_status/4. The function is used inside the start_worker/1 and the stop_worker/1 inside the Core.ServiceSupervisor module so as previously we need to bubble them up(pass via arguments to both start_worker/1 and stop_worker/1 functions): # /apps/core/lib/core/service_supervisor.ex def start_worker(symbol, repo, schema) when is_binary(symbol) do # <= new args ... {:ok, _settings} = update_status(symbol, "on", repo, schema) # <= args passed ... {:ok, _settings} = update_status(symbol, "on", repo, schema) # <= args passed ... end def stop_worker(symbol, repo, schema) when is_binary(symbol) do # <= new args ... {:ok, _settings} = update_status(symbol, "off", repo, schema) # <= args passed ... {:ok, _settings} = update_status(symbol, "off", repo, schema) # <= args passed ... end As we modified both start_worker/1 and stop_worker/1 by adding two additional arguments we need to update all references to them and here is where things branch out a bit. We will start with start_worker/1 function (which is now start_worker/3) - it’s used by the autostart_workers/2 inside Core.ServiceSupervisor module. The autostart_workers/2 function already has repo and schema so we can just pass them to the start_worker/3: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema) do fetch_symbols_to_start(repo, schema) |> Enum.map(&start_worker(&1, repo, schema)) # <= args passed end Both the start_worker/3 and the stop_worker/3 function are used by the functions inside the Naive.DynamicSymbolSupervisor module. We need to pass the Repo and Schema in the same fashion as previously with the autostart_workers/2 function: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, Naive.Repo, # <= new arg passed Naive.Schema.Settings # <= new arg passed ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, Naive.Repo, # <= new arg passed Naive.Schema.Settings # <= new arg passed ) end At this moment there’s no code inside the Core.ServiceSupervisor module referencing the aliased Repo nor Schema modules so we can safely remove both aliases - definitely, we are moving in the right direction! Btw. Our project still works at this stage, we can start/stop trading and it autostarts trading. 13.5.3 Third path starting with the get_pid/1 function Starting again from the most nested helper function - this time the get_pid/1: # /apps/core/lib/core/service_supervisor.ex def get_pid(symbol) do Process.whereis(:"Elixir.Naive.SymbolSupervisor-#{symbol}") end We can see that it has a hardcoded Naive.SymbolSupervisor worker module - we need to make this part dynamic by using the worker_module argument: # /apps/core/lib/core/service_supervisor.ex def get_pid(worker_module, symbol) do # <= arg added Process.whereis(:"#{worker_module}-#{symbol}") # <= arg used end Moving up to functions that are referencing the get_pid/1 function, those will be the start_worker/3 and the stop_worker/3 function. As those are the two last functions to be updated, we will look into them more closely to finish our refactoring in this 3rd run. At this moment both need to add worker_module as both are calling the get_pid/2 function. Looking at both function we can see two other hardcoded details: inside log message there are words “trading” - we can replace them so we will utilize the worker_module and symbol arguments there are two references to the Naive.DynamicSymbolSupervisor which we will replace with the module argument there is one more reference to the Naive.SymbolSupervisor module which we will replace with the worker_module argument Let’s look at updated functions: # /apps/core/lib/core/service_supervisor.ex # module and worker_module args added vvvv def start_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do case get_pid(worker_module, symbol) do # <= worker_module passed nil -> Logger.info("Starting #{worker_module} worker for #{symbol}") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "on", repo, schema) {:ok, _pid} = DynamicSupervisor.start_child(module, {worker_module, symbol}) # ^^^ args used pid -> Logger.warning("#{worker_module} worker for #{symbol} already started") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "on", repo, schema) {:ok, pid} end end # module and worker_module added as args vvvv def stop_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do case get_pid(worker_module, symbol) do # <= worker_module passed nil -> Logger.warning("#{worker_module} worker for #{symbol} already stopped") # ^^^ dynamic text {:ok, _settings} = update_status(symbol, "off", repo, schema) pid -> Logger.info("Stopping #{worker_module} worker for #{symbol}") # ^^^ dynamic text :ok = DynamicSupervisor.terminate_child(module, pid) # <= arg used {:ok, _settings} = update_status(symbol, "off", repo, schema) end end Inside both the start_worker/5 and the stop_worker/5 functions we modified: get_pid/1 to pass the worker_module Logger’s messages to use the worker_module and symbol DynamicSupervisor’s functions to use the module and the worker_module Again, as we modified start_worker/5 we need to make the last change inside the Core.ServiceSupervisor module - autostart_workers/2 uses the start_worker/5 function: # /apps/core/lib/core/service_supervisor.ex def autostart_workers(repo, schema, module, worker_module) do # <= args added fetch_symbols_to_start(repo, schema) |> Enum.map(&start_worker(&1, repo, schema, module, worker_module)) # <= args added end Just for reference - the final function headers look as following: # /apps/core/lib/core/service_supervisor.ex defmodule Core.ServiceSupervisor do def autostart_workers(repo, schema, module, worker_module) do ... end def start_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do ... end def stop_worker(symbol, repo, schema, module, worker_module) when is_binary(symbol) do ... end def get_pid(worker_module, symbol) do ... end def update_status(symbol, status, repo, schema) when is_binary(symbol) and is_binary(status) do ... end def fetch_symbols_to_start(repo, schema) do ... end end That finishes the 3rd round of updates inside the Core.ServiceSupervisor module, now we need to update the Naive.DynamicSymbolSupervisor module to use updated functions(and pass required arguments): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex ... def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, Naive.Repo, Naive.Schema.Settings, __MODULE__, # <= added arg Naive.SymbolSupervisor # <= added arg ) end def shutdown_worker(symbol) when is_binary(symbol) do case Core.ServiceSupervisor.get_pid(Naive.SymbolSupervisor, symbol) do # <= arg added nil -> Logger.warning("#{Naive.SymbolSupervisor} worker for #{symbol} already stopped") # ^^^ updated {:ok, _settings} = Core.ServiceSupervisor.update_status( symbol, "off", Naive.Repo, Naive.Schema.Settings ) # ^^^ args added _pid -> Logger.info( "Initializing shutdown of #{Naive.SymbolSupervisor} worker for #{symbol}" ) # ^^^ updated {:ok, settings} = Core.ServiceSupervisor.update_status( symbol, "shutdown", Naive.Repo, Naive.Schema.Settings ) # ^^^ additional args passed Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end We needed to update referrences inside the shutdown_trading/1 function as well, as it calls get_pid/2 and update_status/4 functions. We are now done with refactoring the Core.ServiceSupervisor module, it’s completely generic and can be used inside both streamer and the naive applications. At this moment to use the Core.ServiceSupervisor module we need to write interface functions in our supervisors and pass multiple arguments in each one - again, would need to use of copies those functions inside streamer and naive application. In the next section we will look into how could we leverage Elixir macros to remove that boilerplate. 13.6 Remove boilerplate using use macro Elixir provides a way to use other modules. Idea is that inside the Naive.DynamicSymbolSupervisor module we are useing the DynamicSupervisor module currently but we could use Core.ServiceSupervisor: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do use Core.ServiceSupervisor To be able to use the Core.ServiceSupervisor module it needs to provide the __using__/1 macro. As the simplest content of that macro, we can use here would be just to use the DynamicSupervisor inside: # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do IO.inspect(opts) quote location: :keep do use DynamicSupervisor end end How does this work? As an oversimplification, you can think about it as Elixir will look through the contents of quote’s body(everything between quote ... do and end) in search for the unquote function which can inject dynamic content. All of this will become much clearer as we will go through the first example but the important part is that after executing any potential unquotes inside the quote’s body, Elixir will grab that code as it would be just part of code and place it inside the Naive.DynamicSymbolSupervisor module at compile time(we will also see the result of IO.inspect/1 at compilation). At this moment(after swapping to use Core.ServiceSupervisor) our code still works and it’s exactly as we would simply have use DynamicSupervisor inside the Naive.DynamicSymbolSupervisor module - as at compilation, it will be swapped to it either way(as per contents of the __using__/1 macro). As the autostart_workers/0 function is a part of the boilerplate, we will move it from the Naive.DynamicSymbolSupervisor module to the Core.ServiceSupervisor module inside the __using__/1 macro. Ok, but it has all of those other naive application-specific arguments - where will we get those? That’s what that opts argument is for inside the __using__/1 macro. When we call use Core.ServiceSupervisor we can pass an additional keyword list which will contain all naive application-specific details: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex defmodule Naive.DynamicSymbolSupervisor do use Core.ServiceSupervisor, repo: Naive.Repo, schema: Naive.Schema.Settings, module: __MODULE__, worker_module: Naive.SymbolSupervisor We can now update the __using__/1 macro to assign all of those details to variables(instead of using IO.inspect/1): # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do {:ok, repo} = Keyword.fetch(opts, :repo) {:ok, schema} = Keyword.fetch(opts, :schema) {:ok, module} = Keyword.fetch(opts, :module) {:ok, worker_module} = Keyword.fetch(opts, :worker_module) ... At this moment we can use those dynamic values to generate code that will be specific to the implementation module for example autostart_workers/0 that we moved from the Naive.DynamicSymbolSupervisor module and will need to have different values passed to it(like Streamer.Binance as worker_module) for the streamer application. We can see that it requires inserting those dynamic values inside the autstart_workers/0 but how to dynamically inject arguments - unquote to the rescue. When we will update the autostart_workers/0 function from: # sample moved code from the `Naive.DynamicSymbolSupervisor` module def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, __MODULE__, Naive.SymbolSupervisor ) end to: # updated code that will become part of the `__using__/1` macro def autostart_workers do Core.ServiceSupervisor.autostart_workers( unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end At the end, generated code that will be “pasted” to the Naive.DynamicSymbolSupervisor module at compile time will be: # compiled code attached to the `Naive.DynamicSymbolSupervisor` module def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, Naive.DynamicSymbolSupervisor, Naive.SymbolSupervisor ) end This way we can dynamically create functions for any application(for the streamer application, it will generate function call with the Streamer.Repo, Streamer.Schema.Settings args, etc). We can apply that to all of the passed variables inside the autostart_workers/0 function - just for reference full macro will look as follows: # /apps/core/lib/core/service_supervisor.ex defmacro __using__(opts) do {:ok, repo} = Keyword.fetch(opts, :repo) {:ok, schema} = Keyword.fetch(opts, :schema) {:ok, module} = Keyword.fetch(opts, :module) {:ok, worker_module} = Keyword.fetch(opts, :worker_module) quote location: :keep do use DynamicSupervisor def autostart_workers do Core.ServiceSupervisor.autostart_workers( unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end end end You can think about the above macro that it will substitute the unquote(..) parts with passed values and then it will grab the whole contents between quote ... do and end and it will paste it to the Naive.DynamicSymbolSupervisor module at compile-time - we can visualize generated/“pasted” code as: # generated by the `__using__/1` macro injected into the `Naive.DynamicSymbolSupervisor` use DynamicSupervisor def autostart_workers do Core.ServiceSupervisor.autostart_workers( Naive.Repo, Naive.Schema.Settings, Naive.DynamicSymbolSupervisor, Naive.SymbolSupervisor ) end This is exactly the code that we had before inside the Naive.DynamicSymbolSupervisor module but now it’s stored away inside the Core.ServiceSupervisor’s __using__/1 macro and it doesn’t need to be implemented/copied across twice into two apps anymore. We can now follow the same principle and move start_worker/1 and stop_worker/1 from the Naive.DynamicSymbolSupervisor module into __using__/1 macro inside the Core.ServiceSupervisor module: # /apps/core/lib/core/service_supervisor.ex # append the below before the end of the __using__/1 macro def start_worker(symbol) do Core.ServiceSupervisor.start_worker( symbol, # <= this needs to stay as variable unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end def stop_worker(symbol) do Core.ServiceSupervisor.stop_worker( symbol, # <= this needs to stay as variable unquote(repo), unquote(schema), unquote(module), unquote(worker_module) ) end Here we have an example of an execution time variable called symbol that we should not unquote as it will be different per function call (source code should have symbol variable there not for example \"NEOUSDT\"). At this moment the Naive.DynamicSymbolSupervisor consists of only start_link/1, init/1 and shutdown_worker/1, it’s under 50 lines of code and works exactly as before refactoring. All of the boilerplate was moved to the Core.ServiceSupervisor module. We left the shutdown_worker/1 function as it’s specific to the naive application, but inside it, we utilize both the get_pid/2 and the update_status/4 functions where we are passing the naive application-specific variables(like Naive.Repo). To make things even nicer we can create convenience wrappers for those two functions inside the __using__/1 macro: # /apps/core/lib/core/service_supervisor.ex # add below at the end of `quote` block inside `__using__/1` defp get_pid(symbol) do Core.ServiceSupervisor.get_pid( unquote(worker_module), symbol ) end defp update_status(symbol, status) do Core.ServiceSupervisor.update_status( symbol, status, unquote(repo), unquote(schema) ) end As those will get compiled and “pasted” into the Naive.DynamicSymbolSupervisor module we can utilize them inside the shutdown_worker/1 function as they would be much simpler naive application-specific local functions: # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do case get_pid(symbol) do # <= macro provided function nil -> Logger.warning("#{Naive.SymbolSupervisor} worker for #{symbol} already stopped") {:ok, _settings} = update_status(symbol, "off") # <= macro provided function _pid -> Logger.info( "Initializing shutdown of #{Naive.SymbolSupervisor} worker for #{symbol}" ) {:ok, settings} = update_status(symbol, "shutdown") # <= macro provided function Naive.Leader.notify(:settings_updated, settings) {:ok, settings} end end And now, a very last change - I promise ;) Both the start_link/1 and the init/1 functions are still referencing the DynamicSupervisor module which could be a little bit confusing - let’s swap those calls to use the Core.ServiceSupervisor module (both to not confuse people and be consistent with the use macro): # /apps/naive/lib/naive/dynamic_symbol_supervisor.ex def start_link(init_arg) do Core.ServiceSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do Core.ServiceSupervisor.init(strategy: :one_for_one) end As we don’t want/need to do anything different inside the Core.ServiceSupervisor module than the DynamicSupervisor is doing we can just delegate both of those inside the Core.ServiceSupervisor module: # /apps/core/lib/core/service_supervisor.ex defdelegate start_link(module, args, opts), to: DynamicSupervisor defdelegate init(opts), to: DynamicSupervisor That finishes our refactoring of both the Naive.DynamicSymbolSupervisor and the Core.ServiceSupervisor modules. We can test to confirm that everything works as expected: $ iex -S mix iex(1)> Naive.start_trading("NEOUSDT") 21:42:37.741 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 21:42:37.768 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.464.0>} 21:42:39.455 [info] Initializing new trader(1614462159452) for NEOUSDT iex(2)> Naive.stop_trading("NEOUSDT") 21:43:08.362 [info] Stopping Elixir.Naive.SymbolSupervisor worker for NEOUSDT {:ok, %Naive.Schema.Settings{ ... }} iex(3)> Naive.start_trading("HNTUSDT") 21:44:08.689 [info] Starting Elixir.Naive.SymbolSupervisor worker for HNTUSDT 21:44:08.723 [info] Starting new supervision tree to trade on HNTUSDT {:ok, #PID<0.475.0>} 21:44:11.182 [info] Initializing new trader(1614462251182) for HNTUSDT BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution $ iex -S mix 21:47:22.119 [info] Starting Elixir.Naive.SymbolSupervisor worker for HNTUSDT 21:47:22.161 [info] Starting new supervision tree to trade on HNTUSDT 21:47:24.213 [info] Initializing new trader(1614462444212) for HNTUSDT iex(1)> Naive.shutdown_trading("HNTUSDT") 21:48:42.003 [info] Initializing shutdown of Elixir.Naive.SymbolSupervisor worker for HNTUSDT {:ok, %Naive.Schema.Settings{ ... }} The above test confirms that we can start, stop, and shut down trading on a symbol as well as autostarting of trading works. 13.7 Use the Core.ServiceSupervisor module inside the streamer application As we are happy with the implementation of the Core.ServiceSupervisor module we can upgrade the streamer application to use it. We need to start with adding the core application to the list of dependencies of the streamer application: # /apps/streamer/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:core, in_umbrella: true}, # <= core added to deps ... We can now move on to the Streamer.DynamicStreamerSupervisor where we will remove everything (really everything including imports, aliases and even require) beside the start_link/1 and the init/1. As with the Naive.DynamicSymbolSupervisor we will use the Core.ServiceSupervisor and pass all required options - full implementation of the Streamer.DynamicStreamerSupervisor module should look as follows: # /apps/streamer/lib/streamer/dynamic_streamer_supervisor.ex defmodule Streamer.DynamicStreamerSupervisor do use Core.ServiceSupervisor, repo: Streamer.Repo, schema: Streamer.Schema.Settings, module: __MODULE__, worker_module: Streamer.Binance def start_link(init_arg) do Core.ServiceSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__) end def init(_init_arg) do Core.ServiceSupervisor.init(strategy: :one_for_one) end end Not much to add here - we are useing the Core.ServiceSupervisor module and passing options to it so it can macro generates streamer application-specific wrappers(like start_worker/1 or stop_worker/1 with required repo, schema, etc) around generic logic from the Core.ServiceSupervisor module. Using the Core.Servicesupervisor module will have an impact on the interface of the Streamer.DynamicStreamerSupervisor as it will now provide functions like start_worker/1 instead of start_streaming/1 etc. As with the naive application, we need to update the Task function inside the Streamer.Supervisor module: # /apps/streamer/lib/streamer/supervisor.ex ... {Task, fn -> Streamer.DynamicStreamerSupervisor.autostart_workers() end} ... As well as main Streamer module needs to forward calls instead of delegating: # /apps/streamer/lib/streamer.ex alias Streamer.DynamicStreamerSupervisor def start_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.start_worker() end def stop_streaming(symbol) do symbol |> String.upcase() |> DynamicStreamerSupervisor.stop_worker() end We can run a quick test to confirm that indeed everything works as expected: $ iex -S mix iex(1)> Streamer.start_streaming("NEOUSDT") 22:10:38.813 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.465.0>} iex(2)> Streamer.stop_streaming("NEOUSDT") 22:10:48.212 [info] Stopping Elixir.Streamer.Binance worker for NEOUSDT {:ok, %Streamer.Schema.Settings{ __meta__: #Ecto.Schema.Metadata<:loaded, "settings">, id: "db8c9429-2356-4243-a08f-0d0e89b74986", inserted_at: ~N[2021-02-25 22:15:16], status: "off", symbol: "NEOUSDT", updated_at: ~N[2021-02-27 22:10:48] }} iex(3)> Streamer.start_streaming("LTCUSDT") 22:26:03.361 [info] Starting Elixir.Streamer.Binance worker for LTCUSDT {:ok, #PID<0.490.0>} BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution ^C $ iex -S mix ... 22:26:30.775 [info] Starting Elixir.Streamer.Binance worker for LTCUSDT This finishes the implementation for both the streamer and the naive application. We are generating dynamic functions(metaprogramming) using Elixir macros which is a cool exercise to go through and feels like superpowers ;) [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["store-trade-events-and-orders-inside-the-database.html", "Chapter 14 Store trade events and orders inside the database 14.1 Objectives 14.2 Overview of requirements 14.3 Create a new data_warehouse application in the umbrella 14.4 Connect to the database using Ecto 14.5 Store trade events’ data 14.6 Store orders’ data 14.7 Implement supervision", " Chapter 14 Store trade events and orders inside the database 14.1 Objectives overview of requirements create a new data_warehouse application in the umbrella connect to the database using Ecto store trade events’ data store orders’ data implement supervision 14.2 Overview of requirements In the next chapter, we will move on to testing our strategy against historical data(aka backtesting - I will explain that process in the next chapter). What we need to have in place before we will be able to do that is both trade events and orders stored in the database. Starting with the trade events. The streamer application could store trade events from Binance inside its database but how would that work if we would like to introduce another source of non-streamed trade events(ie. flat files, HTTP polling). It would be better if the Streamer.Binance process would keep on streaming those trade events as it is and we would create a new application that would subscribe to the existing TRADE_EVENTS:#{symbol} topic and store them in the database. A similar idea applies to the orders’ data. At this moment the naive application uses the Binance module to place orders. We could store them inside the naive application’s database but how would that work if we would like to introduce another trading strategy. Holding data in separate databases for each strategy would cause further complications in future reporting, auditing, etc. To store trade events’ and orders’ data we will create a new application called data_warehouse inside our umbrella project. It will subscribe to a TRADE_EVENTS:#{symbol} stream as well as ORDERS:#{symbol} stream, convert broadcasted data to its own representations(structs) and store it inside the database. Trade events are already broadcasted to the PubSub topic, orders on the other hand aren’t. We will need to modify the Naive.Trader module to broadcast the new and updated orders to the ORDERS:#{symbol} topic. After implementing the basic worker that will store the incoming data(trade events and orders) inside the database, we will look into adding a supervision tree utilizing Elixir Registry. It will allow us to skip registering every worker with a unique atom and will offer an easy lookup to fetch PIDs instead. 14.3 Create a new data_warehouse application in the umbrella Let’s start by creating a new application called data_warehouse inside our umbrella: $ cd apps $ mix new data_warehouse --sup * creating README.md * creating .formatter.exs * creating .gitignore * creating mix.exs * creating lib * creating lib/data_warehouse.ex * creating lib/data_warehouse/application.ex * creating test * creating test/test_helper.exs * creating test/data_warehouse_test.exs ... 14.4 Connect to the database using Ecto We can now follow similar steps as previously and add required dependencies (like the ecto) to its deps by modifying its mix.exs file: # /apps/data_warehouse/mix.exs defp deps do [ {:binance, "~> 1.0"}, {:ecto_sql, "~> 3.0"}, {:ecto_enum, "~> 1.4"}, {:phoenix_pubsub, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, {:streamer, in_umbrella: true} ] end Additionally, we added the phoenix_pubsub(to subscribe to the PubSub topic), the streamer application(to use its Streamer.Binance.TradeEvent struct) and the binance package(to pattern match it’s structs). We can now jump back to the terminal to install added dependencies and generate a new Ecto.Repo module: $ mix deps.get ... $ cd apps/data_warehouse $ mix ecto.gen.repo -r DataWarehouse.Repo * creating lib/data_warehouse * creating lib/data_warehouse/repo.ex * updating ../../config/config.exs Before we will be able to create migrations that will create our tables we need to update the generated configuration inside the config/config.exs file: # /config/config.exs ... config :data_warehouse, # <= added line ecto_repos: [DataWarehouse.Repo] # <= added line config :data_warehouse, DataWarehouse.Repo, database: "data_warehouse", # <= updated line username: "postgres", # <= updated line password: "hedgehogSecretPassword", # <= updated line hostname: "localhost" ... and add the DataWarehouse.Repo module to the children list of the DataWarehouse.Application’s process: # /apps/data_warehouse/lib/data_warehouse/application.ex ... children = [ {DataWarehouse.Repo, []} ] ... The last step will be to create a database by running mix ecto.create -r DataWarehouse.Repo command. This ends up the setup of the Ecto - we can now move on to the implementation of storing the orders and the trade events. 14.5 Store trade events’ data The first step to store trade events inside the database will be to create a table that will hold our data. We will start by creating the migration: $ cd apps/data_warehouse $ mix ecto.gen.migration create_trade_events * creating priv/repo/migrations * creating priv/repo/migrations/20210222224514_create_trade_events.exs The Streamer.Binance.TradeEvent struct will serve as a list of columns for our new trade_events table. Here’s the full implementation of our migration: # /apps/data_warehouse/priv/repo/migrations/20210222224514_create_trade_events.exs defmodule DataWarehouse.Repo.Migrations.CreateTradeEvents do use Ecto.Migration def change do create table(:trade_events, primary_key: false) do add(:id, :uuid, primary_key: true) add(:event_type, :text) add(:event_time, :bigint) add(:symbol, :text) add(:trade_id, :integer) add(:price, :text) add(:quantity, :text) add(:buyer_order_id, :bigint) add(:seller_order_id, :bigint) add(:trade_time, :bigint) add(:buyer_market_maker, :bool) timestamps() end end end We added the additional id field to easily identify each trade event and our timestamps for monitoring. Let’s run the migration so it will create a new trade_events table for us: $ mix ecto.migrate The next step will be to create a new directory called schema inside the apps/data_warehouse/lib/data_warehouse directory. Inside it, we need to create a new schema file called trade_event.ex. We can copy across the same columns from the migration straight to schema: # /apps/data_warehouse/lib/data_warehouse/schema/trade_event.ex defmodule DataWarehouse.Schema.TradeEvent do use Ecto.Schema @primary_key {:id, :binary_id, autogenerate: true} schema "trade_events" do field(:event_type, :string) field(:event_time, :integer) field(:symbol, :string) field(:trade_id, :integer) field(:price, :string) field(:quantity, :string) field(:buyer_order_id, :integer) field(:seller_order_id, :integer) field(:trade_time, :integer) field(:buyer_market_maker, :boolean) timestamps() end end At this moment we should be able to execute crud(create, read[select], update, delete) operations over the table using the above struct. Currently, we can already store the trade events’ data inside the database so we can move on to collecting it. Trade events are getting broadcasted by the Streamer.Binance process here: # /apps/streamer/lib/streamer/binance.ex ... Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", trade_event ) ... We will implement a subscriber process that will be given a PubSub topic and will store incoming data inside the database. Let’s start by creating a new folder called subscriber inside the apps/data_warehouse/lib/data_warehouse directory together with a new file called worker.ex inside it: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex defmodule DataWarehouse.Subscriber.Worker do use GenServer require Logger defmodule State do @enforce_keys [:topic] defstruct [:topic] end def start_link(topic) do GenServer.start_link( __MODULE__, topic, name: :"#{__MODULE__}-#{topic}" ) end def init(topic) do {:ok, %State{ topic: topic }} end end At this moment it’s just a box standard implementation of the GenServer with a state struct containing a single key(:topic). We need to update the init/1 function to subscribe to the PubSub topic: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def init(topic) do Logger.info("DataWarehouse worker is subscribing to #{topic}") Phoenix.PubSub.subscribe( Streamer.PubSub, topic ) ... Next, we need to add a handler for received messages: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def handle_info(%Streamer.Binance.TradeEvent{} = trade_event, state) do opts = trade_event |> Map.from_struct() struct!(DataWarehouse.Schema.TradeEvent, opts) |> DataWarehouse.Repo.insert() {:noreply, state} end As we did in the case of the Naive.Trader, all incoming messages trigger a handle_info/2 callback with the contents of the message and the current state of the subscriber worker. We just convert that incoming trade event to a map and then that map to the TradeEvent struct that gets inserted into the database. This finishes storing of trade events implementation which we can test by in the interactive shell by running: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") 00:48:30.147 [info] Starting Elixir.Streamer.Binance worker for XRPUSDT {:ok, #PID<0.395.0>} iex(2)> DataWarehouse.Subscriber.Worker.start_link("TRADE_EVENTS:XRPUSDT") 00:49:48.204 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:XRPUSDT {:ok, #PID<0.405.0>} After a couple of minutes we can check the database using psql: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse; You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# \\x Expanded display is on. data_warehouse=# SELECT * FROM trade_events; -[ RECORD 1 ]------+------------------------------------- id | f6eae686-946a-4e34-9c33-c7034c2cad5d event_type | trade event_time | 1614041388236 symbol | XRPUSDT trade_id | 152765072 price | 0.56554000 quantity | 1199.10000000 buyer_order_id | 1762454848 seller_order_id | 1762454775 trade_time | 1614041388235 buyer_market_maker | f inserted_at | 2021-02-23 00:49:48 ... As we can see in the above output, trade events are now getting stored inside the database. 14.6 Store orders’ data In the same fashion as with trade events’ data above, to store orders data we will create an orders table inside a new migration: $ cd apps/data_warehouse $ mix ecto.gen.migration create_orders * creating priv/repo/migrations/20210222224522_create_orders.exs The list of columns for this table will be a copy of Binance.Order struct returned from the Binance exchange: # /apps/data_warehouse/priv/repo/migrations/20210222224522_create_orders.exs defmodule DataWarehouse.Repo.Migrations.CreateOrders do use Ecto.Migration def change do create table(:orders, primary_key: false) do add(:order_id, :bigint, primary_key: true) add(:client_order_id, :text) add(:symbol, :text) add(:price, :text) add(:original_quantity, :text) add(:executed_quantity, :text) add(:cummulative_quote_quantity, :text) add(:status, :text) add(:time_in_force, :text) add(:type, :text) add(:side, :text) add(:stop_price, :text) add(:iceberg_quantity, :text) add(:time, :bigint) add(:update_time, :bigint) timestamps() end end end We updated all of the shortened names like orig_qty to full names like original_quantity. Let’s run the migration so it will create a new orders table for us: $ mix ecto.migrate We can copy the above fields list to create a schema module. First, let’s create a new file called order.ex inside the apps/data_warehouse/lib/data_warehouse/schema directory: # /apps/data_warehouse/lib/data_warehouse/schema/order.ex defmodule DataWarehouse.Schema.Order do use Ecto.Schema @primary_key {:order_id, :integer, autogenerate: false} schema "orders" do field(:client_order_id, :string) field(:symbol, :string) field(:price, :string) field(:original_quantity, :string) field(:executed_quantity, :string) field(:cummulative_quote_quantity, :string) field(:status, :string) field(:time_in_force, :string) field(:type, :string) field(:side, :string) field(:stop_price, :string) field(:iceberg_quantity, :string) field(:time, :integer) field(:update_time, :integer) timestamps() end end We can now add a handler to our DataWarehouse.Subscriber.Worker that will convert the Binance.Order struct to DataWarehouse.Schema.Order and store data inside the database: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex def handle_info(%Binance.Order{} = order, state) do data = order |> Map.from_struct() struct(DataWarehouse.Schema.Order, data) |> Map.merge(%{ original_quantity: order.orig_qty, executed_quantity: order.executed_qty, cummulative_quote_quantity: order.cummulative_quote_qty, iceberg_quantity: order.iceberg_qty }) |> DataWarehouse.Repo.insert( on_conflict: :replace_all, conflict_target: :order_id ) {:noreply, state} end ... In the above code, we are copying the matching fields using the struct/2 function but all other fields that aren’t 1 to 1 between two structs won’t be copied, so we need to merge them in the second step(using the Map.merge/2 function). We are also using the on_conflict: :replace_all option to make the insert/2 function act as it would be upsert/2(to avoid writing separate logic for inserting and updating the orders). Having all of this in place we will now be able to store broadcasted orders’ data in the database but there’s nothing actually broadcasting them. We need to modify the Naive.Trader module to broadcast the Binance.Order whenever it places buy/sell orders or fetches them again: # /apps/naive/lib/naive/trader.ex ... # inside placing initial buy order callback {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_buy(symbol, quantity, price, "GTC") :ok = broadcast_order(order) ... # inside buy order (partially) filled callback {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) ... # inside the same callback in case of buy order filled {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) ... # inside sell order (partially) filled callback {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) ... Above 4 places send both the Binance.OrderResponse and the Binance.Order structs - our broadcast_order/1 function needs to be able to handle them both. Add the following at the bottom of the Naive.Trader module: # /apps/naive/lib/naive/trader.ex defp broadcast_order(%Binance.OrderResponse{} = response) do response |> convert_to_order() |> broadcast_order() end defp broadcast_order(%Binance.Order{} = order) do Phoenix.PubSub.broadcast( Streamer.PubSub, "ORDERS:#{order.symbol}", order ) end defp convert_to_order(%Binance.OrderResponse{} = response) do data = response |> Map.from_struct() struct(Binance.Order, data) |> Map.merge(%{ cummulative_quote_qty: "0.00000000", stop_price: "0.00000000", iceberg_qty: "0.00000000", is_working: true }) end As DataWarehouse.Subscriber.Worker process expects only the Binance.Order structs to be broadcasted, we first check is it the Binance.OrderResponse struct and convert the passed value to the Binance.Order struct (if that’s the case) and only then broadcast it to the PubSub topic. The converting logic as previously uses the struct/2 function but it also merges in default values that are missing from the much smaller Binance.OrderResponse struct(with comparison to the Binance.Order). At this moment we will be able to store orders inside the database and we can check that by running: $ iex -S mix ... iex(1)> DataWarehouse.Subscriber.Worker.start_link("ORDERS:NEOUSDT") 22:37:43.043 [info] DataWarehouse worker is subscribing to ORDERS:XRPUSDT {:ok, #PID<0.400.0>} iex(2)> Naive.start_trading("NEOUSDT") 22:38:39.741 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 22:38:39.832 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.402.0>} 22:38:41.654 [info] Initializing new trader(1614119921653) for NEOUSDT iex(3)> Streamer.start_streaming("NEOUSDT") 22:39:23.786 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.412.0>} 22:39:27.187 [info] The trader(1614119921653) is placing a BUY order for NEOUSDT @ 37.549, quantity: 5.326 22:39:27.449 [info] The trader(1614119921653) is placing a SELL order for NEOUSDT @ 37.578, quantity: 5.326. At this moment inside the DataWarehouse’s database we should see orders: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse; You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# \\x Expanded display is on. data_warehouse=# SELECT * FROM orders; -[ RECORD 1 ]--------------+--------------------------------- order_id | 1 client_order_id | C81E728D9D4C2F636F067F89CC14862C symbol | NEOUSDT price | 38.16 original_quantity | 5.241 executed_quantity | 0.00000000 cummulative_quote_quantity | 0.00000000 status | FILLED time_in_force | GTC type | LIMIT side | BUY stop_price | 0.00000000 iceberg_quantity | 0.00000000 time | 1614120906320 update_time | 1614120906320 inserted_at | 2021-02-23 22:55:10 updated_at | 2021-02-23 22:55:10 -[ RECORD 2 ]--------------+--------------------------------- order_id | 2 client_order_id | ECCBC87E4B5CE2FE28308FD9F2A7BAF3 symbol | NEOUSDT price | 38.19 original_quantity | 5.241 executed_quantity | 0.00000000 cummulative_quote_quantity | 0.00000000 status | NEW time_in_force | GTC type | LIMIT side | SELL stop_price | 0.00000000 iceberg_quantity | 0.00000000 time | update_time | inserted_at | 2021-02-23 22:55:10 updated_at | 2021-02-23 22:55:10 The first record above got inserted and updated as its state is “FILLED”, the second one wasn’t updated yet as it’s still in “NEW” state - that confirms that the upsert trick works. That finishes the implementation of storing orders inside the database. 14.7 Implement supervision Currently, we have a DataWarehouse.Subscriber.Worker process that will take care of storing data into the database, but sadly if anything will go wrong inside our worker and it will crash there’s no supervision in place to restart it. The supervision tree for the data_warehouse application will be similar to ones from the naive and streamer apps but different enough to not use the Core.ServiceSupervisor abstraction. For example, it doesn’t use the symbol column, it works based on the topic column. This would require changes to the Core.ServiceSupervisor’s functions like update_status/4 or fetch_symbols_to_start/2, we could update them to accept column name but that would need to be passed through other functions. We can see that this is probably not the best approach and the further we will get the more complex it will become. The second issue would be that we are registering all processes with names and that can be problematic as the list of processes will start to grow(as we can imagine in the case of the data_warehouse application). The better approach would be to mix the DynamicSupervisor together with Registry. The DynamicSupervisor will supervise the Subscriber.Workers and instead of keeping track of them by registering them using atoms we will start them :via Elixir Registry. We will add all functionality that we implemented for naive and streamer applications. We will provide the functions to start and stop storing data on passed PubSub topics as well as store those topics inside the database so storing will be autostarted. 14.7.1 Create subscriber_settings table To provide autostarting function we need to create a new migration that will create the subscriber_settings table: $ cd apps/data_warehouse $ mix ecto.gen.migration create_subscriber_settings * creating priv/repo/migrations/20210227230123_create_subscriber_settings.exs At this moment we can copy the code to create the settings table(enum and index as well) from the streamer application and tweak it to fit the data_warehouse application. So the first important change (besides updating namespaces from Streamer to DataWarehouse) will be to make a note that we have a setting per topic - not per symbol as for the naive and streamer applications: # /apps/data_warehouse/priv/repo/migrations/20210227230123_create_subscriber_settings.exs defmodule DataWarehouse.Repo.Migrations.CreateSubscriberSettings do use Ecto.Migration alias DataWarehouse.Schema.SubscriberStatusEnum def change do SubscriberStatusEnum.create_type() create table(:subscriber_settings, primary_key: false) do add(:id, :uuid, primary_key: true) add(:topic, :text, null: false) add(:status, SubscriberStatusEnum.type(), default: "off", null: false) timestamps() end create(unique_index(:subscriber_settings, [:topic])) end end Both schema and enum will be almost identical to the ones from the streamer application - we can simply copy those files and apply basic tweaks like updating the namespace: $ cp apps/streamer/lib/streamer/schema/settings.ex \\ apps/data_warehouse/lib/data_warehouse/schema/subscriber_settings.ex $ cp apps/streamer/lib/streamer/schema/streaming_status_enum.ex \\ apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex Remember about updating the symbol column to topic as well as table name inside the DataWarehouse.Schema.SubscriberSettings: # /apps/data_warehouse/lib/data_warehouse/schema/subscriber_settings.ex defmodule DataWarehouse.Schema.SubscriberSettings do use Ecto.Schema alias DataWarehouse.Schema.SubscriberStatusEnum @primary_key {:id, :binary_id, autogenerate: true} schema "subscriber_settings" do field(:topic, :string) field(:status, SubscriberStatusEnum) timestamps() end end Inside apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex we need to swap references of Streamer to DataWarehouse and references of StreamingStatusEnum to SubscriberStatusEnum: # /apps/data_warehouse/lib/data_warehouse/schema/subscriber_status_enum.ex import EctoEnum defenum(DataWarehouse.Schema.SubscriberStatusEnum, :subscriber_status, [:on, :off]) Don’t forget to run the migration: $ mix ecto.migrate At this moment we have all pieces in place to execute queries on our new table. In this place, we can think about the seeding script. For the data_warehouse specifically, we won’t need to provide that script as we don’t know in advance what topic names we will use. Instead of seeding settings in advance, our code will “upsert”(using insert function) settings when start_storing/1 or stop_storing/1 are called. 14.7.2 Redesign supervision using Registry We can now focus on drafting a supervision tree for the data_warehouse application. At this moment we have only the DataWarehouse.Subscriber.Worker and the DataWarehouse.Application modules. As it was with the case of naive and streamer applications, we will need an additional level of supervision to cater for “autostarting” Task as well as, in the case of the data_warehouse application the Registry. The full supervision tree will look as follows: Everything looks very similar to the supervision tree that we created in the streamer and the naive applications but there’s an additional Registry that is supervised by the SubscriberSupervisior process. The idea is that inside the Worker module’s start_link/1 we will register worker processes using :via tuple. Internally, GenServer will utilize Registry’s functions like register_name/2 to add process to the registry under the topic string. This way we will be able to retrieve PIDs assigned to topics using those topic strings instead of registering each worker process with an atom name. Just as previously the DynamicSupervisor will be in charge of supervising the Worker processes and it won’t be even aware that we are using the Registry to keep track of topic => PID association. 14.7.3 Create the DataWarehouse.Subscriber.DynamicSupervisor module Let’s start by creating a new file called dynamic_supervisor.ex inside the apps/data_warehouse/lib/data_warehouse/subscriber directory and put default dynamic supervisor implementation inside: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex defmodule DataWarehouse.Subscriber.DynamicSupervisor do use DynamicSupervisor def start_link(_arg) do DynamicSupervisor.start_link(__MODULE__, [], name: __MODULE__) end def init(_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end As we will put all our logic related to autostarting, starting and stopping inside this module we can already add aliases, import and require: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex require Logger alias DataWarehouse.Repo alias DataWarehouse.Schema.SubscriberSettings alias DataWarehouse.Subscriber.Worker import Ecto.Query, only: [from: 2] @registry :subscriber_workers Additionally, we added the @registry module attribute that we will use to retrieve PID for the specific topic. We can move on to implementing autostart_workers/0 which will look very similar to the ones that we implemented in the streamer and the naive applications: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def autostart_workers do Repo.all( from(s in SubscriberSettings, where: s.status == "on", select: s.topic ) ) |> Enum.map(&start_child/1) end defp start_child(args) do DynamicSupervisor.start_child( __MODULE__, {Worker, args} ) end We can see that we are querying the database for a list of topics(not symbols) and we are calling start_child/2 for each result. The start_worker/1 is where the Registry will shine as we won’t need to check is there already a process running for that topic - we can leave that check to the Registry. If there’s a process already running for that topic it will just return a tuple starting with :error atom: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def start_worker(topic) do Logger.info("Starting storing data from #{topic} topic") update_status(topic, "on") start_child(topic) end ... defp update_status(topic, status) when is_binary(topic) and is_binary(status) do %SubscriberSettings{ topic: topic, status: status } |> Repo.insert( on_conflict: :replace_all, conflict_target: :topic ) end As we are not seeding the database with the default settings we will use the insert/2 function with options(as previously) to make it work as it would be an “upsert” function. Last function in this module will be stop_worker/1 which uses private stop_child/1 function. The stop_child/1 function shows how to retrieve PID of the process assigned to the passed topic: # /apps/data_warehouse/lib/data_warehouse/subscriber/dynamic_supervisor.ex ... def stop_worker(topic) do Logger.info("Stopping storing data from #{topic} topic") update_status(topic, "off") stop_child(topic) end ... defp stop_child(args) do case Registry.lookup(@registry, args) do [{pid, _}] -> DynamicSupervisor.terminate_child(__MODULE__, pid) _ -> Logger.warning("Unable to locate process assigned to #{inspect(args)}") end end That is a full implementation of the DataWarehouse.Subscriber.DynamicSupervisor module and it’s almost as slim as one from the last chapter where we leveraged macros to achieve that lightness. Using the Registry is the preferred way to manage a list of identifiable processes. We won’t run into an issue of overusing the atoms(as they are not garbage collected, we could hit that limit sooner or later). 14.7.4 Register Worker processes using :via The above DynamicSupervisor module assumes that Workers are registered inside the Registry - to make this happen we will need to update the start_link/1 function of the DataWarehouse.Subscriber.Worker module: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex ... def start_link(topic) do GenServer.start_link( __MODULE__, topic, name: via_tuple(topic) ) end ... defp via_tuple(topic) do {:via, Registry, {:subscriber_workers, topic}} end ... Passing the :name option to the GenServer’s start_link/3 function we instruct it to utilize the Registry module to register processes under topic names. 14.7.5 Create a new supervision level for Registry, Task and the DynamicSupervisor We have the lowest level modules - the Worker and the DynamicSupervisor implemented - time to add a new Supervisor that will start the Registry, the DynamicSupervisor, and the autostart storing Task. First create a new file called subscriber_supervisor.ex inside the apps/data_warehouse/lib/data_warehouse directory: # /apps/data_warehouse/lib/data_warehouse/subscriber_supervisor.ex defmodule DataWarehouse.SubscriberSupervisor do use Supervisor alias DataWarehouse.Subscriber.DynamicSupervisor @registry :subscriber_workers def start_link(_args) do Supervisor.start_link(__MODULE__, [], name: __MODULE__) end def init(_args) do children = [ {Registry, [keys: :unique, name: @registry]}, {DynamicSupervisor, []}, {Task, fn -> DynamicSupervisor.autostart_workers() end} ] Supervisor.init(children, strategy: :rest_for_one) end end The important part here will be to match the Registry name to the one defined inside the DynamicSupervisor and the Worker modules. 14.7.6 Link the SubscriberSupervisor to the Application We need to update the DataWarehouse.Application module to start our new DataWarehouse.SubscriberSupervisor process as well as register itself under name matching to its module(just for consistency with other applications): # /apps/data_warehouse/lib/data_warehouse/application.ex ... def start(_type, _args) do children = [ {DataWarehouse.Repo, []}, {DataWarehouse.SubscriberSupervisor, []} # <= new module added ] # See https://hexdocs.pm/elixir/Supervisor.html # for other strategies and supported options opts = [strategy: :one_for_one, name: __MODULE__] # <= name updated Supervisor.start_link(children, opts) end ... 14.7.7 Add interface The final step will be to add an interface to the DataWarehouse application to start and stop storing: # /apps/data_warehouse/lib/data_warehouse.ex alias DataWarehouse.Subscriber.DynamicSupervisor def start_storing(stream, symbol) do to_topic(stream, symbol) |> DynamicSupervisor.start_worker() end def stop_storing(stream, symbol) do to_topic(stream, symbol) |> DynamicSupervisor.stop_worker() end defp to_topic(stream, symbol) do [stream, symbol] |> Enum.map(&String.upcase/1) |> Enum.join(":") end Inside the above functions, we are just doing a couple of sanity checks on the case of the passed arguments assuming that both topics and stream are uppercase. 14.7.8 Test The interface above was the last step in our implementation, we can now test that all works as expected: $ iex -S mix ... iex(1)> DataWarehouse.start_storing("TRADE_EVENTS", "NEOUSDT") 19:34:00.740 [info] Starting storing data from TRADE_EVENTS:NEOUSDT topic 19:34:00.847 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:NEOUSDT {:ok, #PID<0.429.0>} iex(2)> DataWarehouse.start_storing("TRADE_EVENTS", "NEOUSDT") 19:34:04.753 [info] Starting storing data from TRADE_EVENTS:NEOUSDT topic {:error, {:already_started, #PID<0.459.0>}} iex(3)> DataWarehouse.start_storing("ORDERS", "NEOUSDT") 19:34:09.386 [info] Starting storing data from ORDERS:NEOUSDT topic 19:34:09.403 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT {:ok, #PID<0.431.0>} BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution ^C% $ iex -S mix ... 19:35:30.058 [info] DataWarehouse worker is subscribing to TRADE_EVENTS:NEOUSDT 19:35:30.062 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT # autostart works ^^^ iex(1)> Naive.start_trading("NEOUSDT") 19:36:45.316 [info] Starting Elixir.Naive.SymbolSupervisor worker for NEOUSDT 19:36:45.417 [info] Starting new supervision tree to trade on NEOUSDT {:ok, #PID<0.419.0>} iex(3)> 19:36:47.484 [info] Initializing new trader(1615221407466) for NEOUSDT iex(2)> Streamer.start_streaming("NEOUSDT") 16:37:39.660 [info] Starting Elixir.Streamer.Binance worker for NEOUSDT {:ok, #PID<0.428.0>} ... iex(3)> DataWarehouse.stop_storing("trade_events", "NEOUSDT") 19:39:26.398 [info] Stopping storing data from trade_events:NEOUSDT topic :ok iex(4)> DataWarehouse.stop_storing("trade_events", "NEOUSDT") 19:39:28.151 [info] Stopping storing data from trade_events:NEOUSDT topic 19:39:28.160 [warn] Unable to locate process assigned to "trade_events:NEOUSDT" :ok iex(5)> [{pid, nil}] = Registry.lookup(:subscriber_workers, "ORDERS:NEOUSDT") [{#PID<0.417.0>, nil}] iex(6)> Process.exit(pid, :crash) true 16:43:40.812 [info] DataWarehouse worker is subscribing to ORDERS:NEOUSDT As we can see even this simple implementation handles starting, autostarting, and stopping. It also gracefully handles starting workers when one is already running as well as stopping when there none running. As a challenge, you could update the naive and the streamer application to use the Registry and remove Core.ServiceSupervisor module as it was superseded by the above solution - here’s the link to PR(pull request) that sums up the required changes. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["backtest-trading-strategy.html", "Chapter 15 Backtest trading strategy 15.1 Objectives 15.2 Overview of requirements 15.3 Implement the storing task 15.4 Test the backtesting", " Chapter 15 Backtest trading strategy 15.1 Objectives overview of requirements implement the storing task test the backtesting 15.2 Overview of requirements In the last chapter, we started storing trade events and orders in the database which will be crucial for backtesting, which we will focus on in this chapter. Backtesting is a procedure of running historical data through the system and observing how our strategy would perform as if we would run it “in the past”. Backtesting works on assumption that the market will behave in a similar fashion in the future as it was in the past. At this moment we are receiving the trade events from the Binance through WebSocket. The Streamer.Binance process is handling those messages by parsing them from JSON string to map, then converting them to structs and broadcasting them to the TRADE_EVENTS:#{symbol} PubSub topic. The Naive.Trader subscribes to the TRADE_EVENTS:#{symbol} topic and takes decisions based on incoming data. As it places buy and sell orders it broadcasts them to the ORDERS:#{symbol} PubSub topic. The DataWarehouse.Subscriber.Worker processes subscribe to both trade events and orders topics and store incoming data inside the database. We can visualize this flow like that: To backtest we can substitute the Streamer.Binance process with a Task that will stream trade events’ data from the database and broadcasts it to the TRADE_EVENTS:#{symbol} PubSub topic(the same topic as the Streamer.Binance process). From the perspective of the Naive.Trader it does not make any difference who is broadcasting those trade events. This should be a clear indication of the value of publish/subscribe model that we implemented from the beginning. It allows us to swap producer and consumers freely to backtest our trading strategies: 15.3 Implement the storing task We will start by creating a new file called publisher.ex inside the apps/data_warehouse/lib/data_warehouse directory. We will start by implementing the basic Task behavior: # /apps/data_warehouse/lib/data_warehouse/publisher.ex defmodule DataWarehouse.Publisher do use Task def start_link(arg) do Task.start_link(__MODULE__, :run, [arg]) end def run(arg) do # ... end end To be able to query the database we will import Ecto and require Logger for logging: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... import Ecto.Query, only: [from: 2] require Logger ... We can now modify the run/1 function to expect specific type, symbol, from, to and interval: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... def run(%{ type: :trade_events, symbol: symbol, from: from, to: to, interval: interval }) do ... Inside the body of the run/1 function, first, we will convert from and to Unix timestamps by using private helper functions as well as make sure that the passed symbol is uppercase: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... def run(%{ ... }) do symbol = String.upcase(symbol) from_ts = "#{from}T00:00:00.000Z" |> convert_to_ms() to_ts = "#{to}T23:59:59.000Z" |> convert_to_ms() end ... defp convert_to_ms(iso8601DateString) do iso8601DateString |> NaiveDateTime.from_iso8601!() |> DateTime.from_naive!("Etc/UTC") |> DateTime.to_unix() |> Kernel.*(1000) end Next, we will select data from the database but because of possibly hundreds of thousands of rows being selected and because we are broadcasting them to the PubSub every x ms it could take a substantial amount of time to broadcast all of them. Instead of selecting data and storing all of it in the memory, we will use Repo.stream/1 function to keep broadcasting it on the go. Additionally, we will add index to the data to be able to log info messages every 10k messages. The last thing that we need to define will be the timeout value - the default value is 5 seconds and we will change it to :infinity: # /apps/data_warehouse/lib/data_warehouse/publisher.ex def run(%{ ... }) do ... DataWarehouse.Repo.transaction( fn -> from(te in DataWarehouse.Schema.TradeEvent, where: te.symbol == ^symbol and te.trade_time >= ^from_ts and te.trade_time < ^to_ts, order_by: te.trade_time ) |> DataWarehouse.Repo.stream() |> Enum.with_index() |> Enum.map(fn {row, index} -> :timer.sleep(interval) if rem(index, 10_000) == 0 do Logger.info("Publisher broadcasted #{index} events") end publish_trade_event(row) end) end, timeout: :infinity ) Logger.info("Publisher finished streaming trade events") end Finally, the above code uses the publish_trade_event/1 helper function which converts DataWarehouse’s TradeEvent to the Streamer’s TradeEvent to broadcast the same structs as the streamer application: # /apps/data_warehouse/lib/data_warehouse/publisher.ex ... defp publish_trade_event(%DataWarehouse.Schema.TradeEvent{} = trade_event) do new_trade_event = struct( Streamer.Binance.TradeEvent, trade_event |> Map.to_list() ) Phoenix.PubSub.broadcast( Streamer.PubSub, "TRADE_EVENTS:#{trade_event.symbol}", new_trade_event ) end We also need to remember about keeping the interface tidy so we will add publish_data to the DataWarehouse module: # /apps/data_warehouse/lib/data_warehouse.ex ... def publish_data(args) do DataWarehouse.Publisher.start_link(args) end ... This finishes our implementation - we should be able to stream trade events from the database to the PubSub using the above Task which we will do below. 15.4 Test the backtesting For consistency and ease of testing/use, I prepared an compressed single data of trade events for XRPUSDT(2019-06-03). We can download that file from GitHub using wget: $ cd /tmp $ wget https://github.com/Cinderella-Man/binance-trade-events \\ /raw/master/XRPUSDT/XRPUSDT-2019-06-03.csv.gz We can now uncompress the archive and load those trade events into our database: $ gunzip XRPUSDT-2019-06-03.csv.gz $ PGPASSWORD=hedgehogSecretPassword psql -Upostgres -h localhost -ddata_warehouse \\ -c "\\COPY trade_events FROM '/tmp/XRPUSDT-2019-06-03.csv' WITH (FORMAT csv, delimiter ';');" COPY 206115 The number after the word COPY in the response indicates the number of rows that got copied into the database. We can now give it a try and run full backtesting but first let’s clean the orders table: $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# DELETE FROM orders; DELETE ... We can now start a new iex session where we will start trading(the naive application) as well as storing orders(the data_warehouse application) and instead of starting the Streamer.Binance worker we will start the DataWarehouse.Publisher task with arguments matching the imported day and symbol: $ iex -S mix ... iex(1)> DataWarehouse.start_storing("ORDERS", "XRPUSDT") 19:17:59.596 [info] Starting storing data from ORDERS:XRPUSDT topic 19:17:59.632 [info] DataWarehouse worker is subscribing to ORDERS:XRPUSDT {:ok, #PID<0.417.0>} iex(2)> Naive.start_trading("XRPUSDT") 19:18:16.293 [info] Starting Elixir.Naive.SymbolSupervisor worker for XRPUSDT 19:18:16.332 [info] Starting new supervision tree to trade on XRPUSDT {:ok, #PID<0.419.0>} 19:18:18.327 [info] Initializing new trader(1615288698325) for XRPUSDT iex(3)> DataWarehouse.publish_data(%{ type: :trade_events, symbol: "XRPUSDT", from: "2019-06-02", to: "2019-06-04", interval: 5 }) {:ok, #PID<0.428.0>} 19:19:07.532 [info] Publisher broadcasted 0 events 19:19:07.534 [info] The trader(1615288698325) is placing a BUY order for XRPUSDT @ 0.44391, quantity: 450.5 19:19:07.749 [info] The trader(1615288698325) is placing a SELL order for XRPUSDT @ 0.44426, quantity: 450.5. ... 19:20:07.568 [info] Publisher broadcasted 10000 events ... 19:21:07.571 [info] Publisher broadcasted 20000 events 19:22:07.576 [info] Publisher broadcasted 30000 events ... 19:39:07.875 [info] Publisher broadcasted 200000 events 19:39:44.576 [info] Publisher finished streaming trade events From the above log, we can see that it took about 20 minutes to run 206k records through the system(a lot of that time[17+ minutes] was indeed the 5ms sleep). After the streaming finished we can check out the orders table inside the database to figure out how many trades we made and what income have they generated. $ psql -Upostgres -h127.0.0.1 Password for user postgres: ... postgres=# \\c data_warehouse You are now connected to database "data_warehouse" as user "postgres". data_warehouse=# SELECT COUNT(*) FROM orders; count ------- 224 (1 row) By looking at the orders we can figure out some performance metrics but that’s less than perfect to get answers to simple questions like “what’s the performance of my strategy?”. We will address that and other concerns in future chapters. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["end-to-end-testing.html", "Chapter 16 End-to-end testing 16.1 Objectives 16.2 Decide on the tested functionality 16.3 Implement basic test 16.4 Introduce environment based config files 16.5 Add convenience aliases 16.6 Cache initial seed data inside a file 16.7 Update seeding scripts to use the BinanceMock 16.8 Introduce the Core application", " Chapter 16 End-to-end testing 16.1 Objectives decide on the tested functionality implement basic test introduce environment based config files add convenience aliases cache initial seed data inside a file update seeding scripts to use the BinanceMock introduce the core application 16.2 Decide on the tested functionality We’ve reached the stage where we have a decent solution in place, and to ensure that it’s still working correctly after any future refactoring, we will add tests. We will start with the “integration”/“end-to-end”(E2E) test, which will confirm that the whole “trading” works. To perform tests at this level, we will need to orchestrate databases together with processes and broadcast trade events from within the test to cause our trading strategy to place orders. We will be able to confirm the right behavior by checking the database after running the test. You should have the least amount of this type of test as they are very brittle and require substantial effort to set up and maintain. My personal rule of thumb is that only major “happy paths” should be tested this way. Let’s look at the current flow of data through our system: Currently, the Streamer.Binance establishes a WebSocket connection with Binance. It decodes the incoming trade events and broadcasts them to PubSub(TRADE_EVENTS:#{symbol} topics). PubSub then sends them to the Naive.Trader processes. As those processes place orders(or orders get filled), they broadcast orders to the PubSub(ORDERS:#{symbol} topics). The DataWarehouse.Subscriber.Worker processes subscribe to the broadcasted orders and store them in the database. What we could do is to stop all the Streamer.Binance processes and broadcast trade events directly from the test. We would then be able to fine-tune the prices inside those events to run through the full trade cycle: This would allow us to fetch orders from the database to confirm that trading indeed happened. 16.3 Implement basic test We will place our test inside the NaiveTest module inside the apps/naive/test/naive_test.exs file. First, we will need to alias multiple modules that we will use to either initialize or confirm the results: # /apps/naive/test/naive_test.exs ... alias DataWarehouse.Schema.Order alias Naive.Schema.Settings, as: TradingSettings alias Streamer.Binance.TradeEvent import Ecto.Query, only: [from: 2] Now we can update the generated test to have a tag in front of it: # /apps/naive/test/naive_test.exs ... @tag integration: true We will use this tag to select only this test when we are running the integration tests. The first step will be to update the trading settings to values that will cause trading activity: # /apps/naive/test/naive_test.exs ... test "Naive trader full trade(buy + sell) test" do symbol = "XRPUSDT" # Step 1 - Update trading settings settings = [ profit_interval: 0.001, buy_down_interval: 0.0025, chunks: 5, budget: 100.0 ] {:ok, _} = TradingSettings |> Naive.Repo.get_by!(symbol: symbol) |> Ecto.Changeset.change(settings) |> Naive.Repo.update() As we updated the trading settings, we can now start trading: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 2 - Start trading on symbol Naive.start_trading(symbol) Before we start broadcasting events, we need to ensure that the DataWarehouse application will store resulting orders into the database: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 3 - Start storing orders DataWarehouse.start_storing("ORDERS", "XRPUSDT") :timer.sleep(5000) Additionally, as seen in the above code, we need to allow some time(5 seconds above) to initialize trading and data storing processes. We can now move on to broadcasting trade events: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 4 - Broadcast 9 events [ # buy order palced @ 0.4307 generate_event(1, "0.43183010", "213.10000000"), generate_event(2, "0.43183020", "56.10000000"), generate_event(3, "0.43183030", "12.10000000"), # event at the expected buy price generate_event(4, "0.4307", "38.92000000"), # event below the expected buy price # it should trigger fake fill event for placed buy order # and palce sell order @ 0.4319 generate_event(5, "0.43065", "126.53000000"), # event below the expected sell price generate_event(6, "0.43189", "26.18500000"), # event at exact the expected sell price generate_event(7, "0.4319", "62.92640000"), # event above the expected sell price # it should trigger fake fill event for placed sell order generate_event(8, "0.43205", "345.14235000"), # this one should trigger buy order for a new trader process generate_event(9, "0.43210", "3201.86480000") ] |> Enum.each(fn event -> Phoenix.PubSub.broadcast( Core.PubSub, "TRADE_EVENTS:#{symbol}", event ) :timer.sleep(10) end) :timer.sleep(2000) The above code will broadcast trade events to the PubSub topic that the trader processes are subscribed to. It should cause 3 orders to be placed at specific prices. In the last step, we will confirm this by querying the database: # /apps/naive/test/naive_test.exs # `test` function continued ... # Step 5 - Check orders table query = from(o in Order, select: [o.price, o.side, o.status], order_by: o.inserted_at, where: o.symbol == ^symbol ) [buy_1, sell_1, buy_2] = DataWarehouse.Repo.all(query) assert buy_1 == ["0.43070000", "BUY", "FILLED"] assert sell_1 == ["0.43190000", "SELL", "FILLED"] assert buy_2 == ["0.43100000", "BUY", "NEW"] That finishes the test function. The final addition inside the NaiveTest module will be to add a private helper function that generates trade event for the passed values: # /apps/naive/test/naive_test.exs ... defp generate_event(id, price, quantity) do %TradeEvent{ event_type: "trade", event_time: 1_000 + id * 10, symbol: "XRPUSDT", trade_id: 2_000 + id * 10, price: price, quantity: quantity, buyer_order_id: 3_000 + id * 10, seller_order_id: 4_000 + id * 10, trade_time: 5_000 + id * 10, buyer_market_maker: false } end This finishes the implementation of the test, but as we are now using DataWarehouse’s modules inside the Naive application, we need to add data_warehouse to the dependencies: # /apps/naive/mix.exs defp deps do [ ... {:data_warehouse, in_umbrella: true, only: :test}, ... We could now run our new integration test, but it would be run against our current(development) databases. In addition, as we will need to reset all the data inside them before every test run, it could mean losing data. To avoid all of those problems, we will use separate databases for testing. 16.4 Introduce environment based config files Currently, our new test is running in the test environment (the MIX_ENV environmental variable is set to \"test\" whenever we run mix test), but we do not leverage that fact to configure our application for example: to use test databases as mentioned above. Configuration for our applications lives in config/config.exs configuration file. Inside it, we have access to the name of the environment, which we will utilize to place an environment based import_config/1 function: # /config/config.exs # add the below at the end of the file ... import_config "#{config_env()}.exs" Now we will create multiple config files, one for each environment: /config/dev.exs for development: # /config/dev.exs import Config /config/test.exs for future “unit” testing: # /config/test.exs import Config /config/integration.exs for end-to-end testing: # /config/integration.exs import Config config :streamer, Streamer.Repo, database: "streamer_test" config :naive, Naive.Repo, database: "naive_test" config :data_warehouse, DataWarehouse.Repo, database: "data_warehouse_test" /config/prod.exs for production: # /config/prod.exs import Config config :naive, binance_client: Binance After adding the above environment-based configuration files, our test will use the test databases. There’s one more remaining problem - we need to set those test databases before each test run, and as this process requires multiple steps, it’s a little bit cumbersome. 16.5 Add convenience aliases To be able to run our new integration test as easily as possible without bothering ourselves with all the database setup, we will introduce aliases in both the streamer and naive applications that will wrap seeding the databases: # /apps/naive/mix.exs & /apps/streamer/mix.exs def project do [ ... aliases: aliases() ] end defp aliases do [ seed: ["run priv/seed_settings.exs"] ] end Inside the main mix.exs file of our umbrella, we will use those with usual ecto’s commands like ecto.create and ecto.migrate: # /mix.exs def project do [ ... aliases: aliases() ] end defp aliases do [ setup: [ "ecto.drop", "ecto.create", "ecto.migrate", "cmd --app naive --app streamer mix seed" ], "test.integration": [ "setup", "test --only integration" ] ] end We can now safely run our test: $ MIX_ENV=integration mix test.integration Wait… Why do we need to set the MIX_ENV before calling our alias? So, as I mentioned earlier, the mix test command automatically assigns the \"test\" environment when called. However, our alias contains other commands like mix ecto.create, which without specifying the environment explicitly, would be run using the dev database. So we would set up the dev databases(drop, create, migrate & seed) and then run tests on the test databases. So our test is now passing, but it relies on the database being setup upfront, which requires seeding using a couple of requests to the Binance API. 16.6 Cache initial seed data inside a file Relying on the 3rd party API to be able to seed our database to run tests is a horrible idea. However, we can fix that by cache the response JSON in a file. How will this data be tunneled into the test database? In the spirit of limiting the change footprint, we could update the BinanceMock module to serve the cached data dependent on the flag - let’s add that flag first: # /config/config.exs # add below lines under the `import Config` line config :binance_mock, use_cached_exchange_info: false # /config/integration.exs # add below lines under the `import Config` line config :binance_mock, use_cached_exchange_info: true We can see how convenient it is to have a configuration file per environment - we enabled cached exchange info data only for the test environment. Inside the BinanceMock module, we can now update the get_exchange_info/0 function to use this configuration value to serve either cached or live exchange info response: # /apps/binance_mock/lib/binance_mock.ex def get_exchange_info() do case Application.compile_env(:binance_mock, :use_cached_exchange_info) do true -> get_cached_exchange_info() _ -> Binance.get_exchange_info() end end # add this at the bottom of the module defp get_cached_exchange_info do {:ok, data} = File.cwd!() |> Path.split() |> Enum.drop(-1) |> Kernel.++([ "binance_mock", "test", "assets", "exchange_info.json" ]) |> Path.join() |> File.read() {:ok, Jason.decode!(data) |> Binance.ExchangeInfo.new()} end As the binance_mock app wasn’t using the jason package before, we need to add it to dependencies: # /apps/binance_mock/mix.exs defp deps do [ ... {:jason, "~> 1.2"}, ... The above change will take care of flipping between serving the live/cached exchange info data, but we still need to manually save the current response to the file (to be used as a cached version later). Let’s open the IEx terminal to fetch the exchange info data and serialize it to JSON: $ iex -S mix iex(1)> Binance.get_exchange_info() |> elem(1) |> Jason.encode! You should get the following error: ... of type Binance.ExchangeInfo (a struct), Jason.Encoder protocol must always be explicitly implemented. If you own the struct, you can derive the implementation specifying which fields should be encoded to JSON: @derive {Jason.Encoder, only: [....]} defstruct ... It is also possible to encode all fields, although this should be used carefully to avoid accidentally leaking private information when new fields are added: @derive Jason.Encoder defstruct ... Finally, if you dont own the struct you want to encode to JSON, you may use Protocol.derive/3 placed outside of any module: Protocol.derive(Jason.Encoder, NameOfTheStruct, only: [...]) Protocol.derive(Jason.Encoder, NameOfTheStruct) In a nutshell, this means that the jason package doesn’t know how to encode the Binance.ExchangeInfo struct. Ok, as we don’t own this struct(it’s a part of the binance package), we will follow the last suggestion and try to derive the Jason.Encoder module for the Binance.ExchangeInfo struct: $ iex -S mix iex(1)> require Protocol Protocol iex(2)> Protocol.derive(Jason.Encoder, Binance.ExchangeInfo) warning: the Jason.Encoder protocol has already been consolidated, an implementation for Binance.ExchangeInfo has no effect. If you want to implement protocols after compilation or during tests, check the "Consolidation" section in the Protocol module documentation iex:2: (file) Hmm… This didn’t work again. The reason for it is a mechanism called the “Protocol consolidation”. Long story short, Elixir at compilation time knows upfront what structs derive which protocols, and to speed things up, it consolidates them at that moment. To avoid this process being run in development, we can modify the main mix.exs file to disable it: # /mix.exs def project do [ ... consolidate_protocols: Mix.env() == :prod ] end We should now be able to encode JSON using the jason module: $ mkdir apps/binance_mock/test/assets $ iex -S mix iex(1)> require Protocol Protocol iex(2)> Protocol.derive(Jason.Encoder, Binance.ExchangeInfo) :ok iex(3)> data = Binance.get_exchange_info() |> elem(1) |> Jason.encode!(pretty: true) ... iex(4)> File.write("apps/binance_mock/test/assets/exchange_info.json", data) :ok So we have the BinanceMock updated to serve cached/live responses based on the configuration and cached exchange info response. The last step is to ensure that seeding uses the BinanceMock module instead of using Binance directly to leverage the above implementation. 16.7 Update seeding scripts to use the BinanceMock The seed settings script for the Naive application(apps/naive/priv/seed_settings.exs) already uses the BinanceMock. Inside the Streamer application (apps/streamer/priv/seed_settings.exs) we can see that the Binance module is getting used. So we can update the fetching part of the script to the following to fix it: # /apps/streamer/priv/seed_settings.exs binance_client = Application.compile_env(:streamer, :binance_client) # <= new Logger.info("Fetching exchange info from Binance to create streaming settings") {:ok, %{symbols: symbols}} = binance_client.get_exchange_info() # <= updated We need to update the config to point to the BinanceMock for the streamer application in the same way as we do for the naive application: # /config/config.exs ... config :streamer, binance_client: BinanceMock, # <= added ecto_repos: [Streamer.Repo] ... # /config/prod.exs ... config :streamer, binance_client: Binance as well as swap the binance to the BinanceMock inside the list of dependencies of the Streamer app: # /apps/streamer/mix.exs ... defp deps do [ {:binance_mock, in_umbrella: true}, ... At this moment, we should be ready to run our test using the test database together with cached Binance response: $ MIX_ENV=test mix test.integration ** (Mix) Could not sort dependencies. There are cycles in the dependency graph And this is the moment when we will pay for cutting corners in the past. Let me explain. When we started this project, as we implemented communication using the PubSub topics, we put both the PubSub process(in the supervision tree) and the TradeEvent struct inside the streamer application. The knock-on effect of this decision is that any other app in the umbrella that would like to use either PubSub or TradeEvent struct needs to depend on the streamer application: As we added the binance_mock application as a dependency of the streamer application, we created a dependency cycle. This is quite typical in daily work as a software engineer. One of the common problems(besides naming things) is deciding where things belong. For example, do PubSub and TradeEvent belong in the Streamer app? Or maybe we should put it in the BinanceMock? I believe that it should be neither of them as those applications use the PubSub and TradeEvent struct. I believe that they should be placed in neither of those applications as those applications are only using the struct and PubSub process. What we should do instead is to create a new supervised application where we can attach the PubSub to the supervision tree and hold the system-wide structs(like TradeEvent) so every app can depend on it instead of each other: 16.8 Introduce the Core application Let’s start with create a new application: $ cd apps $ mix new --sup core We can now create a new directory called struct inside the apps/core/lib/core directory and move the TradeEvent struct from the streamer app to it(in the same terminal or from the apps directory): $ mkdir core/lib/core/struct $ mv streamer/lib/streamer/binance/trade_event.ex core/lib/core/struct Now we need to update the module to Core.Struct.TradeEvent: # /apps/core/lib/core/struct/trade_event.ex ... defmodule Core.Struct.TradeEvent do As we moved the TradeEvent struct over to the Core application, we need to: update all places that reference the Streamer.Binance.TradeEvent to Core.Struct.TradeEvent add the core to the dependencies lists of all apps in the umbrella remove the streamer from the dependencies lists of all apps in the umbrella The final step will be to move the PubSub process from the supervision tree of the Streamer application to the supervision of the Core application. # /apps/streamer/lib/streamer/application.ex def start(_type, _args) do children = [ ... { Phoenix.PubSub, name: Streamer.PubSub, adapter_name: Phoenix.PubSub.PG2 }, # ^ remove it from here ... ] # /apps/core/lib/core/application.ex def start(_type, _args) do children = [ { Phoenix.PubSub, name: Core.PubSub, adapter_name: Phoenix.PubSub.PG2 } # ^ add it here ] As we changed the module name of the PubSub process(from Streamer.PubSub to Core.PubSub), we need to update all the places where it’s referenced as well as add the phoenix_pubsub package to dependencies of the core application: # /apps/core/mix.exs defp deps do [ {:phoenix_pubsub, "~> 2.0"} ] end We can now run our test that will use the test database as well as cached exchange info: $ MIX_ENV=test mix test.integration We should see a lot of setup log followed by a confirmation: Finished in 0.03 seconds (0.00s async, 0.03s sync) 1 test, 0 failures, 1 excluded This wraps up our implementation of the end-to-end test. In the next chapter, we will see how we would implement a unit test for our trading strategy. The additional benefit of all the time that we put in the implementation of this test is that we won’t need to remember how to set up local environment anymore as it’s as simple as: mix setup Yay! :) It’s worth reiterating the downsides of the end-to-end tests: lack of visibility over what’s broken - most of the time, we will see the result of error but not the error itself requirement of synchronous execution - they rely on the database(s), so they can’t be run in parallel randomness/flakiness - as there’s no feedback loop, we wait for a hardcoded amount of time, that we assume it’s enough to finish initialization/execution - this can randomly fail It’s possible to implement a feedback loop and run our tests inside “sandbox” (transaction), but it’s not worth it as we can invest that time into developing reliable unit tests. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["mox-rocks.html", "Chapter 17 Mox rocks 17.1 Objectives 17.2 Introduction to mock based tests 17.3 Add the mox package 17.4 Investigate the Naive.Trader module 17.5 Implement a test of the Naive.Trader module 17.6 Define an alias to run unit tests", " Chapter 17 Mox rocks 17.1 Objectives introduction to mock based tests add the Mox package investigate the Naive.Trader module mock the Binance module mock the NaiveLeader module mock the Phoenix.PubSub module mock the Logger module implement a test of the Naive.Trader module define an alias to run unit tests 17.2 Introduction to mock based tests In the previous chapter, we’ve implemented the end-to-end test. It required a lot of prep work as well as we were able to see the downsides of this type of test clearly: we will be unable to run more than one end-to-end test in parallel as they rely on the database’s state we need to set up the database before every test run we need to start processes in the correct order with the suitable parameters we need to wait a (guessed) hardcoded amount of time that it will take to finish the trading(this is extremely bad as it will cause randomly failing tests as people will make the time shorter to speed up tests) we wouldn’t be able to quickly pinpoint which part error originated from as the test spans over a vast amount of the system logging was polluting our test output How could we fix the above issues? The most common way is to limit the scope of the test. Instead of testing the whole trading flow, we could focus on testing a single Naive.Trader process. Focusing on a single trader process would remove the requirement for starting multiple processes before testing, but it would also bring its own challenges. Let’s look at a concrete example: When the Naive.Trader process starts, it subscribes to the TRADE_EVENTS:#{symbol} PubSub topic. It also broadcasts updates of the orders it placed to the ORDERS:#{symbol} PubSub topic. How could we break the link between the Naive.Trader and the PubSub(or any other module it depends on)? We could utilize the trick that we used for the Binance module. We could create a module that provides the same functions as the PubSub module. We know that the trader process calls Phoenix.PubSub.subscribe/2 and Phoenix.PubSub.broadcast/3 functions. We could implement a module that contains the same functions: defmodule Test.PubSub do def subscribe(_, _), do: :ok def broadcast(_, _, _), do: :ok end The above module would satisfy the PubSub’s functionality required by the Naive.Trader module, but this solution comes with a couple of drawbacks: it doesn’t the passed values. It just ignores them, which is a missed opportunity to confirm that the PubSub module was called with the expected values. we can’t define a custom implemention specific to test. This is possible by extending the implemention with test related returns(hack!) Using the mox module would fix both of the problems mentioned above. With the mox module we can define add-hoc function implemention per test: # inside test file test ... Test.PubSubMock |> expect(:subscribe, fn (_module, "TRADE_EVENTS:XRPUSDT") -> :ok end) |> expect(:broadcast, fn (_module, "ORDERS:XRPUSDT", _order) -> :ok end) There are multiple benefits to using the mox module instead of handcrafting the implementation: it allows defining functions that will pattern match values specific to each test(as in the case of the “usual” pattern matching, they will break when called with unexpected values) it allows defining implementations of the mocked functions based on incoming(test specific) values it can validate that all defined mocked functions have been called by the test it comes with its own tests, so we don’t need to test it as it would need with our custom handcrafted mimicking module implementation But there’s a catch* ;) For the mox to know what sort of functions the module provides, it needs to know its behaviour. In Elixir, to define a behaviour of the module, we need to add the @callback attributes to it: defmodule Core.Test.PubSub do @type t :: atom @type topic :: binary @type message :: term @callback subscribe(t, topic) :: :ok | {:error, term} @callback broadcast(t, topic, message) :: :ok | {:error, term} end A behaviour can be defined in a separate module if we are working with 3rd party module that doesn’t provide it(like in the case of the Phoenix.PubSub module). Note: The additional benefit of using the behaviours is that we could tell Elixir that our module implements the behaviour by adding the @behaviour attribute: def MyPubSub do @behaviour Core.Test.PubSub ... Using the above will cause Elixir to validate at compile time that the MyPubSub module implements all functions defined inside the Core.Test.PubSub module(otherwise it will raise compilation error). Let’s get back to the main topic. We figured out that we could mock all of the modules that the Naive.Trader depends on using the mox module. But, how would we tell the Naive.Trader to use the mocked modules instead of the “real” ones when we run tests? We could make all modules that the Naive.Trader depends on be dynamically injected from the configuration(based on the environment). Another requirement to make mox work is to define the mocks upfront using the Mox.defmock/2 function. It will dynamically define a new module that will be limited by the passed behaviour(we will only be able to mock[inside tests] functions defined as a part of that behaviour). To sum up, there are a few steps to get the mox running: implement behaviours that we would like to mock(as most of the packages[like Phoenix.PubSub] are not coming with those) define mock modules using the Mox.defmock function modify the application’s configuration to use the mocked module(s) specify mocked module’s expectation inside the test Let’s move to the implementation. 17.3 Add the mox package First let’s add the mox package to the naive application’s dependencies: # /apps/naive/mix.exs ... defp deps do [ ... {:mox, "~> 1.0", only: [:test, :integration]}, ... We can now run mix deps.get to fetch the mox package. [Note] As we will add the mox’s mocking code into the test_helper.exs file, we need to make mox available in all test environments(both test and integration). 17.4 Investigate the Naive.Trader module Let’s investigate the Naive.Trader module(/apps/naive/lib/naive/trader.ex). We are looking for all calls to other modules - we can see: Logger.info/2 Phoenix.PubSub.subscribe/2 @binance_client.order_limit_buy/4 Naive.Leader.notify/2 @binance_client.get_order/3 @binance_client.order_limit_sell/4 Phoenix.PubSub.broadcast/3 So the Naive.Trader relies on four modules: Logger Phoenix.PubSub Naive.Leader @binance_client(either Binance or BinanceMock) We will need to work through them one by one. 17.4.1 Mock the Binance module Let’s start with the binance client, as it’s already a dynamic value based on the configuration. Neither the Binance nor the BinanceMock(our dummy implementation) module doesn’t provide a behaviour - let’s fix that by defining the @callback attributes at the top of the BinanceMock module before the structs: # /apps/binance_mock/lib/binance_mock.ex ... alias Binance.Order alias Binance.OrderResponse alias Core.Struct.TradeEvent @type symbol :: binary @type quantity :: binary @type price :: binary @type time_in_force :: binary @type timestamp :: non_neg_integer @type order_id :: non_neg_integer @type orig_client_order_id :: binary @type recv_window :: binary @callback order_limit_buy( symbol, quantity, price, time_in_force ) :: {:ok, %OrderResponse{}} | {:error, term} @callback order_limit_sell( symbol, quantity, price, time_in_force ) :: {:ok, %OrderResponse{}} | {:error, term} @callback get_order( symbol, timestamp, order_id, orig_client_order_id | nil, recv_window | nil ) :: {:ok, %Order{}} | {:error, term} In the above code, we added three @callback attributes that define the binance client behaviour. For clarity, we defined a distinct type for each of the arguments. As we now have a binance client behaviour defined, we can use it to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs ExUnit.start() Application.ensure_all_started(:mox) #1 Mox.defmock(Test.BinanceMock, for: BinanceMock) #2 First(#1), we need to ensure that the mox application has been started. Then(#2), we can tell the mox package to define the Test.BinanceMock module based on the BinanceMock behaviour. As we defined the binance client behaviour and mock, we can update our configuration to use them. We want to keep using the BinanceMock module in the development environment, but for the test environment, we would like to set the mocked module generated by the mox package: # /config/test.exs config :naive, binance_client: Test.BinanceMock 17.4.2 Mock the NaiveLeader module We can now move back to the Naive.Trader module to update all the hardcoded references to the Naive.Leader module with a dynamic attribute called @leader and add this attribute at the top of the module: # /apps/naive/lib/trader.ex ... @leader Application.compile_env(:naive, :leader) ... @leader.notify(:trader_state_updated, new_state) ... @leader.notify(:trader_state_updated, new_state) ... @leader.notify(:rebuy_triggered, new_state) ... As it was in case of the BinanceMock(our dummy implementation) module, the Naive.Leader module doesn’t provide a behaviour - let’s fix that by defining the @callback attributes at the top of the module: # /apps/naive/lib/leader.ex ... @type event_type :: atom @callback notify(event_type, %Trader.State{}) :: :ok In the above code, we added a single @callback attribute that defines the naive leader behaviour. For clarity, we defined a distinct type for the event_type arguments. As we now have a naive leader behaviour defined, we can use it to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.Naive.LeaderMock, for: Naive.Leader) In the above code, we’ve told the mox package to define the Test.Naive.LeaderMock module based on the Naive.Leader behaviour. We are moving on to the configuration. As the Naive.Leader wasn’t part of the configuration, we need to add it to the default config and test config file. First, let’s add the :leader key inside the config :naive in the default /config/config.exs configuration file: # /config/config.exs ... config :naive, binance_client: BinanceMock, leader: Naive.Leader, # <= added ... and then we need to apply the same update to the /config/test.exs configuration file(it will point to the module generated by the mox package - Test.Naive.LeaderMock): # /config/test.exs ... config :naive, binance_client: Test.BinanceMock, leader: Test.Naive.LeaderMock # <= added ... 17.4.3 Mock the Phoenix.PubSub module Mocking the Phoenix.PubSub dependency inside the Naive.Trader module will look very similar to the last two mocked modules. Inside the Naive.Trader module we need to update all the references to the Phoenix.PubSub to an @pubsub_client attribute with value dependent on the configuration: # /apps/naive/lib/trader.ex ... @pubsub_client Application.compile_env(:core, :pubsub_client) ... @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) ... @pubsub_client.broadcast( Core.PubSub, "ORDERS:#{order.symbol}", order ) ... The Phoenix.PubSub module doesn’t provide a behaviour. As we can’t modify its source, we need to create a new module to define the PubSub behaviour. Let’s create a new file called test.ex inside the /apps/core/lib/core directory with the following behaviour definition: # /apps/core/lib/core/test.ex defmodule Core.Test do defmodule PubSub do @type t :: atom @type topic :: binary @type message :: term @callback subscribe(t, topic) :: :ok | {:error, term} @callback broadcast(t, topic, message) :: :ok | {:error, term} end end As previously, we defined a couple of callbacks and additional types for each of their arguments. Next, we will use the above behaviour to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.PubSubMock, for: Core.Test.PubSub) In the above code, we’ve told the mox package to define the Test.PubSubMock module based on the Core.Test.PubSub behaviour. The final step will be to append the :core, :pubsub_client configuration to the /config/config.exs file: # /config/config.exs config :core, # <= added pubsub_client: Phoenix.PubSub # <= added and the test /config/test.exs configuration file: # /config/test.exs config :core, # <= added pubsub_client: Test.PubSubMock # <= added 17.4.4 Mock the Logger module Before we dive in, we should ask ourselves why we would mock the Logger module? We could raise the logging level to error and be done with it. Yes, that would fix all debug/info/warning logs, but we would also miss an opportunity to confirm a few details (depends on what’s necessary for our use case): you can ensure that the log was called when the tested function was run you can pattern match the logging level you can check the message. This could be useful if you don’t want to put sensitive information like banking details etc. inside log messages Mocking the Logger dependency inside the Naive.Trader module will follow the same steps as the previous updates. Inside the Naive.Trader module we need to update all the references to the Logger to an @logger attribute with value dependent on the configuration: # /apps/naive/lib/trader.ex ... @logger Application.compile_env(:core, :logger) ... @logger.info("Initializing new trader(#{id}) for #{symbol}") ... @logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) ... @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) ... @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") ... @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") ... @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") ... @logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") ... The Logger module doesn’t provide a behaviour. As we can’t modify its source, we need to create a new module to define the Logger behaviour. Let’s place it inside the Core.Test namespace in the /apps/core/lib/core/test.ex file side by side with the PubSub behaviour with the following definition: # /apps/core/lib/core/test.ex defmodule Core.Test do ... defmodule Logger do @type message :: binary @callback info(message) :: :ok end end As previously, we defined a callback and additional type for the message argument. Next, we will use the above behaviour to define a mock using the Mox.defmock/2 function inside the test_helper.exs file of the naive application: # /apps/naive/test/test_helper.exs Mox.defmock(Test.LoggerMock, for: Core.Test.Logger) In the above code, we’ve told the mox package to define the Test.LoggerMock module based on the Core.Test.Logger behaviour. The final step will be to append the :core, :logger configuration to the /config/config.exs file: # /config/config.exs config :core, logger: Logger, # <= added pubsub_client: Phoenix.PubSub and the test /config/test.exs configuration file: # /config/test.exs config :core, logger: Test.LoggerMock, # <= added pubsub_client: Test.PubSubMock This finishes the updates to the Naive.Trader module. We made all dependencies based on the configuration values. We can now progress to writing the test. 17.5 Implement a test of the Naive.Trader module Finally, we can implement the unit test for the Naive.Trader module. We will create a folder called naive inside the /apps/naive/test directory and a new file called trader_test.exs inside it. Let’s start with an empty skeleton of the test tagged as unit: # /apps/naive/test/naive/trader_test.exs defmodule Naive.TraderTest do use ExUnit.Case doctest Naive.Trader @tag :unit test "Placing buy order test" do end end Let’s add the mox related code above the @tag :unit line: # /apps/naive/test/naive/trader_test.exs import Mox # <= 1 setup :set_mox_from_context # <= 2 setup :verify_on_exit! # <= 3 In the above code, we are: importing the mox module so we will be able to use functions like expect/3 allowing any process to consume mocks defined by the test. This is crucial as tests are run as separate processes that would normally be the only ones allowed to use mocks that they define. Inside our test, we will start a new Naive.Trader process that needs to be able to access mocks defined in the test - hence this update telling mox to verify that all the mocks defined in the tests have been called from within those tests. Otherwise, it will flag such cases as test errors Inside our test, we need to define implementation for all the functions that the Naive.Trader relies on: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do Test.PubSubMock |> expect(:subscribe, fn _module, "TRADE_EVENTS:XRPUSDT" -> :ok end) # <= 1 |> expect(:broadcast, fn _module, "ORDERS:XRPUSDT", _order -> :ok end) Test.BinanceMock |> expect(:order_limit_buy, fn "XRPUSDT", "464.360", "0.4307", "GTC" -> # <= 2 {:ok, BinanceMock.generate_fake_order( "XRPUSDT", "464.360", "0.4307", "BUY" ) |> BinanceMock.convert_order_to_order_response()} end) test_pid = self() # <= 3 Test.Naive.LeaderMock |> expect(:notify, fn :trader_state_updated, %Naive.Trader.State{} -> send(test_pid, :ok) # <= 3 :ok end) Test.LoggerMock |> expect(:info, 2, fn _message -> :ok end) # <= 4 ... It’s important to note that we defined the mocked function with expected values in the above code. We expect our test to subscribe to a specific topic and broadcast to the other(#1). We are also expecting that process will place an order at the exact values that we calculated upfront. This way, our mock becomes an integral part of the test, asserting that the correct values will be passed to other parts of the system(dependencies of the Naive.Trader module). Another “trick”(#3) that we can use in our mocks is to leverage the fact that we can send a message to the test process from within the mocked function. We will leverage this idea to know precisely when the trader process finished its work as the notify/1 is the last function call inside the process’ callback(handle_info/2 inside the Naive.Trader module). We will assert that we should receive the message, and the test will be waiting for it before exiting(the default timeout is 100ms) instead of using hardcoded sleep to “hack” it to work. The final part(#4) tells the mox package that Logger.info/1 will be called twice inside the test. The mox will verify the number of calls to the mocked function and error if it doesn’t much the expected amount. The second part of the test is preparing the initial state for the Naive.Trader process, generating trade event and sending it to the process: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... trader_state = dummy_trader_state() trade_event = generate_event(1, "0.43183010", "213.10000000") {:ok, trader_pid} = Naive.Trader.start_link(trader_state) send(trader_pid, trade_event) assert_receive :ok end As described above, the assert_receive/1 function will cause the test to wait for the message for 100ms before quitting. Here are the helper functions that we used to generate the initial trader state and trade event: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... end defp dummy_trader_state() do %Naive.Trader.State{ id: 100_000_000, symbol: "XRPUSDT", budget: "200", buy_order: nil, sell_order: nil, buy_down_interval: Decimal.new("0.0025"), profit_interval: Decimal.new("0.001"), rebuy_interval: Decimal.new("0.006"), rebuy_notified: false, tick_size: "0.0001", step_size: "0.001" } end defp generate_event(id, price, quantity) do %Core.Struct.TradeEvent{ event_type: "trade", event_time: 1_000 + id * 10, symbol: "XRPUSDT", trade_id: 2_000 + id * 10, price: price, quantity: quantity, buyer_order_id: 3_000 + id * 10, seller_order_id: 4_000 + id * 10, trade_time: 5_000 + id * 10, buyer_market_maker: false } end The above code finishes the implementation of the test, but inside it, we used functions from the BinanceMock module that are private. We need to update the module by making the generate_fake_order/4 and convert_order_to_order_response/1 function public(and moving them up in the module, so they are next to other public functions): # /apps/binance_mock/lib/binance_mock.ex ... def get_order(symbol, time, order_id) do ... end def generate_fake_order(symbol, quantity, price, side) # <= updated to public ... end def convert_order_to_order_response(%Binance.Order{} = order) do # <= updated to public ... end ... We updated both of the methods to public and moved them up after the get_order/3 function. 17.6 Define an alias to run unit tests Our unit test should be run without running the whole application, so we need to run them with the --no-start argument. We should also select unit tests by tag(--only unit). Let’s create an alias that will hide those details: # /mix.exs defp aliases do [ ... "test.unit": [ "test --only unit --no-start" ] ] end We can now run our test using a terminal: MIX_ENV=test mix test.unit We should see the following error: 21:22:03.811 [error] GenServer #PID<0.641.0> terminating ** (stop) exited in: GenServer.call(BinanceMock, :generate_id, 5000) ** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started One of the BinanceMock module’s functions is sending a message to generate a unique id to the process that doesn’t exist(as we are running our tests without starting the supervision tree[the --no-start argument]). There are two ways to handle this issue: inside the /apps/naive/test/test_helper.exs file we could ensure that the BinanceMock is up and running by adding Application.ensure_all_started(:binance_mock) function call - this is a hack we could refactor the BinanceMock.generate_fake_order/4 to accept order_id as an argument instead of sending the message internally - this should be a much better solution. Let’s give it a shot. First, let’s update the BinanceMock module: # /apps/binance_mock/lib/binance_mock.ex def generate_fake_order(order_id, symbol, quantity, price, side) # <= order_id added ... # remove the call to GenServer from the body ... end ... defp order_limit(symbol, quantity, price, side) do ... generate_fake_order( GenServer.call(__MODULE__, :generate_id), # <= order_id generation added symbol, quantity, price, side ) Now we need to update our test to pass some dummy order id from the mocked function: # /apps/naive/test/naive/trader_test.exs ... test "Placing buy order test" do ... {:ok, BinanceMock.generate_fake_order( "12345", # <= order_id added "XRPUSDT", "464.360", "0.4307", "BUY" ) ... end We can now rerun our test: MIX_ENV=test mix test.unit ... Finished in 0.1 seconds (0.00s async, 0.1s sync) 2 tests, 0 failures, 1 excluded Congrats! We just successfully tested placing an order without any dependencies. To avoid explicitly passing the MIX_ENV=test environment variable, we will add the preferred environment for our alias inside the mix.exs file: # /mix.exs def project do [ ... preferred_cli_env: [ "test.unit": :test ] end Now we can run our tests by: mix test.unit ... Finished in 0.06 seconds (0.00s async, 0.06s sync) 2 tests, 0 failures, 1 excluded That’s all for this chapter - to sum up, the main advantages from the mox based tests: we were able to test a standalone process/module ignoring all of its dependencies we were able to confirm that dependent functions were called and expected values were passed to them we were able to create a feedback loop where mock was sending a message back to the test, because of which, we didn’t need to use sleep, and that resulted in a massive speed gains [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["functional-elixir.html", "Chapter 18 Functional Elixir 18.1 Objectives 18.2 The reasoning behind the functional approach 18.3 Simplifying by splitting 18.4 Abstracting the “pure” logic 18.5 Dealing with dirty code 18.6 Making dirty code testable 18.7 The power with-in 18.8 Do or not to do 18.9 Final thoughts", " Chapter 18 Functional Elixir 18.1 Objectives the reasoning behind the functional approach simplifying by splitting abstracting the “pure” logic dealing with dirty code making dirty code testable the power with-in do or not to do final thoughts 18.2 The reasoning behind the functional approach Across the last 17 chapters, we focused on learning OTP by building a trading system. On the way, we omitted (for a very good reason - a clear focus on OTP) the conversation about functional programming. But wait, what? We are already using concepts like higher-order functions - isn’t that enough? We indeed use some functional patterns, but we never dug deeper into what Elixir developers should know(and apply) and, most importantly, why. In a nutshell, the selling point of functional programming is that applying it will make your code easier to reason about and test. Tests dramatically improve software quality. The easier they are to write, there’s less excuse not to write them - as simple as that. We will start from the basics and look into different ways of implementing functional concepts, considering Elixir’s strengths and weaknesses. 18.3 Simplifying by splitting Note: This section could appear to be a bit “random”, but I added it to aid continuity of refactoring steps(refactoring those callbacks later would cause a fair amount of complexity). Let’s look at our strategy inside the Naive.Trader module. In this section, we will focus on its (handle_info/2) callback function. We are looking for clauses that do more than “one thing” to split them into multiple clauses: The first callback places a buy order - it has a single responsibility and is easy to follow. The second callback takes care of race conditions - the same story, easy to understand. The third callback is the one we will focus on. It branches using the if statement, and we could describe it as “fetch and maybe place a sell order” function. The “and” in the description clearly indicates that it’s really two functions glued together. We will split it into “fetch buy order” and “place a sell order” functions(below code replaces the 3rd handle_info/2 callback): # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{}, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ price: buy_price, orig_qty: quantity, status: "FILLED" }, sell_order: nil, profit_interval: profit_interval, tick_size: tick_size } = state ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) new_state = %{state | sell_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end def handle_info( %TradeEvent{ buyer_order_id: order_id }, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = buy_order } = state ) do @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) buy_order = %{buy_order | status: current_buy_order.status} new_state = %{state | buy_order: buy_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The first function takes care of placing a sell order. The second one fetches the buy order. We can now move to the next clause, similar to the last one we could describe as “fetch the sell order and maybe terminate the trader”. We will split it into two callbacks: “fetch the sell order” and “terminate trader”. The code below replaces the 5th handle_info/2 callback: # /apps/naive/lib/naive/trader.ex def handle_info( %TradeEvent{}, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ status: "FILLED" } } = state ) do @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") {:stop, :normal, state} end def handle_info( %TradeEvent{ seller_order_id: order_id }, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = sell_order } = state ) do @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) sell_order = %{sell_order | status: current_sell_order.status} new_state = %{state | sell_order: sell_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The first function takes care of terminating the trader. The second function is fetching the sell order. That finishes our first refactoring round, but I need to admit that our change has impacted the behaviour of our strategy. Each time a buy or sell order gets filled, we will fetch that order from Binance, but we won’t immediately place a sell order nor terminate as it was happening before. Instead, only when another event arrives will the trader place a sell order or terminate. Changes like this require approval from the business in a work situation, but it’s a good showcase of the situation where we can propose a solution that will simplify the code(the benefits will become evident in the following sections). We can confirm that we have broken our tests by running our integration testsuite: $ MIX_ENV=integration mix test.integration ... 1) test Naive trader full trade(buy + sell) test (NaiveTest) apps/naive/test/naive_test.exs:12 ** (MatchError) no match of right hand side value: [["0.43070000", "BUY", "FILLED"]... code: [buy_1, sell_1, buy_2] = DataWarehouse.Repo.all(query) stacktrace: test/naive_test.exs:83: (test) (Subject to acceptance by the business) we will fix the integration test in the following way: # /apps/naive/test/naive_test.exs test "Naive trader full trade(buy + sell) test" do ... # Step 4 - Broadcast 10 events # <= updated comment [ ... generate_event(8, "0.43205", "345.14235000"), # this one should trigger buy order for a new trader process generate_event(9, "0.43205", "345.14235000"), # <= added line generate_event(10, "0.43210", "3201.86480000") # <= updated id ] We added an event at the same price(as the sell order’s price) that will trigger placing a buy order by the new trader and make our test green again. 18.4 Abstracting the “pure” logic In our adventure to make our code more functional, we should strive to separate(as much as possible) pure business logic from side effects and boilerplate. The Naive.Trader module is a GenServer that receives trade events via messages. Based on them and the current state, using pattern-matching, it decides what action should be performed(place a buy order, fetch a buy order, place a sell order, fetch sell order, terminate trader, trigger rebuy or ignore event). Each of the pattern-matches inside the callback functions’ headers is a strategy specific business logic that got mixed with the fact that it’s executed by a GenServer that receives messages. We will create a new file called strategy.exs inside the apps/naive/lib/naive/ directory, where we will copy all of the handle_info/2 callback functions from the Naive.Trader module: # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do def handle_info(...) do ... # <= place a buy order logic end def handle_info(...) do ... # <= race condition fix logic end def handle_info(...) do ... # <= place a sell order logic end def handle_info(...) do ... # <= fetch the buy order logic end def handle_info(...) do ... # <= terminate trader logic end def handle_info(...) do ... # <= fetch the sell order logic end def handle_info(...) do ... # <= trigger rebuy order logic end def handle_info(...) do ... # <= ignore trade event logic end First, we will rename all of the handle_info/2 functions inside the Naive.Strategy module to generate_decision/2. Next, we will go through them one by one, leaving the pure parts and limiting them to returning the decision. 18.4.1 Place a buy order rules The first function decides should the trader place a buy order. We can see that price and quantity calculations are pure functions based on the incoming data. We will remove everything below those two as it’s causing side effects. As now we are dealing with a function generating a decision, we will return a tuple with data that, together with state, will be used to place a buy order. After removing some of the pattern-matching that we used to retrieve data(no longer needed), our first function should look like this: # /apps/naive/lib/naive/strategy.ex # the first clause def generate_decision( %TradeEvent{price: price}, %State{ budget: budget, buy_order: nil, buy_down_interval: buy_down_interval, tick_size: tick_size, step_size: step_size } ) do price = calculate_buy_price(price, buy_down_interval, tick_size) quantity = calculate_quantity(budget, price, step_size) {:place_buy_order, price, quantity} end 18.4.2 Race condition rules The second function deals with the race condition when multiple transactions fill the buy order. The original callback ignores those trade events, so the generate_decision/2 function should return the same “decision”: # /apps/naive/lib/naive/strategy.ex # the second clause def generate_decision( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id, status: "FILLED" }, sell_order: %Binance.OrderResponse{} } ) when is_number(order_id) do :skip end 18.4.3 Fetch the buy order rules For the 3th clause, we will return only an atom as there’s no pure logic besides the pattern-match in the header itself: # /apps/naive/lib/naive/strategy.ex # the third clause def generate_decision( %TradeEvent{ buyer_order_id: order_id }, %State{ buy_order: %Binance.OrderResponse{ order_id: order_id }, sell_order: nil } ) when is_number(order_id) do :fetch_buy_order end 18.4.4 Place a sell order rules We will follow the same logic for the 4th clause of the generate_decision/2 function. We will leave only the sell price calculation as it’s pure and return a tuple together with the decision: # /apps/naive/lib/naive/strategy.ex # the fourth clause def generate_decision( %TradeEvent{}, %State{ buy_order: %Binance.OrderResponse{ status: "FILLED", price: buy_price }, sell_order: nil, profit_interval: profit_interval, tick_size: tick_size } ) do sell_price = calculate_sell_price(buy_price, profit_interval, tick_size) {:place_sell_order, sell_price} end 18.4.5 Terminate trader rules For the 5th clause, we will indicate that trader needs to terminate: # /apps/naive/lib/naive/strategy.ex # the fifth clause def generate_decision( %TradeEvent{}, %State{ sell_order: %Binance.OrderResponse{ status: "FILLED" } } ) do :exit end 18.4.6 Fetch the sell order rules For the 6th clause, we will indicate that trader needs to fetch the sell order: # /apps/naive/lib/naive/strategy.ex # the sixth clause def generate_decision( %TradeEvent{ seller_order_id: order_id }, %State{ sell_order: %Binance.OrderResponse{ order_id: order_id } } ) do :fetch_sell_order end 18.4.7 Trigger rebuy rules Inside the 7th clause, we are dealing with triggering the rebuy. Here, we can decide whether rebuy should be triggered and get rid of conditional logic inside further steps. We couldn’t refactor this function by splitting it (as we’ve done in the first section) as we need to call the trigger_rebuy?/3 function to check should rebuy be triggered. The functions that we refactored in the first section of this chapter were splittable as they relied on pattern-matching in the function headers where calling local functions is not allowed): # /apps/naive/lib/naive/strategy.ex # the seventh clause def generate_decision( %TradeEvent{ price: current_price }, %State{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false } ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) do :rebuy else :skip end end 18.4.8 The final clause rules The final (8th) clause will just ignore the trade event as it’s of no interest: # /apps/naive/lib/naive/strategy.ex # the final(8th) clause def generate_decision(%TradeEvent{}, %State{}) do :skip end This finishes the changes to the generate_decision/2 clauses. We extracted a fair amount of logic into an easily testable pure function. We now need to use it inside the Naive.Trader module. 18.4.9 Changes to the Naive.Trader module We will start by moving all of the calculation functions to the Naive.Strategy module as we are using them from the generate_decision/2 function. Those will be: calculate_sell_price/3 calculate_buy_price/3 calculate_quantity/3 trigger_rebuy?/3 They can now be changed to public functions as they are pure and fit the “interface” of the Naive.Strategy module(it feels ok[and it’s safe as they are pure] to “expose” them to be called from other modules). We need to remember about moving the Decimal alias into the Naive.Strategy module together with a copy of the TradeEvent struct alias and add the alias for the Naive.Trader.State struct: # /apps/naive/lib/naive/strategy.ex alias Decimal, as: D alias Core.Struct.TradeEvent alias Naive.Trader.State The next step will be to rename all the handle_info/2 callback functions inside the Naive.Trader module to execute_decision/2, which we will get back to in a moment. First, we need to add a single handle_info/2 callback under the init/1 function that will pattern match only the fact that the received message contains the TradeEvent struct and the state is the correct State struct: # /apps/naive/lib/naive/trader.ex # add after the `init/1` function def handle_info(%TradeEvent{} = trade_event, %State{} = state) do Naive.Strategy.generate_decision(trade_event, state) |> execute_decision(state) end So, the Naive.Strategy module will decide what the trader server should do based on its pure business logic. That decision will be passed forward with the state to the execute_decision/2 function (at this moment, it’s just the old handle_info/2 function renamed, but we will update it next). 18.4.10 Naive.Trader - place buy order We will update the execute_decision/2 function to take a decision + state and execute the correct action based on pattern-match of the decision. Starting with the 1st clause, we need to pattern match a tuple: # /apps/naive/lib/naive/trader.ex # the first execute clause def execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state ) do @logger.info( "The trader(#{id}) is placing a BUY order " <> "for #{symbol} @ #{price}, quantity: #{quantity}" ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_buy(symbol, quantity, price, "GTC") :ok = broadcast_order(order) new_state = %{state | buy_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end The amount of pattern matching will be much smaller as part of the original callback has been moved inside the Naive.Strategy’s logic(to calculate the price and quantity). 18.4.11 Naive.Trader - Race condition clause As we are using the :skip “decision” for both the race condition events and the “non interesting” events, we can safely remove this clause as we will implement skipping as the last clause. 18.4.12 Naive.Trader - Place a sell order In case of placing a sell order, we will pattern match on a tuple containing the :place_sell_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( {:place_sell_order, sell_price}, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ orig_qty: quantity } } = state ) do @logger.info( "The trader(#{id}) is placing a SELL order for " <> "#{symbol} @ #{sell_price}, quantity: #{quantity}." ) {:ok, %Binance.OrderResponse{} = order} = @binance_client.order_limit_sell(symbol, quantity, sell_price, "GTC") :ok = broadcast_order(order) new_state = %{state | sell_order: order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.13 Naive.Trader - Fetch the buy order In case of fetching the buy order, we will pattern match on a :fetch_buy_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :fetch_buy_order, %State{ id: id, symbol: symbol, buy_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = buy_order } = state ) do @logger.info("Trader's(#{id} #{symbol} buy order got partially filled") {:ok, %Binance.Order{} = current_buy_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_buy_order) buy_order = %{buy_order | status: current_buy_order.status} new_state = %{state | buy_order: buy_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.14 Naive.Trader - Terminate the trader In case of terminating the trader, we will pattern match on a :exit atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :exit, %State{ id: id, symbol: symbol } = state ) do @logger.info("Trader(#{id}) finished trade cycle for #{symbol}") {:stop, :normal, state} end 18.4.15 Naive.Trader - Fetch the sell order In case of fetching the sell order, we will pattern match on a :fetch_sell_order atom and slim down on pattern matching: # /apps/naive/lib/naive/trader.ex def execute_decision( :fetch_sell_order, %State{ id: id, symbol: symbol, sell_order: %Binance.OrderResponse{ order_id: order_id, transact_time: timestamp } = sell_order } = state ) do @logger.info("Trader's(#{id} #{symbol} SELL order got partially filled") {:ok, %Binance.Order{} = current_sell_order} = @binance_client.get_order( symbol, timestamp, order_id ) :ok = broadcast_order(current_sell_order) sell_order = %{sell_order | status: current_sell_order.status} new_state = %{state | sell_order: sell_order} @leader.notify(:trader_state_updated, new_state) {:noreply, new_state} end 18.4.16 Naive.Trader - Triggering rebuy In case of triggering the rebuy procedure, we will pattern match on a :rebuy atom, slim down on pattern matching and simplify the function a fair bit(no branching required anymore - yay!): # /apps/naive/lib/naive/trader.ex def execute_decision( :rebuy, %State{ id: id, symbol: symbol } = state ) do @logger.info("Rebuy triggered for #{symbol} by the trader(#{id})") new_state = %{state | rebuy_notified: true} @leader.notify(:rebuy_triggered, new_state) {:noreply, new_state} end 18.4.17 Naive.Trader - The final ignore clause The final ignore clause will :skip all events: # /apps/naive/lib/naive/trader.ex def execute_decision(:skip, state) do {:noreply, state} end The ignore clause finishes our current refactoring round, which showcased that sometimes abstracting pattern matching into a separate function is a valid strategy to increase the amount of pure code. Note: The fact that we could abstract the logic from pattern matches is quite a unique situation to our application. I would not advise abstracting GenServer pattern matching into a separate module if dealing with different structs/actions(in our case, all our pattern matches were “making a trading decision”, it’s a single “action”, that’s why we abstracted them). 18.5 Dealing with dirty code In the last section, we’ve split the handle_info/2 clauses into the generate_decision/2 and execute_decision/2 functions. That’s excellent progress, but we still have the strategy logic inside the Naive.Trader module. Let’s move the execute_decision/2 function(together with all the code that it depends on, like the broadcast_order/1 and convert_to_order/1 functions as well as a copy of the require Logger) from the Naive.Trader module to the Naive.Strategy module. As the generate_decision/2 function is causing side effects, we don’t want it to be called directly from the outside of the module, so we will need to make it private. Changing the execute_decision/2 function(now inside the Naive.Strategy module) to private will cause a problem with the handle_info/2 callback function inside the Naive.Trader module as it relies on the execute_decision/2 function to be public. The fact that our strategy makes a decision and then executes code based on it is an implementation detail that we shouldn’t share with the Naive.Trader module. That’s why we will move the body of the handle_info/2 callback function into a new function called execute/2 inside the Naive.Strategy module: # /apps/naive/lib/naive/strategy.ex def execute(%TradeEvent{} = trade_event, %State{} = state) do generate_decision(trade_event, state) |> execute_decision(state) end Before updating the Naive.Trader module to use the execute/2 function, we need to address another issue that moving the execute_decision/2 caused. At this moment, all of the clauses return GenServer specific tuples. What we really need to return to the trader is an atom indicating should it continue or terminate together with the updated state: # /apps/naive/lib/naive/strategy.ex # last lines inside the `execute_decision/2` clauses {:ok, new_state} # <= previously {:noreply, new_state} (5 times) {:ok, state} # <= previously {:noreply, state} (once) :exit # <= previously {:stop, :normal, state} + remove `state` pattern match (once) We can now update the handle_info/2 callback function to call the new “interface” of the Naive.Strategy module that we just created and act accordingly to the result: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do case Naive.Strategy.execute(trade_event, state) do {:ok, new_state} -> {:noreply, new_state} :exit -> {:stop, :normal, state} end end At this moment, we could just copy/move module attributes from the Naive.Trader module to the Naive.Strategy module and our code would start to work again. Still, before we will do that, we will use this opportunity to look into how to make our dirty code testable. 18.6 Making dirty code testable Making dirty code testable is very closely linked to injecting dependencies. In the testing environment, we would like to use dummy implementations instead of executing the side-effect-causing code to simplify the tests. We will look into the different ways that we can pass side-effect-causing “code” into impure functions. 18.6.1 Passing functions arguments Functions are first-class citizens in Elixir, which means that we can pass them as arguments to functions. This way, we can pass side-effect causing functions into our Naive.Strategy module. Let’s look at how this would look in practice. We need to look into the execute_decision/2 function, as it’s where the place side effects happen. Looking at the 1st clause(responsible for placing a buy order), we can see that it’s calling the Logger.info/1, Binance.order_limit_buy/4, PubSub.broadcast/3(via the broadcast_order/1 function) and Leader.notify/2 functions. To make our code easily testable, we would need to be able to pass dummy implementations for all of those. As we aren’t calling the execute_decision/2 directly, we need to pass all of the above functions as arguments to the execute/2 function, which will pass them onward to the execute_decision/2. We can see that even with default values pointing to the “real” implementation, that’s still a lot of noise to make testing easier. It will negatively impact the maintenance of the code - here’s an example of what this would look like(don’t bother typing it): # /apps/naive/lib/naive/strategy.ex # injecting dummy implementation, fallback to real implementation def execute( %TradeEvent{} = trade_event, %State{} = state, logger_info \\\\ &Logger.info/1, # <= function injected order_limit_buy \\\\ &Binance.order_limit_buy/4, # <= function injected pubsub_broadcast \\\\ &PubSub.broadcast/3, # <= function injected notify_leader \\\\ &Leader.notify/2 # <= function injected ) do ... There are already four functions, and we only took care of side-effects causing functions from the first execute_decision/2 clause. We can easily see how this very quickly becomes just unmanageable as there would be 10+ “injected” arguments going from the execute/2 to execute_decision/2, and only some of them would be used in each clause. Additional downsides: when passing a function as an argument, we need to specify the arity, so when we would like to use more than one arity, we need to pass the function multiple times with different arities. An example could be passing Logger.info/1 and Logger.info/2 we need to give a name to every passed function, sometimes multiple arities (again, how should variables for Logger.info/1 and Logger.info/2 be called? logger_info_2?) share amount of arguments negatively impacts code readability We can see that passing functions as arguments is just a bad idea in case of making our code testable. It will have the opposite effect, decreasing readability making our code difficult to maintain and follow. Important note: Passing functions as arguments is not always bad! A good example could be when different actions need to be performed based on runtime data. 18.6.2 Passing grouped functions as a context The natural next step would be to put all of those functions into some structure like Map or Keyword list. Whichever we would choose, we will end up with the same problems of naming keys(this time inside the map/keyword list), multiple functions because of different arity but also default values inside each clause of the execute_decision/2 function: # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state, %{} = context # <= context added ) do # vvv fetch from context vvv logger_info = Map.get(context, :logger_info, &Logger.info/1) order_limit_buy = Map.get(context, :order_limit_buy, &Binance.order_limit_buy/4) leader_notify = Map.get(context, :leader_notify, &Leader.notify/2) Again this looks like a bad idea. It’s probably marginally better than just sending functions one by one, but not much. 18.6.3 Passing grouped modules as a context The significant advantage of passing modules as arguments instead of functions is that we no longer have a problem with naming keys or caring about different functions’ arities. There will also be substantially fewer modules used in comparison to functions. Sadly we still need to use the Map function to get the modules out of \"context\": # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, %State{ id: id, symbol: symbol } = state, %{} = context # <= context added ) do logger = Map.get(context, :logger, &Logger) # <= fetch from context binance = Map.get(context, :binance, Binance) # <= fetch from context leader = Map.get(context, :leader, &Leader) # <= fetch from context This is much better, but we will still need to do a fair amount of additional work to get the modules out. Also, our code will be full of the “default” modules(as each of the clauses retrieving them from the context will need to specify defaults). 18.6.4 Injecting modules to module’s attributes based on the configuration And we finally got there - we have come a full circle. This is the approach that we previously used inside the Naive.Trader module(you can go ahead and add them to the Naive.Strategy module): # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do ... @binance_client Application.compile_env(:naive, :binance_client) @leader Application.compile_env(:naive, :leader) @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) We looked into different ways to inject dependencies to understand their downsides. Sometimes, injecting values(like modules) as module attributes can feel like a “global state”, “singleton”, or similar antipattern. We need to understand that each programming language provides different ways to solve common programming problems. Dependency injection is one of those common concerns that every language needs to solve, and Elixir solves it by using compile-time modules’ attributes. As long as you are using module attributes to be able to inject compile-time dependencies to test your code, there’s just no better way to do it in Elixir, and now we know why(based on the issues with the alternative approaches). Together with the module attributes, our code should be now fully functional. 18.7 The power with-in In the last section, we looked into different ways to inject modules’ dependencies to avoid side-effects causing functions inside the tests. Besides side-effect causing functions, in functional programming, error handling is also done in a specific manner. Many languages introduced concepts like Either, which is a struct that can be either Left(error result) or Right(success result). Those quite nicely fit to the standard Elixir results like {:error, reason} and {:ok, result}. Further, those languages provide multiple functions to work with the Either, like map. safeDivide(2, 0) # <= returns Left("Dividing error") |> then(Either.map(&(&1 * 2))) # <= still Left("Dividing error") safeDivide(2, 1) # <= returns Right(2) |> then(Either.map(&(&1 * 2))) # <= returns Right(4) The above code will use hypothetical Left('Dividing error') or Right(result). The Either.map/2 is a special map function that runs the passed function if it’s Right or completely ignores it when it’s Left - it could be visualized as: def map(%Either.Left{} = left, _fun), do: left def map(%Either.Right{result: v}, fun), do: %Either.Right{result: fun.(v)} This is nice and great, but what if the function inside the Either.map/2 returns another Either? Like: safeDivide(2, 1) # <= returns Right(2) |> then(Either.map(&(safeDivide(&1, 1)))) # <= now Right(Right(2))!? Now we need to understand those abstractions to be able to decide should we map or flatMap(that’s the function that will not wrap the function result into the Right): safeDivide(2, 1) # <= returns Right(2) |> then(Either.flatMap(&(safeDivide(&1, 1)))) <= still Right(2) And that is just the beginning of the complexities that those abstractions bring. Furthermore, let’s say that inside the first Either.map/2 callback, we will have some variable(s) that we would like to use later on. We are now deep inside closures world like the following: safeDivide(2, 1) # <= returns Right(2) |> then(Either.flatMap(fn res -> # x = some data generated here safeDivide(2, 1) |> then(Either.map(&(&1 * 2))) |> then(Either.map(&(&1 * x))) # <= a clause to have access to x end)) The above example is obviously simplified and silly but should give us a gist of what sort of complexity we will very soon get involved in. And, again, we just scratched the surface - there are so many more functions that the Either provides. Besides, writing code in this fashion in Elixir would cause a lot of friction in the team as it’s difficult to find any advantages of using it. 18.7.1 Idiomatic error handling To achieve the same results, Elixir provides the with statement: with {:ok, divide_result} <- safeDiv(2,1), {:ok, divide_result_2} <- safeDivide(2, 1) do divide_result_2 * 2 * divide_result else err -> err end The above code provides the same functionality as the one before with Either. We can clearly understand it without any knowledge about how Either works, mapping, flatMapping etc. It’s just standard Elixir. Again, as in the case of modules’ attributes. Elixir provides a pragmatic way of dealing with errors - just return a tuple with an :error atom. It also provides utility functions like with to deal with errors in an idiomatic way. There’s no reason to introduce concepts like Either as language has built-in concepts/patterns taking care of error situations. 18.8 Do or not to do In the last section, we discussed wrapping the results in the Either structs to be able to map, flatMap on them regardless of the function result. What if we could apply the same principle to avoid executing any code(side effects) at all? That’s the basic idea behind all the category theory related abstractions like the infamous IO Monad. I won’t go into a vast amount of details. Still, we can think about it as every time we are calling a special map or flatMap, instead of executing anything, it would just wrap whatever was passed to it inside another function and return it like: def map(acc, function) do fn -> case acc.() do {:ok, data} -> {:ok, function.(data)} {:error, error} -> {:error, error} end end end In a nutshell, what we would end up with is a function containing a function containing a function… At this moment, I find it very difficult to find any practical reason why somebody would want to do something like this in a dynamically typed language. In statically typed languages, there’s an argument that instead of a function of function etc., we could have a typed object which would indicate what actions can be performed on that future result. This is very often praised as a compile-time guarantee of side effectfull code. In the Elixir, without strong typing and with a massive impact on how the code is written and how easy it is to understand, there’s just no practical reason to use those concepts beyond toy programs. The resulting function would be an untestable blob without introspection support from the BEAM VM. 18.9 Final thoughts Every programming language needs to provide tools to handle common concerns like error handling or dependency injection. Elixir provides excellent tools to handle both of those concerns using the with statement and modules’ attributes. Without a type system, there’s no practical reason why anybody would introduce category theory-based abstractions like Monads. The resulting code will be complicated to deal with, and as in the case of many other functional programming languages like Ocaml or Clojure, the pragmatic way is to execute side effects. It’s the developers’ responsibility to design code in a way that maximizes the amount of pure code and push side effects to “the edge”. The typical pattern would be to “prepare” (group all logic before side effects) or to “post process” the results of multiple side effects (group pure logic after side effects). That’s all in regards to functional programming in Elixir. In the next chapter, we will look into what the idiomatic Elixir code looks like. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["idiomatic-otp.html", "Chapter 19 Idiomatic OTP 19.1 Objectives 19.2 The concept 19.3 Initial implementation 19.4 Idiomatic solution", " Chapter 19 Idiomatic OTP 19.1 Objectives the concept initial implementation idiomatic solution 19.2 The concept In this chapter, we will look into building an OHLC(open-high-low-close) indicator. We will discuss different potential implementations, which will give us an excellent example to understand the idiomatic usage of the OTP framework. The OHLC indicator consists of four prices that could be used to draw a candle on the chart: The OHLC indicators get created by collecting the first price (the “open” price), lowest price(the “low” price), highest price(the “high” price) and the last price(the “close” price) within a specific timeframe like 1 minute. Our code will need to be able to generate those for multiple timeframes at once - 1m, 5m, 15m, 1h, 4h and 24h. 19.3 Initial implementation What we could do is to have multiple GenServer processes subscribed to the trade events topic in the PubSub where each one would update their own OHLC numbers: Let’s start by creating a new application inside our umbrella called “indicators”(run below inside terminal): $ cd apps $ mix new indicator --sup We can now create a new directory called “ohlc” inside the “/apps/indicator/lib/indicator” directory, where we will create the GenServer “worker.ex” file: # /apps/indicator/lib/indicator/ohlc/worker.ex defmodule Indicator.Ohlc.Worker do use GenServer def start_link({symbol, duration}) do GenServer.start_link(__MODULE__, {symbol, duration}) end def init({symbol, duration}) do {:ok, {symbol, duration}} end end As each worker will need to subscribe to the PubSub’s \"TRADE_EVENTS:#{symbol}\" topic, we can update the init/1 function to do that: # /apps/indicator/lib/indicator/ohlc/worker.ex # add those at the top of the worker module require Logger @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) ... # updated `init/1` function def init({symbol, duration}) do symbol = String.upcase(symbol) @logger.info("Initializing a new OHLC worker(#{duration} minutes) for #{symbol}") @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, {symbol, duration}} end Following the pattern established by the Naive.Trader, we use the module’s attributes(with values based on the configuration) instead of hardcoded module names. Additionally, we’ve used the Core.PubSub and Phoenix.PubSub(indirectly) modules so we need to add them to the dependencies list of the indicator application: # /apps/indicator/mix.exs defp deps do [ {:core, in_umbrella: true}, # <= added {:phoenix_pubsub, "~> 2.0"} # <= added ... As we subscribed to the PubSub, we need to provide a callback that will handle the incoming trade events: # /apps/indicator/lib/indicator/ohlc/worker.ex # add this at the top alias Core.Struct.TradeEvent def handle_info(%TradeEvent{} = trade_event, ohlc) do {:noreply, Indicator.Ohlc.process(ohlc, trade_event)} end To avoid mixing our business logic with the GenServer boilerplate(as discussed in the last chapter), we will place it in a new module. First, we need to create a new file /apps/indicator/lib/indicator/ohlc.ex and the Indicator.Ohlc module inside it: # /apps/indicator/lib/indicator/ohlc.ex defmodule Indicator.Ohlc do end The Indicator.Ohlc module will define a struct that the Indicator.Ohlc.Worker will use as a state: # /apps/indicator/lib/indicator/ohlc.ex @enforce_keys [ :symbol, :start_time, :duration ] defstruct [ :symbol, :start_time, :duration, :open, :high, :low, :close ] Most of the above are self-descriptive, besides the start_time(a Unix timestamp) and the duration(the timeframe in minutes). We can now progress to the implementation of the process/2 function, but instead of focusing on it, we will start from the “deepest”/“bottom” function that it will rely on and work our way up. As we discussed in the last chapter, we will try to maximize the amount of pure code. We can imagine that the bottom function will be involved in merging of the trade event’s data with the current OHLC data. Two things can happen, either: trade event’s trade_time is within the current OHLC timeframe. Trade event’s price will get merged to the current OHLC trade event’s trade_time is outside the current OHLC timeframe. The current(now old) OHLC will be returned together with a new OHLC based on the trade event’s price Here’s the implementation: # /apps/indicator/lib/indicator/ohlc.ex def merge_price(%__MODULE__{} = ohlc, price, trade_time) do if within_current_timeframe(ohlc.start_time, ohlc.duration, trade_time) do {nil, %{ohlc | low: min(ohlc.low, price), high: max(ohlc.high, price), close: price}} else {ohlc, generate_ohlc(ohlc.symbol, ohlc.duration, price, trade_time)} end end together with the within_current_timeframe/3 and generate_ohlc/3 function: # /apps/indicator/lib/indicator/ohlc.ex def within_current_timeframe(start_time, duration, trade_time) do end_time = start_time + duration * 60 trade_time = div(trade_time, 1000) start_time <= trade_time && trade_time < end_time end def generate_ohlc(symbol, duration, price, trade_time) do start_time = div(div(div(trade_time, 1000), 60), duration) * duration * 60 %__MODULE__{ symbol: symbol, start_time: start_time, duration: duration, open: price, high: price, low: price, close: price } end Moving up the call chain, besides merging the trade event’s data into OHLC data, we need to deal with the initial state of the worker(the {symbol, duration} tuple). Let’s add a process/2 function with two clauses handling each of those cases: # /apps/indicator/lib/indicator/ohlc.ex # add the below line at the top of the module alias Core.Struct.TradeEvent def process(%__MODULE__{} = ohlc, %TradeEvent{} = trade_event) do {old_ohlc, new_ohlc} = merge_price(ohlc, trade_event.price, trade_event.trade_time) maybe_broadcast(old_ohlc) new_ohlc end def process({symbol, duration}, %TradeEvent{} = trade_event) do generate_ohlc(symbol, duration, trade_event.price, trade_event.trade_time) end The second clause takes care of the initial state of the OHLC worker(happens upon receiving the first trade event - once in the lifetime of the worker process). The first clause handles all the other trade events. This order of clauses could appear weird, but it makes a lot of sense as Elixir will try pattern match clauses from the top, and in our case, the first(top) clause will be used for almost all of the calls. 19.3.1 Maybe functions Let’s get back to the first clause of the process/2 function as it uses another Elixir/Erlang pattern that we didn’t discuss before - the maybe_do_x functions. In case of the incoming trade event’s trade_time outside of the current OHLC’s timeframe, we would like to broadcast the current OHLC and return a new OHLC(based on the trade event’s data). Otherwise(trade event’s trade_time within the current OHLC), the trade event’s price is merged into the current OHLC, and it’s not broadcasted. This sounds very similar to the if-else, but it’s most of the time achieved using the pattern matching: # /apps/indicator/lib/indicator/ohlc.ex # add below lines at the top of the module require Logger @pubsub_client Application.compile_env(:core, :pubsub_client) defp maybe_broadcast(nil), do: :ok defp maybe_broadcast(%__MODULE__{} = ohlc) do Logger.debug("Broadcasting OHLC: #{inspect(ohlc)}") @pubsub_client.broadcast( Core.PubSub, "OHLC:#{ohlc.symbol}", ohlc ) end By using a separate function, we avoided branching using if-else inside the process/2 function. The idea is not necessarily to avoid if statements but to keep the code at the consistent level of abstraction, so it’s easier to understand. Inside the process/2 function, we can understand what’s going on just by reading the function names inside - there’s no “logic”. Sometimes people advise that “code should be like well written prose” and maybe_do_x functions are one of the ways to achieve this “nirvana” state. 19.3.2 Testing At this moment, our code should compile, and we should already be able to test it. First, let’s change the logging level to debug inside config/config.exs to see what OHLC structs got broadcasted: # /config/config.exs config :logger, level: :debug # <= updated We can now progress with testing: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.Ohlc.Worker.start_link({"XRPUSDT", 1}) {:ok, #PID<0.447.0>} ... 22:45:00.335 [debug] Broadcasting OHLC: %Indicator.Ohlc{close: "0.63880000", duration: 1, high: "0.63890000", low: "0.63840000", open: "0.63860000", start_time: 1644014640, symbol: "XRPUSDT"} The above test confirms that we can manually start a single OHLC worker that will aggregate data over a single minute timeframe. 19.3.3 Supervision To supervise multiple Indicators.Workers we will use the DynamicSupervisor. We need to update the Indicators application’s supervision tree to start a dynamic supervisor: # /apps/indicator/lib/indicator/application.ex children = [ {DynamicSupervisor, strategy: :one_for_one, name: Indicator.DynamicSupervisor} ] We can now add aggregate_ohlcs/1 function that will start all workers: # /apps/indicator/lib/indicator.ex def aggregate_ohlcs(symbol) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.each( &DynamicSupervisor.start_child( Indicator.DynamicSupervisor, {Indicator.Ohlc.Worker, {symbol, &1}} ) ) end We can now start multiple OHLC workers just by running a single function: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.aggregate_ohlcs("XRPUSDT") {:ok, #PID<0.447.0>} The above calls will start six OHLC worker processes supervised under the Indicator.DynamicSupervisor process. We could continue with this exercise, add a Registry to be able to stop the indicators and a database to be able to autostart them. Those improvements would get the “indicators” application in line with the other applications, but that’s not the goal of this chapter. 19.4 Idiomatic solution What we will focus on is the usage of processes(in our case the GenServers) in our solution. We’ve split our logic between multiple processes, each aggregating a single timeframe. All of those processes work in the same way. They subscribe to the PubSub topic, merge the incoming data into OHLC structs, and potentially broadcast them. The only difference is the timeframe that they use for merging data. The solution feels very clean, but also we are using multiple processes to aggregate data for each symbol. In a situation like this, we should always ask ourselves: do we need that many processes? are we using them to achieve parallelism? Is it required? could we reorganize our code to use fewer processes? The main idea is to keep our code as simple as possible and only use processes when it’s absolutely required. Instead of a single worker being responsible for aggregation within a single timeframe, we could restructure our code to make it responsible for all timeframes of the symbol. This improvement would: make our merging code a little bit complex(it would merge multiple timeframes at once) decrease the amount of PubSub subscribers by six (instead of six processes per symbol, we would have just one) potentially decrease the amount of broadcasted messages (we could group OHLC structs into a single message) allow a single worker single worker to decide what to do with all current OHLCs in case of errors, without need for any additional symbol supervision level(like one_for_all) make it impossible to aggregate nor broadcast OHLCS of the same symbol in parallel We can see that the solution based on processes could get really complex really quickly(multiple processes per symbol, growing supervision tree, multiple subscriptions, multiple messages etc). Just to be clear - processes do have their place, they are a really powerful tool, but as with every tool, the responsibility lies on us developers to use them wisely - they must not be used for code organization. Enough theory - let’s look into how we could update our Indicator.Ohlc module to be able to deal with multiple timeframes at once. Initially, we could be tempted to update the process/2 function: # /apps/indicator/lib/indicator.ex def process([_ | _] = ohlcs, %TradeEvent{} = trade_event) do results = ohlcs |> Enum.map(&merge_price(&1, trade_event.price, trade_event.trade_time)) results |> Enum.map(&maybe_broadcast(elem(&1, 0))) results |> Enum.map(&elem(&1, 1)) end def process(symbol, %TradeEvent{} = trade_event) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.map( &generate_ohlc( symbol, &1, trade_event.price, trade_event.trade_time ) ) end We added some logic to both clauses. At this moment, it maybe doesn’t look that bad, but it’s a great place to mix even more logic with dirty code. This is a great example where we should stop and rethink how we could maximize the amount of pure code. Instead of expanding the process/2 function, we could built on top of the merge_price/3 and generate_ohlc/4 functions, which deal with a single OHLC data. We could add plural versions of those functions that will understand that we now deal with multiple OHLC structs: # /apps/indicator/lib/indicator.ex def merge_prices(ohlcs, price, trade_time) do results = ohlcs |> Enum.map(&merge_price(&1, price, trade_time)) { results |> Enum.map(&elem(&1, 0)) |> Enum.filter(& &1), results |> Enum.map(&elem(&1, 1)) } end def generate_ohlcs(symbol, price, trade_time) do [1, 5, 15, 60, 4 * 60, 24 * 60] |> Enum.map( &generate_ohlc( symbol, &1, price, trade_time ) ) end Now the process/2 function got back to its almost original shape: def process([_ | _] = ohlcs, %TradeEvent{} = trade_event) do {old_ohlcs, new_ohlcs} = merge_prices(ohlcs, trade_event.price, trade_event.trade_time) old_ohlcs |> Enum.each(&maybe_broadcast/1) new_ohlcs end def process(symbol, %TradeEvent{} = trade_event) do generate_ohlcs(symbol, trade_event.price, trade_event.trade_time) end By introducing the merge_prices/3 and generate_ohlcs/3 functions, we were able to keep the dirty part of our code small(it grew only to accommodate multiple broadcasts). The new functions are pure and can be easily tested. As we modified the interface of the process/2 function (by removing the duration), we need to update the Indicator.Ohlc.Worker module to be blissfully not aware that we have different durations: # /apps/indicator/lib/indicator/ohlc/worker.ex def start_link(symbol) do # <= duration removed GenServer.start_link(__MODULE__, symbol) # <= duration removed end def init(symbol) do # <= duration removed symbol = String.upcase(symbol) @logger.debug("Initializing new a OHLC worker for #{symbol}") # <= duration skipped ... {:ok, symbol} # <= duration removed end The final update will be to simplify the Indicator.aggregate_ohlcs/1 function just to start a single OHLC worker: # /apps/indicator/lib/indicator.ex def aggregate_ohlcs(symbol) do DynamicSupervisor.start_child( Indicator.DynamicSupervisor, {Indicator.Ohlc.Worker, symbol} ) end We can now test our implementation by running the following once again: $ iex -S mix iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Indicator.Ohlc.Worker.start_link("XRPUSDT") ... 23:23:00.416 [info] Broadcasting OHLC: %Indicator.Ohlc{close: "0.68230000", duration: 1, high: "0.68330000", low: "0.68130000", open: "0.68160000", start_time: 1644189720, symbol: "XRPUSDT"} The logged message(s) confirms that our OHLC aggregator logic works as expected using a single process. In the case of the OHLC aggregator, we’ve seen that there are some trade-off between running multiple processes(simpler code) vs single process(more complex merging) - it could be unclear what’s the benefit of limiting the usage of processes(especially that they are “almost free”). I totally understand. Please treat this chapter as an introduction to the idiomatic Elixir. In the next chapter, we will apply this concept when refactoring the Naive trading strategy to see its practical benefits. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["idiomatic-trading-strategy.html", "Chapter 20 Idiomatic trading strategy 20.1 Objectives 20.2 Following the OHLC footsteps 20.3 Simplifying the Naive supervision tree 20.4 Supporting multiple positions 20.5 Retrofitting the “shutdown” functionality 20.6 Updating the Strategy to handle rebuys 20.7 Fetching active positions 20.8 Tidying up 20.9 Final thoughts", " Chapter 20 Idiomatic trading strategy 20.1 Objectives Following the OHLC footsteps Simplifying the Naive supervision tree Supporting multiple positions Retrofitting the “shutdown” functionality Updating the Strategy to handle rebuys Fetching active positions Tidying up 20.2 Following the OHLC footsteps In the last chapter, we looked into the idiomatic Elixir. We refactored our initial implementation of OHLC aggregation to maximise the amount of pure code by limiting the number of processes running per symbol. It was a nice standalone functionality to showcase the concept. In this chapter, we will look into how could we refactor our naive strategy’s code to achieve the same result. At this moment, the naive strategy uses multiple processes per symbol, including Trader processes, dedicated Leader and SymbolSupervisor. We will update the Trader process to be responsible for multiple trades(we will call them “positions” from now on) on a single symbol. This way, we will have a single Trader process per symbol as well, as we will get rid of both the Leader(we will move rebuy/shutdown logic to our strategy - where it belongs) and the SymbolSupervisor: There are multiple benefits of simplifying the supervision hierarchy, and we will look at them closely as we refactor the code - let’s get to it. 20.3 Simplifying the Naive supervision tree Starting from the top of the tree, the first module we need to update will be the Naive.DynamicSymbolSupervisor module. 20.3.1 The Naive.DynamicTraderSupervisor module The filename needs to be updated to dynamic_trader_supervisor.ex and the module name to Naive.DynamicTraderSupervisor. Next, there’s the @registry attribute that we will rename to :naive_traders. Finally, update the alias to the Naive.SymbolSupervisor to the Naive.Trader and use it inside the start_child/1 function: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex alias Naive.Trader ... defp start_child(args) do DynamicSupervisor.start_child( __MODULE__, {Trader, args} ) end 20.3.2 The Naive module The Naive module heavily depends on the Naive.DynamicSymbolSupervisor(now called the Naive.DynamicTraderSupervisor), we need to update all the references to it: # /apps/naive/lib/naive.ex alias Naive.DynamicTraderSupervisor ... |> DynamicTraderSupervisor.start_worker() ... |> DynamicTraderSupervisor.stop_worker() ... |> DynamicTraderSupervisor.shutdown_worker() 20.3.3 The Naive.Supervisor module The Naive.Supervisor supervises the Naive.DynamicSymbolSupervisor(now called the Naive.DynamicTraderSupervisor) and the registry that stores the traders’ PIDs - we need to update both: # /apps/naive/lib/naive/supervisor.ex alias Naive.DynamicTraderSupervisor # <= updated @registry :naive_traders # <= updated ... children = [ {Registry, [keys: :unique, name: @registry]}, {DynamicTradersSupervisor, []}, # <= updated {Task, fn -> DynamicTradersSupervisor.autostart_workers() # <= updated end} ] 20.3.4 The Naive.Trader module The final module to be updated will be the Naive.Trader. It needs to register process’ PID inside the Registry: # /apps/naive/lib/naive/trader.ex @registry :naive_traders # <= added ... def start_link(%State{} = state) do symbol = String.upcase(state.symbol) # <= updated GenServer.start_link( __MODULE__, state, name: via_tuple(symbol) # <= updated ) end ... defp via_tuple(symbol) do {:via, Registry, {@registry, symbol}} end That finishes the changes to the supervision tree - the Naive.Leader and the Naive.SymbolSupervisor aren’t used anymore. At this moment, our codebase won’t work as we need to retrofit the functionality that the Naive.Leader was offering into our Naive.Trader and Naive.Strategy modules, which we will focus on in the next section. 20.4 Supporting multiple positions The current State struct inside the Naive.Trader was geared toward a single trade cycle. As we now need to handle multiple positions inside a single Trader process, we will need to update this struct. We will start by moving the current State struct from the Naive.Trader into the Naive.Strategy and renaming it to Position: # /apps/naive/lib/naive/strategy.ex defmodule Naive.Strategy do ... defmodule Position do @enforce_keys [ # keys copied from `Naive.Trader.State` struct ] defstruct [ # keys copied from `Naive.Trader.State` struct ] end This will break all the references to Naive.Trader.State inside the Naive.Strategy, which we need to update to Position(and remove the alias of Naive.Trader.State): # /apps/naive/lib/naive/strategy.ex ... def execute(%TradeEvent{} = trade_event, %Position{} = position do generate_decision(trade_event, position) |> execute_decision(position) end ... def generate_decision( %TradeEvent{ ... }, %Position{ # <= in all 8 clauses ... defp execute_decision( {.... # decision }, %Position{ # <= updated ... } = position # <= updated ) do ... new_position = %{position | buy_order: order} # <= updated @leader.notify(:trader_state_updated, new_position) # <= updated {:ok, new_position} # <^= similar changes in all execute_decision We will ignore the fact that we are still calling the @leader and still dealing with a single position(inside the strategy) - we will fix that in the following section. One step at a time ;) As we are already changing strategy to work with positions, we will update all the logger messages: # /apps/naive/lib/naive/strategy.ex defp execute_decision( {:place_buy_order, price, quantity}, ... ) do ) do @logger.info( "Position (#{symbol}/#{id}): " <> "Placing a BUY order @ #{price}, quantity: #{quantity}" ) # ^ updated message ... defp execute_decision( {:place_sell_order, sell_price}, ... ) do @logger.info( "Position (#{symbol}/#{id}): The BUY order is now filled. " <> "Placing a SELL order @ #{sell_price}, quantity: #{quantity}" ) # ^ updated message ... defp execute_decision( :fetch_buy_order, ... ) do @logger.info("Position (#{symbol}/#{id}): The BUY order is now partially filled") ... # ^^^ updated message defp execute_decision( :exit, ... ) do @logger.info("Position (#{symbol}/#{id}): Trade cycle finished") ... # ^^^ updated message defp execute_decision( :fetch_sell_order, ... ) do @logger.info("Position (#{symbol}/#{id}): The SELL order is now partially filled") ... # ^^^ updated message defp execute_decision( :rebuy, ... ) do @logger.info("Position (#{symbol}/#{id}): Rebuy triggered") ... # ^^^ updated message Our code is still far from working, but we are incrementally updating it to work with multiple positions. 20.4.1 Initialization At this moment, the Naive.Trader expects the state to be injected on start (using the start_link/1 function). We were able to do that because the Naive.Leader was fetching the settings and building the fresh trader state. First, let’s update the State of the Naive.Trader - it will now hold the symbol’s settings(previously held in the leader) and list of positions(list of the Naive.Strategy.Position structs): # /apps/naive/lib/naive/trader.ex defmodule State do @enforce_keys [:settings, :positions] defstruct [:settings, positions: []] end Now we need to update the start_link/1 and init/1 functions as well as add the handle_continue/2 callback to fetch settings and store them together with an initial position in the state: # /apps/naive/lib/naive/trader.ex alias Naive.Strategy ... def start_link(symbol) do # <= now expecting symbol symbol = String.upcase(symbol) # <= updated GenServer.start_link( __MODULE__, symbol, # <= updated name: via_tuple(symbol) ) ... def init(symbol) do # <= updated @logger.info("Initializing new trader for #{symbol}") # <= updated @pubsub_client.subscribe( Core.PubSub, "TRADE_EVENTS:#{symbol}" ) {:ok, nil, {:continue, {:start_position, symbol}}} # <= updated end def handle_continue({:start_position, symbol}, _state) do settings = Strategy.fetch_symbol_settings(symbol) positions = [Strategy.generate_fresh_position(settings)] {:noreply, %State{settings: settings, positions: positions}} end # ^^^ new function/callback As the Naive.Trader starts, it returns the {:continue, ...} tuple from the init/1 function. This will cause the handle_continue/2 callback to be called asynchronously. Inside it, we fetch settings and add a single fresh position to the list of positions - both stored in Trader’s state. Both functions inside the handle_continue/2 callback previously were part of the Naive.Leader - we need to move them across to the Naive.Strategy: # /apps/naive/lib/naive/strategy.ex alias Naive.Schema.Settings ... @repo Application.compile_env(:naive, :repo) ... def fetch_symbol_settings(symbol) do exchange_info = @binance_client.get_exchange_info() db_settings = @repo.get_by!(Settings, symbol: symbol) merge_filters_into_settings(exchange_info, db_settings, symbol) end def merge_filters_into_settings(exchange_info, db_settings, symbol) do symbol_filters = exchange_info |> elem(1) |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") Map.merge( %{ tick_size: tick_size, step_size: step_size }, db_settings |> Map.from_struct() ) end def generate_fresh_position(settings, id \\\\ :os.system_time(:millisecond)) do %{ struct(Position, settings) | id: id, budget: D.div(settings.budget, settings.chunks), rebuy_notified: false } end Inside the above code, we modified the fetch_symbol_settings/1 function to fetch settings from binance and DB first and then progress with the “pure” part. This update allows us to test most of the logic easily without using mocks. The generate_fresh_position/2 was previously called fresh_trader_state/1 inside the Naive.Leader. It had an id assigned inside the function based on the current system time. That made it a bit more difficult to test as we don’t know what should we expect there as a value. By moving the id to the arguments and assigning the current time there, we are now able to test it by passing our dummy value. We are now using @repo inside the Naive.Strategy so we need to add it to configuration files(including test configuration): # /config/config.exs config :naive, ... repo: Naive.Repo, # /config/test.exs config :naive, ... repo: Test.Naive.RepoMock, 20.4.2 Parallelising the strategy We can now move on to the strategy, but first, let’s update the Naive.Trader to pass positions and settings separately: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do case Naive.Strategy.execute(trade_event, state.positions, state.settings) do # <= updated {:ok, updated_positions} -> # <= updated {:noreply, %{state | positions: updated_positions}} # <= updated :exit -> {:stop, :normal, state} end We need all the positions to iterate through them, deciding and executing appropriate actions. The settings will be used inside the strategy later, but we will pass it on now to avoid going back and forward later. Additionally, we updated the case match to expect a list of updated positions which we will assign to the Trader’s state. Now we can modify the Naive.Strategy to handle multiple positions: # /apps/naive/lib/naive/strategy.ex def execute(%TradeEvent{} = trade_event, positions, settings) do generate_decisions(positions, [], trade_event, settings) |> Enum.map(fn {decision, position} -> Task.async(fn -> execute_decision(decision, position, settings) end) end) |> Task.await_many() |> then(&parse_results/1) end We need to write most of the functions used above, but we can already see the idea. We will map each of the decisions that we generate to async tasks that execute them. Next, we wait for all of them to finish and parse the results. First, we are calling a new function generate_decisions/4, which is a recursive function on top of the existing generate_decision/2: # /apps/naive/lib/naive/strategy.ex def generate_decisions([], generated_results, _trade_event, _settings) do generated_results end def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do current_positions = positions ++ (generated_results |> Enum.map(&elem(&1, 0))) case generate_decision(trade_event, position, current_positions, settings) do decision -> generate_decisions( rest, [{decision, position} | generated_results], trade_event, settings ) end end At this moment, the generate_decisions/4 can look like overengineered Enum.map/2 function, but we are actually preparing the ground for the consequent updates later in this chapter(to get the rest of the functionality running). It’s important to note that we are now passing four arguments into the generate_decision function - we added current_positions and settings - those will be required in the further updates as it was mentioned above. At this moment though, we will update all the generate_decision/2 clauses to include two additional arguments: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{...}, %Position{ ... }, _positions, # <= add this 8 times _settings # <= add this 8 times ) do Now back to the main execute/3 function where we are calling execute_decision/3, which we need to update as well(all clauses): # /apps/naive/lib/naive/strategy.ex defp execute_decision( {...}, %Position{ ... } = position, _settings # <= added 7 times ) do The final function that gets called from the execute/3 function is parse_results/1, which will aggregate all the results into a single tuple: # /apps/naive/lib/naive/strategy.ex def parse_results([_ | _] = results) do results |> Enum.map(fn {:ok, new_position} -> new_position end) |> then(&{:ok, &1}) end At this moment, we should be able to run our code: $ iex -S mix ... iex(1)> Naive.start_trading("XRPUSDT") ... iex(2)> Streamer.start_streaming("XRPUSDT") 21:29:17.998 [info] Starting streaming XRPUSDT trade events ... 21:29:21.037 [info] Position (XRPUSDT/1651696014179): Placing a BUY order @ 0.64010000, quantity: 31.00000000 21:29:21.037 [error] Task #PID<0.10293.0> started from #PID<0.480.0> terminating ** (stop) exited in: GenServer.call(:"Elixir.Naive.Leader-XRPUSDT"... So we have a trader that start and places a buy order but then it tries to update the leader with it’s new state - we can update the execute_decision/3 function to drop the updates(in all of the clauses): # /apps/naive/lib/naive/strategy.ex defp execute_decision( ... ) do ... # convert the below: new_position = %{position | buy_order: order} @leader.notify(:trader_state_updated, new_position) {:ok, new_position} # to: {:ok, %{position | buy_order: order}} end Apply similar changes to all the clauses of the execute_decision/3 to get rid of the references to the @leader - remember to remove the module’s attribute as well, as we won’t need it anymore. Important note - one of those references to the @leader will be the notification that rebuy was triggered: # /apps/naive/lib/naive/strategy.ex @leader.notify(:rebuy_triggered, new_position) At this moment, remove that reference as well. We will get back to the rebuy functionality in the next section. We can now rerun our code: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 21:59:19.836 [info] Position (ETHUSDT/1651697959836): Placing a BUY order @ 2945.31000000, quantity: 0.06790000 21:59:46.997 [info] Position (ETHUSDT/1651697959836): The BUY order is now partially filled 21:59:46.997 [info] Position (ETHUSDT/1651697959836): The BUY order is now filled. Placing a SELL order @ 2947.66000000, quantity: 0.06790000 22:00:21.631 [info] Position (ETHUSDT/1651697959836): The SELL order is now partially filled 22:00:21.734 [info] Position (ETHUSDT/1651697959836): Trade cycle finished 22:00:21.737 [error] GenServer {:naive_traders, "ETHUSDT"} terminating ** (FunctionClauseError) no function clause matching in anonymous fn/1 in Naive.Strategy.parse_results/1 (naive 0.1.0) lib/naive/strategy.ex:56: anonymous fn(:exit) in Naive.Strategy.parse_results/1 We can see that our trader process can now go through the whole trade cycle, but it fails to start a new position after the first trade cycle finishes and returns :exit. To fix this issue, we need to return :finished instead of :exit from the generate_decision/3 clause responsible for matching end of the trade cycle: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{}, %Position{ sell_order: %Binance.OrderResponse{ status: "FILLED" } }, _positions, _settings ) do :finished # <= updated end This decision will end up inside the execute_decision/3 where previously we were returning :exit atom, which was causing an error - let’s move this clause to be the last clause and update its body to generate a fresh state instead of returning a dummy atom: # /apps/naive/lib/naive/strategy.ex defp execute_decision( :finished, # <= previously :exit; updated %Position{ id: id, symbol: symbol }, settings # <= now used ) do new_position = generate_fresh_position(settings) # <= added @logger.info("Position (#{symbol}/#{id}): Trade cycle finished") {:ok, new_position} # <= updated end At this moment, our trader process should be able to run across multiple trade cycles one after another: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 22:46:46.568 [info] Position (ETHUSDT/1651697959836): Trade cycle finished 22:46:46.577 [info] Position (ETHUSDT/1651697959836): Placing a BUY order @ 2945.31000000, quantity: 0.06790000 This finishes direct changes related to making the trader/strategy work with multiple positions, but it lacks all the features that the Naive.Leader offered. We will now iterate on this code to bring that missing functionality. 20.5 Retrofitting the “shutdown” functionality Previously, the shutdown logic was scattered around in multiple places inside the Naive.Leader, for example, when the rebuy was triggered - making sure that new Trader processes won’t get started in the “shutdown” state. Now, we have an opportunity to make the shutdown functionality part of our strategy. We will start by modifying the DynamicTraderSupervisor where we will update the shutdown_worker/1 function to call the Naive.Trader instead of the Naive.Leader: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex def shutdown_worker(symbol) when is_binary(symbol) do Logger.info("Shutdown of trading on #{symbol} initialized") {:ok, settings} = update_status(symbol, "shutdown") Trader.notify(:settings_updated, settings) # <= updated {:ok, settings} end Now, the Trader will handle updating the settings, which we will add next, but before we do that, we should move the update_status/2 function into the Naive.Strategy as it will be used from both the DynamicTraderSupervisor and the Naive.Strategy: # /apps/naive/lib/naive/strategy.ex def update_status(symbol, status) # <= updated to public when is_binary(symbol) and is_binary(status) do @repo.get_by(Settings, symbol: symbol) # <= updated to use @repo |> Ecto.Changeset.change(%{status: status}) |> @repo.update() # <= updated to use @repo end Now we need to update the DynamicTraderSupervisor module to call the update_status/2 from the Naive.Strategy module: # /apps/naive/lib/naive/dynamic_trader_supervisor.ex alias Naive.Strategy ... def start_worker(symbol) do ... Strategy.update_status(symbol, "on") # <= updated .. def stop_worker(symbol) do ... Strategy.update_status(symbol, "off") # <= updated ... def shutdown_worker(symbol) when is_binary(symbol) do ... {:ok, settings} = Strategy.update_status(symbol, "shutdown") # <= updated 20.5.1 Handling updated settings We can now move on to the Naive.Trader module, where we need to add a new notify/2 interface function: # /apps/naive/lib/naive/trader.ex def notify(:settings_updated, settings) do call_trader(settings.symbol, {:update_settings, settings}) end ... defp call_trader(symbol, data) do case Registry.lookup(@registry, symbol) do [{pid, _}] -> GenServer.call( pid, data ) _ -> Logger.warning("Unable to locate trader process assigned to #{symbol}") {:error, :unable_to_locate_trader} end end The notify/2 function acts as a part of the public interface of the Naive.Trader module. It uses the call_trader/2 helper function to abstract away looking up the Trader process from the Registry and making a GenServer.call. Besides the “looking up” part being an implementation detail that should be abstracted, we will also need to look up traders’ PIDs to provide other functionalities in the upcoming sections. As we are making a call to the trader process, we need to add a callback: # /apps/naive/lib/naive/trader.ex def handle_call( {:update_settings, new_settings}, _, state ) do {:reply, :ok, %{state | settings: new_settings}} end 20.5.2 Updating the Naive.Strategy to honour the “shutdown” state We updated all of the modules to update the settings inside the %State{} of the Trader process. That’s the first step, but now we need to modify our strategy to act appropriately. The first step will be to update the generate_decision/4 clause that handles the rebuy being triggered to take under consideration the settings.status: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{ price: current_price }, %Position{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false }, _positions, settings # <= updated ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) && settings.status != "shutdown" do # <= updated :rebuy else :skip end end Another clause that we need to update is the one responsible for matching end of the trading cycle: # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{}, %Position{ sell_order: %Binance.OrderResponse{ status: "FILLED" } }, _positions, settings # <= updated ) do if settings.status != "shutdown" do # <= updated :finished else :exit # <= new decision end end As we added a new :exit decision that we need to handle inside the generate_decisions/4 - it needs to remove this decision from the list of generated decisions: # /apps/naive/lib/naive/strategy.ex def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do ... case generate_decision(trade_event, position, current_positions, settings) do :exit -> generate_decisions(rest, generated_results, trade_event, settings) decision -> ... ... Inside the recursive function, we are skipping all the positions that ended up with the :exit decisions. This will slowly cause the list of positions to drain to an empty list, which will cause the parse_results/1 function to fail(as it expects non-empty list). We will add a new first clause to match the empty list of positions and return the :exit atom: # /apps/naive/lib/naive/strategy.ex def parse_results([]) do # <= added clause :exit end def parse_results([_ | _] = results) do ... end In the end, the :exit atom will cause the Naive.Trader module to stop the process. The final step will be to update the Naive.Trader to log a message and update the status to \"off\" before exiting the process: # /apps/naive/lib/naive/trader.ex def handle_info(%TradeEvent{} = trade_event, %State{} = state) do ... case Naive.Strategy.execute(trade_event, state.positions, state.settings) do ... :exit -> {:ok, _settings} = Strategy.update_status(trade_event.symbol, "off") Logger.info("Trading for #{trade_event.symbol} stopped") {:stop, :normal, state} We can test this by running the following: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(4)> Naive.start_trading("ETHUSDT") ... iex(4)> Naive.shutdown_trading("ETHUSDT") 22:35:58.929 [info] Shutdown of trading on ETHUSDT initialized 23:05:40.068 [info] Position (ETHUSDT/1651788334058): The SELL order is now partially filled 23:05:40.123 [info] Trading for ETHUSDT stopped That finishes the shutdown functionality. As mentioned previously, one after another, positions will complete their trading cycles, and the whole process will exit at the end. 20.6 Updating the Strategy to handle rebuys Previously, both the Trader and the Leader were involved in the rebuy functionality. As now we removed the Leader, it’s an excellent opportunity to move as much as possible of that logic into our strategy. We will start by updating the generate_decision/4 clause responsible for matching the rebuy scenario. We will take into consideration the number of currently open positions(this check was previously done inside the Naive.Leader): # /apps/naive/lib/naive/strategy.ex def generate_decision( %TradeEvent{ price: current_price }, %Position{ buy_order: %Binance.OrderResponse{ price: buy_price }, rebuy_interval: rebuy_interval, rebuy_notified: false }, positions, # <= updated settings ) do if trigger_rebuy?(buy_price, current_price, rebuy_interval) && settings.status != "shutdown" && length(positions) < settings.chunks do # <= added :rebuy else :skip end end Now we need to deal with the :rebuy decision(previously, we removed the logic notifying the Naive.Leader about the rebuy being triggered). In case of rebuy decision we need to add a new position to the positions list which can be done by modifying the generate_decisions/4 function: # /apps/naive/lib/naive/strategy.ex def generate_decisions([position | rest] = positions, generated_results, trade_event, settings) do ... case generate_decision(trade_event, position, current_positions, settings) do :exit -> ... :rebuy -> generate_decisions( rest, [{:skip, %{position | rebuy_notified: true}}, {:rebuy, position}] ++ generated_results, trade_event, settings ) # ^^^^^ added decision -> ... In the case of the :rebuy decision, we are updating the rebuy_notified of the position that triggered it, as well as adding another position to the list with the :rebuy decision(it’s the same position that triggered rebuy but we will ignore it further down the line). The final step will be to update the execute_decision/3 clause that matches the :rebuy decision to generate_fresh_position/1, log and return that newly created position: # /apps/naive/lib/naive/strategy.ex defp execute_decision( :rebuy, %Position{ id: id, symbol: symbol }, # <= position removed settings # <= updated ) do new_position = generate_fresh_position(settings) # <= updated @logger.info("Position (#{symbol}/#{id}): Rebuy triggered. Starting new position") # <= updated {:ok, new_position} # <= updated end We updated the whole function body as now it deals with initialising a new position instead of just flipping the rebuy_triggered flag inside the original position. We can now run the strategy to confirm that rebuy starts new positions: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 18:00:29.872 [info] Position (ETHUSDT/1651856406828): Rebuy triggered. Starting new position 18:00:29.880 [info] Position (ETHUSDT/1651856429871): Placing a BUY order @ 13.39510000, quantity: 14.93000000 The above shows that a single buy position can trigger rebuy, starting a new position immediately placing another buy order. At this moment the integration tests should already be passing, but first, we need to fix the Naive.TraderTest a bit to make the test code compile: # /apps/naive/test/naive/trader_test.exs defp dummy_trader_state() do %Naive.Strategy.Position{ # <= updated That’s just the bare minimum as this test won’t run, but Elixir would not be able to find the :id attribute inside the State struct at the compilation time. We can now run the integration tests: $ MIX_ENV=integration mix test.integration ... Finished in 7.2 seconds (0.00s async, 7.2s sync) 2 tests, 0 failures, 1 excluded Yay! We reached the point where our strategy took over all the functionality that the Naive.Leader provided. 20.7 Fetching active positions Previously, we were able to figure out the number of currently open positions by looking at the supervision tree, but now there’s just a single trader process with possibly multiple open positions. To aid observability of the state of our trading on the symbols, we will add an interface that can be used to fetch the currently open positions of the trader process. We will start with the interface itself. It will take a symbol to be able to find the trader responsible for it: # /apps/naive/lib/naive.ex alias Naive.Trader ... def get_positions(symbol) do symbol |> String.upcase() |> Trader.get_positions() end Now the trader’s interface function will forward the symbol to the GenServer.call/2 to the actual process Naive.Trader process responsible for trading on that symbol: # /apps/naive/lib/naive/trader.ex def get_positions(symbol) do call_trader(symbol, {:get_positions, symbol}) end As we need to look up the PID of the trader process in the Registry, we can use the same call_trader/2 helper as in the case of the notify/2 function. The message will get sent to the Trader process, where we need to add a callback that will return all the current positions: # /apps/naive/lib/naive/trader.ex def handle_call( {:get_positions, _symbol}, _, state ) do {:reply, state.positions, state} end We can now test fetching currently open positions by running: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... iex(3)> Naive.get_positions("ETHUSDT") [ %Naive.Strategy.Position{ ... }, %Naive.Strategy.Position{ ... }, ... ] We can see that we now have a better overview of what’s happening. Previously we needed to go to the database as the state was shared between multiple Trader processes. Now everything is in one place, which we could leverage to load the initial state for some frontend dashboards(subsequent positions’ updates could be done by listening to the PubSub topic and pushing diffs to the browser via WebSocket). 20.8 Tidying up Let’s tidy up the codebase start with removing the /apps/naive/lib/naive/leader.ex and /apps/naive/lib/naive/symbol_supervisor.ex as we don’t need them anymore. This will cause problems with our mocks that we need to update in the test helper: # /apps/naive/test/test_helper.exs Mox.defmock(Test.Naive.LeaderMock, for: Naive.Leader) # <= remove Our integration test will now run again and pass. Sadly that won’t be the case for our unit tests. We will revisit the mocking and unit tests in the next chapter, where we will once again look into how we should structure our code to be more testable and “mockable”. 20.9 Final thoughts In this chapter, we gathered parts of our strategy that were spread across multiple processes and put them into the Naive.Strategy module. Furthermore, we made efforts to separate parts of the strategy that are pure from side-effectfull code, which we pushed to the edge. It should be visible that this way, we can cover the vast amount of logic with simple and easy to understand tests that don’t require mocking or setup. In the next chapter, we will look into how we could improve the testing of the parts “pushed to the edge”(side effects). [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["layers-of-abstraction.html", "Chapter 21 Layers of abstraction 21.1 Objectives 21.2 Admitting the simplification 21.3 Abstracting the exchange 21.4 Mimicking the reality 21.5 Swapping back to attributes", " Chapter 21 Layers of abstraction 21.1 Objectives admitting the simplification abstracting the exchange mimicking the reality swapping back to attributes 21.2 Admitting the simplification There comes a time when I need to admit to something that I’ve learned on the way as I was writing this book and was misused throughout. When we were using the Mox package, we were disappointed that most packages don’t provide behaviours we could use in our tests(to mock the actual implementations). To fix that, we were creating behaviours for 3rd party packages we are using, like Binance or even Ecto.Repo. This approach felt weird, and it should, as I believe that was not the intended usage of the Mox package. Instead, we should introduce an additional layer(of abstraction) on top of the 3rd party modules we are using. A typical example could be abstracting dealing with an exchange to an behaviour and providing different implementations(for example, one could be wrapping the Binance module): In the example above, we will introduce a new behaviour module called Core.Exchange that would define the standard way to interact with any exchange. As this will be a generic exchange behaviour, it needs to accept and return generic structs(we will need to define those as well). We will also create a new Core.Exchange.Binance module(wrapping up the Binance module) and update the BinanceMock module. Both will implement the Core.Exchange behaviour. In this chapter, we will look into the intended way/scenario for using the Mox package, its advantages and disadvantages and go beyond and look into alternatives. 21.3 Abstracting the exchange First, we will look at an intended use case for the Mox module, as mentioned above. 21.3.1 Defining the Core.Exchange behaviour We will start by creating a new file /apps/core/lib/core/exchange.ex together with a new module inside it: # /apps/core/lib/core/exchange.ex defmodule Core.Exchange do end Now, based on how we currently interact with the Binance module inside the Naive.Strategy, we can define the following callback functions: order_limit_buy/3 - almost the same as the Binance.order_limit_buy/4, just skipped the optional argument # /apps/core/lib/core/exchange.ex @callback order_limit_buy(symbol :: String.t(), quantity :: number(), price :: number()) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} order_limit_sell/3 - almost the same as the Binance.order_limit_sell/4, just skipped the optional argument # /apps/core/lib/core/exchange.ex @callback order_limit_sell(symbol :: String.t(), quantity :: number(), price :: number()) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} get_order/3 - the same as the Binance.get_order/3 # /apps/core/lib/core/exchange.ex @callback get_order( symbol :: String.t(), timestamp :: non_neg_integer(), order_id :: non_neg_integer() ) :: {:ok, Core.Exchange.Order.t()} | {:error, any()} All of the above callbacks rely on the Core.Exchange.Order struct, which we will add now inside the Core.Exchange module: # /apps/core/lib/core/exchange.ex defmodule Order do @type t :: %__MODULE__{ id: non_neg_integer(), symbol: String.t(), price: number(), quantity: number(), side: :buy | :sell, status: :new | :filled, timestamp: non_neg_integer() } defstruct [:id, :symbol, :price, :quantity, :side, :status, :timestamp] end The above struct is a simplification of the Binance.Order struct limited to just the fields we are using in our strategy. Additionally, we use the Binance module to fetch symbol filters inside the Naive.Strategy (we actually fetch the whole exchange info and then dig inside to find our filters) - we will create a dedicated struct for those filters: # /apps/core/lib/core/exchange.ex # add below inside the Core.Exchange module defmodule SymbolInfo do @type t :: %__MODULE__{ symbol: String.t(), tick_size: number(), step_size: number() } defstruct [:symbol, :tick_size, :step_size] end @callback fetch_symbol_filters(symbol :: String.t()) :: {:ok, Core.Exchange.SymbolInfo.t()} | {:error, any()} The final usage of the Binance module comes from the seed scripts, where we fetch the exchange info just to get the list of the supported currencies. We will make getting a list of supported currencies part of our behaviour: # /apps/core/lib/core/exchange.ex # add below inside the Core.Exchange module @callback fetch_symbols() :: {:ok, [String.t()]} | {:error, any()} This finishes the definition of the Core.Exchange behaviour. It should consist of five callback functions( fetch_symbols/0, fetch_symbol_filters/1, get_order/3, order_limit_buy/3 and order_limit_sell/3) together with two structs(Order and SymbolInfo). 21.3.2 Implementation of the Core.Exchange.Binance module As we defined the behaviour, we can now wrap the production implementation(the Binance module) inside a module that will implement that behaviour. We will start by creating a new directory called “exchange” inside the apps/core/lib/core directory, together with a new file called binance.ex. Inside it, we will define a module that will implement the Core.Exchange behaviour: # /apps/core/lib/core/exchange/binance.ex defmodule Core.Exchange.Binance do @behaviour Core.Exchange end Now we are obliged to implement all functions defined in the behaviour, starting with the fetch_symbols/0: # /apps/core/lib/core/exchange/binance.ex alias Core.Exchange @impl Core.Exchange def fetch_symbols() do case Binance.get_exchange_info() do {:ok, %{symbols: symbols}} -> symbols |> Enum.map(& &1["symbol"]) |> then(&{:ok, &1}) error -> error end end As we can see - the case statement wraps the call to the Binance module, and either we evaluate further business logic or forward the error so the “consumer” of our library can decide what to do with the error condition. This pattern will appear in all our functions as the Core.Exchange.Binance module is our own “library” module. Let’s continue with implementing the remaining functions defined in the behaviour: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def fetch_symbol_filters(symbol) do case Binance.get_exchange_info() do {:ok, exchange_info} -> {:ok, fetch_symbol_filters(symbol, exchange_info)} error -> error end end defp fetch_symbol_filters(symbol, exchange_info) do symbol_filters = exchange_info |> Map.get(:symbols) |> Enum.find(&(&1["symbol"] == symbol)) |> Map.get("filters") tick_size = symbol_filters |> Enum.find(&(&1["filterType"] == "PRICE_FILTER")) |> Map.get("tickSize") step_size = symbol_filters |> Enum.find(&(&1["filterType"] == "LOT_SIZE")) |> Map.get("stepSize") %Exchange.SymbolInfo{ symbol: symbol, tick_size: tick_size, step_size: step_size } end The fetch_symbol_filters/1 function follows the previously discussed pattern. The fetch_symbol_filters/2, on the other hand, is a modified copy of the merge_filters_into_settings/2 function from the Naive.Strategy module is now returning the Exchange.SymbolInfo struct. Another function to be implemented to fulfil the behaviour is get_order/3: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def get_order(symbol, timestamp, order_id) do case Binance.get_order(symbol, timestamp, order_id) do {:ok, %Binance.Order{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, symbol: order.symbol, price: order.price, quantity: order.orig_qty, side: side_to_atom(order.side), status: status_to_atom(order.status), timestamp: order.time }} error -> error end end defp side_to_atom("BUY"), do: :buy defp side_to_atom("SELL"), do: :sell defp status_to_atom("NEW"), do: :new defp status_to_atom("FILLED"), do: :filled As in the case of the previously implemented functions, the get_order/3 implementation wraps the Binance’s function inside the case statement. To satisfy the Core.Exchange behaviour, it needs to return the Exchange.Order struct - hence the conversion. It also needs to convert the string side and status fields to atoms before assigning them to the struct(that’s the role of the status_to_atom and side_to_atom helper functions). The final two functions to be implemented will be the order_limit_buy/3 and order_limit_sell/3: # /apps/core/lib/core/exchange/binance.ex @impl Core.Exchange def order_limit_buy(symbol, quantity, price) do case Binance.order_limit_buy(symbol, quantity, price, "GTC") do {:ok, %Binance.OrderResponse{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, price: order.price, quantity: order.orig_qty, side: :buy, status: :new, timestamp: order.transact_time }} error -> error end end @impl Core.Exchange def order_limit_sell(symbol, quantity, price) do case Binance.order_limit_sell(symbol, quantity, price, "GTC") do {:ok, %Binance.OrderResponse{} = order} -> {:ok, %Exchange.Order{ id: order.order_id, price: order.price, quantity: order.orig_qty, side: :sell, status: :new, timestamp: order.transact_time }} error -> error end end That finishes our first implementation of the Core.Exchange behaviour. It will be used in the production by our Naive.Strategy, but before we will update it, let’s update the BinanceMock module to implement the same behaviour for testing/backtesting. 21.3.3 Updating the BinanceMock module to implement the Core.Exchange behaviour The BinanceMock module must implement the Core.Exchange behaviour. It will (at compile time) guarantee that both Core.Exchange.Binance and BinanceMock share a common interface that can be used by the Naive.Strategy. First, we will start by declaring that the BinanceMock actually implements the Core.Exchange behaviour: # /apps/binance_mock/lib/binance_mock.ex defmodule BinanceMock do @behaviour Core.Exchange # <= added Next, we can replace all the aliases to the Binance structs with a single alias to the Core.Exchange module: # /apps/binance_mock/lib/binance_mock.ex alias Core.Exchange Don’t forget to update all references to the Binance.Order with Exchange.Order module. As the behaviour is now defined in the Core.Exchange module, we can remove all @type and @callback attributes. Moving on, we will replace the get_exchange_info/0(together with it’s get_cached_exchange_info/0 helper function) with fetch_symbols/0 and fetch_symbol_filters/1(and their helper functions): # /apps/binance_mock/lib/binance_mock.ex def fetch_symbols() do case fetch_exchange_info() do {:ok, %{symbols: symbols}} -> symbols |> Enum.map(& &1["symbol"]) |> then(&{:ok, &1}) error -> error end end def fetch_symbol_filters(symbol) do case fetch_exchange_info() do {:ok, exchange_info} -> {:ok, fetch_symbol_filters(symbol, exchange_info)} error -> error end end defp fetch_exchange_info() do case Application.get_env(:binance_mock, :use_cached_exchange_info) do true -> get_cached_exchange_info() _ -> Binance.get_exchange_info() end end defp get_cached_exchange_info do File.cwd!() |> Path.split() |> Enum.drop(-1) |> Kernel.++([ "binance_mock", "test", "assets", "exchange_info.json" ]) |> Path.join() |> File.read() end defp fetch_symbol_filters(symbol, exchange_info) do # <= this is a copy of `Core.Exchange.Binance.fetch_symbol_filters/2` function end There are a few additional helpers above, and it got a bit long - let’s unpack it. First, both the fetch_symbols/0 and fetch_symbol_filters/1 look very similar to the ones we implemented for the Core.Exchange.Binance module. The main difference here is that we support cached exchange info by introducing the fetch_exchange_info/0 function, which branches out to either using the Binance module or the get_cached_exchange_info/0 function. The latter was updated to return the raw data instead of the Binance.ExchangeInfo struct. Next, there’s the get_oder/3 function - as it’s working in the same way as per our behaviour, we will leave it as it is. The final two functions to update will be the order_limit_buy/4 and order_limit_sell/4, which will now become three argument functions: # /apps/binance_mock/lib/binance_mock.ex def order_limit_buy(symbol, quantity, price) do order_limit(symbol, quantity, price, "BUY") end def order_limit_sell(symbol, quantity, price) do order_limit(symbol, quantity, price, "SELL") end In the above functions, we simply skipped the fourth arguments to fulfil the behaviour. The changes to different structs will have a ripple effect in other parts of the BinanceMock module: # /apps/binance_mock/lib/binance_mock.ex def generate_fake_order(...) do ... %Exchange.Order{ id: order_id, symbol: symbol, price: price, quantity: quantity, side: side_to_atom(side), status: status_to_atom("NEW"), timestamp: current_timestamp } # <= keys updated & `.new` dropped end defp side_to_atom("BUY"), do: :buy # <= added defp side_to_atom("SELL"), do: :sell # <= added defp status_to_atom("NEW"), do: :new # <= added defp status_to_atom("FILLED"), do: :filled # <= added def handle_call( {:get_order, symbol, time, order_id}, ... ) do ... |> Enum.find( &(&1.symbol == symbol and &1.timestamp == time and # <= field updated &1.id == order_id) # <= field updated ) end def handle_info( %TradeEvent{} = trade_event, ... ) do ... filled_buy_orders = ... |> Enum.map(&Map.replace!(&1, :status, :filled)) # <= changed to atom ... filled_sell_orders = ... |> Enum.map(&Map.replace!(&1, :status, :filled)) # <= changed to atom ... end defp order_limit(symbol, quantity, price, side) do ... {:ok, fake_order} # <= no need to convert between structs any more end # remove the `convert_order_to_order_response/1` function - not required anymore # and finally ;) defp convert_order_to_event(%Exchange.Order{} = order, time) do %TradeEvent{ event_time: time - 1, symbol: order.symbol, trade_id: Integer.floor_div(time, 1000), price: order.price, quantity: order.quantity, buyer_order_id: order.id, seller_order_id: order.id, trade_time: time - 1, buyer_market_maker: false } # ^^^^^^= updated mapping end The above changes finish the modifications to the BiananceMock. The module now correctly implements the behaviour. 21.3.4 Updating the Naive.Strategy We can now move on to the code that will use our implementations of the Core.Exchange behaviour - the Naive.Strategy module. We will start by adding an alias to the Core.Exchange at the top of the module: # /apps/naive/lib/naive/strategy.ex alias Core.Exchange Next, we can rename the configuration based @binance_client to @exchange_client and update references to it throughout the module: # /apps/naive/lib/naive/strategy.ex @exchange_client Application.compile_env(:naive, :exchange_client) Besides the above, we are now relying on the generic structs, so we need to update all references to the Binance.OrderResponse and Binance.Order modules with the Exchange.Order (including updating all field names) - for example: # /apps/naive/lib/naive/strategy.ex # from: %Position{ buy_order: %Binance.Order{ order_id: order_id, status: "FILLED" }, sell_order: Binance.Order{} }, # to: %Position{ buy_order: %Exchange.Order{ # <= struct updated id: order_id, # <= key updated status: :filled # <= updated to atom }, sell_order: %Exchange.Order{} } # rename cheatsheet: # order_id to id (do not use "global" file replace) # orig_qty to quantity ("global" file replace safe) # transact_time to timestamp ("global" file replace safe) # "FILLED" to :filled ("global" file replace safe) As the behaviour’s interface(public functions) differs from the Binance module, we need to update all calls that we simplified: # /apps/naive/lib/naive/strategy.ex {:ok, %Exchange.Order{} = order} = @exchange_client.order_limit_buy(symbol, quantity, price) ... {:ok, %Exchange.Order{} = order} = @exchange_client.order_limit_sell(symbol, quantity, sell_price) As of now, we will deal only with the Exchange.Order structs instead a pair of Binance.OrderResponse and Binance.Order, we can simplify the existing two clauses of broadcast_order/1 into a single one(and remove the convert_to_order/1 function): # /apps/naive/lib/naive/strategy.ex defp broadcast_order(%Exchange.Order{} = order) do @pubsub_client.broadcast( Core.PubSub, "ORDERS:#{order.symbol}", order ) end The final change to the Naive.Strategy module will be to update the fetch_symbol_settings/1 function (and remove the merge_filters_into_settings/3 function): # /apps/naive/lib/naive/strategy.ex def fetch_symbol_settings(symbol) do {:ok, filters} = @exchange_client.fetch_symbol_filters(symbol) db_settings = @repo.get_by!(Settings, symbol: symbol) Map.merge( filters |> Map.from_struct(), db_settings |> Map.from_struct() ) end The function is now much more straightforward as we use the fetch_symbol_filters/1 function implemented as a part of the Core.Exchange behaviour. 21.3.5 Updating the seed scripts The other places we use the exchange are seed scripts that we need to update. First inside the Naive application: # /apps/naive/priv/seed_settings.exs exchange_client = Application.compile_env(:naive, :exchange_client) ... {:ok, symbols} = exchange_client.fetch_symbols() ... maps = symbols |> Enum.map(&(%{base_settings | symbol: &1})) We no longer use the binance_client but exchange_client instead - in the same fashion as inside the Naive.Strategy module. Both implementations provide the fetch_symbols/0 function, which returns a list of symbols - hence the change inside the Enum/2 function. We will follow up with changes to the seeding script of the Streamer application(I will skip listing the changes here as they are the same as in the case of the Naive application). At this moment, we can change the configuration to make the Naive.Strategy work: # /config/config.ex config :streamer, exchange_client: BinanceMock, # <= key updated config :naive, exchange_client: BinanceMock, # <= key updated # /config/prod.exs config :naive, exchange_client: Core.Exchange.Binance # <= key and module updated config :streamer, exchange_client: Core.Exchange.Binance # <= key and module updated # /config/test.exs config :naive, exchange_client: Test.BinanceMock, # <= key updated 21.3.6 Manual testing after the refactoring We can now test that Naive.Strategy works: $ iex -S mix ... iex(1)> Streamer.start_streaming("XRPUSDT") ... iex(2)> Naive.start_trading("XRPUSDT") ... 21:42:12.813 [info] Position (XRPUSDT/1662842530254): Placing a BUY order @ 0.35560000, quantity: 562.00000000 21:42:15.280 [info] Position (XRPUSDT/1662842530254): The BUY order is now partially filled 21:42:15.281 [info] Position (XRPUSDT/1662842530254): The BUY order is now filled. Placing a SELL order @ 0.35580000, quantity: 562.00000000 21:42:15.536 [info] Position (XRPUSDT/1662842530254): The SELL order is now partially filled 21:42:15.593 [info] Position (XRPUSDT/1662842530254): Trade cycle finished The above output confirms that we have a full working trading flow using either Core.Exchange.Binance or BinanceMock. 21.3.7 Storing the data As we are now using generic structs like the Core.Exchange.Order, all data storage-related code needs to be updated. We will start by updating the migration script to store only limited passed data: # /apps/data_warehouse/priv/repo/migrations/20210222224522_create_orders.exs def change do create table(:orders, primary_key: false) do add(:id, :bigint, primary_key: true) add(:symbol, :text) add(:price, :text) add(:quantity, :text) add(:side, :text) add(:status, :text) add(:timestamp, :bigint) timestamps() end end A lot of fields got removed/renamed, including the primary key. We will follow up by updating the schema for that table: # /apps/data_warehouse/lib/data_warehouse/schema/order.ex @primary_key {:id, :integer, autogenerate: false} # <= column updated schema "orders" do field(:symbol, :string) field(:price, :string) field(:quantity, :string) field(:side, :string) field(:status, :string) field(:timestamp, :integer) timestamps() end The schema was updated to mirror the new shape of the orders db table. We can now progress to the Worker, where we will start to use the Core.Exchange based structs: # /apps/data_warehouse/lib/data_warehouse/subscriber/worker.ex alias Core.Exchange # <= alias added ... def handle_info(%Exchange.Order{} = order, state) do data = order |> Map.from_struct() |> Map.merge(%{ side: atom_to_side(order.side), status: atom_to_status(order.status) }) struct(DataWarehouse.Schema.Order, data) |> DataWarehouse.Repo.insert( on_conflict: :replace_all, conflict_target: :id # <= column updated ) ... defp atom_to_side(:buy), do: "BUY" defp atom_to_side(:sell), do: "SELL" defp atom_to_status(:new), do: "NEW" defp atom_to_status(:filled), do: "FILLED" The Worker will now pattern matches on the Core.Exchange.Order struct instead of Binance.Order as before. Inside the callback, we simplified the mapping to the schema struct and updated the conflict to the renamed id column. Finally, we added the helper functions to convert status and side atoms to strings. 21.3.8 The Mox approach summary We didn’t yet look into updating our tests, but instead of focusing on that, we will chat about our implementation. First, it’s worth stressing that it required multiple changes to many parts of the system spanning from the Naive application through Streamer (seeding) and ending in the DataWarehouse application. More importantly, we needed to define a behaviour. It gives us a compile-time guarantee, but on the other hand, we were pushed to define it very early. Let me explain. Up to this moment, we have been using only the Binance module. We didn’t have an opportunity to work with other modules/exchanges. In fact, we didn’t want to create an Exchange level abstraction. We were happy with using the Binance module, and we added the behaviour just to be able to use the Mox package to mock it inside our tests. All of this feels like a really heavy over-engineering just to be able to test. Furthermore, as we defined the behaviour, we needed to define the generic structs that we based on the ones from the Binance module. We have never seen examples of structs from other packages, so we took only fields that we are using in our strategy to limit the possibility of missing data from another exchange in the future. The knock-on effect will be that we are already missing valuable data in the database as well as adding any new exchanges in the future may require updates to the behaviour, behaviour’s existing implementations and most of the code that uses it (like the Naive.Strategy). Additionally, we returned the Binance’s error messages straight to the user of our abstraction(Naive.Strategy). We should be converting those to generic errors, but we don’t have a clue about other exchanges and the errors they could raise. At this moment, abstracting our code into behaviour+implementations is uneducated over-engineering and simply asking for troubles in the future. What’s the alternative? The first thing that comes to mind would be to look for some “standard” that could be leveraged to build our behaviour/define structs. For cryptocurrency exchanges, that will be “CCXT” - it’s an open-source “library” available for Python, JavaScript and PHP. We could look further and look for an Elixir implementation of the CCXT package and find the package named ccxtex. It’s a wrapper around the JavaScript version of the CCXT package. Using the above(either the ccxtex package or ccxt as a “blueprint”) instead of trying to figure out our own behaviour based on our limited knowledge about exchanges would most certainly let us avoid continuous updates to our code. Those updates, coupled with the fact that we would add the behaviour just to be able to test the implementation, put usage of the Mox package in serious doubt. The source code up to this moment can be found at Github We will stop here and revert to the source code from the end of the 20th chapter. Instead of leaving something we are not prepared to continue with, we will look into alternative ways to test our strategy. 21.4 Mimicking the reality In this section, we will look into using the Mimic package to mock the Binance module to test our Naive.Strategy. The advantage of using the Mimic package is that we don’t need to define behaviours to mock our modules. Let’s kick this off by swapping the mox package to the mimic package in the dependencies of the Naive application: # /apps/naive/mix.exs defp deps do [ ... {:mimic, "~> 1.7", only: [:test, :integration]}, ... ] end Don’t forget to run mix deps.get to resolve the dependencies. 21.4.1 Updating the Naive.Strategy Before we dive into writing new tests, we can update the Naive.Strategy module. The mimic module doesn’t require us to inject dependencies into module attributes based on config, so we can remove them: # /apps/naive/lib/naive/strategy.ex # remove the below lines @binance_client Application.compile_env(:naive, :binance_client) @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) @repo Application.compile_env(:naive, :repo) We will switch back to using modules’ names as before. We will update all references to attributes throughout the module with corresponding hardcoded module names: # /apps/naive/lib/naive/strategy.ex # change @logger to Logger # change @binance_client to Binance # change @pubsub_client to Phoenix.PubSub # change @repo to Repo As we are pointing to Repo instead of Naive.Repo, we need to add an alias at the top of the module: # /apps/naive/lib/naive/strategy.ex alias Naive.Repo [Note: At this moment, we will apply the above changes to the Indicator.Ohlc.Worker and Indicator.Ohlc( apps/indicator/lib/indicator/ohlc/worker.ex and apps/indicator/lib/indicator/ohlc.ex) to avoid breaking the application when we will clean up the config in the next step.] That finishes our conversion to hardcoded module names. As we are no longer basing our module on the configuration, we can remove all redundant configuration keys from the main config.exs file: # /config/config.exs config :core, # <= remove logger: Logger, # <= remove pubsub_client: Phoenix.PubSub # <= remove config :streamer, binance_client: BinanceMock, # <= remove ... config :naive, binance_client: BinanceMock, # <= remove repo: Naive.Repo, # <= remove ... We can now move on to figure out how we are going to test it. 21.4.2 Testing the Naive.Strategy First, we can remove the existing unit tests(apps/naive/test/naive/trader_test.exs) as they are not applicable anymore. Next, we will create a new file apps/naive/test/naive/strategy_test.exs with a skeleton of a test: # /apps/naive/test/naive/strategy_test.exs defmodule Naive.StrategyTest do use ExUnit.Case, async: true use Mimic alias Core.Struct.TradeEvent alias Naive.Strategy # we will add our tests here end As we will stub dependencies using mimic, we need to use it inside the test module. We will be testing the primary entry function, the Naive.Strategy.execute/3, where we will first focus on placing a buy order scenario: # /apps/naive/test/naive/strategy_test.exs @tag :unit test "Strategy places a buy order" do # we will put our code here end The simplest scenario will be to pass hardcoded settings, a fresh position(based on those settings) and a trade event(that will trigger the buy order): # /apps/naive/test/naive/strategy_test.exs settings = %{ symbol: "ABC", chunks: "5", budget: "200", buy_down_interval: "0.2", profit_interval: "0.1", rebuy_interval: "0.5", tick_size: "0.000001", step_size: "0.001", status: :on } {:ok, new_positions} = Naive.Strategy.execute( %TradeEvent{ price: "1.00000" }, [ Strategy.generate_fresh_position(settings) ], settings ) Now, the above call to the Naive.Strategy.execute/3 will cause the Binance.order_limit_buy/4, Phoenix.PubSub.brodcast/3 and Logger.info/1(we will skip this one and get back to it later) functions to be called. We need to mock those functions at the beginning of our test before calling the Naive.Strategy.execute/3 function: # /apps/naive/test/naive/strategy_test.exs expected_order = %Binance.OrderResponse{ client_order_id: "1", executed_qty: "0.000", order_id: "x1", orig_qty: "50.000", price: "0.800000", side: "BUY", status: "NEW", symbol: "ABC" } Binance |> stub( :order_limit_buy, fn "ABC", "50.000", "0.800000", "GTC" -> {:ok, expected_order} end ) Phoenix.PubSub |> stub( :broadcast, fn _pubsub, _topic, _message -> :ok end ) We can use the expected_order above to assert that the Naive.Strategy.execute/3 returned the correct value - the buy_order field should hold the same data as the expected_order. We can add the below assertions at the end of the test: # /apps/naive/test/naive/strategy_test.exs assert (length new_positions) == 1 %{buy_order: buy_order} = List.first(new_positions) assert buy_order == expected_order That finishes the test implementation, but before we will be able to use the mimic module, we need to prepare modules so we can stub them inside tests - here are the new contents of the test helper file: # /apps/naive/test/test_helper.exs Application.ensure_all_started(:mimic) Mimic.copy(Binance) Mimic.copy(Phoenix.PubSub) ExUnit.start() We removed all references to the mox module and replaced them with calls to the Mimic.copy/1 function. We are now ready to run our new test: $ mix test.unit ... 21:49:39.737 [info] Position (ABC/1675460979732): Placing a BUY order @ 0.800000, quantity: 50.000 . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded As we can see, we successfully mocked the Binance and Phoenix.PubSub modules. We can also see that we are getting log messages that we will deal with next. 21.4.3 Logging elephant in the room As we moved back to using the Logger module instead of some dummy implementation, we are now back to square one, seeing logs in our tests. We could go on the route of mocking the Logger module using the Mimic, but actually, there’s a better way to deal with logs in the tests. As ExUnit starts, it allows us to pass options that will modify its behaviour. One of those is capture_log, which, when set to true, will cause ExUnit to hide all log messages - let’s update the test helper script to enable this feature: # /apps/naive/test/test_helper.exs ... ExUnit.start(capture_log: true) Let’s rerun our tests to see the difference: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded We can see that the ExUnit output is now free of any logs. But what if we would like to assert the logged message? We were able to do that using the mox package, as we were mocking and asserting log messages’ contents inside those mocks. ExUnit provides a helper function for that case as well. We will modify our test to capture the log inside it and assert that it logs the correct value (the price of $0.8): # /apps/naive/test/naive/strategy_test.exs import ExUnit.CaptureLog # <= import logging capturing functionality ... test "Strategy places a buy order" do ... {{:ok, new_positions}, log} = with_log(fn -> Naive.Strategy.execute( %TradeEvent{ price: "1.00000" }, [ Strategy.generate_fresh_position(settings) ], settings ) end) assert log =~ "0.8" In the above code, we wrapped our call to the Naive.Strategy.execute/3 into an anonymous function that we passed as an argument to the with_log/1 function. The with_log/1 function returns a tuple containing the result of the passed function and the generated log message(s). We can then assert that the logged message contains the expected value, strengthening our test. We can now rerun our unit test: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded It’s worth noting that we were able to capture the log message even with global capture_log enabled(inside the test helper when starting ExUnit). This gives us ultimate flexibility. None of the logs are displayed, although whenever we need, we can always capture logs inside test cases on a test-by-tas basis. That would wrap up the writing unit tests part. But how will this work with running our code locally(or in “production”) or running integration tests? 21.5 Swapping back to attributes We need to have a way to swap Binance’s implementation between dev/test/integration and prod environments. We can’t use the mimic package to swap the implementation as this is a “running” mode, not some tests. Please note that most of the applications won’t need to change the implementation based on the environment as the 3rd party library/package itself will provide some flags to enable/disable the functionality(like sending emails to newly registered users). Let’s get back to the Naive.Strategy module, where we will bring back the attribute-based @binance_client: # /apps/naive/lib/naive/strategy.ex @binance_client Application.compile_env(:naive, :binance_client) ... @binance_client.order_limit_buy(...) ... @binance_client.order_limit_sell(...) ... @binance_client.get_order(...) ... @binance_client.get_order(...) ... @binance_client.get_exchange_info(...) We need to update all references to the Binance module’s functions to use the @binance_client module’s attribute. As we are already modifying the Naive application, we can follow up by removing the @logger and @pubsub_client module’s attributes in the Naive.Trader: # /apps/naive/lib/naive/trader.ex # remove the below attributes @logger Application.compile_env(:core, :logger) @pubsub_client Application.compile_env(:core, :pubsub_client) ... # change @logger to Logger # change @pubsub_client to Phoenix.PubSub 21.5.1 Config files We will now move to config files, where we will re-add the binance_client configuration. As previously we will want the BinanceMock to be used everywhere besides production: # /config/config.exs config :streamer, binance_client: BinanceMock # <= add config :naive, binance_client: BinanceMock, # <= add leader: Naive.Leader, # <= remove # /config/prod.exs # stays as it was - pointing to the `Binance` module # /config/test.exs # remove everything besides the `import` It’s important to understand that we don’t need to configure the binance_client inside the test configuration. As we now utilise the mimic package, we can drive mocking from the test level. The knock-on effect of bringing back the environment driven @binance_client is that now we will need to mimic the BinanceMock module instead of Binance for our unit tests. To fix that, we need to update the test helper: # /apps/naive/test/test_helper.exs ... Mimic.copy(BinanceMock) # <= updated from Binance and the unit test: # /apps/naive/test/naive/strategy_test.exs ... BinanceMock # <= updated from Binance |> stub( We needed to change the above as now, in the case of dev and integration, we are using the BinanceMock. After applying the above changes, we can now run the unit tests: $ mix test.unit ... . Finished in 0.2 seconds (0.2s async, 0.00s sync) 2 tests, 0 failures, 1 excluded As well as run the integration tests: $ MIX_ENV=integration mix test.integration . Finished in 7.2 seconds (0.04s async, 7.1s sync) 2 tests, 0 failures, 1 excluded And finally, we are able to run the project: $ iex -S mix ... iex(1)> Streamer.start_streaming("ETHUSDT") ... iex(2)> Naive.start_trading("ETHUSDT") ... 22:57:53.834 [info] Position (ETHUSDT/1675724273832): Placing a BUY order @ 1632.82000000, quantity: 0.12240000 In this chapter, we’ve reiterated the ideas behind the mox package, highlighting its shortcomings, especially the push to create needless abstractions(behaviours). We then dropped our changes to show the alternative approach using the ‘mimic’ package, which was way handier and easier to understand. In the end, we realized that to facilitate using different implementations between dev and production, we will need to keep the @binance_client attribute. [Note] Please remember to run the mix format to keep things nice and tidy. The source code for this chapter can be found on GitHub "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] diff --git a/images/chapter_05_03_leader_added.png b/images/chapter_05_03_leader_added.png index 2eb8a93380350c729e9d77f89627a9ce97cb0a58..16294823083717a78249927208624149df1a30ea 100644 GIT binary patch literal 165096 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

    G4>@^WO8b1GejZ~ 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 j%Kd2 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

    0~SCVwo3RF?M7K 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

  • pY|8{Ei>Oo--`oLVi=0 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 z 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Μ?FGR`W{*0_m+CYh>Hgo3e*76 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

    }cqm?k2^EKX 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%0DSxL8O{lqxnKn2Kds1$GH)y5 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

    IllOwXGi0mlEH3Sg0{hjy0?A>CcX4cMVja# zLFZgr9A$Jk;;oGSoK_z{e(Y)HJomgin15K$oVOoWu`_aIupa{xx(GbT`sKAOJhbtt z*k^`YZ^y5Qj6UxUVN^D+LP5Rm{PuL@Vc+qU$MPSF&m(^hvCz0?zez25T#gJ2IsO>p zqW}^7*W}M;AHCNyzuBaN{u504vpuQ4aq0mEm2|CIcSga8OnJZ+nzV(CPL7ioDGU!M z$>7Vxjp-H4&d-w~_Qe&kz^=wZ3lYFXu=-(ye1@Nqm=TzNKy*Dch(YwKLgv_XN>d(d z$z9BI$!*?YoX24fvHo31kOyymtM$A>f_y3P%y=lCwnm16NIk>-a}aSeC8%=2pj;Hm zU1h`Yrt#F()DDJiIGK$%dK_>4}I39?pRH<;TGs{WO0}wQoS-h<3L~qr7F;l zJ>#jSUvv7s;>*-|)kPQR#!(%w|MNZ=-8!UBXs^CNDm?yk^<)_xQ#Fx4lGRWq=*$I* zGdD2>G00Zn(K}bRX4lWTcar3NwtpY!y1%L!&i`)WXZP||%(C&PZMf=v*I?6-AZWqm zqv+JbmqF)X!5BkNB@#JPFaNW!3B&XB^1?V)4u=vKViUT}AJlgrRyE&(0aVDzp6$s^ z`hBTZQ*$0EMp_n_7&eQn&JH|E8+iZaglm0%8T|ifdhd8D{Qv#`7|C{&LJG&qo{>!) z>yUA*95Z_hFJx2p9*1lh$37|?dzK_bMn}k~$jZpxeoyc3@8h3xyWymWz;s;t;S z^P|gp34!&orSvDehLQe8t4ubaOGgetBTe-F`gLD~HXo&dwA+xsg$iUZ_`L=nKaB66 z3w&${iW=ck6FIGy7pDT@-2bt%S)&i|H)x^$(68W3s-&mCK3iV`Tg>h(-yWj;Nwj`S zR2ZL5OaSqmlso+D6m)3rhYdVgrL|EtU3SkBn>1~jFN*HNJ@AuwtZ(^*7KR-|J%*x3 z?--VRn{c|zRFXg)t3X5~fr$5-H1q$)@}|xGXK^$tk&E`-;X4U~lQC1c);KY(`BP=? z!+w#HbPgwbMkgT4a`wE@9+4=bA>ft~sbS5w<6oJ&wtr$(&$vV2zjdoY^Kv5gz!@exkjhZI^g8OofZc&F0tyeR;pnMQ zS|AfYgNW0X9G`8fYIP;fT_P8U62ML-h)9p&PvP3KBv5cirI!&GM~ zh#!2(W17I}*v4u8A!nS@>+Meg(d79hQ9Sb#NvG4#-CiH|y<=9~q8sZ^T(G7pN$-va zLi1V&(Q?9LCMICo?7K|v9~_YXYrVK=DCeV(;@E)@`SVH8Laa#tZb1LB<}1mR6ZD8# zhXAuz2zEcywCm%$Lp)DOplV{)yZMmG^PkBN%@hvJ)$TF!1+PDT=z^t@bhH<4yU$gp zd^a-YZas3qe{*yFo})NXC4l%0+<9y(f|@Em+MJrt3p~I3&9D#zNPV7hd&Qwar_%4$ z7aAnM;c*>MD$O;V6L`$q2-|Rt7H`;jjHL};voAeD`KzXqt*WqNF;M&A-S&K_ykiA~ zeDsfsHCwsQeVb~W(Z@UD8U8R*&os&9J74V6I3g<2VhG}kS2ovBfQ@w6KlfYyyppGF zGh}+QD`dmaxNEncz0Y0V;*(zH^7VVN>vN#0v6gJSSvOfgD!g?fwcy`%ewgg6VV^I; zrSuV>;U6Be9}sLl$DwGY{Y%n-i^4~j$zL1ploPkip+Q1ILRb!*E})?^x!yxH9avcU zSrHFc`_;mS701_J59837mLS07c@xu-s1WeE4b;&sCnE2#rsyr-ORw)*uw$^rj

    6IBg+`AbkGVoL)CMSpJG@m_ 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 #N@?|UQKpFp zs>addpPu&4-DL*=`m}gQjLf>fW#Y_+iMzYdORu&w{z%uLjZ1#(FW6Er5S?&orjBrb z%-4Fe82h`xUFAi^5N32({dfm+Q({F?kS8miM zEh_w>&Z(4<{TX*)**Mt9c@moLv1c{5X5olcndHj?RRZxQ29#2>o9aw!;k16|^Q%<2L=? z3;0M5dK{Ob#TM!2#l_E#T4H^cdoyKrmEJp#_Po*sZHddzK7jZYH8?SlX@O}0AwA3U6GFPhrJ?k(mJ$iHJ$f}tpsHF z^T-I8?KSwkk5t-MTKw~&`0DbAuHJ7r7Z0PtL3Nm(Xuey|zH+o%R;&oGZ7Fk}W?h)x zdFkqpxEfq}!{f2UT*g~RzX3*Vth&|(LWJ1EGdg@~v$o4A!$kRYMAcGFX+M#u%S-jO z?3oq_e}ZO6bO()6;R2xI4ky@NYf(sRyZE)5tS3s6yK>*VpHT8nD_lWNkerUB)`&W~ ze~r24V~4*fmSy=W?}9%U*;4Tv)sSm+4E~j+Rqcbr7;tOmWCvsqFHMv;^s*HFcfZ_PEzf$v+u0>8Y(S zht471ocd>(;yKDRd;Km*NlBF-{#3w;vSBysbIa}^y^wdQ9+~?13?=JFisHR|-VpuH zf=9*+a{^tzP9C=LNeE!w=0ZYFSF#vQgL$enpf1=RxP>SwFH2>wLp2Lr@NslF#$Quu z7fm}DIptsb*}Qn4$c*~MEJwTzI~p}QX?HYzcK~#qw+;^Si6!ROii(v0C9v>hPsjz& z!px=epvyq2ss2g-6;sLDYxH4dGa)wC);D(!=D-Eq+s4E<6y{sDAQ?Y`?n}ryw^1?6 znv@{1#NGPRifoZ$ zK^s;fZei7Dc^%>qwRhivkFA87e=vAk9BW2CM^>P31>6_v?6ZYIV=w_29vNZBhVeWU zUZ{@r2V@TGe`Jnla53VL>-sfGkb4cB)+)8{7(Ct>s{m9r@s4=LuuvEuORgM}X72Ne zTuAVSzx3WI-A2jVw}}`m5Q={aqvk7!=wCQp4

    FKw(7JP#6@d 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%0DK64~ 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 RavHUO_@1tQF6*2UngHLEoHPIc diff --git a/index.Rmd b/index.Rmd index 1ae39b0..a785dd2 100644 --- a/index.Rmd +++ b/index.Rmd @@ -1,7 +1,7 @@ --- title: "Hands-on Elixir & OTP: Cryptocurrency trading bot" author: "Kamil Skowron" -date: "0.5.1" +date: "0.5.2" site: bookdown::bookdown_site output: bookdown::gitbook documentclass: book diff --git a/packages.bib b/packages.bib index 2c0e865..4998756 100644 --- a/packages.bib +++ b/packages.bib @@ -11,7 +11,8 @@ @Manual{R-bookdown title = {bookdown: Authoring Books and Technical Documents with R Markdown}, author = {Yihui Xie}, year = {2023}, - note = {R package version 0.36}, + note = {R package version 0.36, +https://pkgs.rstudio.com/bookdown/}, url = {https://github.com/rstudio/bookdown}, } @@ -19,7 +20,7 @@ @Manual{R-knitr title = {knitr: A General-Purpose Package for Dynamic Report Generation in R}, author = {Yihui Xie}, year = {2023}, - note = {R package version 1.44}, + note = {R package version 1.45}, url = {https://yihui.org/knitr/}, } @@ -27,7 +28,8 @@ @Manual{R-rmarkdown title = {rmarkdown: Dynamic Documents for R}, author = {JJ Allaire and Yihui Xie and Christophe Dervieux and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone}, year = {2023}, - note = {R package version 2.25}, + note = {R package version 2.25, +https://pkgs.rstudio.com/rmarkdown/}, url = {https://github.com/rstudio/rmarkdown}, }

    H3%tACs_slm9UbE+f$de8s~x5 zGuwIlgIVXgpRcwtNg3GG{i%bViS$;>wG=X@33_0`hV?5quctE3E~j*-Cno52K#%KS zqQcu*UvUJ%zvue$Ot?dRv&-dh#7W}QE3 zWF{2$yz<7rsFw^3^E~cl(XC!x4p#@>)2W%Nvy!N24T86u!gu4sSlHM;w>8;Eq@BqMXrIh#{6MY1G9cxi(Ul8B$N*%?Hv1J!^X%4^U+j4* z&&+cW-am`11rEOrI^c$fP+nI=`&=i?)POPctwM3|s)01Z7Tfibr0k>Hv(_Ho2E&`n z#1eH*F`A)LD}^HUBj!3$xlo|fsTHcV{k!FJTj+B=6R)`AW~MP!$}6p6YGx*poF8Y` zdPhEDk#!}zVBZ)S|Le*T*J}wef=RXus;O7M?7wBGDmXm&xCls37t?>tZzjxzT0z%5 z-L~luriR`OuQB%{n$gc+p3qRL#JqBi_(FhQZ}tr**MfWN>4XYz?uh4>>X4Sr?)8Pw z(aZ?lMAYXuAQ^7Mi_3Rczd~9ys~jxZEus{nUCq$(=sLq*~~;i)h!a zH4tjX5XBJFI4cFF?96W~7o%^tC65H!?FL$tb-jZkaYvRjNXf`AFQ?jfTeJDk6520z z%=!8Fs+rSO%UO8;4nC>SZL}ZDO>aAm{`+@ABFo$&03PwOt791ir(xh*8Ivk}h~`td z6(@`GMJJQP22skXAZ+7qzLDI1y=D_F)Z{k)ajL9|cA)y}8wZx58v06~{T>j_{%W`G zRxjKH2#etXo9;!V5D{e)uw8L;)Z!?{L>CABQ{jg2k=>&uW5R6npB;Z@L)fR~%-x3l z188Ur;u(v)0X5uNvxc4Hob~QHdM$1!4HL51+5R_eTZ}Eaj zb1S`%JhIL6d73~67uc2OF*e=X2q%USqL8AeNUReLfjHj;9Qxdozb8eoLpvIsG&!So z8rlvpPcIHRN8G~K3@#{|zoFFEQYCI?>a>q{UZ_wm7!=2OiIo})R5YAjEqsV)*0vn>yce$bX?DKe?Wn*k&lYFFeuj^_xVFLE=qciLB-aU>v-{cg!|-Zm z&?VCj*@$>~oIyD+vcKu45k(#ui`4O$4MyB-IzaGRsZ1S=)BPACU1$7dUTSuBS*3CE zT^8`*p45VQgG6bK_7OSmUj58Y}7w51|MtuSm4n`Y*R3fsyf#q6W#N__FqA zy7vPcz+xMAJ8{z+g|kn)eoi%h)Aczr*A*~HmdTpQW_l*OW9vSC*!A2>HUB`pY?`bq z@y-dj%izfw_@4pj5He6N#G?JHJH7l^m zgnrHi2&K;|*DXq)_bz$EP(OqsJz!tvdxm~F=zlh3W*vIO9Ey=c1ThYoF?GZH4%8uF zS|{L!G7sF_M?;i(i_A6C8o#I*ec~GFNV#}S$cs~r12G*gv>*{58_pKA@O!b}44Ts?6Hp{8>s_CGI^B2Z#OUV!=s+ z@Zt0d;NuXJlb2#fSMtCkti|9a)JS5d82%vrVQuM*R`ISQ!4R<=$T_7F>nje>u~&^KuHnkq6kw_6co$ z&P(&&KeF2=y-H>Cj2g3yGH zhmJwVuIlBsUAyxUf*%Qh%(-mTl{k_+81A|6OiWN9Mgf|Wa?~p`dtR2nu!WS|XQv9t zzPKbLNFq@~Bn{zQlnMedkWWsUxO1I;-`ui33~fEYW$o%P=yllDWY#<_Z*}5>C(`4o zcE9VRe027AFLdm}>?T_H8VPPviPfuW1TD3qtVCWRmgh}s>2o9Tqx!%unpO~=lp!NM z6F($CNsL1oP9={6iD2L12w)p~q;n6TgDypwBegFc#*lP)5(Jz?Ep}J|0oXjO9ZQiBeK+yZ*s;GO#{85nvVJWmjjxZJm`jU4$Sa;^VOhtyVA-G8EqEb>s86S{Nq?Kn~0IHjS4SqZM1KM{)P$fLr z|Kd-JqhYc(De^f?&2?|jbDtqv;8*E{@Y%(P_g1{mpFs3{eC>cAgJj6m=Bg!q?F-j8 ztloe2FguCOGtcT5ZWYa2EqP-eepns1#PwREXuCeCxH*a-<}5YA3SA;-14Sr1SkB^9sg;eo*OqP1 ze?_M6%}Oc12Ne7}gk5V{bMqX$YJ~H^&4c%Xwf(HKr~W2EkVvM5@c8GLP?_>bp2{*O z#T-hh4OdNsE>oDORJXRsDp_>_6EQLw@%spcY2{TWvjU&%_PaMW+0^)Mq{=EMnzlRx z)yzd7KFg7pg^-aHCDT~NJcRZFFp(6W0NaGC_8z#pRv9zp7FYIm4lJ!yxVd zuF2$=wQ5!*E;HKvoZbLw#U#-;UpRgbdmI%toQ)FYol+NJF6E=jhRLQ!muqu@>%*_@YH=?)-6%c-D^`ehIZAl)s76Bf8hV{7QPvE-ptaA{s;uMG9WP z^pf~Lx5fjUY;7x$*L3Ii+qX9EVkY0sx;-}{^|}bZW3c%toq+^>Y7eUdU!Hl_+swR` z+jA!0DvyUgin#p^K zfW{5{D4k(r>~`bLMImb8q|8`b*3iNBm^ zhCHQ>%ldaJoy84Gx@vhW_T`Wn!)a-ya zM%R6oqlePqm0jaPz))riqnRj&GRx22nHu;SH+AtV)r}c=-?Tmj^Km7Rl>P@oRro4@ zR3@^o&LM_yUeShT*st>thV|Q!Z@#9utYoJjsBXWx#vCtjsUCTqO}0UVb0mN^f}@=E zQra_*Tc_G2*4WAj8E_QO=39BYLvk6@m}?PTLW9<2;_wZ}gWLY+6=X#(L9&m1ywmJ4 zjv78aGt;M6M(8%n-a4-1r&7O~b2Ofu%UgVhRiKP*`jl}7+wZgngBf=z|cJgr`)f&YlEtOOG$4jSEANP@~ zt;kp~l0xWo|C_Q2#8}kdxNDfZT@kLH^-XLs84XJ=Wnn2x%BAr_OQQ)OXn7bdMALV>k$pY2 z;JpoI(FW`#*J5QMg^bQJevm^XJ)2-U(TXSTsEP3QV+$}hQ;0j1YW?$8&!aO)wLt!8 z-shx5|M%&6-r|qyp!)7N5v=hgDhhv;%6x=ZUp{v;a+uH9g>ATPcA|CjPL<|ZNi6ae z=P%LRyz)M+0K`jV6G|6(+9 z33Fa`QD(v6fqtuB%IogylEVR!r&##n7m1X#D5B0#7|mm)tc^*n2%{c<6JHEu=s==| zUZdMerlQcnxvHXIqC1=#f{Vk(PNi3Q*rk1Uv#!fu?{lqqw>rDfWGgW>2(%vn<2+v9 z^Vt&_X#=)hwk=jpjg~Q`a)UN_pGJ+KIGIjKqeST*>{5iKIv1ICJB=Pk1wamHKD3^n zthd!-vhy8bQf3@FFu`2XdgZm}bDR^5wX<;6@XC7^G)vz){mK8$X|5eWQ-{d9Yj5?4 zjNSRVi|jpIRD89$o9Y$&Ywa~{^5-Y)1Z!w0xCJyce)!)3pdCoIA-mWi@c5U5SGtD#RGGltMrwTZu1S|4uTNDU|vJhZRG2THq6wM(X78-)Hkp zY8$JsPX>o~!dZtL%{T7S5vDaWWc^dtHLYAr@=m}l2~K{o`8UiMsXdmaPt$n#=>dtX@$>q_Z|1Z zFmDf6_hw6Wx#HdM!cCF>UESS2Q10C9jNAse07aL}Z)XjeKR=69_0O*f?-phCQ`B-S z%){A9rDZ}jLufb7fjICcUH@t;x$XR7#OJie=k$EV&SP#aYQcNXghO+f5NHuDFJIlQ zrZ2c(_sn0EXP@`A>#8MM77Pug)vHvpGoholAVDB;*pMB;IqfP_LsQNdsxm35Gj_wA zOBqg@bgAFzhC1DH_OTc4{Lb3X1nCFqsZCj6j|bSc6z>KX_z%h?v(LwS+7A;eJa4x3 z_ddpUyX`$4zXC8$x}D%{KIR~^*I}P)|*mcILdpPUZxJy@BCGEXTy9hXebC`pY{bO zhTvYg+>~YWd0#zkE3Zb(?YiEudaW8$Ty3&?ZSXH#bZrQo348CIrKG-v8P68aq$W9=fbyc-vAO7g8ZM z3f=4=w;%BX2Y^G3yWj1vYOMPQ%|4tj=ICGaN-o?vQHa~?haofWO^W_vA8&AJ7cBKI#M@fWP`nEVTM7KG5%=D`PIVZ@Rj#6=tF4K3(->) z6FI4r7jCa!7*pK6!oEJWyBQ16_rC7VCg<~vEGfR1^k)Ku{YAqs6-9coEvh1*7@pwW zXq_?{*03z?X8DPz*0Cl_Q5dw&3lGL3v;XYUvV<8eeEL>R&F;d=PM#LQl`5C?nsv~) zK}SCw^S1!@x2kl#vsnF$^8jpMXP)eHcbCC)0L1Z}N5H>z3j67$ABE?Upz!fG7wObF?ka#gG#IPuuA*pGGXqSAc7Z9U$HE~2uAP~L z+_D|tt>E3MhR@&IgO{b%=0cd+b5kk?v*VdFen1{86fGa%UJY$z< zKqDByr1Bo|nD;pQEqvTK;=K+gTg^{Tr~Ev@e5L2Jr|&l4C49@W_v6X3Jk0Q z?aEU*HuPR{(nXf^OwU8#s3pE(U&e$$J~W8>OXowHi*&vbXqOr1o51B#P00T&;rV3o zFrssUdABts?}a7JqN=jF$_jWeUaM-93@5QONt@X*OURiRJxgeb^b2L?om9Gd8#w$<(LU@2$4l-3dEITIzQbCJjU%`H68T_j?Q0sN zjdTu5dop*nP z_egq+H+x?ly~kXfwZD5qsY0Z7lAXWE)tm_-q~KIvg`(hE!C`^HDKkOv^5V4W?4lHo zqJp<-^Sshb=rzTbB->32mfg9u(ls&0^$wd`O#}rAFE^OmIFf$U)b0&;CWt8r?-#7p z#q!UsFwET%g?tdefH$>US6P% zJPC*k!KU?Y)2aPiyLYwtxyX~;n44oE=KQeVO~)pbrhs>&`ZTlbR)+fygDVJT6k!IM zC5W66UOUq)j{f1G;^Ja!GUNBw)IS&oEdRc@F*Y`~nO&boQEMH=sxlmsPtC4 z5`9sWdM32~#!Whp+xb(e0}))^7&DdE;zOeBny3cTL5h56P-f~HmjXQ=&Q`D~6Qk;f z;Y8D$CMv#-2wn7ylCRS*#6MpfrV#UItKiPKyzl@U+5Kiln=N?hmkY1GX?QEI&pyD1 z>R@Uc9b=I?Mzxz^p2Wmb=fXtCTE5)`^DjZm$ z{B(hA5i^4cZ#~se3qwOd4|zaZ^~_7(2$!=bLAvE!1VNiI-a9B(Ak&R&eB5@poZ*zz zV@Q-%{H*;e5mP)4lWgh%O#)ZsjsRy5QRefxtm@RnR|pnHhhfdg3@15tGvcDMepS_D zYwJ|`RwW8m{>&5hi(+!)L(Af4^Re;lg-uvV7CZb5D!i=JD?G5+60si{Dwf-pM5wrC zA52Z2Hc!O-Y1?}ZP4^fMBVn&$%TEBtFM*}?Y0Ki=QO5STWQ9Blub8RV?l|JGK|t@= z?d)NM?06qV@t$Aq*wZ`gwCrZAs!nzh&`_tbuB5nev1>HCFPF@EES$BbYAUQfoU4D@ zWD5ELb4`_6tW->x-`Fx0#6OpBx9w#H7FZDIvbNzmEN6z8&}{tTiIM?}Mnwh)jrt^j zpPhW39P3~*%bVqr&u}fkgl!Q{;Q>dDD8qn+fzH*Ty^Qh26n^2L2`m>7P)nRijs{$Ho;>+C{IkrvZR%!InWBiX2(}%UFBP}SaKF_>;t;)a0 zsX3h5O0!{1Qd3n?A|9bO{!s}pmXM=n+Qls*%HqdQF+_pQ?+_^k8qT#0*_}UE-idvQL$!!84d*{yBp>}!l~o}S0~b=-%_F2~`OPEE->d`8i9&u8>M5pBVkVmf=R)gx zn&FT)WyQtpSZ)!W4!Tp}wkh?_vb;`@dwIefpZJ2GA->O3h!xKR;ZVBWBw*{7 zAxEEj!-io!`zDKP!(o5k<=bW}gTuUZyG%P{7s;VNUZ@d=3% zdc^0|&o zK33CwU#>m4-4w;Xo}s(HD!~3+^G`XBk@*{LSvnOub#=%2L4g4_4EZlDXGa$;hvkEn zKN3=Ac!y1l2bXnqr}C#*^53|hCVYOc#=Fs<(%L^@RF$Go$c|VX-3Sn(fcWYLM=L|7 zLG_}!)>wPhs$XW})wdB(%*mQOP|c#FJEc3Nrl!V+)?fKb?Md~wZB$Rs5$sL#6G&QHCWZdwrB|;h zeM8@pqQcFYXKltLPMtPn22W7Q9U@lMe%%`q^5QXjdcpK#&9FS>@)jC-y)WB*k~(T? zf8zRiH`qC93Z~z9bJz?wD@KM=T)Nl4*~jWGUE$P8jBCs){QN99N!oaJgIUr%6lWyLJ)|3<9{pg?b2dm zV%koNSRTJ{ef?kj_j;kar3)6@;tA4k`U7*1?zW>EI%%6$thSr$+t2Iw)aob9ijuEA zcs7dTZFlu#(m|)p2Q`@`Fj+^YBs-sfp=SDF*s_1LU0cHF>ECp9)^MS)WP2=$Y_Nrx z2Hto=7Q>u6$sGTDyrsL{=B=Pl*A8mi9CFIz`|tm6|NcM!c!Ova8Z#9&YNK^WG{`BH z88;0lFnWLO2Xq=25FJySr$!R&5J>9G7N_5SBLw2RiflizPSLjL1(`Odc*qF8E-i&` zNnK9O)~R7PIb<5gn{5%KZhdHrmNuJ2Bz%x7+%0fD|*CyLn0o{fC52Yl{rPpe)onN1UaS<| zrkh%ve1k2cyzleW!x_?8+uz*Vd#7{7A4;~Ir*sQTMjq0cslKG9>xb8$yn#SO4w0st zTSoorQY}hLJ{eOR69gL}P3s#n71n7w)vu>l>+H0Y2I5qK>s@^kL=E|RJs6TwpsEO` zHgbzm8VhoFW<$X;sEB#m2d|%4J`%%-PkB_tCT|t@>sUH0#)F&+OuwQ_VJzQI$LkpEd%Ym#KG ziv)qi{cl(xs(=4nZkNkC5DQq5w8q55(VLl>ajpyr{$}4mGZO(WIL!&mMULFE2R#OFN*rnJv96a0uVmqxa z*4j!&5RJAnL75Rv#OxrwO{)$IgS>c}rnAb`x9xcwEN5^`1ISn49#F5B5i%?2D&HAv z<96sN=dIOYsj;7|ojuC@9$M+dYtC!e$gp#SY@d&oGbBe7#m&u4AE{_ekzy&?@Z0nC zq7#c?mUdoj2n5o$J?i?v^~K@HIuSShk5aMs_N}c4mw8Ee8_Z%+LyjDrtlbgxu#Wkn z-z}V{F^{T@AJ6m38tcq^&&gZ;Rky=7J45>CrkvpZ7ExY}8T)@tdDpiSw|;H;cF0G} zX~mulsp4}76@N0k={-|?&SJaK+4DNvOQ#<9n3liq;f;lnt~2kPb6m6S?Y7BEvS4H0 zRL(M5~gzJigG)(VclpL!-eq_G0H&c`M(K9}aGn?w8%FyxmWKZR!?}Um@-Oa;YsFFz<*Y-_&ThyCnMU!nL!)*uKx!>J|t* zcXMZgOJ~N3C$g$bC;Queo@>l4lzzl(QOG*})0J;^OnMmNX0JM{cIZomX68xW80*N!*@oX<=buhK7djew{|u zNY*3(4n!C%i%VFF7Z+;U=<=Alh>Xa*|THDrU^Rim6Ulq55PmeeD&GYu_ z*W=4C^G-e$TDMjA<+WXXx6L(yfdnjD|DNaw37@@R`{JVQKNnSh(*L)}f2M`S`^iOS zU-uQATRLUitoUf%4R8Ay4y^955SL3(};fwUiZpE*}K5xzZz3X+q zoaK!QwPm4i6i+|ZVilaJ#l7qn6DUQ!xjk)K*3B&;xu%H=biPdKomW}*?+x&XBYaPJK)HHD{p{%5vt3fpM4JhzsdmkrXMcGvaE!u|=ggdr&|4QzJ<7Mf zm3YF5Vg0W!E0UhiH`*Gr(Bk(AwewbM|Mt4Cw>2nUDpajjUe+>OQ1InVJNcx8yI3JX zZv9hYWtyO&ka4ozZl-tFm;$n{l)h|r{r{y{dhsl^&>%%av!GkM`t@rbz80+)yxr+M+%Mz9uKclG1_;dbMm(DtLE*^ zeljD&_`;1Wv4E9(y=v;tIRXc)K()#Co{p(g%FnPXDBasA6tZ%wDih-Yy{kvN*Jjqf z%nH}@-x2!jrrDmgS8iXeJ;-$p?7xDO+ivu|s%``>8{b{l6!Z7<()Z#z`WxkxzcMiF zQQNRY?ZDNG7R(KI7l>CJY5DQzv3Hf_ZD1B)1>3j(&83fR@m`yG81_Z$ZR2Q+dGaGD zdrMLmu#J<=2&@gh`F&CZCau%r)o-4L9-AJxIR2nFBQOEA+sQZB&Yi+?k^RA@XA7rK zPMMGk4h;r|Z$4LcK6qeqFJ?7^wipA$8&Qe3Yz3|t#j~6Du6fRUV0EX>^b=;{QO_TU z{^ej`*s*5*8-@+r4^Mj7q1?B-;0}+?p2tzm>(*I(sB{O)Zc5xDePG@`2}O%X9go+^ z7VZ>ac(AJJA}}ujLBZFlQ%jz1PBrc7Tn$4HMqM3cXxMpcXxLP?i$=(g1fulNq*1nK6~!_&z^hV z|8~y6ndz?jR9AI%S6B6SLS?1D!+*m31ONcw#YBbV0RXUY000~j8Wh;l@2tiF0HD9R zDXKci>pJ7v*jXEyS{ULvxY`)v8M>Gn0RS#5g=s2I-`IZ&f6#~FfVN|NK2_)TXMNp( ziY-Vd#m|syjQZTp}J)4~RX9+B;*izdu|(pTOcqSKUx~Vw6lQV(q*|-osgYzOlr38_w zYfN|XAa_Erd-J?sJMPRhvGyJ~zAjP@J-h91YG14;8jEb^RewyX-K{a#hv6{hPE-qf zQtk2V*!xQy&dk#_TEKpg29Z4!Un!Ixi;+`tp8Ym%-RC;uplRJ}<+R!yIwDbs@WRq| z*?uF^a;pv6PS4(*iskfLyCQC=5g-n~DdL9wU`KPNT|H%bFiWJQ9s1s(PnX!I{gKl3 z*2``Nad1lcm;iBe{iDYSb0ov-hMr-2g0kcY@^RZ& zDh~`-l8cA?aKsIsFQnN)kAWrzq;6lpZh3jz(>97v8F?kpRp&ndB?C=A%jzhp_(=t+)?`^Dk!P~;`a_Y~!&sPDenjgcQ{*74OQ z%jS`n?#hc(SKeZpRg~_ln^jic?`r^<6hR@6^2&7DNfJ=$)3H-d3>`(ww3^CLJ` z4&$#=ZHrQkQyqUUCu{5a;!;-E9h;R~H<1@&JFmDVYdNpJ$(oU-e39XJN>GsDd}A~} zpZ~e({Z3$hp2+OYScs4`S#f1Xjw{I4BPKr~icYmX>>~Gx%%nPF`B?9EB*V@K>+x%x zahw>thBOADzb$8W)XQ+@m5fMY%ZJK_WT>_4&4>AZg#1Ht>I=Jd*T@Po{CIk8F)XSg z)*%nitmhuD&XwyeVP&J|Hha$mXRx8Ef4vIAL4fI~T7;MKIXi;${ZjjnYv`61Oy?iE zk1-<{Es^yS5EQ}7L|GCQs-JPmjB#{*8VwWekw;14yoMO{DEC&Igp)nqyp}zl?%%2! zJ=)G{MXX)t+x5Bonc{NeH8a^We(Di`H;$>PdhV+aU@rNB@Ey#u{Q99o*0q6#zVY>{ zHi*f0{!qW_)jJ|vs8pe9%1npa)dHPFkzs2zEj{IYW{p6+OWjS$;D&wNqO&uxid!D0 z_KxGENCOhwij+Cw0nWT)Ek#9>aO~(PL$F)?DsGRg+!)U?B z{41lpS;2t$yXUKw?Blh&K$b&mhX(=Z{BDcPHI{UJ`DAw+oR$V@KFR~$x}sO8y=9y8 z=1r0w6m2JJ@zZA=AVo|542Uy%3r#YO+-zc`?lX3Kx^U?(-=JBmC2B|i&IZ(rEy86)uo;P0uuSFQ3Q^#@#npM@A;m*vrZ+(BKsGk%-e>C!x4f@v=uU5MYBFUg9FnkLZVnMAjjv+z0Rb9n?50zgL_)#3o-7n+nS z1EBoeARhdO`m6?w_2hg42VYqFuQ1^uT97Cku(Gu~%oWQS3g^z2T?;g~<+$Bya;8Hx zN1H8ALd!BHUElfu9lUALq_KfBA@<@Z)+=~H@uYRMdp8XE) zQ|Wj>nI6NoM_#zt07PNX1_)Qqr~c6^$@-JkP4|YwPeS0)NIRc1)LO0SEUP?L((lK=k zxLdIK(qBnIy>EVBV=)Zw04gRl0iMuTez}GfcX*=lj1FDz{`uNOP}74ujjA%ub`$_rAAB;O?NvKQeweg$C9M^ z6;1)%@|VnTl=F=E!yDA<&T@GrPC{@KDe6$8_-4KEa`)^cG=OgmC77Gdh#=8Z9G>Q| zde&C`$Z}=aB?8HWKm7cYF#9J?j*3ETZb9vQ1O~d5u+#*Ybh?SJphrjbsE!xx2f$Jl zHV;Q|gjORuQ`M`&C;5trXEDvOE(7u)_RN)&Xb8Zj zk^g?svzY-|&oe0c{cQ!W9-*GYQUXbF7gT(fRPTpegY}vzo(utNCRxY?zo9{az+sla zbp!K9pm%TTzN>s{GD0Lk#?H4|RALQ@4|Av1bi39JJDj+BujnTzTLxeGu+y=Mk^G{td!(O63zRUSL*J)DYsYCJ zy|LVLiY_}p>q?jQVAVJZ+>5%RL4VW!#N0~&0Um@{D5)hJ$?YrtK_;tc0|^ghsW`4z z$Ni@8_pn!zWL)uI zhZOe-9uC)_k(*DaD0TRfnF8v-!s6rgec(&@AqH|rU;Al@a%N}+!fuW4-5WsB6vUTT z1bj7gecG`z0zwazGU}3Hfun$RH3La2P`W_7h@Tz=QfsEk$#F!+KO!3D$yi`Th$G<^ zHDDo*)M1;>gukJ04VCmi9~ z?@~?PXBTaY9_}E7zNeZ~1T$FWstAe^ts-@Jna?&WdY`FuS*VX7yPNAfj zU5tsF+p_>`m8kr>6a@-Pc@Aq5QT`dsw4KZF^x`TYCPHnytup>_0iGf5hdXQ(IR5_4 zP&m#3q9yiCV6RL$WhjSfsQ8~1K(5LT(Qsjn1kWq;X9$TdW@fcjwSq zi9jCMgOGH<{M~e}0LVC)4|}#Ic95Agg;&YNr8T0~SdTPjSdQz$PB3gjs)}xw z$kS4gtZ}&G3$DR2`TJ82s$_@+p+(aoA*{cl-C%nWFpDOLSQfUEdu%|tnjPohpApx7 zMqs-0PiHRF*zJ;9m@3a%wVR)80_`Ff$G>O?QxY!)&9FR$ zCUDaPEkk&rj{QCuii8a3B2q7D0G{=E!<%I_`JS?jNURe=x6u_@c5UTt#MzwUVk=8! zEIRoejl~_Or&8aB4Dptagq~Li`~*~~Fd*zouWZ!hQ9t2*!Wr#kDE(@bbo@rHeM^;E zVE*%6NLOw=lG@=|wumEKFd|_G9g|J;cF=xa?kf`vLqlryU=5|>c@ z^1(j=iz&#bW6kT-rH0HzUI`nLAV_o?LcP6lWU|`9)P((GejpaDAzrzfhq*Tu>mC{& zc0FMWoHOI7Cfpux`df|{F`YkCrn78I$3A&lVwNEYB}QCU?(OSCDQ30r7b7~jJ){o_ zC7XU30I{fr#-7?&{P78ZKM$+ydox_#ezvY=;YhYd_j@L*!OXQW*Ap9@BdNzc9F?B! z6FefJ2OpHWJV%=3;w7I>HAJA~w~-nqH#NjTNb-IG%&=ZdU)C}Qd3 z=-r4#o>kQfR4zhRsMtcM23W0#3+x={FYGs~4t#K084W0AU`o`bzR7^o;decCJ&Ilc zj7wOkh^&fi$!8=B##)-n<3mK{nM>7V3FmWrSl^3SQklew5KK&zkQ|D`_CQgQifU?nFQp3V9#EB;cOR+@^;a3!4qTs%z zG%3t=J7RJoeZmUK34$NK$&#&i*gtjfVBGD|9bTXQ>3EXj2NM=1 z*={*YixZhO_v^Ig2onz!Mb7M1(hUSI!SXUNp!dmnBPE+go%QX}7~3fz>LGu?#lUlZ z;_g1iIKd=Jn4*;gAzO5^4LqTU&(T5?l`3h_;)81}q;D~LT-*Jnx*u>%SrR~%&y0uf z(>uLdiw{}+SuY_m&^KojN6CtZrQRy=3|^i9#KFe-QdW2xRL!SFavl$t{#3{C5NeG2 zY*aZ0LtA9LnxcdDbqQjOsIXg0fjoB`;4=!|Y}@3UK9&*hyJMf9n89Zr*6yWQ_;y7= z{u_!~4z?yF(Jw)?pfH5O&n3PW#gZ!1>MfQ~FI@ABlnE!5G&l%4pArFdc&6<+{6Yx6g%`X%n1ZHOOFH@u0D~)#ZoCNT}fO77n<-_OM3$473EFwYI?3 zF>M^cJY%6eA3C6MFzjE7S5F{SjHxk(#=#CWXcM1v9qq`}$ARewmlZ~Y?Eujf@<*8% zttLv!G6O3^H#97b4|{JK62z6Jb9J`Wv9Dmx+yx0KLdk6zX_%Ob4JJUgWJ0MQqSRY% zkBX09U6wiwqdKt)VLbm)dA~Art#-<2^RrgIbY8WJD-CQ9s|C%c(}23UpiPy6DypJp zj=4AR5ML&+6@AnwKL(~yUQXcr0w}$N`t4T_&U{ zQ_<`+Me5Q9fb3V$SdQMT2r8H-a#zexICSU+EdHKz9~Mju?nH<8M3@W~*i_o{9tSQ& z?GmYB_&Y&QHrF(X!S7O`iDB3D!d{wCdAWFF%|iQi{xH*$?8foNKUc~@6%3oigawc1 z9Y*H6!g#lB%$z&1DZc0(U~~BM3GtV*I3AJe2vL?WLRyZQUa2V*8oo_g_01g%=?oRM(n+AQ8zq~67?h4`!>grHqR~7uEbrDgg&m^? z(93ZS@Lt&G5C}TwJK?B}M=7eNp=K%<%mpa6kaZm+ zr7j|pg(ra6%QtierN$F%glw#>5=<$g?Ry;3DLUAk@sP`HU~Fc{y{ppgiNe!zr~ztK zwH*Z z1f0o3#1S7ltXOZM+yi4J`G{ccqX@hC5EOod^uc%V5-iC}4M3{W8={5Dgjo8s1wR*+ ze-Omrq)61^LQ;{GQbyQ){lx%pRi(X;`!Vi1T+sP-4Y(Z{y(j_&FX9j9`bR;ilbm#h z6;9cm=9?-)%jy6ZY+^LE*NWB2s{9$T1dpDX{UT`Soylz$#8{$c=ow6zjA;@M4U?B= z=TOye3iit}4|lb&RH(z=mSVL^4=Wq++C$U(MxIgbSwa~JM4b7lr3|Df@HQfNtg7Cb zC?ucn(hoVtN=u zdQxjWSmmy2bc9rW#FR_fi2J&A@q4R4$eEQ1gv^gTMfhL}g;mnmw$B15g<9W?#c)L_ z0+BWdoqSZ5W7j5?YIizTM)127SbP0pse({})B}aX?&qNNy!@9$naeWKc9F~gl6Bbt z$<6!z(}qdN4uv4(Cf%tdWazO5{JIf?%Ekpf5(SIJc|E>Tm-VMyPfT+AU_QV{!E6TCTsm5&sNoZP8yUKv7KRkxjk3-0jiQ2yd_2SnF}7Elry=q;1B zigaY|w*oBG9Xgr_H$@FNYZ(Luh$Z_}w&xm(WKNnr%#6##Wepv)+Ug$zcL6 zg#zyGMD7kve}AeNT)jRW?tUK2#a!hnPiYP);%2DxMUcBB&lyXU8i5IEg2fw2)y|Ur;;9vTvi7O-zoZJvyvk3zKNGJ_h811j|4Dc7S4`UK*b}qtrkK70rpq z^Ei{uBSuWLI%()V!V%2WkoCc0QQ% zV9TiD*{L2Rk}XzFrEf)Wm(6k;~cTSFArFQqyRea0qzs=6jNiHPMiMnI7U_Lk89b%N&v0 z2ynbnR$5oF;z-{&He~0|MM$S&lx^1Kg~b4o^bi3zw;W@)Kp(U66#3eCdRm6=CXB8Xf)^y0sy3KG zM7+h>d5-k^L@UDhDf`9#wv0U-1SHla38P4=ou8}26f5H)l(2%Vy#JtIpF}I>G4>>E z$T|a-29}FauSnshA4#uvYET@jKCcu>2I;$!RIvyCPVIA61$7GemQQ#t&aE!aHW|m?y#S>r zb{&-~nH9hbD@;@1#gwX)B!|AWC5^6uwVol3i=_?l;tBxZ;&rjn)i*bEz|%7{Hnrj= zxM=Glz%w=ACQxCPqLZ=_G&C_4b+a>6aFbTlcQe;#Hz45U`NZYI0R*r#bkN0fv9z$V z=WyXB_>0Q{{QRexmH_WBiGw*efvS`&o}jgzAs!PA6Ac};u#2e^0|Cz`JT5x}BMx~X zk$*t|zi|_oI5^mF(9$|PJJUEb(pcLW)6%oEv(wTs&@wPk11YHOU9B8+U8t?>3I9O+ zgCS&SuWx5+<6vrSh4%+jSI^qfft!E;*pK%gI3bjia5#Uv&)h zX$>t5ErF!=K&kZqP2_hmDcS$z_+tWNQ%jq_TtH+0H%bRnqyIA2e;eDMp1)%H8R;<@82}lX84anK zbPXA)*^L+&sr8r*bPaTM4fGlG82$}H#?BPzmAV%HKB_-Z20$oweI`8yb|8x0A3P>Q zBVB5CMmhs(7J51sc70ZMJzZVBzfcDH93s|smb$>{G_}+ z3^a8A)go)5>tFXVA9jkF#d!4XIeOb$^Z?k`^Qg#0Dn1vx^M{E8R|M%+bLRGTW}Nn84}(f&cE)B z$Mw&oh??31DO~?}{J(r&!O-@fZ~rU-3)8<{czA!^mP1$nA0hU-PKE}51p)c~>C!jR zwK6sYuJ3<2)PJ;_{vRfbk(JI+UssQTnvvB|kD7^{jhR}PNtd3Qfr(yUk4cZ7jYUuQ zzoXk*8#y@Z+8Od212qL|19YIj+TfA>H6{6fr*<|m{9`9N;QZ4wP}8v}GSG7{v2rl5 zP}0$J(9sdl{!3xnKdbsbH0GlHf7yiVFTuZU13cn9_%0^@L`g+H69^dJp6tajQ{eh4sw0vqG;OCL&QF@%Ry>q|UiLbo9&^ z(ix_rV3jjrjrU?7OW0NB*kS#fs({1hFl^DDg87CDK*Yfo6sL$)1hPy_OcW&qzd)to zPe{FJWpGSz9(_4unPcpiwUJaO6ND_~)41{dCFuV7G`mWJ0y~>ZAw9lkC`2O*&lZMa ztNiuPkmGKbE*Q}{Q>E4X?hf8kIJOGFLoJvT6QD7U&$JtK_*G0$*foky1~~bYxI;#4 zy?mPC?;_+%$Ox-30syGPHGQ*RUOwZbm`=hE{4Rq9xLO=1KGCM9cMP}W1)vU zBr<~_b`zjH^@H7Kp}0HDx!ls5+?rWEBVEcDUDSi!HU1e=^bJit0{arI1R_tS^Gg-z39GW1i|A3DlnQiw zx|N!^X&EMkX|c<7WnT}-0U$Z4WAM+A8Hh}dakM^!d#X#d^-f-BQm^}7xNS}O+P$2+ zHr9JNq^ql(SD0Os!8cYr>-$ivmg28u(6x(k^*1~KBC@%Pma*e-cV3uW^3T%WFpp1? zMRN-h^e!*H4?X#Y;ZCwR8llU=lZ@5Cak6>3oK#`gx3JJNCnAa#B?Khku^Y3enq~}% z&+K&4wF9Gz{l2F!wy_xZGM`gK9(B1SijvYq$3O(4oY08PMYkI45EgO?1&WN_HXARW zN0duYL|;HEMy%umHqX+`&)S_yYa_ZZpFk7{cN1!#?B(8uEctG1mw?-~H;wnPuZ48` z3`$NC7b*6c`n3cM!3ml>V2*2?2}cc9!Rxg2>VawbM*2~mPSaTm4BUVYXbRCeAX?5U0n7-}apm_Wvq zn)QZo6DyTr&x8I(vf1epVsjnw(ukbQZ(e_i6iYI_YxF+jX;i9dAN<|Ej}Y>e4-^R` z*I|IM`=IjEY|9#nnVA5i|J0b#YGW(Jysg)i3(p)QNRo$q#i}E@jTs#-A29H5vkN6Q=mPq00pVn|IpJ z{Euzp=AbnGww21wFJ}EQ0vngpkymHu+;nfl?wND!KMJHBuD(8gn)KTS!u^b@9U_rY;jxU1fYilNKL=gXrf^JhTUktKj-&^5|K6s8l=4?tAp8+9Wvr7H>L z-%mohBf~H;+9T^hCfxhE>GSP@aF}mrd2fbax9ZYwwuq%!4W^YHKW{K?)4~;I*-7A-k@50J78W zEeHJ~c67JCd*gM;!05gcEFau=PDH1?p9fe5@8V~}#r;vZh-#P$BkNqHyxVe<Iw=~-2b{Wo~SqOI#NTsBo zQw>E6v5|_hdM_*s$fCbsr5cn*kr{B$ue7rnE83U*vB zE_!Bmb}pv5&CO~ih<++rog%uh6pVcmFp)Cyo|Z59zGj$06($aRO89`%GCf4`I=DJf zrS6f2Tm`hOOfBsE8qfVF779h2*_xY54qkk6nY3=DvcHSgdV6wFTYo^)q^y~G|Akcv zPwc10S(S)?(0Fy{bFGGVo%cYm_w{I(+s=zsDWuynJwY5Or~uE)Eu;6d_Pfjcu@dha zEH0K>d(E^-fs@9(=pdqed68(TK{&yz4goUJoTJqI5RU6^eAk_Z_lrL7$5!@hNsQwJ zB%vT)J%zt)jw7V$GF$>Whq{UsGc1OllEzmbbf?QM#W<4 zY74K|-0z)Nk=9%{Gq9%De9oJf+p!P_S~l;2$v-^i8yBg5)Cq|)=ktr=ql}fU=%Db101fL6_647Svmdrzs zwf{_zRL4&S$|uBRh@KZvpe9t3q=eyLDu&odAcHS3jtzAY+82EBx`O?&H_7{E{l5I+ zc(j)cgHKfdDXjn0qsk9aN50X=ZYN;R22+m+KL}laqAX2VR6Lb20MUMenB9XuCS9HE zOb`bDx2nYPH2Gd;lT_{sdD5dCk6$LzqAl=<8f7oy*_T?XR*{zmK{prz!7ciH$JyDb zbF_V@^5biHilTqWegb@qPj}feVwkMmM2o&Uu}?x>s&K56v>NrGs5~>FaS)=Ax+CQt z7Z;nNg+-1~2)OP-g?MgSVTBwzvFZfhbm^d8D&uSg_!x=+J`8x6kdSk^4p4#oEoJc7sbT2tGIw zs(gihz_^-!NI;Ath)E_E{(glxQL zn));%$QU`Ro?^Y`A|ea{9W;cRaEXp|OIYH(nEh8jqa-_(`so=9p_mwZ5)6T<41J_V zzAAT#5`H1#5N!Mq~9{h$SyB7Pxsc{8vG z{M`(GQE11q@cckP616;8UeOS{R}Wd%D7h=|9Z=_w<*QEZtw#$Q)*VM37ivtM1!gQ?PP@1KSDP%;Q`6LIfS1io zg=F#rDaYWL41VAxWfX#RjQCjiU$IEXN*16&9KYhJ(u+z2bmN&3NfGshk*f)bilqgD z;`Qs46(kV5D>35*QJ5}ND23>$D@Cd^f*|>-#l$cVp+lofDHP?jvj*s>HA>@yV~#0~ zi-?F+wcMx8m#b82c6=%jy@HV~kwX`q2rU%hLq(BrHu54{H!{e_&pG=J{H&PKN zUnB<)rT@8N2_V4VLlGq6J9AkQhhDM8VGI4{2#k?Yl)zL;8rFXRU6*cFxvIMDUhD1c z?c-_k-Ns|!`UJ}A@aSTe0|XK2OPYi7rLG92ub@C4GiRIiP}TjMg*c2*MP3LTJUl!C z0&7{BGBLgYBQ_ScIZGP;aR2UHk_szxxmi!1@S8u_FE|5+N_#5;Ng3(0rP}-n*RAV% zH>ekdk>Qmr%Zv36<5p(#03VTv&+ySvQSt^qmCUKEU}fjg!Ixu{_zGS#p>R~4-yyK7 zmzv$?%T^jP;|J*I7`WINh{}qT$9!iMW}%$UQn?&lw#xQ82>tcQvZ|TDYV23<7j7k0 zoFA6*0&~OCu6sP8?k|>@xmY-AY#b&x))ih5_MG7JrY-If5I#pmioz|!5&V)2U=pyj zv$LDb;;u|xCi5kz4a?8Ze*=5No+Z}_lB%{?PUV>ylvS84*s*_*R^>?WqhlP zBjEFSVz&sN;Uc0$QB4u~P9h3k9?r8gLerKrAxEcf#= z=JIT>{nF}nr&TrMOvkO~aQ%cjs&)DtKLUarLu&qW##zQm?z>yChYjZsXPhMmonpMh z{w#?_Ezi+NRxQ`N`S9du1u_E0%A@bNuD97A;o2XK-mfy=+t%-qZ|)CX#}D3JSsCwb z*^h;zRjmTd#T6m}=wQ7!GQ2PDT`z5({{G${i|-FTJ^aWoPG_#q?lK$p59``37c^tv z_#|jswp+2P-5>U_Xti7H3>kyK4bX?#;S~!UhMbmGXIIxxe^%g&6U)ykMh1i!%x2Wb zD9p}kx1E)HUtV}0OrF2$eN6F9u**BpWSvH>UOdiddu<)?-q${OU4kKlcT3QA+y;Lf zJy^9r4Z_m4?P_d3FRVMSH@a?4cszDr*H3ir6{T-F_O+>0sI4C!*VPqdCzwIqpL-tW z23vLQ++T3La7&(oT~?KE-1t6pdG`gu`xE9zAOqJv=SA~Q)N1E*de<9nv9WRI)g9-@ z!I}2@O@DYft;R#B_FLlS^SI0pmx-sYR|IcImm|N7`jC{gBFR39$&SlW?;SLr_mhv` zeYkJa3l=9EZ5MC5U5~6?cg5MQ+iB(fRD&)$iyNdk?ynjT8}6%M4+cbYUt+2xCf04v z8W+7T331Pl&tlQ_BkF^Tf4FY#yK9vf3gKv zYEiQZCIkM^pZF~f%a7C-?vvIY*SuWUnNVo7>J28#^0LTq0*GenUxVlmOwfmc8+L!) zd++A+)5iM`c_WhI^Y)#n$+rPxyG)+fc-%xILw-?~wzT{{37wh>!u)*Jb(fv4_v8(^4*dh?u9son53~eSew1>G@omII8kG zLi>&^Y&S8<`>ijV``98*eGErWirZ!-sbCI>$<+7^nbw$hj_>SOp3x;dT zl76*}iO;R=iQa^rn^D?uKBh0mgY*ULD$?s>tD$MbIQ?QWwZ>!)e6 z6^N$oFnvzFn(cnSY@S3z7Jifi5&PzT&;9(nFPuiT*6i*W0`}|aMu&zdRhd9c9I}~{ z+5T2A&U2rP=kfaDj}PyUeC><#3#G>UvC{=h4UO6QG&@B4#*FLuP4{b=k3*TF;$rXZ zAum0PX#tVcv^1|{_sy3%T#sWy+~=u3P7x~%%lGxc|Gdogu)8N1*X6PhP5T=<`fJz6 zk+ou^nZtDN`}@0e&F5%@g{wfXf6BEt>M0n);036H_==6i)y8jy$**fNZ>QGY$MHKm zJ1Tb$5AdIDygYG5$w5N!Nk##!m|9Kk2i!^#5=m4?$4AnR;}-ga`CTvRA6G{g+@5{z zRv14Tx>1a#EDZ1l;MUi|0w>?m4u~;q0F}68hxIPsoqtSAh-=#Hn zczO!(JdD*luRlcs_mo}#CNGn_73SJ9zAA3#GmG-O?zc@I^MNpgXxdnjd6>7-ydI_l z@W_OXT;KG~j}7mai}yFJ&DWy-8jtz1+5uSi=a;%t5T>Nz;_fLi)fE5=xY#eVG74nT zBet!wJR(E@oJq0UXc9GR=LI+J<7G6Jwv+O&&4%ZUM!~+mk9Xep)ji6jXlk`3RtCw~ z)T7i3p8H4K_aj`-?F+BhAPp-VjpiJr{GxV`flpzt`xhU@N(Y&qR^HVCaqu9Fv$NSB zYX=kT4{Oewb~|Z}<}dEa1x_*+&9{8Kts@8P1dUP0I!1368d(f)C zI=-r(kZ(lKL+@DHtZ@b!0pVV;XKQ%L$U8_RC%}UA2JUTfGM^05guysxXMI-lA@-sS!vUtYT-0n};iIF0V#LW7@viBsX_f_72LcBto^BGO5 zoCHgL#UP?Ug;4MC<>B38$4hK5?sAKzu@2Dy3e)*o=S>e3uGauYhnHS#29%l1JXag=jzS=M-c*Zm&l_DJX&X>@rI`?#Uci)e%I$3U(o>9RWrKDyox0;UD({|Ljji&*H+r!+$P-9erCsZWa zeT7lV$Hy-ds2^BD$HvfVb!eAkrow`Y=6bxGIOAm1^!gPqPB8L5k<*0a>$t``a5v0`gW z7t_gdz0-bl!79|<`K(H#(qa%jZeMh{%UQeXq_po#Fapjo_F=O87P;}4Fi{$IIVm?t zsH(Q3AfR0|ez@NCSo2=Wd`x~=_61RHdcNHOv(=vCM)PNpAP$`JUSyRyTYa);aT75$ zGqGHSmJ#qw55?}KrKPg@at12dh@vv32v4v#ESewQFDji*Hj`fTLNI5k%inRm9_wys zSFW$ifrkISbe74V8b-<<*aFaKS{_$ndz5-ghVvW;i2nU-TpV@h zd9c|ow^zm4E_Oiglo!--a@x;@!fm~640yV)roEqh)I?K(UjxSYOK!qz?GmkmO8)B}jGTSiM zwPs2`f6C=UA_HbEVtx*H4z%j6w{gx|Pp1kp+Rg9ViRLOQF&&&v+&6QxSXFIyJ#oTX z+}u7=r@S^cAMe0;Mf%bAv08!|niNCMKMd`9^~;#1+2Cz#7o{#th#4LkZ>&g7$&ar@ ztnb-colPZiKOpthm3GxCyqGHzB zf~bwnC23-6Mf8L*oQZH`1d&FBgCnBU)qydJ5wt)m4RTSl%4!@pXz@0TTOdmP=bcDC9L zgw@lsMHhO-k_SS5(Ooagb~_CX#_>4hjOLwTWn$~pb9Gixv9=hrV611XT`p0Oujiv@ zRHBC96@>ewprhmPsI{p5u{`Ouuf^K#K2Vk@u-s+;z`fadVf}VH3Cv>VWa-Tp&z#yC zJ@&$~UzR4}qu>^k;?2le6Hn%5=hv;8(5Tdg#pCv5XW(`%gd*g|6{Yx;;1k|^e0_c2 z6^l{Ll`DA;PTMYC_r2eCcyZ9NI}LR7>)Xmp$U)hOk&t{rGO5%YXUZQ0R&Nid;z79n*DtmaX8x9Qmf?+Wp$S4)>C}E!X(ez*x2o@+MfWfnIehb ziyjs^3uiQ31W2O6>U#3LU|J+c8t&B_R7 zPR)|~wUEL2?M4a%ES>8q=S!u@)9Vzfdx-j%Oajo4TZ3u}gyy&R-36fXU3AH@7@A0co z8r(QX*Rw8JiJztAx>?)3O#q>XWTr-ywO5Wo`MSE>Jv{YvvT*iF8jvUbAI}1eORfI2 zNKI*$?LJFq!Ch+HTf3RS{)QnB0+)-VhpKe5e30FybCsvA<7YuaG*3WmK4BCJ$zKaW zAv^O8CdVgaDhF8d5*@73`L*4d+oM>_+2!?OKgrd0yjG9)KozM3hp!qGVln|O$sUg) z2#wzqU&PgPy-6;jZHL*9$V3Sas5eEKu24`=c=PXw$W<_9g7(Rsj%_^1=4>|Lrxq=W ztIX@x5r8(6N@JW;O!TwBU@9cn9R~i!tzde+`FW+h>w2Ke?Y^{lvgOim`RE9$^X-h1 zRr9CWyjfTZUjSr^ngJrRkr}4Gq$3U{HU=e_H z{Kvod2y7GS$tBBF{QjaUG7mu#v`>e@-lvS-@0$x5^(>0D<PXj)5MIt~l+h^7>)kyY|ai3PFb#C}R}0%@jNq+fgz%G7I2dZ0F)Prht=>H*Ku zh%T?wLp-;>(KMwbQl0Gmnj(nHk<aJ2=_)OFE&GbSj@E(53^H}=|Vt*)c*9WVE1>kpUu z(eJ0xZ~eeJRydu?d__w_nO<=eh{A+i$+8}FA0eTqAlS}ma-~|mQ_tn0Ws~>a%qUHV zN#Ao-89f)5g_^U)y3@Jq0Yg983```Uy|@OeH4Y{Y@I|xTzMBz;M}AOX=Ce=5&yl2& zTns#>3{-7N{bnOg&Txw0aj7&^&a0SA5+#Hf{7TjQ8aB%M!)eb_`+bD6x?O!v{1*UG zsHmt2_=ts|pkQPfK49LY&Cyx}yjq!JkwX-a->rOMIiu&ic$md$m0DTvUhai&=;E`Uk^EK-Igrlyw3 zite{=)VYpkWpWP4hT@rm69yU$fMW zlnfXxGDeruDN>_G2%|xyyOb0VX{0+GU86@21OyZW>F&G~>AH}T{_px8$M4bo^nS#H z?bre5XXpET<%!PW?$OcyAwhl6jqfmA34#|>iruxV7#AaWTTSjX0Q1YQJ#hYrE>iB!i-u0DRk+-AAjp117x{N(S(df=}ZWi}fPEFd{L6dEB4A|8~U zw>SOsh1P&sQH^Ia9q233VOV4Qq6^zBZfdjJH~bVcu-7y%%9wx!Ho~pW>@?x@VXX5` zr(2_SU;YeX)fVZ%LsRcDGG{_cHnM(*o%sXoSnt1Q^evcCl-=Qt)<>$EwezKAy{% zRNy;DwfNQ1+WVq!lLi{cZTm;eIj#M!293Nn+nH{c?@w#9EIydTl+r3HrzKBXk^#*m z+`2BuI$FP+IgcRhoS?2j{->)J5B*+d5_zp3?uNu%ln3Mc;xb?PABsJDdGN3$(RKAN z9)%Xmr=7Wpfl$m7Y!u_<|d8wycJzrcCO9Bf|29mG_GzC-F(6MB>PK9s0I6)yy9dCvw$H|$WQ)txgZ5O+| zSZQu{kZhK@*Jewe%zd}qO&Z~E=xZtt;DmeYyoK-X<&%fC-Xz)U$cK|Ff;iepdQL7b zi}yeKCZdhH_m|wvTB>+Q;N$@)JJX>`_f|?{!(=VN&z66$_t%5A^ZdTPnI4r$5-!4bEtdW)Ur5jKHi)k z^k=vG`j63Et!b0}X!c3phR$-A|9<(yPIrE%{UKJY%}KB?(VeUhez-5s|8RXmS8(_D z+3hcXx>^^}oHF=7xu@fuyJb0De-dOE8%(hftZC6;{ycLuN5XB%d+chv^Ut4QUd<|; zXevFKK6;~C(@vY^#PNr#2V<{`rG*Oq{kZY&e`h<6Zg)O@IQz3-w~N*6Yw#IIx7yF? z9+4Mp$EV}Zu^k1HruNwv@BaMmZG|vF25wujcm)F+o*Dp@ zk2q|QUzEvZT!zc=B<4qVj@C2tZmV6BVZ{>Xa_K05AZFjUBjH{l)n0J)=JKHPxHfPP zIhV?zk!?O&Rki2a={7v~k>&jkc5OSINB1TwxDQwuu6JHO{Kl?HlHAR9!D5@;%|H)< zQ2*fI;C4aaeaFieCq-C~<(K)q?JPGH1F%`E$%JcMe+&wR@^Dc6`aewjNF=<lPcKa_)~fR*>#%SJ(#!6 z@$R}Ik`$at4lc{ZLzQFY4wqWf=691ymvV0&f-XIl8??k)JzqGSXOm~W4w$@-V=~t= z$l$Gc)#>c|GmK+6Gx3=mX=r-A<;gFNx`n^1#~&^e1COO8{ehM=RhZ#SkI(P!k{%9T z7Bn5*-iPAw1(@6JHrlb=pRh1JW^TL0%G3qxpM&bl{oYvqJCwjAcOPT1)Mz)HZ{EQ{ z$kAApycug)W9q-3^x=2@P1iYU`QG{A8=g*9>E9ObzMhGks5SnmLV0+V@q<9 z@1_ISo8FxK3Ow$-yzp3S^O@JiA;g{?HO82qQyN%UYa}AVR%CzJKKqvK>wBTPMAlct zgbefyT?erV4~HVbZ`T&LYm7VEt6R&*7}9HoAgqM3h571Ibkkc{njC9T-E}=%w{~?H znBw`?RW@*QFX?tB$-?()Gn}ng-3zE&_1XG-sQYrb;P2Sode=>UV2k^@eO1Ha!kd%p z;J+{LPufZ6&nd{hs~D8eIJa{2+d9|#cDUIa7|i-4_-`9cjTl{GG1osOKN(nKEhBJc zC=Qn!f{lhfqq5}>-su%k$#45_3j~WNit=w6Jc596M5~jr{2cG*!te6zjDo_s@@-X_ zlo9I`S(IV5*xSEvv=^fr2y6^Wbmx6&s@n}-YH4B(_f$J|#hs(0-Mypi?EGxW=R(5b zOOE0Z*58Zph#bnw+5@uLY;4>{sgw*kK;Mutm4o3QMRzAAERQXN$@LVXCg~wM;om&- zrJql_V=4&oBB)BH0DA0ubC56%v}vcFR!XMpUVY35z}#lNFN@VPZ6x*O40_+?*tOa((ym{=zQn z^>tkLt%e>}W?nQrc|$JbeR**~erA>|J*y!7NG;QVyArGPNtg2EWINYdqwGiRoBZnO z6oB|CcsCTyX6Uu9wWItel*pGj;=#vZxajBp@2mrS#SI%;>*~tujI8V`^Lk#D|My-8 zvyu`vSy@>gI})ruQ(jh9HRLi-jusasvoX} z6%ji+I^bmnVsWe^Ev7dYM`ET}rv_UQd`pLu2urY+VnoRY^FyQcVr#h10 zr>#wVezTYz6)n>vh0Xu97DsNzDzS7esJ;Om7XylDUaFtA^I3^E{ zoPB*#_{+Yed(AqQ=2q7_7c!1iHN+nJnj0AC@`jr$;q`{MmAX|?N8I(|g_kJl2>dkU zxaLBoYv#zVc6Q2I<0tDI6c$E+AWb472GI%jv)Q#D=@L!HPWc8%W-1dChDPYw%U4$C z&3z0SV(n?!OVg`roj*&(r(Wa_@DRmDS5&4jAaTGw{MDhB=|3A%d^?!KBS3oQ8o;t8 zk%?uAg{)Ceu!u|RGMQzmqD>Ry-m$indVFY&o-kC`OPh+r4EabNR{=kwsNrW~okxmy z6sW|MD@`83{P+oPV(#XIDru*%mk3m}=ii<5mQ_> zx>kGCm7h9lpq8v?Z$Ltm>9rhTKi2||3{nchW5a_^xwkSXQg$8c|Dd03q{L+FH#+V@ zM>ZevX;)O48f5sw>g&#B{s+Tyr*$j5C}QVCZH7z+RGNt8lctoUwjnrn2_K#U38S>( zzR(-DRL$`oy9K}thylKh#xM?5ZUDk7i4dQz>` z1thY`D^TgyP0rid0EJW@2i&4qsIZI-pMkCAP>e2_JvM3l0|YiqRpEiyR`AZ|3dBVh zvlY#N0r<)dPFU0+=#mQI)Dc0zN7*sI8Y~wZv$N~x!127Ijzd*t&~Ny-NQx(L9%W+D zaC!O}eR)cra~rXF@vQGv%^#5&R5d?LUM4{_%cvCdQY&~yr8fzr@4rK*7MUEmk(QPA ziX?sd3ha83$f}4!L6JCv3_S$c0S{AC6srPuu#3UvX?iU3DY=SJtdR{dEY-SvNN-c# zi_N2bRy^l?lPdu+7zISo$FA}@8O~m{!wuqjP`T9KsP3(+?A(k(i{VXMDn>>_gJdFT zS|F~F3OgUqolU&Gv$eu*8>FiV%=s}h)^rDr>%B$Zt^i>PmZR7TcNE<$7S3Vs60T7=fPxLcpU^14K)6^|V?0p<&9U z#v~eq6ZE(^tT<)*OdxCS>W98CZredFow3r~cw7=ee7wet_#zIBT&bg$h?1%yotdj{ zw(`Yh;=9a5NovXzkYXiihL^Z^gnfe$AOH7HadG90gCN`?#0$WbWuLfa%CBKl&s;cA z5!X?au`d^CFe@6N^ZS`nG6(=xHKrVt`Ur|G-3;CBdXv!0etSZVr9^WrRlFYTGv*lEjag9M={ z&`?@e7dGiBlC-SDy#4zzGn>Jgsef6;6f_^w=L#H~1?}-qj`1K}P2qmN)^?KJyyT;d zrA>c^$MQ4!8;6D)?==*~K%zhs*xao@W!^v8!t?q{>JR$P#G=$ys(=1w4<&c=Sf*E&b_EIWP_o4|9WqiHA^2Q!#!+-6o)uip zDkF9AEp>qBrUw) z&nGq=w7FWR+^H0J^*n(@{`99|UQU3pw$CwK?6M@%C?)l|v)?IWz-zmuS6~0csQ%1N ze&L=oz5D#s=(-*G+bJ3xuC*<#ue;A4D=K6z#@NuR;jft_@aIB+7BMyd93>It!<9dq zGh7_pZZMR4yxu%*bH%((_RS5O?P`DQrY@^x5a5jZV@lfIJRPv6J<)dBo~GJ)#@Oik zq3Oy^+h-?jsB(JISWmc7R}92mXuHq+Sik9gV_Ilu1E(x=ir?90cTryVMgNa=(yq|U z|Eeo>ash$Vl4DFd0>|}tUrsBl2uDVmXPs&47Ix=c<4?#3zljvud}hbSHT=!qGF5GS z`DU`3)0*>yvaGIiDG)9(G;ijzwc>f@l)u45!u;&QW{GKf-lvKIKi$|s%C1N>XVi4M z()UkPJci5AKyo%unwh}=Pyg>6%CfF7?APhku-mPZ`0=*pPsvri$7XR7+wT=ZOIqKP z=h?o$b4!$&xV?bqcEO+RmcgqYN=>ZtCK_xq&Rh!mEyDkix%2Nala7u1FRwh^``;3I zYSZ{$aE{n}h>mUP|9tTrxzf-!pD6CW)DWD%$L-nE@VkQg#jg63pwD{R?~?+w!fdfl z;A~Z_e#`P<)uf=_#%@)s9)r6Rm)x?R$x91Wq5^v6KAWY}?=H`0A6c+j4(m7zf3^w1 zmVmHvq$`WCG?k81ThqlY*zd~sRA;sfO8$&fhvX)J1hpzEB|ro?JiFgs={)**p5K#q zX7O?O2cs=$GYKp-#MXw!WSISLUXiWum}yVXo~wCIZ{)Ym&!^M{0c8~0#sWWg)#l3n zRMR&YL+RTMvdQ>83P=|_(USa|zfjNh`o>B8-i1l*Wx4vx>QgXYl^M2$^S=*$==qmS zDmT}<^6sO6-?I~Yw=dXdENA*vb&u4M@GdF{q) z=|*yk{Z4Frc{a1Ib9C2c{o^HLQtXA;CkMwb!zd;B^^yt-6PZ50)aC!*% z)2NFouD!iIBtb`h6l~8e15ry>7YV0NF&M_=m^iE}5=aXG^qQ`y4WK#52_Rzyp$J}j z{a4q#C_|C`SM)RS3PVWh&08&4d|~}#>6}n~5LjnMu+<|PIHHfq{hFc&CC?NUAtV^# z4`Ve^Ld6)f!c^#SGQ&;VGOAD}ja9fPf+3D@{tgbwc~Z%Ff8(b>e)DL{wq?}MLP521 zF5|WsFF#~yRi@HNtCtj!2q_q6mY>>WqOEAIEe1vE<8HBQugJ=$Mm+_q0FNx~if_`A z-fbL7jv=+rINyA51Xt0h4! z99T0%zdF(==@X3bhJK61rRIsH5yZ2O&z#kdRQ$w{>P%UW%bQ|==V;Fwk?Xa{pX_5u zO`jqvp=3LT%d4qIZf#=X{YWP#GY)4&bh;jMZ8EI z5nue=OedIX*VG6%)c&+5OW7-12%l9CE*J+AYOyza_T}&1_wO*ia-F`P$~Jt4b;Sy> z2*M_L9#6UN#@{WFPQWlEqo&RgFSuWdm_)=k9VJ+wTT}L!{f)c5wSBf15Jyp{VQPOu zw;!NMPAGzkMrL$YS5*oV5^_$f5tBGRosLd?N(4VPXe!Tt=ZU4S6=d@9Z{J@vMh<5( z>g1>cO$=snUzK7_T6Uf-Mv;T!B$@M}0Nu;`M&e!YWaM0t5gB{kf-ccAgLk>Nyg* zxg8I#13<${YZ{`}BKV7OLJ9KBV(?*K72O3G^Q38`6EvZU&HaR?q@HJd2z>j-mfOsN!gTfWpS!ej?MdnS z6xIZ56CS$-DgX&krY$iWoUUb|NQn==Wbd8Z^>#r&5{;AGnBLWePQh_R;vjJdxK2o4 z<1F07uTdWOwZ|P_jmOf~p51o%NSICDp;Jcp8JYguo|p;bJ-`wtUWllJ;={j3fhBiW zy&nS<^@Gnkk6U~+W8+b=3T9p2vQLtJ@aZRQn}RA%M$KyMl)?BoRD=qjZGVzmT<;yD z_8QenF}}a3ln00jhZ$p#IFb;8=&P=KzxDTgdFZyFDSSczdjdCrF$D;vRUSxT#UbFH z!zIOaMD*0)=Tb28+SN?LO}JM0{a7SF?`83I|GW9DEL^^ZJ)IK=1_mhNhYrvymnMI2 zj0PpsDBviv!>l+FW0d-1$T(LJz9By@WeSARC4Da1QG*hf3KuE_WGY{Xh^}cURiicm z4A*2>+o(tA;KbpA0X71ZtRa{hAP&Gp@e*zerUcQT381!f($U3g_{|74?zv(hD^-dy zao9wo&-UOPE^ebE3MS7=SscxcIAY>gl?q8<1Fn=;is1lrQi^`g8+Hxxum8Q4nDW6? z7?ibSCPyGap#+qRrrSz*9ps2U7G--C{78IULwp)2ReiJ?2!GBL;{A<5+t~%B1#Uax zf+W^J74fZchDmboTPwin8@SO425@2^s}m|>SmV;p#f*0ng$s*CQ_?CnXHrY+HmanX zwtMe>Su|hjIUO!oZ3`m8{`ES1+u3|{#=m6slYVT_RQ>SMf&hBL@L});xW76>j3Cyt zecmQggQk2#5=E>dWkIfvUxSH(aA(2`)tnfapM3Dy911+@w&0^_@L^50!%J0W<<>VO zW8H%YrYPW`XN+w#ps)#;H4-1}ObUpN7wZ3%!18{=t1zdgRE-YGQ!*%Q9xL{kg1D3ry|ky61kz=nwhvER6 zIH~MiY7ntNN*X~&W#AmW2aV8q$9$*MK49p9VSD@|p^d^dl4g~1HP3$W_7sU>k zR%bxjnUsqj@dH_vIj5v8TL6XX4be=G9nw{x(BgE$H!VWcY=TVy93Z4k&5;(&6AX=J z2aH&w5ml89x?NZSh^c$m^6<-Qs_(BRF~Cw%i}3lDa!XF7b49)>Z?xBY$~+bfjbx zuJm0#L<}R=RCiqE<|?R?_(Z0~zqen)!a{Z_%i`(}A2OS<#ImP(&}(~C8K4*YCpFX69Xj!jJT5Y;bD!r=iU`M-1RiLGo>(moNUu>c!DQo84-Eety2r$7iw+P(IhgTv5OKS7zm!6zS^hlrQ9Euf@6XN&_tAT^P8WDbVCFKDOy8<98_SdFE()n4076SRfb*fZAZ9 z^347(3!oDLCQhHfTr|Z6;~c0M_xP6EeJ}0**w6!uU)1-#`&!3r%lXsDOC$HEfJ7$EN>{{E&an;mf<1zgU zrBhJoNThXhz^02wt-p<>q+F$&qLpjS_Ri0x?4|LbpQohzv=o~kAF)Va+c~DKGtjrzxWT%&WfW;!)z;Eg z-XX&aKK{I4s~UXjwY%inpd%UZ``>^6eWTBRmbb%9Kc)wDESO@2_IUnUXt3z|`^W6K zQ)v*Ag+7#<%u+9X@^0rFQ|7AivJO#5@6~PDIm?%ep&{Twv(t1<#`(TP&HBF=#kGB2 zb=_S>T_1k59C~z~`UY;7BF*QE=3)eYr}EH{uzcyhujDGYUCH{;q{Dx-)_K$YF#2%w z747GvnYS{x_9)u$lX5!36%CzTU+=~ydCG&Yo4Ox<1Rs17rwL)$d~;cJIp1~KzbB^5 zG`qPMYh!a46co4h?8|;vp#8`$Rb+*JgU-8q zzxBXvSwFjdFVhr^uVlgcziZbtbzeOHE=*p`wKOQQ$~|wk{rT&Lr9F7)tn%q&MV`hH z#3L{*YCsTAzS8*M@R0d2Bfm0gvd8%H=aW3R=u2mZVSfA5ehLe-hCjWBIcCeI;ewCp zAFJuUxit4%_deA^qumVYjR|kAAG(8YKi0k9J<;dA8yceF>W}L2b~c>%aifL-@X!KH zZ=@d0nrxBi@>6V{dUSPNkBWIbmh`N!K@f?syjbyCZAP}PzP*{sai1B~NwaqG3u-=1 zu;_ddJXqWn`hmn-Pszr@V!aG)wxykS-u7_T#?w?rT^L>8kR$FMaEPLjxje2!*G-4M z@ZOmyuJyl^efMy-*d#dd_8fpi37~PDibbmP0W4i8CqEViJbzNBBb)DnXQZRf(+BC< z4ATQV-BoEejHXAbQTq6?yx+{K8~G%)kyCJGNRQ8L86Oj`Zi`R=@xT63(b?d19!o0^e(8`} zspF!@-TCiGQ{BU!k%;}c>AMYbW@^s02c}CF*#(i6<=}O^%Xx7zwZa~KDoWLlQ6DgW zFh0lK4+Sr77TZYa0Ke2;bRXqi2H!UYSG!bLG<(MwwwHI@AUB8U#`1zsnOkSYXM}p) zT30W6rqhy`Wv&NGl6<|r+0zEYZ!Wv7u!L~OlubNb4%@xC&hv(6@&H; z+WAWhOSy2AIpg%;3a31+dKm)k=0@t#CY7QsR1Zvgl;HaA_|D?_`ONYAt5%2c9BOuI z)7|{=)!~P`N{9S_>&qO*9M0x;Yl3XY?F(js(b4WpneLpyIf&JZf`{2yBMYp3tYJ1x zKJ1Q&wmw)}4a~o74YrUBzMt>9CPHfV3wx|LY!uvY{@B$N&eM`;ZIPyX1#6z0GsU;` zjl?g-v~9L5yI0p$%6k4Yk?Zfp5^zSD0qoUJjShIk9B@Q8ytpKHCwD*o$}1d_8QYg< z*7~sgaP3rh#(cSgR71T=#;LElpRGbRIRu@wcCQFGmgq%I%#74%I^z@os=BDv=>!?rA|{S{s)K0Gm6?@w|3vWn)$1MdI~bsl(eL* zn)&U$UwZX^jZtrYLh>y_RVQ&<2@t&yUA*+lyx}cB?;`f6o|g-IW-`B-AX%8%yxTq2 zp*xg0Y7bQW!9GPoiN?61ii(8NhIQ#d#kgP_x@Vnlw^ci^d(Gt}m5HhnyuC+l)%Zzm zi;<~`{G5s#@(VHJ_r;@+kMF2syKC8_gU!S&JbFU>Tjt;Mc_VCm)MhH3=Me4Ii`R?I z{N3(tSRlpi7}+4YdO^KqV`Eseb70eR*E_&>{vdH|Y?Mjj5jmN7i>R4R^F(OS4aMad zzj5Q|qDsn`vhm!L?cl2{E9i)=3t1C_9a3A%6+)kR-5;eYce&6>v9dm~V2cl^xcU06 zb=^4d_|R|tO>cr0^%5B|;5Q@VH4$OK{Z-m==jqWMg=}dmE09>p%Y3?*LT>4W6O|JO zZriK>wqe&^#{8oL+0SQNW}mDaEgcV;JTMYs>u)5iAxvXsfmRT*EmwJ)39cYVP~S-(g4aQSS;?90QIyOpN#gEdUx zQO}k1MA*Pn^IF8;xmnU`_E~?@^IsM3t3KR5&wq*2W&MER(jE3=Ib%F8j?(#UdwAvP z^aMm{9~1wUb3cNZdP)qb#U$RJn?>*16JGM%()a%!u$HIS%K)(kZgQaob-usNAG8;k9Z z78=6onHcww{)HZvg~67E-4^nke%foDE|(MkfB=j(Li3hr0vr?=0HR_|q>al&Ln30n zA4ttp_hxG4EG_`jc{0Rn%;MPCUtc8K;tb};8 zRyKWU8h;q>kEF-JE~|m0bo`Fa&bW$rUt@KuP0X9Pv_Jj*c1_`G3joD{E3ezHw=!uF z@b4LU(Wk1I>o4g)J2+9k@p2rR& zx&D9u{b}0odj8h~eCfYYGx|Z25U$~*TW5XXOYa_p|>KRJme|j~ z1pY&Muv9;o(mZc$Yin!$VTtAW`R`}>*Oy#!uO1YB{7zh)w~+I>ZnhO3>;cHbIH-Bh zJ%ao(0>O+xz{I2ws;xl?sYbgP0ySzd4`pN+@K|cMTfe`HY!FH$V|^m$`(^vzp9~@n zyr|?zfey100xJNUA&(tp;u9%h(N7jl&ZGIVfo+I~AX{78%UW}CYE#lkT!3gR=6S%6 zPCla=a52wxdE-EffZ2SVMeus(<(_R%81Uy8WzzN6Hy1J<=+5&@vk3i4oxhGZiBVf+ zmDA-olx%Pm?7hh?aYrN096ef;M;N6>S%jdKcR}Mz3P+Z7YLO?H?&?yj7uG~iwPVm| z@hq8o|0W^M(0|}Eb}r7%b85B;3TRkFI#~8Hj!a=anWFW`x@@KfQ~aNEr8?^)gPN*|H1h-LFP!VtfDU(o|Uc!miFij!y)79 zX#BTJXHM(4>)k%3+yCy(8+BrfbrQ7?mfwma{Z<0~II}pW;4UcrMUC*ZCrltGlsPa| zzRgBYer9_0bgR00E$Cr2GciW5Oxwxb6&_(_{}8$=<7eWMAfx~loonwZRKt&$qgU4F z&!}lwTsoN9#m>@CuSHX6CgF<+@4H)npV0&@0WCvU?CN}c^5O55#q+z<;5(m3?R`Mje%b0A(B>MMS_e;uTyD z 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 z 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%0A={Zx8drd-KEp9yB{P5n%*K%-OpE z#D*6EdB3Npr-K6*K?v|dZ%yzG?pSR>yuhXq`CMSdLG(HA-vzK04{0^D5pjmo!T|t? z>c`fRoQw#~i}-I69Y4&8+OBZ28%S~5@k!B_|zoL*sY$eApB0@jV)dnW{*1?V^S zMQUduB!UVE54pMY1DHVZvXwVWys4Pym?8b=rLys9oStfS7a{RN!lx zE$ptLVgt!u{rMz41P?d@MFdh2bxnPgXf@?nFkVQhc{egsBtZbR}jjq6py}!6l6-@ms>5$3@fI@fFhw1gA<%7mLllpfa3scQb@axYRbB0+B3A6Osmzbzhu&PU(QSG7fJK7If%bX!IM#Oo4cT<2$iCS zvJ*IMz+MC)O>vkaL$G`CH@U882tuF+mdgK1A_*(cg`JV{W(ken9HB)y@WdxA6qg*} z1HH~%@=7%E%s`g}u|kn9=Ke#QH%sI-#o(igbgMRj;V8+=d-Lpa&YqtL^C2(qiDyGQ z`RmUO4dn7>ECgq*?B2K`t-ej^f4<@KvhOxMp>cqc)x}@U#_&aq3wE{$nbK0AJ zaQJ|aXO7$WJVgxuxs4q+Pk6Cc+t^q3*ENd|A63SOhMa)*2eJXiBQ=7maO6PIdpCyS zv_GgA*b~S+AP1iUe{R&zt56G2{u&>N9*&v-pX2h?LR&*Hm2LlzZ^q~1;s!X<57^nO zzN-__IeV><0{|-CK&uo(;U-j?fUZcQs3zqMZR}#zNk^k$A~hi#o$1)HBgy#_C;ucB zyaPzOkHDe0Lf|_+Jq6yelZjeI>A*~MsGpNFQ9c|r9^v7jI00(oQBtD>KI^jHh;!o% zuzg})zDyt|YBIthM;keCXQ*}zlm57d@p189u*-nph~{IBA6O|pV}_SB9zx_D!uS$m z<9$OzL+k6GNyjMdB)?fKFD(pm5+H zx#fLS3l;80sQd#k1!}_ga5a6F9T?9ms;2L(TugzpFc5qbb_MjVV41$ z1JyZ|OcbQIu=N41%y^$|7=`fJjLy2$N@nzvxlRs@j`9l&-)Unb!UVF9mn3Xy?*xR6 z?~>lqI{+mF9uQa|ms&>2XWorIQ05_zSdQ1VeJcdA)rSIa)Ck_R>`}@6+~mGKY(#z# z7)B#|b@h56>wwSDEHPl6!UW11h8lZYTNi$IjuROHH}rb5ItT|zvV2YxDDQKC=SnIn z)MhXq4OA(hOxWF?4I>TL9pk%!=gyWOM;8NB82}b2qD0~vQ$(S3V`HkLBO^5#ap0k& z_=#JXVfz`Ab;td|b>gE==#L)tfr@pL(U+p4p0dxTTmrBT+}ttpbf7Rg2k(QX{qa}5 zps+AmNGm8djOqMo=y2^uAyEVBJeoKCPy`hg6&@Ov=(nyN3hvnSG~0&hzyp>>o0l&) zuIoBV3^eyIt&=Jtu?P85P7a+Vv8+DS zhlKVE%Azn#nMag9hJ>t4@Mq8sQY6OtOu4vRsmQaT==DYPdEvxIa0?v-l&9AJ<=r8H*Ic=@vE=e(g6 zN}11tlg2}O!b8)yTh>>jyCp_b&ii9sG z{L<98D@9u0BE|OmKURm(N_9N?9cI-?NE&v!k-#Q}KflADr=Exz`GjWH`xQ^d*BOs= zZD^^^n6PEQiw<}bnNqJNt~mGM_SrLC62A6c4IT2))4RI4repR6_A}Oecv$z#hNc}% zO=+T@usBA7N|@(m#nv)e3+{UROw_1;`9wMCk(E!lTDc2z(D*;>HlLlnz0l^7+qQI})gS$$VfE@-1kW@i zN2!Q$5gu;gZR}p6A2CiJAh=Ff8kS67`9wQot7)ffw+N&P(^FG-=zg*Fe!6quQ4d)A zjgxv1qOwrsOi;Oew7FCRpG_dZFX{Vrc?N{o12Z!-Bha`me5coB+pA{EHV^6j<19*f zhfPxIJ_fpi!J%VjM zqd|sZOAPxhNWM*!`;oprR3{F^?FC-Z@1_uVw%TL_KgshL9^O^`TmKcv9Y7hs(%7_Mmkff-NZ%1|d|-Kfs9VI8Nq!EUsWYW}$6*Hk;Yt6%qz z`Hd1(#+&IH8SU59+C8Yc`;|HMtGm2LA^}}NTA!wh3X(4`9{SS?P;)`8JBw4*_(uw! zoNg61FJ*}J28Kem$;bvrD2}b**?Ma8dRFH2m~^3~xT9aD`28Sr6l+Xf+n_NiNFMW) z*#B~URWnwdTdL)FwmkZS{p&Pd&%H0~I&!qpf(Ac6?&%zN$$5n~d-DW{3^kMT28pMo zrlx-UcnzTe{KARBX2x7pG(?yn1Nc2MqN$-F5uTsbXfm+%EWXH7rzn*Vuy+E)Z=QO| zi1k*39uLbV2W|lR@TP&jci%~T;2KMWPsaUWJRG1(E+r{|N2PXyxe5 z1%3)7^17AP+_lwL+ zm#^@4A0b5n&VY2?V0KR$h>0)ofPSOTbX8ATG3|4I|QM(13tg8c?gsf zv;#rd8yZrhj*6@hKYZH>O&wZyi26z1OTmbU6QS+|ALyon29I8us4F0JKz2~R^#COM)ihOKg-^xfR~F@i%}|~+p@SSnvh4(_ zR&+7Sc&!7ay&EoQ*Cq8|AY1-(3xXyk4yD`>{r`T={i);rHod?6vu7U#oeQd}T{-c z)f-$;$LHmZlc!s}gZ21Uj+S`epRzJ8qE6iRQufK$y>Pe-8*Fxms6k*PMn>siB(Qe? z>X1X53)CjZ>)ah7GEm|$=p3`t;|S{DL&K=J-Lx6fY4~co>1v>c>1ym7JvKBI-h}SA zI>NB^;6a(<9C+NoSb#7g2?OwceW|H^*C6=U4_CJEeCY|UBjzBIE9jm(fCL3r0SMwn zp-n(@P#lI_K&-(sqc-~sH?=S27V?gj&%*jvk6B$2G`gP+I|&LueE5)yiwjy@1O!$& zSlAK@KYgMh2?IJ)O+y2kc2-Jdrwdx9+C~$)nF~0#ZDF_O#X?aTKYZYx$&Re+(Xa+1UW+Msf>U5Mwi-8UU3-@cy z>h6pAlN;@Az=t>aq16J={)=e>_3ZUv=3=d{=FqjFtgbFXd{|qFrIJ4(m}8f><{eGzwBgQYw7a${(GKFJ-h-O z>X=R^SJ!Jj&vmN6m$T*p1rp#ZfZK4=56VV5&nYwG%L$-DbPZ-cPPcd&kJHT4<0%5Y zV|@Jlql1IoJUp>I=8FxQ>foStVcj(~HKD!=)h>tX{*LRDju!eXluKFU)YW^d&9s5= z1}TM*`>v^A>O+MX6_T*W(3CYXKK|Vqo!Ng~GyntDmr@$v%DCy?{fzRNr@r z0;Bqtb8~XQT7kHJVQy|z!1UtF#7iuKNPzr_0ZcA;uCp31Y8IHn<`5;jq zMAx7xl01Ec(6-O7(JQv#0ns;H)Q(~Om;at>>dzd5-b2WmuQg#HrKgX1s>K8h*P@q-G~b z|GJjKvyldo-DNH=E%9WG|~C4$6d&cZ1>S`!MC+CeD+KE=+?4l1lae}-BnZOd;L0Gfa{)0~P5 zeDgeszf6oPuLIz?;cE{d6=Fvem}7Y@-UTuF+l#ZK7hkpCg@XiQeYEt}InJl_0VCsC zOmQ63)>1w}RvvzwQ-CZRuof_=ru8|8yc8nClEmig$Y<@r>FLb_4`P!tx!cDYrDga2 zeZO9sznM1N`cdPRmyAr1nYKTU{s;tA(D>*W8bTF5Yq?UtAkz!ZL6|3EZhxaXW`JJV zCGpNp$Q$a`Kx6{%4{O9)m>yz9iDLoJ_3~xF&4QZZKbs`~e!wY!B%(dd=kf%WRKgU1 zh27-0SHKuF8AakePof(l<-b%qr2EnGjKhVFRXMrpC%I9#J z=SlIJ;60(`$uk3UGYvCVG1k$WcNsqG(MG0A`6e?&>*%r$SZSkI@RX58^GWyZ^Lv;J zVO34ya%V(N{&^Mp=u?zgglT8ICF{^{Jn3L+MmA~~Bq9FhMhCUa|Iu{a@l^lc|5|lL zMfOP7&E6|3JA}vxaU-kj$flGLW$&Hr%_ZZSMP((c%qV1ULX!PE_w#-H{Mm5d_w|0g z&g-1>94G59|LER^tj+VEJ$EY%2~moc4Ob{=42+Ehr(8E1rjGkO|JdR%Sbd)I0DB7J za9V!gG?cY#qd5X4FSI^ISJ&;>n=E5>&Y7Zrpv?l6{(G2ZVyZ`- zM?J{EPCi&tGRg{f%p`G!bgm_JUYKgWnLDoN!WFr-k~>uThFn&;Xz-j+cV;3*jGBZ8xQaNah2+3Ij zIvW5v^1lCmg9fO<#PgmL)&t0g(7Xb&DfC({5i33^d~+m4nSTvqrZn8zDyknXL2sAJ zs*6&+dGm_zZ{Q=#B^$i8Y!8EJJ;il(qXx5k61}ahv*`RnyW+&uTloXOfByzT;ve9Q zHzxSmkhTiBKUslP0wgr?az549rI@TjK6erUXYS>S3(Itz5hTy}5)2@hG7R>mMLkGe zAh7t%e@RrHBh)^Q-2VN$zQ~6sFDDN1f!+-`l0c^%OVrWQJ271yf-Bqv$fwYBDi5;H zdEKbVHe6zxJ>mPXr1_v zP|A*>{}c52;57_caM{}EDjaF|`4TPUhBdtIv68TJ2<_6Fx^pvHKyP0eE(N;mJK)`$ z2rOB*QkISm=EX`cu%tHhP7^a^ruw?VCaCp<_wV zcz_Cp1!S3H^AJ~|Vg0`Ryt$I5%_t-M{@?X#=YK`~EXdP!J8;-ufDeFI3m*VKaAnzL z;cy<1f&Pzk4cA=8#F5n4bpPAT$r$|lJn<3ko1^TvJG6eF%)ZIY!t#76`_+A)d79Co zn!38ZzU!N7YioZn#qdNomBhl^XQ1eXzfJ_hdLZ#~ngHBxh5z;9j!P>m8sdNZb~B5r zMIVgM-Tm)S-Jcl|J)ZS_DacRC7F>YeML>MTpRBuZ5#ymt8eT*1)#d5w>Db2_bpf0? zfX)OJLZA9Nhkb-`qx&*U-l(Xb34@CdNYK>U9tGDfPp`yjy^mO#o@Q8isHjb~Baz!O z<#>mzIF1Y8a6DELF4(+OqP_R$4`^UHVE+-T*a{UGv04`S|Ni|0^tIvXp3|swerf3{ zG=M?W8GlFn*{5dsLT5EAs*=mH?d(3#i^|AAD4NFeqnEzrcF+T;2~AO;B{@yL!{b|- z{e^YMp;5mWO7I&inJ=9iO17Wy_n$w9;5>I0dVv|7y4j0RP|nx0gT^S}A42u&OotSw4J9Ee$2PZ)m2C+eFD`21JK{Ft)LS}pMva}dT<$K^CXv^*n0Z9ew z5!1&d$q4+LcppJ-%Mp*awg(C(tSfDJM@pWs-FSrbYj4o5y}9lM7zmXv1u_0LK?VUO z`@ipZ@EX|V5sz8}&8EY6iF!H+wD5CXS{m;)0MZtayy^4MD9ZrbGn9%GW|cI8r$_#+ zWPrAN7+y)|n*4I)AxF%+`uO_3gC<*eI|QjJ9j8S)Ik7U(?E^k=W;K&}ZQiOZ6YKVTfN zrq$NHaIHOi_#D4P5!UQ@XoQSFf2b&r3dALyEjRC#2Mvn&>2=_8ft%5xHU(mDvR)2(%^GIYp zO_2H=B>n&s!B>F+H&Y-4O@Sr20_1zhO~4am?5#!XmqcF3G*iYJYOVDzJ~ji^9`wD% zUwiCgO|J6(FR4;?NbwyU9`=}NBSmo0hQpl=`IqY%0I+|j+GO~Ekik?i{ydX74BG;~ z7#}Bm2-rG<=8j$|E6pt-ogns)ii(0*gWn7ooIT8Gg6AI@hs^-kC5!y?Bj8H>eCM-M z^|1Trw>auR2KD1|O9kdm9Oe`j=u0P#9-<%4OLo;}1|ER>E)N^z485C<^ zC308F13GA+O9GG=U>q$TJ;f4t|HDdHw*35uwzeT5KncSu6d)+#4+B?<6cn-^9#S{N zrKF^Ug{PaZFfd3x{-r>z5|YwujfWipYizLQ43*W2nmt#{@vKPJ5C15Vyid}^OVm>n z7#4^TTM0|q6Yw_yOn-}B_;We}1f%HyTV1%~B<3UCD- zR<^XrhvksSwf~pp)v*W|m%yJy&B6`r+OW30hs7cALv{g$hX9wCyBTlJeK%fkVyvI( zI({SWXgx^OgSEtm(Cztd*#GZAa-df{$Fma+Ga)ZraDpe%0AdXm)Y;(p2$12hgYA&XkJ`fyRk)jl-zGo|T*1&h^QyC}51T z2RbOJnjR!nyF+CPryk?bY4|>J2fy|ekCVi~tx2HHeR%-Fhekg1m}Ytof$IUI9D(}* zPLkHu7>B#)$I!inU^qKF8&dDPzYSLvXZyW(&Af-17Q=ImUX;lS z7(XvTR}LqSZMtw|+_KUeZaK&sAjYkY<5q*|?t`xXD`XE)rBuZKcPu!JHr*%gU_GGl zgcZ4W?_T%(HW;zsYB5+yJ3ug$W5frE!@R2$!h8W-8o&_ao&#C%r!X2`lU)VpI#~fd zZ^6@i@;WlJ8rxVhsWZ)i5y%mT1AYg-br&dG$?RK1b|bMGDjmEDWCJ4hse}wZ9OOLW~5G!IVf|TKWkP zC$MHMlVg9m!c*db9Cr45B^4nT8i`Qrc#F6yotl`Shgmf# zFNULEXrpekIFpgVKIUl1t8y+;PlJ2Q%hO_hwnzLzoqVyanH+>Mb7mfaCp{3XFIK|IBvDm?QITXMoX?KKZt=lEWbPHApS#yZICX0Z#5DsMn8N*>5p_8^TcK_!CQiUfj71QT_hAA~zQs zo4a?j^Nk%M=RDWDHYOl;w9ab%Xc{uzL2{w^Jk*Dem+Cn#Ex0yBGKqT%Z1_$G%L;D% zSe(Jx<1jfK;0^CSxS*vqR?ybqT=q@FhktmsH@C9F`EFkSG}WRHL!qQ7$KrhJ{mFAg zoPi->UyrkBJZkD{akX6epM(a-F`(aZQL=M$t0ohF^NmxQ)O6cBcd@jklx6qhW5W}6 zc_)D@6mdeLqowJe^r^XpM3FIip>H-#-od=qAIX3Ce2%v8GA7&zN0@pndf0EJ<{B-5 z$r(cK{KUURU9<1j%N9gTDx5zoOB_&BR`%(=H+a^a)T~-)ZC#phfe^yqGf@B4)Omq~ zONgBE18IK9QlJjy>RcDqf7xH1p%p6UNsS>-tGY5ZH)Z9BD-on~-nQP4&4pg~!lG#8 z&qxZ0LVQcS#qQ*+ZGTsNHid=7neovxS)$vS$DR3C$sV8ay8SAb5J7-?>!;@2^+5rl zgfK@y;&u-+a{Zyca!Tq~?uj*9?vQ$~K8u!jy4PP%d`#cbU3ilD>I(19`8ZL=8!X8i zB?9PyC1h}j;}~NrdIaOJ4pY=2#RKJn3v`7b(*;re3R>-QuTXNQQ+iAowb32T}->CaA^+drN*=^v19 zlCTyyJY1SS8`^0cppwHS;$l*)54a}YjDCBl3wm{Wm6P9wC=EwlRUEKHSP%HLR-w<= z=Etv(S8Hhvg;4#*yy#T1>0H_PwWF+k?C8BJSt8bKfxgysDMQr0D_r#X>zcf@EnYKS z=Z}?wWVi46P01_>Cwrf9-f3N|5}x?UMGfgPkZ4?>{|1RD2FnroB*5-4z3Ty}*}-JD z^(`>lJUxLw?*+~RINUNy0l`KH@v^V=49_)tJAwr-R@)*yZ3W`H)K+0PyG@RsOjj&w z{^(y{eSPHO{OJ`T;sr%q2nBaHx<{k*kJ`s&A6-#xQsHUr;DxBg)fIupMM(#_zQvgo zt2A%+*4Z^p$=mN&XVMra{WI5J1@dOY;jFwiOGQ<9_8_?ZJrOBx1bp9;yP?caT1bN1 z7A_NbHe8+80}(Kkq(zrhw4W#IM-h9Ul=oeH-962?IHjX4VKFE%>}<_!|H7*=?Dd`S za)c1_910y6f+Pq;iHOlYbkP;Ed6r8jw7fWrf9}QQ8wBcEE~liS)Hf!6L|3O2rMGvo znw8hNPgfXSnUIVw;X&~Yd~YU2#3i@OFjg@%9WV^o`ULjbH}>3dr={&5%&TwXTVXeU zWb_?dZXy2TeIC;xiS2vzlsrSfY3GNt~1&0 zm|k*;7DR^CL~*rsQ5+^hC9io!*P5S^jN3*QnaX#YbRDoIQ?FC01Bf z8DaExbgANcfXX`A|o(}Y;wiJa-u6O%I*Feo8s+sz_Y_s!6e ze|RxE+@taK52_jcz$_zL3$5=7=g;--Cz-@_zf4u&rh9ch@*iy`=IPiAMS3HIv80I0 zu<|^{BS+G>*l=vW=kbC64T_r&Wd-&l!;y%3OFaxP!aYrzL#-^PV&|7jv&609>BPy) zl!$Y4Rbzh_YE3w=+wS_n zD2A9KAnxCbJn1ue_N+eMCgX{O+lV3>@yzL1o!dW|z_^0AVez6VL z^gw;kxj%WUx;`eZ?a_Cn%%yy43_*AHg&$aBX8G zi6MzlD8?``2%e8lOxsSO zR#c2*A03+t8BK2|Y^0$IpoCOuD0 z*>-(jF!Q{iNcBD5(2&&l#IzzOsknbbLn+(8y=N7b?aq3OOe!ms4d;n*M@1U-*|=r8f9S&Ff~YCRvnBE>i$|=Ulkd`_DOlDX!v3zkKPG~&pW9b zE>Rt_8#Jy&dO-+M3KAMUxxt}tyl1s9t(9aX!asn9p8 zy+qFw5b{=KpsQwn8CQBF)~FV;u(_%v_KW)Yg?Wwcat+4vE)j%#nT4LP@H4}anNBTVe zyGXTc2i^FYJdx|kRtL_5s}sh;Lr-)KX(@s*56-HF-LPsep=4!Ohznc4xg`?Q`LIKq zP2IArpO!!weOD)>CaO&8n$RVtrTafGJ%}ODG4Z+JGGS>h-o9166!-m0$Xk?%+JoNT z|I|*G-coup9{yZw+th^Smq6SjDGATp<>|H!hO)9U2=sdIBZ86n)8L^m`(!Z##u=fd zPf02hV=D(ffA+@G4omnzqt=b;u0=PZ2v^&46*!-*RJuI^xf)s1q^#Gh`es&V^fFTLiEmN!1XJo!CT;9nYtNjcQVSG<+6q|Kt&EP>Q=oVub=oxqn zHAKHGzDXRrs%|hYA0JN{sD~So7sC{*2D0r&oY=h^8eQ9|PiNh2E0$iQX4BI^MACGl z6b#?`*_IiFP9!K0<^{{npLy~1v*3R5h_JOb1*0edcn!u|R z7}TewUvBWSQl&pH zgb>FP1W=(Xf3?f5vjbGfkp{+1mj9hK~x3ui3+zmEre%eKVL@XW`lwnXp2 zcT9O?T4L-L_VgSyaZou(8ZG^>-1e;$Y)?z1c8mCnh742K-$M7pR6BTSsfhyh1j71~ zuk8I!@j{OhwHv&tjI&f2n*RKK&ZyGfSTYqWvN`#6sv|r)!_rhsqGxt~=0QUblD6#} z+5W&+JhUQvNzgB>KF}YLjcWT8i?jaPKllG!fZ6#jJshDZWA^)wkrN!feeOY8-o8^l zZFEGkCGFi(Gyk%@8{{T;95#ibboVSAsLg0%_u0v6!-i z90rjUhOdJ@3?+HrVmytq^rJYsubr_}RQ%HH<& z4VTm%FB1|)Cv$`kR|Tv7Ic9h*pY{+#pzsyvtjSo4Mk-Lhwrrqf5+@{NQ#*e`9x`D2 zcWIdAVswLg$=nI{c}rGG1Yrxt?{U-Yhb@w$s-1o;<`3#8bEi7Cn^Yj78 zl`%gf>p@NvO8JTiLAVlP{M1%aw9xWu41&sZUCfM5zZE#{G$ ze%2V+b8zv4l2P=I=TnXDVusBmzqUUY*d z{Z4(b+flt95wY7j_cEpDMwyLFi0Boo2)F3cKeom4Wa;QH%keN$jM%!x z=P!0)C^EOh}7RaF^T-8zb8M2?x{0R&$f)ERa&sJu0mZ`Px7~`nO)PKO;2tNUUrNNU=`g> zkdnJ#c5{&^_13wx{F8SbTZ2qr8MM#dU*+xFf8a97AHb%K-TFdK>Z|%9QzFQ`*IHMk z-;=#Ja*14DBGo}ZZ}UThrRv}(I+CKTQxCZVpPL-bQr#aK(reR?7k}|F?4~O&vdvu$ zL%u+A1Rw^x_1Qz)mZb`99{rue2@Ja30m$fsn7Y+?ZyoYW#I-WTZssP}Mstj!yRXZc z(1_WTkOV!u2A7xqD^Y9igJNB7E4d-{X89L0V(u16Fs8t`0B9cDNqH8eUQJ{D*r#*< zBD3Ug@IrJ0WEZapO6I>Oeq&ZsQkasRT1JWyt*ToCjp!?<|2lzLoVnj)6Nq~3CwI@) zQxfnTyh|cDN!+s6B+qubjOd0|!nAonspI$8B+;5$65%Vf0^yhI=!1cOS~M zYuQkFrCMuQQ_dSZU5*R>(?Ifk^&P^S!(z}?^&OcFX?fsaM{Rz?CVjs4vIm7r`pqq^ zi_vxO>JQg|gCi|>C^b@1B&@Mz!r8ZW&)qZm>S7#=#xDR~46UY9c~PO_%fD<>4>_4IpAlLiPx)kUoF4&*%9W#E zXF(XQOWnJF;;uu0mizsI2z1wU(0#Fpa0z<)KYESNa(?oFU!t!vq1Rpx7x*oFeQ{9^ z`nMK_LLW#1-8^k?hhE`M>{izSBT4a$;g9)>Y5as&jY^(wr5pWwnMvNIG<2%j_j4;{ zu7hK~)$C9{V^^d<^2c_X*Nug6Y0NL4zBS9$s(JUn?|$2*cO~AQP)+67?e!}8cfdhu zdPe$3#QEU}+iHe;6{43{T%%ZrLM78~m&wO>JQg2t!rp7p;Kq7< z%A1ItXkdTmsj6vzAWJv?MD)h~>vfDrcZWlHbBb#w=gsSWc{^(hDi~?|`e%dJgRA45 z`wf%RYKvMmH}}cyY)X2(SDt5hyd&;=YC8BpC3U31=1hLZx$jzsoi@ShLVa#THm08) z+Fs>N4bq26o)SIl<$bgBOES8T)A^4oNntX7;IeKtmyL7`ElZ^HKfC_lJii$7rh3i) zx;486$QLfZ&Uc$FyyN2Nt$M-d{qIkbH$HFm=E=%Ts*USvOZi5o@}LRh47Dd#qg14D z1C`~C+^pjOA%mdf-Gi=6DJ8YSS`u2`_diimT}m%-*yv;+K=gHiXV@Nylz)P=eI>F1B1TbE}w%h6G@b??_7wOhIXeF{81NtLwJ zJYA;-Vi6mXc2eTcZkU%NUXs1an<-P%NI%sspgocJ7DSd2e&g}q%+Dr-i~G&#!K2z4 zJ2eD-@oQ0$XJu$ggypHEe;8?`zPiP(u3N1h@PS#eN0N8o7dh#HX0x|-WqViRK!f$N z;tGbAL!K`EgD~%sinV%P)h}k5)u9dvYl_Tk?|{OvWvDl#nzOB>q?~qJs*k$U|{F`@Ym?sdc#twq;$5v>$Q#k6+d-bC8Kh=G>YDa1X&o>X+OAWVJ`Hk zJ$#hI>wv`%+s3cYzV9Sy5qd^Is-eey&dHVNG6Z_Ez$_C1Gyk9Ne;bvA;`3(G9WIW{ zOQ<)$YAAg`mZ2-{XZq^;jY-kF2fsfpfA`qt-)Xk7=8^4VU*qplThNnMw?2`|jLb^0 zyzA=OPqnBunVFh!ULl?5f>5|s??kU&GZSdKH>z*9iACpI{bHY>a>kYn_2R4mOhWM12D0G zuYpIF02Y+0lf*+%&t{pXbTsgWQw=5?czeLyXgO&qDWBH!5&*Ya0zU!fKGzE`FoBL2 z#G!LWYn^g`E7yP2ExI-^U^ahtyx9j}5bufwo~)c49Ljmc#diDK^LQ~W&>rG-hG0+y z))4Ra0mG!+VAtqc=mVfBKV+z-n1}YcTh%7>WY^g z{ud8w%gf5i-ByMh2@JeO0UVK;s-F0Cco9kyA=9MM5B7uGn=!M!uyo^?w-r)bu5e=t>+dbqIr z-SQbS9BJVm>MI*vzyCUmi&K?MMhV|FZ-oz`c7+=%ns>V5Kzw8Mp;}B2dCtjsUpf+{4)$ zP!MBQ!SS?H4xHw8hAWKR7jY3Qi+UVE*owdH55UUzgXd7Jy8J!Tvqk z>EGMk#k*Djo{SydX?XH_ zdAsJqOYBom4epOmNJW(%P!gL{VsYJyw*vDBVoiRAASemZWZ{~LE|0IDb>JsJ=Un5^ z$B;WH41F=OQdD!WzMFR@LC=LbUJr!|3PJUt{GEo3Z(&$19W^g$^L5dZ=psU5RMK-% zp|@!%&kzT(VP5jb=ST-r2!Hz0{(NR2&ztuLpQk^4}*13-^ZL9&sgz1>PC^)I}M=-o#-e!%34|`eh@rCnRKD1 z?*XHt=57p&%9k{Hl62OpJ~@=MS6EYdp61P5M70W=QkhxR)gpmOOsq?EG(+L2P->V1 zJi}c^snEsZvs#pl-DzCd7nfq+3f~5gT$*4+v}m>E@?v zH{>0TWA!e%_o6`?d6F;qY&n!O!w5u0a6ATS4EEN4NQjHS48i*@;UiF^nm-D;0pT(8 zXpZyrU-YT>-h@{R*j76@J8S=(5AF5P6x*sUBs<9j#T{O54_rFD5zzCwt5=LGElJSe zpU5KRng^W0P=VfgSNX%S{&HYg?$YG{>h&K=oou94V0|WF?yd@vt?keH5A7!rn zwP^ty5A4iN@K1wx&cMq=;cIZ^hqcdC!=Zxnz6&KTI#J~L9HVoDeb65vMu zs)#fBM(#p={TwQcxU}bzZDa_oRuPdkrIJz&N-gNT-@6Nhtw~q|%#EuB3|(6;#mUZZ zl`wW#2ONf;Sff}n?2}N<2#-ND&o|7i+@tc@2PKqgYibBWWDa5pML}uB@6W|{Hz++g zAVx7JrGv+mEE2IfY-CRXV*qU0j3$+85l#(IEm;@7J6vWSq zCM-+%g2)Of6D}4%>v1pOLs?A-y|@JjRZsv&7#26OgbInYpg@a^*keuAFA&zCjBMn- z(BBB7@W*0zn9!BG{=459Nj`L-EwjXsA-Epb)4J3By8h$8cUn&69lyT|r405@sEXPP zrMSeZisM2Op)F%1qjY0OcuG_l)l<|fAv5bHN%1s z`2>YWQ`D2sRQGDrsnu>1PEp1ZsKuf*F1;hB@2u3*Sp8r`#HXC6FKgYEs^fsw>hSkR zYOho2?G~=K|9kKyj)Ia^Sd^@3@T&%^X6*98ND-xk*~R86a&)Y)(;RUs1?5$$Rg^*- zhMEL3`jn%A@E_VqEtlyZ8WpJAci}2ruueT(*m%b8UB|+ex)=g~!!Jf;PN&Of{4|F_c`#K)ERg-a2?g zeMO4;TTAQf6X0M0*(S@=waSanmTp94XT-)*GhDumPlH+>b|-niiL zJUfusJKbq{cL=7(hXH%-mXX33UQSi%%0UhlR>b#l1@79l2ay{2+k;nR-U7c&{@<*; zNu#gSCGLDaHyoz-fk>sW1||1HY~-wDe3zuaQU}pJCLVq?^XtZwyM<5YY_G7M!Eo|s z3h}a0wG-P$>~9gtKLM|sS{(hgO61k79L+nm?{lqyg7>3#qQ2frS3I-S*h=yYHpQ4I zAcV$KCXO+TgPXm4Re9p3ViG?hWFCc7uoKn{OA|46c*KFsl{`aSh?Rb*s|>@yloYxn z5ZME_DMWfumpUsQ9Lf^UAX-N%iIwzjPv6Ny5Py(Fv)Eca8dxtAQ12)(#C8mi*R||p zr%$pk9`&`D)>+8%oD1|1krY?U^OvkeJGm-;@JGD5$a1hCagvSUY1&xWb>yKWd_bW} zphSQqJPtnH_cN(-WFYynT~N+?3C zQH|q5^!(bm#DgkM;uYL`AK~wqs&qbtBPwwuiyHGygTRdgS@uwu7@3zaz$4CqB#dmU zw4fxfspjm!P=D3P4!IP;gKLGfYRx(0nceBhzyn=ncM7q(y8B~If5%tLS52q75q$^k zE^7&{uKnHgH#G+j=N`OJR(4FK5Ro>wuB0`lh(X}*P(mBu0)x}HnjyFA%AL;>f5)(D z{+rk5YeE{;TH;2C+0cpgRs`=FwUhZb3yRLlf${YM1w_hNm7#_a0+mZtIEt})8>_Iwag~5DhrS!# z$0H(&7Jip_n;qZl6}a$ZMePGH)4*kJ2yCZ8uMgI@2`|_-M7Po}>4JAam@510r-csE zBC$@)IH1^KJ@WOSeuqqsR0XJQP$uA=$OeM9s4koxyk5q!OFYoEz5J5!YY4-$f77o( z_*dSv(J03LX8k@Vnls_0MamzfLL2b1%Ykwa3WHl;km;mARR@+Xp8W0ge$}*`!%xq! zwxI#9jRDI*x3s?dlH>*^cX%i*Dmzq%$BXZ9Mqd_{KbX8I2X}Kauh=U^^D*?Ld#`(~ zOWWfjd%sb2YB?ffi3t=U4Al5O#Oi8r5A=*E3$xm(j0~Bkx=@4Ci2UODOi35Z$L5ch zs~)BS;S7d>NH{V&$eeTIAWt3R4+@%lH_$iDi|Eo=_I;yBVN}~euQQi)8;e7;_XHVv zxiLL0IUSm*Rk>S+(ZUE5iYDKhuMCL2vUxad)#5$(rtYV2|I>{}PR_%M;?_6v#4d>v zkulv0GZ`X4R1FTKi#Qr1-6!ZGIADft7Agv@dyevvqe4(jdeT}=z9xO3Mbvq&b84X> zp_a6|0T+r`NM|jHK1XUQpxZwoKl6Q6JL~>fqA;VQ6OD`wy;dAC@;NZ=?Co?GdPe58 zD@HALS2=N$2q|$45U=JNMLPJ9S*?%T(+qU;HT=&}&_{vqQTDMQcBq^rU-YJ|5JtNBJ$(OHDpL~9GZb4G1ds(Kog zZ;fcJzTpBWP$=`tk+6IelL(SE?K`moGn4tZ08iPg5g{XA=*bAhqf~Sn6h9{s5b6hab?umgV#)3E)vt7%T~85aaK_p;EU4K&|4rvP{-ktRBH4DbOI2B z*fH6A%2?dBGvAL5a^-uyxuSy_Z6`Oc`txFXE0 z@2&vVn{!2^z}KEzb~jR z-2vqpvc~hiyh{n|Ya#MfU1jP^q;D-Q+ahWNI{ZJszr#y2iq^}En~25rl+~0^-BWT{ z2_6vRX6h7=!U`kYyZ_#k|DApDjFxeD7A_+_MbhP{t^9KT`q=&vk-T@7r18Pmo0|?! z{BX;B>4r;ZEYwPh?MC;+;o{1ATQHfe%RoRQ&zN%GXQ}pRSJPAi^GaAo=8< z{<^8X@nj`>YA@rp^F)R-?@*ZwHUAI+vMrV!O+niF7K6<(cjIu5qO{ehVT#Djw8j`OX@rbIF5S*d^=UCk$HEJQEnU6$*@<(5<7T(@#S(M!zd;SC4 zog^@bN#>cqLsWQQ+8Z@Bz)YOR#J;k!a2r7}Kr^pk(k9HM!=r*~KP`gh@yM|sl zg7jn6h{kt@qDK0z4lXpB9rgJV7e8V|L{HZ7gKLC8Qq3rn@;7H5#^cca|L zJdWcqH%o&7I5@O|828@Y(Z77AuI)5;FU5uPKfa@#f*UAbAtqoXu+kEb55-zM)>_du zDYdu85?OP^ns9XYaESP4spabFGQW~m(6b~*qeIA!be8^li4tiuOue%-0cnP}iI@nF zC|ojN1dQ~hi~%$(-%@f^=$S1E{imh1aT2t+6YW0z8gQoI^KdGIkFUDa4hVLo&Hns(mNMCq2cK^Ax zLJx7;Y?_jz-IpowN^g0-Qhf8ulLyBIkrUlXE1Dr;Gm@SSIxqRrTy)bm*ifrZ?njO@ z7~&od@sJOEMM6K)2c;FzRuL53d8HNat!E1&`Fnd&LUQ8PPzKFsea~j7Wf?(`aPei?EFE;|D^xyly-nXl=gS7bFD(7 z=~hYzjLE*FU$_d?zHwLI?sRX3&u4d)ur-~7T z3ADH_GvmurC&5TOe2rwKdWkZR>=k>c z$s9{ICg$nwEtX4kr<4Tq!jOJRXmn1@nHbe(-(d2F@8QnAV{@@#I8S>VM=+rUeUMf| zW%hKT-{G2R-IUMf;pC68!ADpc6)nZ?l?BJmg7b+Q`O_(?7A$L5z6SJ3NQ4hv9$B+B zbL8mY3}S~7o2e8OkC=gIP7UIJTH$gPj;OH|A*8Nu44DB3g0_+tkv_u0g-s|=;>Fqb z21}zXD2P){;=d3pg)zP?mlRgaOWX0GD5CDx)xVnONPkHeXBe;W@ZNS&!N5BO1Z6Jf zQH}{|Lf_&J%5@m}f#Q#xzKD}x$o#|8iV{lmySf}xEUZ+NDctEFxN32PeP$4*Ja3y* zuUCxH8>4+QdY{|=%e;FQNn3saiN;-?#3KDJYZ0xnvQRCb9NX`VR@?l&sg5J+O%-Eq zAMs7gTQ_N*Va>EwJ?6FpCvuuWYmIMX;0+(aakUyovf%9%4+b+&;^p__FZ%u>g6@pE z$AM*KidtNho$$^HB!An96);_N4zGg+YU;`g82eyWp(hD`S4|Y<%GcdP1!GE5&qdBT zbb1YD6RL*~1x0W;I;$e@4mgR0-qX@6p~_5tdJk)O>$&@o)N#Wi>aldHCr_fqlRBg1 z`FN8<5`#+yb|i$*3sAP`vaW);4n&uZkEYFJeji^sI_!V0O2UXt9N~(IAQ;8@f5m1S zaVKBg_;LELg5|pVZ}WVks*Z)%J0Q>;e?Gci`gC+*yWxYKOo!ZW!KuUje!mkx-~C&r zvJ?I5-Y^}=*L?X4P0Q)oOlR&IBWr4;JEF&hdDGXk^YpOJ?EQSwJ-NS|^0D3G?Hp;$ znUe0menGo@XzvRzhqyG8=CZtKc+U0w9SroVI5 z*%_Gcp4{s5YMxE<^5kD;MSOdZI<~#^>ub4<=i1M$pOv$nCAg5_rpBhJttcmx1>Cp_k(DHMS&TqfH|M~XdU9+d_8E^XK|9rgxvb9eG6NAs7e7_G3;s%q!Y@)N7 zzS~{zpPJD#F_FD^Y`O`*Y%hbiVmzkHI?*u9!qxp~)$H)#^Vi=u<@dKrD_RVZ0b|43 zlF!$^J7@a*9plVoke0Q@_Tt361lQp(PWkozC@1@*gKQHKiQ&*AHYN;SYx7hl2rVO_ z)T`NSe>QczAn)|OY9IWrzrsj5{5^7L_Ol{%1IEtDZGSt|H-U& zHf^vJx#;No^~N6?^;Wy%y!!M@I+Zvs!lbij&id{A5yktAe*J|)x(mP?z}8K?^>8o= z#|mTY0-hXOTZrS9mP%h;Ic{$i+<2ZXqpOeMH*N5RX&Yu@{$=HH+EPRIP@e-GSB#O$^lEw;QnS$C%DrfQGPczBCdM_7mo6-ZNx zoR##X9418da7JA@bw1s72I=bQpZ?QPXbI4&z?9=h5#dzvr|T7`nHrTx&VGx{SP4fG zf6M%X(wi*L4!Styx4%u$ z6E~fmU6|p$J*q7uEGfy=1Er(HME&~0k6Hkl7VeQb^0VHK&_0^?JDEwEjJ$F<2a}Mc zkAK7F-sy2ZbLK#PYxB9+SlGPZ?tF#sujY#_hc7nQ*EVV$15*7d6!_$~maL`@PMaG* zOLuW#}+f5Zx>s=ik8$EH{tr@WOVwM zsqVhV1TK4o(4Q~ga_e8L6-?Or4JCF-Vps?tre+By=>GiM=f!8*9Fah%q(E9T33HjI zjz_#UnpY?8Ilr4;ip{-vIzuP8Ho?>h54ug|^=`FK^A7DDnm~d{nUfZ8V}uM}t)NkLSCSrvSpj;~AOY{0T_MsrKm~ZJ9Zfr{noq6VzMJUW@3C?{PO68a4qoJNMPI67Wuak0KEHv|unAWM9GH8!r4htx2-)J|o88Uam ze_GZ~=cjLZxGjZ1BE$8*q!}UU^YpRrRwtXH(6gH)&q5 zOL$T>g814s+t~tjPaTfB9C{*};zWcmj*0N&+;#@S{f@3Qe{FJkq1To~N>LUO6?M-4 zTp<5l)7?42D}ElQ*)!k0Yq?8BS&?lW4_;(RidW8dO$BKPn$^l=b`yPQ`~GjX#rMzQ zo}csa_~eh;DOC$0IXTa~&0(1IS#dOJ^L%sthtp>|jHMN^B4y~qMfT{3Z^{^6Vr4Hv zBy9?oHzS`SmeL)X_PYk)Eb?^!*T;$LUK5ATa&MpXt~`{zb^m*{&EW98^2P=GtA=L- z{6i8??iBvrc+Off@?>;Z;QmiiLUHlK!@u%7tA*ec{ZbjC)1#O!eU1DVXD|5fWu7b# zg;HHP9pc;xrbW3|hDOUCl)lkkH)?hq)7mtmvHpa~f3o)ZTgzd`6ip|m+`s9IG~+** zThGukbsp|*tUjGjggN#V(06nlHb``x{~ADaI(oNxn=|w9Map`0zwGGGk%PaFB*H#_ z|N1$@w7=y*W9rIDr(oGsRaYFsGNmg8Ang={$vWG4>S6m=7vFDt0R-@&_ym+?;RdJzZ*R6giRmuND zH?DT{mON)|{P1zc^*4#Pn+|c;-}L=rd!8|)=)yKu#s6bFMy;wSHcu^!ff7mCoN7~W)3CUi9O{~nMyg476dHdye zO#Gau4(0wS*zCnQcF<8^hZ4Jw22o)!_FFFMYt$0)`ib4(R14(v0L$YY5Sx;`DAe zFW881P@@%QU&s87*t{OsQByglIl_1&h)|J5gh^CJ=wDB~c4Z}I6*R+_ikG{(V64Y! z`{_aW)XDl;3Fj$8>hSylJM(V}$M4@ydH?$clqkLp%)l6qo}hrEAmi!Z2C7bN-=(SJ zzwc}*ebTT73gQkNH#@aiWKViKS#}cYp3K`*rcRCAH!y7|a{Ko2_^gvr<-39sj6Z$b z?x0OU;VXfQ>FZL*Tl1OVk<>9>w%K2>c;v1sikklOZ_ew=Vc*X6%=MKulWHeZF-Bnq zKTvnsnlH@+XZ#;cXB`xU_x0f=UBK9-rG%AU5Tr{QBvcxfZcw_r1tlaU1O%kJyF(hJ zyG0rV>4x`y-=0yXT(sInT3hsm=-Iyxu-Z_kPgwuYOofRrQ5#1s8E7MhEzw zbreh!bX!^RTs~jgCy!?;4(A?359pqWZcjG{QjWH}kANc&X!2RAj+S`tJJpW6twZ>y zlz~^A0}NP&!u)8N|0W3{9+NedRCD%Es$#XL9T42iMS31jRiGEBP*@m{um8h63;m@Oc6_Q@Vvsl-)Gus> zWdIf)NICcdEKD3yV?$)M;IpYs+jO%+I%nH%eLQi;)UI3>pyVH}cFkIWRct2M+f5Y9=SjrU^M&>B-BRn2daO)Nfw zP8QgO2=!x>GGaxrXBf)UOjg$&_ZF5$M21HPWVnq^70#UE?u}&P4rL4ta6%D5eCV$La$G ztNE7OSI^w^=R3|68NdHBIr}?zy!g5GGV=Z(5!BPQX;YWH))rY@B-&Bl{(G%fF4c2q zJ4M8!!rCVpFffefcx7<0I?=U7#ZA6FP4PNG>OXr%(QFDVf!aJgToWI%H_gmGOMeEm zYbk69b(IwnEI=6&MF(*hN)K(Tpg|ahF?OQI52p$_A6*Yc4@iJaNXf=&>J4l z?T)UVXV+(8!$R7cn(n*Ju7)y#e+q)zpWXla{I>X4?OvVpWYT0D_oVtasfROjISti? z8uu&t&uYQyZ~IYy=zH27Getre0@+SAbJ0>3^`j!ANi;B!KNEv@u`C$E$IDc6b}{>v zKDqf%Y9p`Byt1ZRkR-VIN?R)KUoYR@iFn<~vlbuEH#WxRitX)9?5T)&9c{J$JYRBM zzA8?ZLn2{@9u7N~48BJfwJo=<}W_w$^+QUBPEP3ug=N_@QJeZBRev zxjj?(c{iEN_gLb|#Kfe)oegseKolw0F)~BdJ5ip89bLnBi_5&cT+8muuNDUqq(Z}@ z?VQ|94oVgkgzlQ3-LLeR_8rAv9z&}k92jVSmt8@BZ@$iOG3RvBnL95QOH90Hvnws3 z;!Iiyx}+Ywa+Qtcd-w*oy<__RMx>p3{5Q#ym+p>3ZQ3|JYYm1!{E|(4yHuiGTd;-WpT$fCnl-S%T8dJ#USI0x0l+1ZY=(6Bz+)JDbC43c2I%ZxYW_K&*a9Q1hw< z(38(W?7-K#C+DZPE1n92 zZ{8wB`$xq|+sg>#Fd1^Igz6psCVjeOU1d`5#Z;@Vrc4Q&+tt3hzEXB%GTTl1M*Twx z&V*Jq<-(?|9>d7*w4(Os8dD||v(w}kc+hQ_nUg0clP8m5*;_d503ev5hIS7aFU`%* zQN~1c8OtZUSadnAX%=zcR#rFwjW#|nYKOl%Pf-d>Du?$zIe`n#c$Y3j_bI%g=tITM|!!27zhY8AUxc99&khiVUm24FHB; z?M=eQKZJZxlSCTm=;xN2@Gg5eMcDCVBwejg!*>=H9}!a)YH6@r14IR7}L`jY*0%3D^}ytrZYAfd4LIGG_cZZv*NJw z3X1FP|Gb4|rna<1AHE!uW14gfB@ftC)3*iT)qr_fS{Zv@L2Gwd@xd z`u$c|bJ=&JFV~ztw`RG*8>Hyc?EpcVZ(?E2<2uFl&D%FRe6Bu5MjafD-vg`!1YdGH z|J+eawpr5B(`HQ#h{}m#z)jXls$FP0jStsu0kik}$+Y`Y^ZU#E7Q9yk&ogK1V=Fa@ zFbzlL;M8TJZFW+2Uiy;e_sDn*HWf2NY1+4P^qW&fKs9zL0h3Bh zJ^=wOim*lZb6v`m6z09?Tv4TrqAF`cPff?${67rXZ2C%mNwMPi0}=@jTqtL1LGM#i zwgZLnZigWNIz^U!I&6!un-4s5m^nwtz;g#-?;uU92 zT2kO4_+O$C1o^-;RUnNX4iv=8^^Od1z`g}GqB;^V&t(Hg+Y=G(#AvA`{}{ zL6!2K`tCo$6yRj)#Eb(R%YWi0Km{`4xU3w=b|2Ybw{&;E1U*11U_}M+AimnO)zwv? zL-)dG(kToc#yfi+-3$1hAOq3z`I!$X{6G94@c1(5*~3);-pC*QlOa?~D>-d;@P3ZMS_`NT7IdTHq~1c-V-{NobH=~@B&MchemD_*Tv z*$vOuqNybB#SihN_`mZW!}@$)TO<1kF4py@8!~)C{G66zEdIxwwNuQ9ns@3F4|}2A z9H=wQ>fFM9WcO?76ios0fqFWMZ`BC&?JXTuZGG3fo6Ebf=3_xYMI`z+`Coq*D{BiH zJeE3m{#8M8%{NlLe_t*)951HZ)g3srDt)6E zEa=bcoJZf{)L*5(m)|i~eg@%DaGo{a|;${I| z_^-E8hu?^lLJ652hRLs9XA%v}y#zh*YWYY6EM0yPk`j-o!GO zo<1@~sN8tBCgzBi05_OuN(M4ETAr6(zpm`7Pc2F)JDh#>;)JoSVXk4|Hlh7FwF4s6 zjt~4FHLxFeu${grE`S*tvy!74yk?uE{*Iaih>-@Sba8|sv?{DV*ee}&)SPkV4haDj z&y!atBjLN#wsTG8HT5)_nrJKU*|Fiew4@j?D2CRj}47i&@L>jy``qM_lvyIs7D+^Qsu=j>`-s zgs4ccTG-)e(PiFv>0R^CbUp2Y4&Oz~f72Kew}|P{WEW};*#~Zap^h(q@e@SV8q%C5 z_~$+j2lgE{-^&5Okp&e-w2X<7Q9z!nY0}xB=eYibor~5I{_P0U#EEp21xzRwA+c8*r>` zipROC{(1r!JGZ(A9@Bu-`XAF1Tnojg48n&Y;I05#A1?jXU-RCbF2H8iMObhlIYu_zEjY8x#K|fC|5aO$j5X8 z(3(KY4_sQC0I&P}*`*9EzAP<%%K@8q&E9_oQm{MyfH)f*zSqM)|sK}5YLOSKNfiLY5LP<`vlPJ=0=r#EK zfOlcY7{2ktPlR{`G1QwGnJ~p7V>VoAbxBigNze^$efx;=5(2Ob}k{I*P_j)e^dVn3) z1ip*lZWN)xK<3ZP{MmXWhDOUt5F05>o;oy86C)?b{OVH)D0ofApQ0PY2a}-txfdT7 zAPaRYUTmQ1{S2gpinU1wEp0yRA2fPxoFszFCz6W)sPF!!N6@DEZ%yO=x9OHPl(d+F zXO!h7G~<}jIqV@G3?1e2U_FNc0>P3hH=;bMuu_W7)WkKGt*9!x`R%8gbfeqO-&hAyW&i^OnK5Ug7>i zU-(r2Zs00;%66ftJ}12eoE@sjpxDjaO0CR`jlnL*Mcu`9wYV<^v$$*HuGJ*Czid+g z4L$i?HWyRxZ2_q4`G_UNmoG9#`i7R~_z$c@6)$r~$#Dgbg1%4ai$q-=y9%IRY*0w; zbLp90$fe6{F_WMD>Kts1(6BARth4{q4J=BBhxX?0b^BpmYG{Bns=&@q9&yTR#kp03f0K-;M$3 znNd*_C*3E+##${k@&7-Hy*~Osw4ZT82P&sy!)>Wy;kXH4!N5L88A!Ugxq)zF-I2Mw zySs))!p~q}mGZsY^wm>Q`C6Jt6fX|wymO0-x;i@FU;hKF^^($3ThN5@eedji`dZ{l z>3q|@C{c!X3GAPNWe2yO2uhGGg@gL#=JFT}^#REmNV$OB7!RlDalyuun_>>xbw6Fy z$UX^sJWzVqYGP5I=07Db%v9>7L?4c9^$CY*O(!J$_ z4=FOV8PR#0?tt5s;K9bK+Yno9I`HD*xVxl<@)Rj;HYA}K)pFgH@b1|wu$S;QmO;fa zKlAfr8l&;1DM@!_Let{JltiUqT|5$2{d$D8H;rU51T9DjcHr%5ubIK8zGoM0xpY6# z9ik(j?Vzps&}g#a`SYJyj1-SOQ?-5|M*f!tNPzE3{e1Kb@UE?do%h_PE9k6s!{~Ez zJlJ&hM0`IeX_%X;#o2$@mY(5&NM=ZhzE70>8a8fXOoj?{vo{B+NlaUm8`TF7Fw(U7lSUP9OWqH*1`s+IfeYB)X|aWNag zjf*!|O9S$*n_4m1kHNvD3X#r$zpk|tmfNZ^>F5^leOun4;V-PG+xKtoc>9bm`n{xN z5qCzE7#9;HJiup8#CxxEiNuw1rnNOM4=6OHJKzfWA?1g&2$t zNJrONM2Er0KSu0+iLWLeAE?L1+b-5UjWa?=ehJlien%Dmz9JH;a?(sAUQtXtL<)4=rF; z%IcuP(>CUU(PSte_Hzup3H7pMacs(~%c~=;7AM3|r$Ix5N`+=rpE@IXmfhC={T?bA z0wnx5^nzaQ2E$0Uo6B3@6h%A{o6 z5^_%bJx@PVo|ifX1ZB8+dG99>mWDr?ewx=VILHfcv9ZnD0=w~t4@_1qjSOIwN+Vs8 zDe=t`2vuM17~gFM{Z<1-2w17`{wq^rj3??p2*o{703J^;j_%t%UrgR4Km$xMD!^aA z@g$ZeRM*g024=>R{$z#;oB5hYxL?YH^T38tX6Dak7Pfo*Xix$G1}4bX>AIf9vuKWi zTVUoFLk1{C5a7PK96v1_Lx>SVkVUT|XRH<~E<3kXKA%0?vpPUE8?8?^JpX~t-r~D4 zvCZal=2$K>I%Pedq?HtA+(pAi_&Det#Va0eo_GF!Ys}tMkWNh>UC)Vtg?PqWQGk=~ZGkC0RsZ4bT@ zt&e8pWg_{~EMAo6oZs4{qD8ZBg|d!PMy*guLA# zCiZR+( zYl-!AHADW&sO7|-=%990yJ8CAVbSJ&4aF$Gx#eXMK|#;zBMpPM>pRiqsG^*lZtmMf zh3_8_I`X$H6cRpeLw2|&rk%w7Sx3({mlmAwQ^E>#u73pd@%p|Ga>3m10}yl|!H!i1 zYaEyFk#6Ixd23|Q7$lt_g={A@i&074W0$hl_l(o``i4`m5XtPs*D3ZCs%QY3!Jz4T z_Dtla$M?k7y2V{vsc5E)AV@L%@nd)fX<-}!@zppT-Op}c-kc^ozPRr9MERcwXDt<0 z+ZD)!E8rVUC_ybP%!T5LiF)c)u;6G#K70bmk90^Rq>JRGRkb*#k);xn&`$n2N1h)! z2wvzun-x>;TA5qIE!Cv2P$GC>u(6J|}M9a9P*a|uBoN=otVp+x$ zcZElUruEGgvEioRu^~Kvm@(u^KlnsE!S%^csJ+cre>CxUQ^0mhJ+K9ZO;a2g@Ge|= zu8d|qC+CN!@hqc)Y*fT9zIt|6m6Mp~_1eN(cIr~ZSS67fsrszK>grRZ{$;;H>Xq#AjXRNAoN#Z`Mtn$L2&f}~ z^pkchFk)R)a@Hy5{%Ac2Z%+Jo88zb=cyJG5*QcclQBIDfFRA{o;P0Z6)&vuh@D<5-mlBK=j(3;N7z5+l$76T9?5@9~ z#r>)7%_)@bF1NO}QeSz3eU7yy3jld{e=wVd`(v4JhWVTEfT0bdZ?*;=P>v0+$|Z4j zS#X}FT)w$_ZmN*r%&NC%1z%)NOG*Kq(-i$_a5p~<>ng(R3re&yvv9DmvZ`t*;E?gb zw6BuF9(t>_zjm~`Pp6QOaDI9c@#M+DQnmc&W~`LI(W_7l>d-M&B{lHTI}A}_7*6G{ z%qW`3fTk<2ElD7|{PQTJXury3Zz`9sej_=8MFlyYs-h9o4{$`d?1(k|`@ zwykn93mtv5wSCmFvLq{_%}R@j)xhDLEbbRG5A&Y1I%nFnjb43 zUs93snwe3MC%dcDTEjrd!;&8qP%#regLgCv-CwISK3 zgM)j$TL1+8!!i;t80|5UR6L8G_u0fYhzF{ow;2@?sRoY#-xfPNHME6WTtiFm=T{JZ& zG1_ca&g+(PY@AFfCD$@g3rsO5_q|hi7ca#e-SwN(a&PNj@4tU`2+f_&*L%z z`=g5)R7C~_ntyOOH@zSipVQqv-c4XffS%lrQTamAfJKD?JGy zCK^)MFoh4xylWqdtDlEdKm$~#Cun)-LGQJ`Jv|+dgpC%76qkzL&z6ro5aDvWba>q( z4kyNg{D`W^pXePKIehhCzxjGUrb79r^oK{7#F9*OknXGY*AK=w1aB^p%CW?lo5K{{&fM^`)9loN9`?r|G|qz&Tx;tTfI61FB@q>O zA86RDuY3Ttf(OP{SV=);*6|oF_Yu8K5+rt-yX}6;# zGc{nj9U%61+nfv^RTmWv21V$7{^+}Z;ky%cWLE>z`>8N~)Oz-?X{m2e1a!A3$;cdZ zCP6^;vv@ja+yhZ=2eSjslK01fym!w&qEnoBh@nXR+fzQ^gG`y*_?4si5S74*1#`+{ zs1?9X;s(Xg(HZ|S9{=-o)=22%o;(w9+8?VQDtTvy>^JW2?rMX+r|5gqcOjq`3~SW0y9qK#Qp0uV zRSuLY5|@NY8q^FDbFq`7xg00E#3uh>XOWZ%>=qbTaCuJ}h(kjb?&9JcuMtb>emWU{ z$(jOs^;?Z{PL=o%i<=D+TcPQC0szaYXIy?OEUl zyUk8^_jhmSYj*5{{l3+=)*f7%ySy8Gr=6gh6C93H)DmiNUZPw5=(KREID`Se13jKi zw+SqVr~mP0@I5!a7mj~JS`}QC*XY>pUz6a{TxC985@)HQF{O^|j8X=Qi0IM8zQnn1 z>}-jcU8pXrUL!y3W!@|Xsbzr$Ggx}NTxatx&(62Ea@yN?JCC$rcAnvE3+|-Pb$<@Q zG^7tGj~<<^uRl7fSj{lP@=v?~12mpp&)VvqM<*Ug&R&Hku3eN;DEG!*Wyd@;~ z$l!tXv-K(r@Af>lyGqCthAq>cg^}Q)eIznarezd|N^Aj^>1m(Eey5~>}3{_ylVeCrl~=0m{O=$`uxsy7=V$pW-> zP|-$kGbOF$+8t&Bcp3DEq6{30!H&>!icuRp+}632Tw=<*(^}S%%LnnSy9EsaM?d}B z*I=Lsd>w$K0qFHA`Tt2pNW-N`Ug(hG2H{$3QjV{LW9PT$MmccP_U%^Vw3m&|k%a|j z6RpqNEc)zRgqWxLFyn`bmDHum#Ioo$trgy%Olr8aQaldoXJ-Dw{qyH@&-0cy=-RwX zR-FQqcy=p4c4*1`rQb$BCjzHwf3o>H&E0HsWJYFlXFZOaJGj$IXt;8UxGU6l!D(Fa z-q!mtS)cMLxpwVgPRtH2*v*ZjYVcY=$yWhUAPw_bBe8GafvduEc=~SVcz(&T=YDnu zMG*;)Mu)+S-vGVWZ;a2XosJMoCzF%CSxyC!`@OcAe~q@Sp4Zm3FHke|fe|cQC?5fe zf`Y=tN=j0pvq@pEUKQg3 zi$M88gDABFq5le*N%=nNyB|5^`+_mIQNia&@FYs0Z$wqs)i)t98t z4x6PdUs~~e%`YjGLi-9V0@c^gp80Nle0JA7MMud@Rqcn+SyXIYulZ|C@W=ObcDTuQ zg%<<_7wBlomqkEmZDpkQfzNd<{%;P*NNPp5=$1!>^U@;JG?JhV`4u{zM4wkdyn5 z;C&{3VRfJKMCf8$X(>k{%3NnB+=+b6ILj7nXz;T zG_(>kK5c5#i<9oTtzaNCf<{66E8U2pf?x)FSTK=PC&F*-+jA;3Lz`Wuh)apman%Q+ zMi8RCWGSXijlCUoVt=9H@ZBN^bGFzX`Devy1PzR*B*5}Zq+B1{_qYFS11UTP6aLH`2`KwO6zQ%^`AIs4uZ3Nil4bBMq7#zt0VOXj&6uVh=-4fSx}(w0=CY$ zfj3uBuo3L$%g_Su%?=dDU3Z$?hkRYAkwu%9%ZkA~*U^Z6RO=&AO_2mu@Sy&T&vfJd zW!n8|>wG=az{6m5TEfR{x-};v_oKd7hfjP?E)Kkl>KY_TNUE!cT1~IdKng|A=fn9Z z!D}>sO-6==rww*p=$rB*EE(c@-YP1Z&Rvl$m$%@;bY;{36#9i*%d$2iI(MLe`Jm|_ z71Sju!$QZ;L@sf@VFg37ev~(Q-}ZA$jpqHi{g4ez*YntJshbq1Vk4+|&I#AEFfeNE z`uqda0J{xc_4m=fb27*d?|m{2XMGFC*ZXy-Kruftn)HmZinUMSj<{#NMq1ggpx@9yEkWBi4hc^Ju@bG`5DDl1fe+?U&WRn5lBT{D=t z7f;UHw0UTcjLQ%k?xYicN_D*5nXz5y?lDl$b+2e~|#c=Dad zh1HFEP>VBJj{lMe4@t{L(P01QYE{w-Skdl}@qBmBANygCjLfxM{PF$wU~rHhJHb>M z+n6;AZDiI49f1zttlMq@Y1a+Ly_cN$ny+;U41Z^=uEtrad%xdkPrEs8^;(VeX|2l8 zB6O}{1Ec(!q(|fc8zIQaix(;rjhf1v+hDs0Kfm2@9B%!0YAfVrdV(N~BZ^*X*~#%- z_Fe|Smb8V-uc|y@sWniDViL<@leMK(h1Gdjqww*xFaId-V=BKVqnB~>>c#q%RzdN8 zl$M~WchROvNBorQ$B*&A58z3a5FQzEyS{w0zSlK+Q#@Mr{%+2hx8>mWK)=eV9M@g+ zy%bmeB*+f0d{q#+eRg*s;)jxT|Def1*62PS|G;;*{SVmc5OU}wu?*y9>XBp)C0=Z} zjdzm;?2NQU-<=sJ`mT>Z!xBobZX<7d)_1473y~F=5b*$(h1q5>p%);2v2Z(9!gjlE zPJdwSHa9@LKcEAx@~v|J#D1z%m3=SFBjD0kts*WZKt^rm7PJx^^V z#1NE4eD#dNDEujDy@}Mr3IrwcMa}kJ0@z+yYB@eNtxmM^!2Na9gcnBie-4LP?dM!&w03Sx>!Dj-`zIV!=W(zD?XN9 z6B7r^QPO;4dQ1_+c7r!NH4tBv&f(juT+A$rH#OAMd7tPvBlO9LZn&kZN+v?Uj;@)< z)x~d(xD1eFamSncVyLJUMGBR{fRu}H3om#c20(a*wH1}My8Y1TX!R!N2 zqgR^Q6BoTBL5}93e?n@`Ks*4w4PCMy7q$v6l-rYqke}BQdU^TIJ{ei6u&0Vq-=XP0 zj*$Q8PwwClMU3-P9k;dJCzQf2Cy{`;Bc;385*1}etMQWB5d9^WA8acSCC*Z=qG~2Dd5r|_hE`3p2 zj4c_SRebD3yG$0&_3EYjMkiCYv#e%?X}gywf8h05RMYbAvqVcZ zS^4HdP~xF1`iXZM8YT_la;CYtyV-9Ok^QQ7xK2V1>)B*>)NvbRiQ zGO26{9-a?gzkV1D`y`R>W?xjD&(AIB3Ub>Z6Px2+jEx29mX^LA(v|64oeXy#jo}OB zdnpXjX_*n^Vn>au>g%ZyO=*2w9Io63?*sF(M61o!AsMb!uZu`Z{!b8Y=W4adNvmS@ zevU@ZT;MwMa$2~Ehv6_0K2n>Wj*X{-%LYi13AGKFdv;@gmbWNmCbQ`H4XeaLxFk>v zoNSrgcj-a4Pzyou^;k4U@pol(>@Nj`XI%N?Jw9(9JvF_>x!_cXjF*PeXmsq{0>T{ZTe+21MJQ=% zYUpdkVT_xpZZQcCxe1(Fl$|Hg!VDzedA%)B|9Rt8)fnXEJ+H4Aa&s-nc9E6^ICdUZ zt3hddU}^GhG52n57{ntzwvX2H6F)G>g%OjeaZgFh|H+HP`*9R&w(OSGITI3Ho{rR* zscku2G^5rcWMwU6EY0WWgtToBUJ{tciaP7Q{otHUS4MiFy7rqHedddZTfXmmyOFR! z^3B@Lui0Oy5o8OitmX30-7KH*0$Vul8GRjzsck~3oR{UOl2)u zgBew6#nC~(v>l1@$M_GUUnr_BO9*`C$eBVpARA+T4<2AkUwy6`JDw*A49!3vj4h25 z*s^mDbv!2RW2+T_8GOj9D=(slhZx=!|JEuCL$m4m{%mU=Cmj(0#r^oLZ#4RP`QFFT z^yF2m^S!6fvG-fnVof}02%||fWJJPqzw>vg*LIkI&dJKb&AWjcEc8x?aA-3u9hcc` z3e#rTFx-9nG9~T4gM_z4`}V-+;Jn$cQ|ocSb~JmLnvVq4IDzrA%ajKRFOu$8Uf+33 z7;`dr`917K6aST8qw`}tx%`n4mc!*(S5GUDkQ#p$ISjcUsW-`IGg0E?EA4cJ?cA5b zEQI};^ktnDj_C8<(b`L;WJ%#b(gw;L=YK0=n_82zvmi^_4L(oeCD!QyJKcsSf72aTXCXn3FFx?>|Hi$?L$(<{9YqU%D+ zqDA9r7*RhS+jl985XP%BgD5jq+CVVLQ}8eSLz4>3sArxhlN8~x=y zLUFCqRNQbhLS(l}SFHO5XTUF_9i2clG-lCoXgsCLtY&gud_dVl7rFEQWdTfK@(?*q zLoCMbPqJavS%jI5u2GP#3Y7HNkKO?GGE{2fx4GLry!*f7_otj`ce`Nk;i^NF7Oj?4 zlf|N9YC~{^8ea!ThIWNkQxr2W03t43qz2?+VwyPV6;_Y@+Y4tNBWH<5OZ)zk+>W zmY-jH1=0Ef6Dj($Ct+xM(3V(Ug7lW~h8q@92+JM~!p>XMD8}s`dA%{5tf8kz#TcxIl4;ZIz4QA!LeFGA}Rh`|_N!k{Tthd$$&3WbQcJ z**lKc#$GybOmgB_$N<@a*-s`hhetY$Zu?>iPAF!ANsn$|zwj~O<%*iikmYx?W%rvo zYxHA2q7rANU)QhJx$j!9B89G4SXp&}=oU2IfN56pKZ$GVCh+32Qbo2-rR_cL5utc|WwV#G?Sy~f+>$3P8VjG2q6aF&bhitT|B**F$Dau`3M-w;eC2i$fyVOim)Lw?tKmuc3mhQ4*iHOBj0V=W$ zWrjviCgg_CC^eMx;}3RO zn{^sY_)qoVz^KINc8R~&-5y&f`Y&RZ%JHIlQTku8A;i)_R>fm;&ab$bY6jyIV__GF z2>&;bwhXioU1@*R!+#%5kpXWQ+o%n`Ov*@-g4X~(bumkDc}?$eMGFn#^DlX{iqC^h zi6s#xmT=Tp^?0(XU-4^M>n&r}RCU9)gn8o|V?y784p!bqfP zcgc$hL%(`_1VlVb|LU+_R@P_R$Oa@&;CP zSoa&2M_-_8I&PS-IGK|Cv__Hdg?Q+&UbUx=Q2~?>cgZqb3{(_*CE@X2%!GQ@T7GL@ zq-c^+lIecjM#Z=?D(=&wF3ILW88jq2!Tz+TT0d2DC7OrA@t-a!Y1~@0k9(a?6gRp@ z=89wQl;Vm1S|%RU(bH=Iu1qHZ@82C*X2QV0Ekvc?=wi)6{BimaaZwvoxP~r66k_@_ zKGtE!r$&9f8c*__V|cJZac(u5AzF6aVL0~0Q2oT>>j3_0VeF{_b%*Y%OZUFXLWeW; z`iHXA6@!Fc+YqRnWzC!VKL1z;0ec5Y1%#o!)xd&eU__(sYyfV*l|M>3-H;v*uPU+o z_^ptQPnVNM;1nX5>upFyMGBUc_cOgo_T7hXo!^G%wDkZ+6Z_CYbSR%waQ!oMbmj^~ z{8MPLDZO3Q0E~%b4~HcRnN?rUo}kzt8Y`G<^CwC}XT1uq7tv2-L}XY}yHfLXf3eM8 z79$dBe~B3&Be%ZC9v5ucOygHa%!miAWo_uWV@XN*!`FM$cvQ*_na8txwX7F*Y zVcQ#siP;Ela4|bgy+aDN2@*3P6n!9W;Wq|W+!KeEk~Y7R&g5gB9KRQDv@~%Psj0z3 zstU2X*FvGME@|1N4y7;}tmhS&d+DeMlZ1&rf9DL@H zCNN|q+7(R01aYg0uqkoh|B7v7BgDbOdSUoQauv#o5Pct1oeSF6ll=}apzYa!V^$N zmwyh+LF2jjeI^xLh844mY|T)=<2eB`Ev=M%A~XmJLYhV@=zcSEa^Yq^9n-x*ER7yL zaiV$3?WA2 zGPE!&IA5*zAMp0!2@_4X%gU*#an>s&i9pe)QlVeb7e+k*TG#6jZpaS_0ZqN7 z(aCJ*K$!;wM7Y7fOw5MU_+N4G#s0bi%b}qx@2%;0$buAgb|s?jM9!ADWJ-W_KxlK} zT5n%d(=#1c6b*|Iw^O``RuqCMgO0!o&3Z2zPtup%bcR3vl3?*~_RmqumvByF=V3lG zuF;n^ueB>o`)Y^>@R{uOMU806Z6%4$n$Mb~u6A_-uYZASh45?0Wd*v2Lq_vzfz}VzeWpJ`>mTimMzmRblFvKTw=b$8%kd=1Iv( z8YMa}U-G-3?aj_6evq6L@Ev_sI8AEI+#xY(u$9>m%Z#*%E8%F^%q+O;u-`F{byu0&(f3USJEi81LubKiV=!Z|9fE||F>T3Q`MtI`)?-Zn@ z)ESq@n+*6NxR4Z3)F&lbSXel4WW>e1-LxkQ0S1q_@CChocjR6n1q88_qlK$>Rxr6* zq?r9%|B~Eha%^&1Oq?Rl`oA3$B_aay3f^Y8ahtzE$Ky=Zw-dxcf!86H#* zDwpX{2?}5JnADiDF#@aYeYW$}U?iL=jX4Y>six`1i4x>Fc`fSoP&(n^@|Y@@+}qN> zs>3ooWd+-#jyxk|44a0vLJuN3gW;V9-^ogPm^wXvR1 zMg?tS?sQZ2P~4!^N%@59Qaut&Tb=r|(*y5aM+I*Wu(;_%i*Ve%s@Kjh>Iiha{}aP! zY5GbmfRQmvyaqQ~EU$=k>rI55<$Krf>V)c&MNtMNV0C62lj!?6izK6l4!>SK*FUH! z|2O`3T{xxjkE!JF7avnLAn+J?S@-^Z-ktqiA%lnw!XEJO!Bl5K#LL1SM4&;6pX=ye z*RUfDa4Z6-zm0v#Q>55>|H#z}wNoe-9V+@fVM=vBc_>Y`4X~QC+u8K5La~CFUPZUT zqlk#j-r3eUImUG-v~lx)v^-(bENM7tVvjar+3gVc3YBEUk*ko|<~R7M7#ITU<-mC! z=BF*sSN{x7%&`63^rhSe|0}k@u`zVHib-5qlxpIjy%!sP2kW3J-SV~#EyHVnmQ}ss zUb;xM62;dK=@OX>-i0LO#2GxDi6<7y?o<3--v3!cyw>#6rIyE8B@9;1^_?+$(tuw9 zqgEh4a{{*Wxg$9E_}0PkRoVBxiBlH+yKTTHu^vtxk_zK|^h-~u3qc((*D3ZPM%%uh z9!7lhdU@%5gWUGJS1t*hK*`s@j{WPq(q*^hpN%f(MS393T!s@6o$e2ifx5$Lmbi0FHg>WPi^lC_@nnU=dzI6HWAqX;~Pw4 ziH|)`norN}UcG)t6$-RaW%OFDE~itJPpoH7L|GEct)$vioOUio!BOXTKUurzwCemh z>op|c89 zi%ss1x^E5^YtQ4R^#on_OnUk!ThEeP$15G2v(2&k3%(!0&DG^~8$vgBoC{W_8}nO2 z<5aVWK3G`|Y5`6mg%7$PVA@Yl^9l>6zRT4p)>^0iT2u|dP_NvNvXG@ZwKkNHwc|^G zilP#53jPn9=yrd5-k5s{Ha`FysuW19XJ#%&B%ZLM%77k`nh$JifN?~~dl38ry!&JC zv_zmakDz)bAS488`5W+)mo240I0A&mhaEw9shj`dy?=KE?Kc5JcD>^!Jw3gawl)c? z7GYS|!X^O$!R_s>)-H&@n{a5hXI^^gS?Y?_+7&JdFYNp<{GuecxS^vaH0a)tSxrS+ZewF!SN!jY~Fj7Cc~*s4k6cv1FD$Y)t~T5ryi zvW}*pzvBbLMEPekAVJ7&n)doHBi}VER9YSOqN~*rtmhLZ}@9B8! z$;$I5)z!mak6y|r`nce^*T>D3*xbRs5i~r|7Qokzw_x_y!Gshks$|EL_%q9gSBN2l z1@rr*qC+DMWg~D6_f2dKC++sp#V^J5vR~)~NIS|F;O9Bd=Zq-~c+;XgB`2%g2IndXaf2r%EGT_ni&^YAEZ~fV3iZ62tthBi<1s(*R1GRK7A!cN95=_ zcvAA=PXk7w$XaOGIV*RPPWL3Et4y)#vSo>-wM|lkeH*_HDz2-jC34_t_fBJS(8|=j z_0UmfC_DNITOy@uxv;v@(sR>hU&=>v7W^@1L}c+ayo@T9@ou!5<-k z=`Z_Dl(cT)8y&*vr{Y(2Tyy%K2&#qqU!}g*i=Y0Fsk01=@{PLvfPh2E(1=n)cN<7E zgmiaziV_0S2uetobPk=;jYvv&w}7;C!@2+OIq!8HKk-GG@pX;n)_h`ro<4ah^z7~Z+Trcb=Gyc6!^c5;ldPnz_ci4p zeW41M{X}!Q$&kp-NJ;S!`kqJkvN@_ zG-0KBo}%6GkDz%ppMxdtTleK2Jd;BzO4IhHI|VN)s{23A7|Rb10Z{sc7_+09bLo%v z^^Ov1&b*0*ri_g%=>#I(KUX5(=wFJMI^DZ4Xy9huGa1UtCa?vI2DW3MRa5EA)coOX zJC*Z2-!igYzOnRHlk4e_3{=(OiD%)77FC9!Z?`_KEwPA~$rsXk)D=@!O!chU&x+HR5Qskxg{1PDevqtCXBAv9%_8nvG#59t276;Jb?k?O3Uy@>*3mWuHHtEC2cfN z_)DR=7hty32zfSr(mcGrT&E`Q?+$D6_6|$rxT)d1T?#-?D>R3j8&Bv<5nooBNOkS8 z)CKoea8+prL&acA;9$14E~u(<20z8`-GZ4Vs84_i>ZQXR9{@)n1}v+<5(50xU~MC# z<T`dH#0~OUv%)oG#PRQa*6-0(bh%3>mMIqN0EoGdz*gNZ9?KF$^t8+ys35i1%sV zzrXUj{0F3TYe((^X@<4-NveQ6x84(ZaehuPn#^wpf&;cU-@Zr@0?QJtyKKoYU~J!v z_#Hj~&S5r^esdn(-B7b4Gn2(>uVtf3Q%R1*H}6+OITD?zCok^6Kdd=aW}n5zRuacU zm0Z0rtfwyDEbGWwnv$HNq2}DT8rxgJKLx2TyU-2!#D37Jp&|PTCMwE2IX5M>kCb9k zW#RiGrf*wD!XJ1&o|`ATp^GLSsQHR-Dw5&Az-@V4N%*QGjMJ5U|J}QH5mMRlnly#b zPQOg;pqRHvHs!)|U^ahYse0zxS8U%cB~8j^SXA?ZfoY=$R6DsYbjj}TdnA@GH(!<+ zHddHU>e3;JpeZ3o(cYdH4)cvUh2GH`quaB4HM=h(_k@m~8C~uNrKS1xYRZ`KB>mNy zYN;?=0vn@`jU`L8dfndn2Q* z+jH<*<*8yuirQP#+uPgk9UKVz++L2-exM^2x3CULI>v=(AFSAgc3zpV!$v9r^59l3aIYa=0nsojT>x#he&IK z-m#2Tt%GmD#opDlp$F2;aK6QEN}YwLVhq9}Zz{v~{;#J>zX^9n6$7l_G*lP`Mb9j5 zOvd_quYRycXnoWy}VPQZ<(6P8r0-!<)_I;^m(eE?;~d`?e5*m1Yc2pton0Z&45J zLh5G+ejglKYW^TJ8z17Bk9uyfp;sZ0}$# zpQX(w6d-XTu5nJ@zSzr%PVS%X$_NGt)uf zSOJ-+`b!RvA4Wm1{d|9ZdfttLT+aOD3SbgELcd|==P`iNCV-lZoE#8`0C5u@BZ~xY z5Xes>;m`-(^vpf3YMXHoqDg|t83kglubL?BC(Zl--Jx9xCl8l`<7*{u_YRr!^bK&l zIef8p;{&iot_CRh9_d@|nxw>~AqO$oF8#+nea??#-Kn`S+{0vvQs3!~>06!dUWW!=fiNeiB&|6#4`YH4i^ z)wQcFH!lP3B`onykZO3m65`0cc})C|a0$s*r$^fRPz@W!wo=vc z)z7NDC3XxjF+?J6`GJxXsFDMB>Xqs)cJ}Q`4K}PdR0S|6-31RK8XBW=Dl11()TX^R z{K{2r&vqukJ2|b}W6JGj_&)=^()|3M6G7?sx^~{nhkyUh)PFD&&M>OA*O7ELvRefB z5b#%kO&tMONs<$Tk(m`y1qqn0t#&7pq^X6p^YRJ4fQJPu7=&gB{!s zeIYz{J#qC`3=}i=0oSSJZ3=4T&(B0IcAwX>9U$2{kjYWM!+tTV!WyN1WqjE;Ww(V+ zqT}nX^KGVn49u*0Z2?0zTQ^&6>@45K4+}r+xivPC@V|IT%LSpO#`?^~^|^Q6v8`rn zgY+E^PE9Rf*N$mqDBh$qz96gr_&SklO!ubMF4u!I$G_(u{#XD%@p zM$bEU5p}f|xtggAH?&q4>g}tH2b>3@zN&t5i#)pr*v|YBx zMH6NoG+hF@z#=F$EY{e$(nk?JBQ088q43{!SS~c*!5`h9xa-v*ttZg_8pG;-P}}YC z*qOBkE#5#2a^aAyjQDdoJwKNUn1P?GCfAc>k>F~IUh?LjffmTL|AnV#2X-_IFR&xk zfglbLsFgiG-vbHUFGe1u%reE=1%uX!_pY@9wR;T$^I&!#_!G6-4HfWdHfkg@Zg5VsXmwGBNuU6Q9x8oL2Sfj z7}mN>xhp#UR88SbLEn_%^K67o=@t_+i}!01GQfqg>2^{~T@{!&^cbJB?J@rt_$Di= zhmT^;>_N}eF~Wl%QWFaGW8G&{MuuIDrXkZ00hh>QaPCazk93Z90`dcn5iue4B&6E* zsZ`x++nXXajrAfo-;;i?@Jv6B6mYX9k?N z^bVYzU=C4u#N`%tmz*Pb_;|jOHy4fk=^r}RM>lMpn+EUiBX%+;B=@1lYLTB969B4LDxJt z&^QHTiatI*BoFRfq$Gh2C;7{SQVTns=rLWre#IqB8Jl6}n(Tzx$gVp3#ZLzvU4X~& zO-cT_u>1S|gvYvDgM=ogyEJ?g^rQnBZj~1Uot+3_tqL3xZla0+RIHlvJMB@jU(^Uc zBJF-u*&8u3RA$w5lZpVpK-t%XSe91#0RsWKIL?C62m00Sf5(s^ecSfJ6(s1y*5R_; zeq(e4dD?UdKcBrUH)!3lxf`K!(NDQP(lYHI43!tz7i36I;(zS-H-u~vNZu>vo3pHZ%u+HX>+ zFz8ah4?PS)S)4z9c6L_gmEG3XR$k7TGT5kPz!2-P7Q&doX>|V%gVgqP`|CFy^rc;r z!f+pUA2fAuB|2R_)hXDHlCJ<3uioceWgAwef@q>>IGQK}8vc}_xy`Up##NV**Y<{% zQknoUnZ$2eRYU=1&@X!q(#TIt34Z<(K^-PXx3jJH_b9BvG6U51Q6n0Sua2r{rq{HpRjR106OPW@^om|Xc!@imeg-}mnCaRCk zu=>?(!=JP1i-mfh$qVRfzM$p`6k|fPDY6ZlV;AFJBWQsHC*HW4{uP)}zr;UY54>T_ zx3Y?gQ#D5=jO=P^O1ui0soB*kGirLSLNNLF^I1Dd)%ZH?=lmrPMuH=Dy?(e%>HdEI zrv#(cQQzC%=*m%$r#KbZl?|mR>Gip0vvCz}i6+THCW;1B4Ui+pT=F5QR)fnGg_DX4LZHwYmW_#GP zMNGMJGns z_fr@R{MmUqQ%U<6Z_jfa106M?!u@zA`tWv9>tU7E7YKg2Uzn&DW=2VKo1#`qJ~`Sb)8>RN#z0-l6J>zB~7A*U_9>;q?O8jacrDghxY11lCDecu!clt}f zltCq|t*Lui$2T}+iPwB3ojS*f2C_@H+bxMFk8KSzm+sIzM36J1 zUr|Ac-C%CTs4V07nO>dHcAP8py zFNRnTnM?bM=jaHA!^s;r;d2DpcM0hy8EsDV<1?8xRtnm^qrK4b2r#>z zfRg6Z1_6P>w9#i?4n`~tV?GHu@ zR=0dlbHDkwn)UNpI4*mowICGqnBOtHdE@)xqKH35HTpZM_7A7YF1f9?hnB-sArE-G z42k?Jej$Kw61iwFx;i$xbE7pT^BS(30v9de}O& z?WQmuYHCaZ7G%u}NERkOzRKjms;<}HVO+nEkPr}9oi6O%sLWK~S_VQlg^qh^ljOey zvkczXT-ubwZR7K53P53YkAvnPr8>Zd%2sdRx27#97Klbb6eep|8pnhyQ*aj~_bDCZ zF0DJZ;LFizcVYz_HA%1?u#8$u>zY(_1Xt7}N{bSRC9aronc_&V#O7^Ayz z&Qw94(|^&w)Ckw7bRqJ&JkJgq+=5nfgxUx% z0|uxAmk>KnAjDL%1X?}7$_1gW6rB$k8ovEq&Tdq7Q2O~Xqf~c(o)wfPT7IF*cHbM% zUV%<+AXCV9_w$>bn4`}(OV6J^PfzZU`j%j#?}KuCBYi|+2bYNe5)#SWlB~DwBYJ!9V`ulub?1?yXI!E4Y*tl_|n>{7~Z0-|>c&NwOb&s%Lu`83EY^ zj{#QeGd0A|ny(SG8Nh%gZ`@|uTVr&lNb>(Kz8ZS#hQ+{6cByFAhoB#~O_}8Bztb9o z87}dqs?khK!2_xO7JQ{Yq(*im#Dtk8wo-Bs|5%2+i^P(9fEg`xI*81qR`weKt$i2` zHgl;EAxZo>Je`yz%!I5+1~qQ1_XV3&PPF|Cx!)IpN;3$-wBapRx(FY(0SlT`3)E43 zx{Rc_DZgM-et$HS3XOD@KrwBcYSl6YiYNrQSE2ZAd6_LAXWUJ z{$#|&p;>;RQZZ#p0(_E4M5iCW35?}5ZmRnW^@>fny`N5V{iF&5L1m{TE{5MX{7Oyv zzs%~L-DF5_3H(#D0>Ri}J0=2XSQIHU)+fV>e(E%t7Wq@z z7YB3@98qMEccI4N!|AWSAD|s*@o;|!hFC5HcYWr^KOa-+SDFT?J$jF0S3@G!pzs}6 zl!Ga?=@T=;1XawkWYk9_Ev2}*ytg0GX{4*zM74hc-t4nLGGfjq+UtJL)Lp1KOGfL~;4on5JIT>rgaS};<5A=vL+ zGFaA07Q=5gI6s7)jO6szo$g>_t|*rZ1tP&Jsv8U62!S#W2VzA1)>RK=llABbrp(et zS23aq3xtOXZd`Rc{nQpGIK8tbA_L$){7UM*PP`KSWEX1*>ir(tEPOg~DLP2?)R#(g z0~i^cZz_}?SsgtxE*v98On>@~zm-Z7UMc0zY0u6g3b90^8KbsF7iAsRqL!+Z#H5{* z-mj7*f`<8T*`OPDWK)Ifh*cYxsN@DVbn8v7NqC!{o}KM4xA|II_hJrO@+5(dFqk{2 z%cHQs%WGDzKSMH4{Ie+e%*|)x%r+nQ!8Cqd@G(PFDqTLew zty`U#Eejahk2P&}jQ2zGik-2j9R6xB4%X)}nQBLMy06Psl>am{!rI~fz$Yn-E-I-B zLHBntMv3y0gb!rGRLEd~Fch75$_auWkQi!MCav}JSFZAN4*P|{Soq(A;!v4AGf`>$ zPn=OrsHbr@sX0)&9!sK9_xy!nhQ;2xHL;!z)1U?rhlN7?o)Ve#nPQ`%h44L_La-%3 zMae|@SSqRg{CeASgC*PNVwOl*#6&C6pnvVP`zXEyql<kc1Fh3hhTw zS!QlH!>L)cIGKBJH#wTRtlcsxzLjhTNOQ%1Q5$Gqpnl)qE#6g{^DT7~hp++*8UN=_ zjsuJM{Uc<6835CwS>l_pIRBwa#qv;6K3m66I$Vw`aaxL}=)1Xe?Z&%Rc0KHM%LwOU zm9#H){_seYC5a{{wyk1H;3VuK!{ai#T44Qgiog5r3)X+9kK$EzYSWKlBMORIk!3X> zt17`nOgBt-BAdkR(TjLFYxTldRVgVc4*mM5LCbj6QEL|vssUg>j&^p%qewUI8M4xN zVoNiACQ$-2?_r5rYFQf%oJT1CyxREwhKhrb(lIO)wyK&0b~|Kh8(-opp+H;B8mts3 z>N}sr%nkkmjsNkfx#RQ|*_eU>>kdbm+2a4@mpT#HLoXg@-L*^^?_Umz1 z@0=+`-cHS@)vTxUGuLfV<3z{h^L@tsHBt&G7MfqOBXczQczE6U>y0B}F{tfcy)Ale zIefBEB~JJ{bSAJHWpb|6K%xNLP1tQexS{rII>#%`&Ci3(5iV|SZeHH;#l;pN69dgd ztklxgi6(+TYaLj$ekp-TuYD+qUkFzP13~zgZZO`_W+VARLj!_|ktppUa9Vgadg>#) zvcl?X)Wt94hdA445PSrTdQCc&z1CIgH&p@0x#HCtmSQQx2b7f_#e}|_&oNHBDlO9o z2c`m8T~EgXiXWNT5sYecL%(tV&XJ)D00}VofVo;69O zxWE$@%$r7nFNzw3`0W%fQA#uM-}9=ems2t5(!MeWy?fBX2d^JUatHIXgZ!yED%yR$ zus7LHnKhu;)9m=4ymN!}ehyYA0U zql>cTWAs#V)K_?P%=oiSxxb*7eB?i^V~8&H5Ay;i=3?B|O=s(5^P+=ioSWGG8-ilh zAhoR2L0>n^Tkp;5L+DS|o_c)FAcF@yON#1IHO1;l`T3G-_-ADF0)uIxg5 zQ|ondD|X}(&z@UA7s9+$5~Y@{BYo>>tqClu?5)c*%=Z7@P}r;0HA9O2{= z3ljwflUq!jY-*Q zY1jW=H~L)G+*I1AyR~wRavtiss{cCpy-~b3L~LKLWNBsT#H+Ir>VPk_9NA@-KBXV4 zQ1HLcG7N;v1pQ!3dsKLE@>?Wxs=?RINJRFT9no6VvghVu+xeNt$rkH!7=53KRdPtY>T_~q`~(2ia_3q7{qWCV}O=ozXUyUE8O8LvMHJ(%&=us{t$TJw^ z$H7q{gkKJ8{xp>~**&pc-tIq~?0Pt;3BAdC_PFdFV{1IOt95#@?mepn9TNRZs-Wvm zmz582RVJhil3)ihf+~U3ce|?QP2(43J5VD|tQ|=6$Lii?jSHbe9_!h;7PvXIqx2Jz zV^vLEA1Mi@7Y+M~BdaSAX`9ts+`K&41YDmXSS-{itv+Wvv(8p^hhAhgQmXE({7@dP z*x%H|IzkYHILU`1_k%adOgP~fe@2>X4n=|3XZpth&l3s!pH3}KI`QPlff+arlv?g> zXA#ba-lr>ZfpW5W0az+z2%5w*`BZC2f>mOQrHJ`R?n1Yk)T+2&Sp>;D8yU_I(Ffn~ zA%NLKicgM@MlA|c@q?Sn9tR>N2-59HVs@ko-u(1Qe9QqR> zWWuFMIc&|G zGbb|=lu#(J%VH@G`v;5L$>sb)MN1}%j~{Lj{DM{CVo2@BgdBJ2CqP9wK{Z)63TBp; zM!Cx+blyr6wlFS>Q6o^Zez01BaZ(L<0N`Xg8r6fTqiFP?|9<{SBk)NH^rUyD9`l!Y z)`~P-Q(LlGorNM&im`|Bong!Q)cqs&(!od5jtpbWgkQE@1Y-OC{FvP?+?HnmgWuFt zHWDn^U3oJJHcE+TQw|aS*YVh)x$y+2akeGJV9pDN>GHnfI-OebHv23=NNWbWX-8kucHwN&h%WnId}dKgOG!gP zT{a>jV>1J9Iucw7xnv>&-mhY>1o;B}a7zaR-S2kz5g;wW2@7LVnHVBZHZ(9Wpr|ly z!L!}S2WN&`a{R%n8t0w0*JQOQnUtMI?!*)l;X{~FD!b()6lP3E#wG-LcvQJetivl1 z)roKORFkSsSF!Jd76!Wd;E=tb^${>24VNmZc|x*P)exPvDsNx_ zkN%#T`g`+7cXD1rg1W(+HnxUbr|cx+sce7+;>6#6h+SQhQYh}_@o-TvQH2`zu zzB#|#@bT>T%1Zm?1RcSPy6U}!8s0SdG{H}64OF-PfhZ_2eqN+|Z|-eivnDQ|=z(DF zHF|@bU$kE@TJEOq>o9txtIsX-^4}!u2_MZIu+P_C7k0Y5xL9)@rkHz}vVItm15(zJ zEQ!qR^vPo3vm~Wh)hqqh!+|8L){B9ST`g}_f9_|~rM~W4v_R+fmOi$7hT4ei>GOq) z>-1mwk@>33deCzHW|#ZDB&5M2Xs%H%-TnPHGP29ra(&Zw_a>!Ic!e<=g_j_7qwgq0 z4b-==Q8LF@(3UcZ1lYIzTmIs|IEcp+pg7iJ54Jgk#RR* z^@K`jPK4)M=#Q$Z7krUI&CVya?4$Ci@#6Tfr035>ZqKtw4L{K&4rco?&7JiQJ*HY3 zofF1`HRun&my?49Kmqyx&~rUJ=P{m9lZUsd?R9r}N+rT;-}{;H`3wi-JK3{0PM5u5 zoGq`o`M2#jt1Y{Jcz*P@pFSqO=rrZF3g>=b^{{-`M|Ib~e47@8O)7k`;CvH7K@cc% z_e;dEW^+mJ;>A~NgQXm8wxwpD^|NV15%)`KO!8X4%l5kzO7GLrsq+`ZC+LCUvvqFE zeUHFE{;aosrZ*{UONQ$WZ*2d@$9;G6d5QVmE&gYAlG^wdjQL8>1+K^X%k|r4sU(S$ z-`^xS%u{(3nDxPlk8}=KM?sf#@{2nYli7fvkfWovyPf4PT`S{CB57sC zywtP$9EpQcIVwuKLqkJ7B1e}q|77NG&!say38u?fs{&z5gk5U#cdyl}Em}kK-OW-E zL42ewxHK{nEHgW+PZo%0zx3R3;BNudCYGm>$6deCy{w+J=a$f7rMYSU`QxOkzxSWP zC#%0%if37)CwvS4k>#=Vr|{vN)VK0}iNA@`N866`4X^X<%u(CJe7Wzzw68tjp9~-(KT;1RM1FdvnV;%-#Le{1ffZZ-%`rf^a++S)j>EE; zy;G>f5YyKoe}22YRPKFeXUO+seKd`QL`C=URfnGA!NcbA-LHtpZi0=wqXlDCgldj^ z9_znrirX$6?_Is+cx@UL{AF3j)NB6t;tSrqN9p&}=sz1!YyV2pnY3|p$;RB*RmZZ&8UIhx7;SUz9B z6oz2a6Rp;q+ZuMXu@3Drg`KdYKGnoA`$Y>9jcxU6UlD}3p1Bw`I3W-JyrD?L{-jy< zFB{xqI!7y49lh6|6(_JiOyrBSR8$c{I!r4amYO+zj>4=I({=0Liy1KRatoZNZKdDE z`kpw}3Dz%0O4qFXkd({oVMzB}y`q|eiVPsW*53WDXi1zq6Y4zamsM@I z<%>f7FJJOM%7(TzEmA_jH#zHbiRuSoFQ7`^VAZ@-$%w-W6+3*>(t}4a-{3sGt|Sy) zR!q1_4Ndsy_HdT?@afRbkxhH1!Fm*KSIV!?gqE+Aalc`7zp?*@O3`XZKQZOQdS=0= zNRGa;xR-B)POjz3BXJ_{?x}9?lU?nEh6$sop~-rB_t)jE$G@@5z3yN78pJ-42d0pq zwd^u_s`-|tvO<5D(9ejxTD!#Z)AR#_R@=z{`Y@G$V+~=PUJqB14xWEU!G97@xq?n* z*NECRRqGL+^b;zdzoU_ow@m-o$!ai^M7|aD-ArbaJly6a2p4rpQ|7j&XvVW_b*9A>(&0)d0l{Q?F=OT?zeqyZczJW+OzoTOcqPql@gD^s z;I^6LjxVBSbXfhXdaC`0@oL9rUS7!22RfpyTw8r&IAJtD3Bn%sWMPkrg4}RnauOIW zdpAO_nz>$1OqXl7-s&&U{=7#KH#f7oz8T++BRxX*lY~dh2u9a`IQhaY1rr=Ls&tYB zuUCp=bJF0J3_bzwLi6hdk$Us(m@i*2km`aYU|UHToUa952cD`Lk`WEv&_|-V6SqU? zZ$$2`r^k?fOc2nW@?7?@+Zr;!79edDg9IXYD&O5*ryp22wzyJf3 zw~jmD8wg*19zsZe?U>!)+VW~ra*5!_=Ld511bVga!h1{^pemxQ;M>=l^_)ACa-{C= zS9MeS<)4}hH(8uK+I{h^cVZel*uoN`juu*9f5H zU?Gy(Kqr~hW_-T^qN6Y#S9W$d0bN>8z|~ne?w8WaDW3eX!UN>uqnC~#eNhN*`kjpO zwbSuTvgh;!y_#67a_`1#KI|=!XXg78?4%^e4Q?Va$n)>_?_W*ejic24R~@A-&nQ|b z{UgEqtLJ5D>$W-E8PpoYT++qv=#pyJl<|xc4Pt$0{cy=h>3iO^eDhnY^@qi7Lf4|) z4*4_kWO6Z4W?a+g5uP{hop4AA6eXJdSAdJ0o*hd(&j4x%JeLT9)@AHsZtvw@-HsuI zo<-5<<812HoYfG58~b^bEf^t#^l|nR7xvvawy0e2UGHuca(wlts0M_{WjxQQpl;At z{7%@{S^M>4x`8>K`b@Tw#VUIftF2KpX*c0BcfKTJvnP8Z z%1k66&fEv0EURNT%k#*(G^q3$9KMlGHlPeo4k1GXh7^3~)EAkXpAzOwk`>4vJrT6C z2V*8VxqiE^%i<_VqAHZm;6pHMW?g1Y9`R#>lN@t8lY9+u}-3Uv}>tQr_ zmO#C*cc{fCA@K{Cclyj@P;~av%55Yy{ACc|_(RoUL?9q8woqNqjunL@3YjJgitWK?{_RqXJR@(}kCr=cI2TBa>9YUF4$ zx(c@U9q9QHX=Hz?0C`&!0Wa#GK<hRDzK|e*@JpF30Ez+{Fd(5hwqz)MJ1sd4 zvt$&fb&N2UaD9D!++4ye^)`M%HdA*0?VXtjT|X*SU3eyj*w2gY@s&;v+ucCWhG4|S z0Lv=-f5V7lZnp))Pc(_=F_Zs`cd-Qwk?XfZ>utOaQ#daPj^1*^^h2PQseI~)xu($ z>DdLaqlPyCc9U@}nC#MrjsVlkXzQ?h{R8~?4$fOl4S`Ib=ud0NRw9U)D0GY&EQKy{ zq6W8qG>p0negM;!1Ak#BG-jmas3p4r*;~dIYc$#41p^kNnuuzeZMzvnS=3mIKs-+Q z$0zG&a|2F1--3d=*gYeEPZmJgey6LW!YpFQZ9h7w3{DFW#RVP*eA-V>b?Z+K(lsNJ zRUkl1_(Zgg#O5XlE7h<1G}PP>mcZ8PQh8FtUVb;9?)|Xtdw+0!wo5UM8z9<7l|+xl zg7*UkMyXim5HDqo*c^8q2@^)Y;O?)>i8J`m5*l z8n8$37w@K||>Y%`OeW{OV#=Xp8=LCkY=bEw3AqC!NW%+c};yv!uYI9y89PZ57!J)!1#l(R`k zU&zLc)ZBZCYfr%(uNovS2F)rAf@RZ57THiGPt|L!P(Duv#^C|ih0#$J%a{m4CUkL# zpXtzslPYxj1XkG@=}P#B#^tf*I-lEfX>Mk7#+?RyrN*HsoD8otHe+QcZWw*D<6+J5R&dlG@66J`TBlvbikEFg7vy@T7d$aT(A>Fp;LvXKai)t+`zFgL0EhwF2I}$_YS{gb#IeWI7Xm~s2cJDA+wDH{8 z6-l(KuY_Sd_4`Wspg%J%CISNKah{)_lR9~AZtdV;VeFC%w?qk)kw?YH_Y(QLy-msd zNBF2uX&~jLQsX-Sll8|ELm|Y66G+I}?Uu||)j4`gunI7%f-@ThK@+6ZIbcX9j@&7T z5f_wb7$y2V5&j54gSTLsX*Eje;SaqVl22y2WmU_sPW^@7I!X z;#YTy3&7%5I3}sR7+-8x>`8w4rR-)=m|-2md=F1kEb~T5RWuj~kwSySR~|P?{dQeU zm`c!wA3R2(MU(GvH7)FHA6Ws;+1+|oD0AQxGR%Q846!WAEs374l=ohfXrv{F4r~7@ad2+IiRo7D^ztjW&61_=7fNZz?RkUct=BtUC#0t|w4zy2 zBJL~gM{0~O7oC;pNYvT|tVna;aiZg7$_=7njnQR<_ydP5FzH65d2E5G?8O$L4t(XE z3%MXKVWVDbB6&op3uQ}drmj2Y)4-3Cv^)W2v#1DEOTX|7d-C5A_RFobMr@fx)Lhh) z02-OUY6_l9s;h(kWoD( zvnf4B6bGvdXkdIq{aM@wCyy*(!4XkY@$dINAEbJEJYEhL3z$nzstI14Ok9rMokdgdtU#d!oC%j@BAZ5^p%lb*pqg zJ%RqqUK%6r_qjI`nXh%-?YI|yk5E%nlW<6bG10TAB4l4Nx#W@+w6?xmzq@FzJPY^V z3yuvX4OqKUvuflp5YO^7$5L?E8cf;xbkHi~nKGvf4{@hk1C52I+7~B(@-uFi+U{41)HQF=2tw-h=DU(wZa4Jw409y2m6h5xzyP*f|}DK%Ja%w z9{83dexVZp(Keq~^RUxJD(yV0BzTs)-XI{S1m%9kcN*?{C532gyZGuG)o1>jUQZMu zkA_-B`%C)C^UIXB>)#L8Mh{jF4hlR;sRBrkla`Cye~%xQ9SyyR(nPtw=H-pYBx25fT9pUV zU!_|Ceu)Nta7&N9URgh+ctAz=ou|tCeBpJaj5_2IGqdcysU-o_yck&~rF3P9(Op@b z6V&CIyiluD9oqxgD0oU z{k+JXoP=}idLvdtR@R5>lB5&xII7+muu;-#mc=Qu)qjg(uVbhNy%9GU4{s!xAtx8*mHMs256q#1Gu z)108x-9|YQw&W`7GEH$;Wp!Jwzu0nts%W`RK>bm6N$g{1_YLXKPp-3{jDNi;yp=;$(62gAV+uANr=l zd%s0>yEHXz_;5jW_mz=CQXP6*)2{_IhSGV%sWi{U8r$WJTcc=MJf``%HA+H%4_|p; z?91gP&kbCMKU*{WGx&1Z%VWMc{k;q`eWt5z|KZ^6G8&vKeys9)lo*zOduRZr_#+aF zVt40aI^Lwegs5?e@+yiOR>sCei5Sw6sk>HjwF%1|Yg1yG7bpIRW3=I30k%Uv<3`6U3+?=n&ej+mHx1FLQdos8>YEY_t1K+l|Q`OMdYDi_JAZ9|G!VMiH3|Qh#K{r;M3E9YLK)y{ypc>WQ zo!9Nc^Lk|b<%n~GjjXeRnRoi5j}(^Tk{?zhPVvsq^@lc(WdmH&uIC!R%r#c!FNrbd z%iFo;sGL9g8ASyWgwMi>oKTbnDN|mQ8hrhJlJkFP`tEov`}h4jD!sKKo{7FJH|jG_y|Sh!8S_Zf75kHNC-0-XrJj`#oZ=M| z#HGbABa&d+L2cgNTb%dLn3_sDJM&@eN6O&crzJ z=9i{3(-JdGqag&Vk1VJQlR`cH|1Vbnm%VENfvR$AgC*mmm{bcd~+aye+R*0Hvc2PxcF-oyGmGSjgM(a^tiDk7ImWq5OX4! zbI>tp;zDY=^0)}(y6cIs<=PJ7g&wC}o(^c0>UhotQx|oQ$~?m&^2ahm7jJz?bw2C+ zVr?sRScq>;N`@It*zruENqf51B5U2f9S0VAc8o;Gqy1$pF|%>>Z9hzfUP(kR8)aU3 ze!hDT(G4-luvjI!&`uNf&Egh6Rs1Lt$HS^={}Ka~1TJ%uOj~U{-7oT3p=cG$1K;;B zX?U<`(dZjTKbsOF&IvB(sP4O5=G2RQXyxg z%GtR+8)dPcBX(FAfxhYq%ulWVmEVoqJCV zvsxY&?LjzY*RHn#!K&4wo2}zdq8mR@!iyC2>lWPm*wvB=h(Ahvl;A8k4$J#w(_Q?_eo9__ z6euu51Io48-V;gR$**+^wEsvJNh$K?;K%$a_Oh~tg*bDsx=}lqW?rxirapJ6GX|;r zYD$Hc3EJo;LfI1daRI+*KFZ~%w6y!Z4{0e1k#vtC)xKdtt4(P%VX53+ zv{-|`yRpjicy_v9ZoT(iLj(fBX3zkIJ?vuDGwGa<9omb{B(gNacSoJjSt%d!&|xH1 z&}E7-jJN5T&pv9jTi%MAH*$0h+B+_HUaE{;AFmw(cLZ5^zgwg?P*u;`(c=hhWNJbN zrxG9Vu`vyq8cRqMon?n;-{3+x)R|F-)Dr3VoVV}B`<_ZDn`_zfP6!N^e!QjFa4S4i z;4unUT#{jomKZPLAFab6A+3wbT^n*aHF+AA$HOEf+hhIZPU|R$aMgOB)q$|Px}Ve{ z;%kWNhea63{gM!Lsy~Emc85OrZ1|s3t0UwPba}%T%sC}CcO?>xNhGrg6G!fc%W0X( zKR^0M8~cMqrPeJW5nWa1n{2cQ3JD4?HnUVA!Ix|pe-<8Z#grG8o-50~Y(imHk)Xkf zDv+IPHrlspcISJXWRog@8t%maUI zV|_se50#_HxHB!;;v8lAocEIV`3|dCR1g&7xr4!5(sXSEAz}|`8AnsKZfF;{v!qe} zaeIZ`c#GL)rpm7JUlqFFYqq4`Y?apzU$HpemYYh%J0^O5NO=ENFHMBphHa!1r%Pv& zaExCs>631vZFU>VjR$dbCm}dxhP!_)iZ=sDLkPG&z4s^LzjZkE*zLJ(h!yw#Tva`F z-DrbC%rb9mw8~-8eM7UD#`{5cmd~+!IO5>7bj*aIB!27`f74aoV!cR+A$lI{y#7s`%(0wAe9k^y7ct z3Yjm@EdN18gBmP7%qvMlarYhnungzRfali?`?G^L-?%lmB4`~j#MBkecphM3jn?s) z&w1Ibm&`O|$Lzj-ANmZt4x}W{x0`*h{su+#^);VuU;C`)#A9IG%&V%p?(d>9s4}bC zp}^wnMcZe`QBi8Y?@f2-Or&YOo$DPdqLjr3c&YfR0m9TMWt zSEpIczLM`k35$>Ro+jtJBuZ3_1kr?DXPFZ^fnCm;Ns zh1+z2yJD~(@C1+gR#W3p$dF=4x$P799V62}c z{qKcTBMUWo%Nh>~-em-A(cKnHM>vc=OkHtf9FV(ZNPllYWxF~I>uCl3TY42tdN>y8 zM|F!idmtN)GhdrNQ|~sdak;jWzE+|2OT4Fz!&0|OV+5KOF&&=m3*W$|MZ=nVC`5yn zZosxwktLpi33%ZKL8FYM99d`=-R_t5I{ld$pP`#{5C7(<*wTpo?JMM;%#7DZ? zUmFVkCIMM0E*Qb3kuHuHEcW^nC$Ht1zfFAm>gD`SXg5~(v)uNB11SPOv45PITMG|3 z#m1iy1-|;CRU3&CW0`N0r2BitKkJxv;=4-9t&x}N))|#d#jH~8jx@%*1;=OF9CHD^F zRtJ3|8Ie#GdDm7g8r2uHd&F|6OY4K_Ts~j1wgNaKTVhW>4@PXo;-iQQs%FAGq*#mx zx(pE!nuJVBi?(4we(4LTjDqKO`ly ze~-tjAwnc{FOy_>=ul<4Zfpvrq#Jt796t}m;t`X@(ZHlbq3r1zUhMq(_(cs5Ux^yK zN|4rvx`jh`p}s#mfsvZ+|I(TGCZyDbVq2w8OS$53Jk+%0o^r_zP2^T<{kDoL#Y5%6 zmt}r3kuUS4ysWI&-A5PqF;LFQExhi%_CJ2zS7|pXFAHwbOpYvmB0=bwj?(2EOGg{% zL^0#8iaGCLJM?f(mBlzN((#EGHseR7=U1()Psn^Qo~GTox@G=~v_MW$9G@n0p|)N9 zAiTGi5cP(Xibyn`B#JlaO(4Q#J#58T3?-ORXA%z2+_H^i=21JXRBgDf5;Fc0wNdk> zhG~2?r86d!NDyMw_Z~oGpAW55`{y|6r!4&x;(IHvizYyNGTwT&rx+Nfo*vWv5?vC* z)c?JVt|-ZKIUNpE>{q+9^+8l=F9>E!FvaL3h)UK82)G+c3S-#E>Us8R1fBoqruD zR%*UE(GlID3Hvno$q=IhO#)F?;^Clw7r{#~YOFBv-MLMHSDlG3w}A90Ep+$WoiV=l=g$ z00EDrcUE%D=$T?#7VpALI0T|`dJyR{%t0ZM3oBWTM*>M4n51uHc$EHJYQ15$t&#KD4z@75K{k5 zPr;XZc?DgJ^dpKUSDc$(Y{U{=1UDKYzxRscb5<+}isS!K3Avs!aHtAY|JF32?DdXu z&4RPS7)4sLD@qI}WU6KbGXwPlN)&2P2yUiieh5*t<_Falrpl;4uFYoxZ*sM=wkgic zC5X@Y`eN{tQhUCxG>&VI1)!*ZH8EMc^!T7TJoe1gShXh#cZPjD)s|Q=T-}t7|_dHGB04Avdb1r5Nbv$ai_;gzoBG| z?tVcFC7_lf?@4iXAQZh!dXiEc2^RiLNZmyKiJIFXF~b#Yj}%IIbO1{WMzS z9IL(B0*nL`Z^j_1rZP0GtUE(KhYz%Le9Z7!g$mnEz++(U(?wv^j)t~Wk zceh<1k>Whq&_6$5yeh>U`n32RuGrY<*8?o5SY zKn%MKGfy`!w>+&50X}L4{@(&sL07fUgV})+GPe2I{M2+5HGdb3zU9=@b@t3{dt`Jr z5&b-Tx)8K!cMv1TTwU``IB8U`)4@C#A)xCM=@nEow^I|MBG+DQcUs~i>Bqk_u6La4BxAe|KODJa$72SoNF%f+t!(+fXX>IKZEqW#q3RzIe zeX{1q%}Mc@qnkgHq_MHXA6txJU%%(^mO$Y_?;$`5`D;rbE7POmAXU3C!Ok`M>6C3^ z{DzniL8&|=#SL6K)(7|@F@F&fw?t925wUmjR_c9=ZdXHPh9Ym)&F04TK3%OT#Q9hl z!*n&>Nsg~{)s!yQp7V3hchlgnVT?E4uS*0XP%0ZJ{=O{YS3?bplDo`T{3W+~v+F8l z=lg5MchC!=tU|>LPui_bwac-5WJco>)Js27F2go`@Ke}L>yyX*Roh;OY+~Mu!esk0 z#EB@(VsUr$$XNR-gF0qppUZLk=i(4K-yt+qE%Krv{@|f@&+17Y+xS3_^ciDLvN(#I zDa~JJ9fnUJhfxS z<7*H3sgZ+&LPNZtWO>J@{39!2w8T6nezsLqxq4f#iF{S@X<03{tuh10;XMo#Q~d03 z&midg#$oxFIfFAOl zc#t^g?)$hpU2W}YaZfu8?xXw{lp!YdcQ6B0f0zpY`dASDh=40f`DGf_4xi^ly>+DO|E=5{Z~*VBT%oL_1I!&9fRVm&_+}6Hfb4ON;SXFtQ}k>)+|k?xwKX+@ zXU262(sT5*xpan~%lP$~$!0P=axvu0TmtF;I0=uvSU$$Py%hV25Y?>M;pLm`inw9+ zfFuPofoZ6-rMMN!U@@FQC1!hCT>S{Y-g2QnlLu41 zR|H)`E^V}BrzNLp_Js=CEt4m7RS4mGLmtJGs=7p&8`ZOIZGZVU%D(gRNh*sAFd5SM zOV9)uKgUorEA_tzJ>mJWFe%=lV6}s1lqNSSZGyLL_JiWlfn8>iGNrVmhblou*?0 zh!(Wp*Gzj1=C&*Bk)cF>#6&?K&#@#ZcP(qiC-T-XWzyN9!JM=oeq$oWQiD>H>;};S zkF=iLI3YW3Q%BYq&AEmF!_03-zXgA{a<^27? zPRO*CB_%}3rbM}28118A+$H7Sr>{|Q3#=EVhZ&mR*)R>Nb~H=}=t@JZ}^b5xR z_4CsE*APKkj4>T_tV18E+(5}>yH(9e5HDfsf~&2q?bU)4+tzydvF?r>bLfi9O`;pm zM|Ziq)t@TrtH(=oVdJAj$qJM;lI;fxBoOv67)2gF^+yx)>+lQydg|XgpJ83{g%lC$ zFCODr7DrD0mMMB~7iVl7MO&RG5FZi1G)VSKj2>N*f^1h(-zJwodWSx)Bcd+GOEB^+ zN*SW)AAeki63SE1HXB{ zavtk9AHA5E{|e?R7TE`Bs}Vk!a)=>RelE)Cvdz$Z{EoE1HeYu+RF;Sy||5>3>)|a<-X9cFJG+Ob8ZOd1#-qJan`3HE_sC(DmcmA6JjyCaI8kHOOP22@ONW`!Z+ZyFIog43@&XP_vpm>)V2-P+Br)H(_ zZ!dpbGsLHPE9Mlmj5ROAxFp4$@5CL4Uw<>zmP=PPwQYAc?l>)j+iy_gT*Y$nOK2WP z8l7|y0@303>`hQ>MpPyp9Ro-Fvqn#0>bb13`LjCtG4GToU60o(qQvDsVy3Ip|Ak*+ zO82+hL2*7tHG~Q6MGlGOhC7SsLxzh|DPsHK-N+qqy*!Tk`}N4iBCAyIBkc_)75F7t zzpQOXwfv3yRPtj&uyB5CFBl*CSkH<4$vIJa+;wb+>NA0xpTb|`AmdMfjzvU6Z>%n@ z8Y(GFa)$=Z4}r$O@Ud;kU&2^|$j$0hR^Z-ZDQBBxHt#D8CJj2Z(^u+OiU>)uYSJ;| zJ=HtRE$qjAEqhN?m1O_z-EK1xn5jK?*(mvoPnmksOrp`HQm3w~i{%z{iFMZT0Nkcn z(tU|kWdHgz6D{T)b7b2)CRZL`$QPciZ?!o73w3(yj~|%A?=m$#HE~N)8Xp2jjNez& zAEXG$$uC@y2K7$2E^ZPoHb;tS<~UcE)yn&AKWA%+yRF1M?vb*N`mN!Ym*{7f6Myf6$MY1sZ+nvehCR}ht0n)98Xp!-5LEJoV>^7avV3HTq}l1Sj^{NATjk$VlK(zq z_1O0e-Wy-h)6sqU8Z)RQDS=tJ8OvVqW7~wRAPD)9(ij;Dl^Urp&vut??&MYvX9-|$ zF8lBE#iPLTLQ#^)_ByLB9}rDk21IY<#|vMKt$X|yZ6N-;JPh%{k&&#J;oF1XFUH#1 zxYe=$`-C6gednEYGh}jR=CYIAjzY-k3kV-GKgbzP%y+3}E3iN{JJ$Gr_xMwVk992b zXNVv#ZzZ^d!8!L^v`hUd=PjssAfvn%ZxLSrx7kwuRK+5b`a`TCs_avwMBe{rh(z_A0r%xY$2c z*b8tZO@}`e1SKSig5FM}Nf(I55`Z9Qxi;^;2+(WR?!Dc*|4oJrj=i=LnM4-8MuV0H z+pK6p7}KRW97fD|8Vo0~5$V;{E+7<}sL+`thrFx^X0>^sRKeDd8%S|jJUn>6vdf34 zeyVchI?S)&(voyT+;DYastJ0H5zPtb=x$RuynT2R`B=qtq~(53g2W=Vh}Q|&D~RI@ zMpoF)AoW4&N(v1OpI#te!M83Z5;)$Y&q9O+x}rm`i3(WanXI2A*1ym$1NDrjl^vOa=o4LIR=2wo4M zW5o&T))UU(b0=*#*x8;|xjl3MtIw3jt|Z|dx5@c?(?sX?zp)6Ngk9vpfi5AT0@>=^ zjHyIjHWEH_zS4;(ZxaoW$Q4POu$v&xkIP0bmxPw7Ulrzf)FMR!r|j(P-~+8lPuPj8 zXKQIhR?y-30UO4QA344YLAp$sbiUt7t<}Z(;*doWF4d>vY;S-`fF=$ar|)i)tLDe} zynX@J&b+auyVZT z?Ck6&9^uF_&mF&|+3}t`_STTbN2`0m5hb(oNrN@U48H6J0_K`QjN!5OS!I6$97C8d z(y4&Ocx4dHl@s)Q(_RPpjj2Xg7pHI{F#e}vGCw-_$vwpEPGb)XYX|Rz$=}{tamUrVaYWpP^}hypVAF$>5D=PH36tJ zr}mlE*!lq%EQ3?_rreKAI&u1%tFqJ|BNWnm94N{jAvdQhwSts-EoWNd04#x> zKdsjM;US3%OR1h)iQKQkt_)HJ?WQtyD=d(2^1N;5z20tbA`hd|=P!kYdi75Ep$lR< zbiBRGTTC7W77qxB!=>ota#TTD8K!jZ-@pIZbqgMNX{p`%cyYOQQC;0H%;#kL9#T!n zx9D(OghD*bgcyV~sUTDZveJrTTBR>%#>dSpiQC49lN6ELZPqi8G7J?J6&@LQmnaBR z4VZHCnD_I3Rdme_@D?;uA5o)pmSc!cUG7-e1$CsugM-h44gn#c9SuW3nxL5*A$@zS zno12qMgx|5f*N9FdwUMdgY(t$VpMy-S^xS9HU(Y4;N5)1^~mthqrhanh&@I%ECeK= zMbfD6-Gk}3G2-3Mz?sBE>9ddc&*OzwzcS7o5+Ptj$>~?V*(9uaT?5_dJsQlS6aeaF zg^2fdULdyf0W?qkwD=pBVN{nr0QFIMm4ILdFNrjU;xlo`@|TH*st&%oL2s3X>$3F z%l$}^6(=Wk81>X^0AteXYJMvgD!WZyzt+1-5zwh zb_QKr&M^kmj`V~&ph_%mWUUqmM-CU&s~F7LNXmIF)G^JrseHBYrCmQ_nBO=N~> zXo{&h=+zezYJ4Z`2R62Fhm>oI&tt~#3}GoI{hTdlRAnNPe)g;i738u>sS9w=pq^%W z{2rVp;NL3tG>`36z{LkQDr#!rjW;qXr;h$o3BUUgBW+dwSTZSp#uu5;X0U@&hxfatBl^xBp(yaQ)|pFzX!^0AQ6OW(`G*49?{ z{iP>6EvRE-i;$|?{$7@4CV4|Vxeqf1ziS4Ly(K@3c%Q)!%2P-*rvK6_XLPeKbFKRW zWq_sskUn>FtZFbWv#M!4{`3fA?%0`%1<}5+i?!DM>NDIk zXsDN#Zg1Ai@o(O$EF|qAHgOSw&8eWty>>1VxR$AKW&w%7d2MuSrXjo|6F)N}!)T#1 z0@BGyxzFa$vV&2`rs0qO{JjOku+AaAZf;;_GT=a=&uoYDSyrhrVtib?mj-k1R2bow zYChdqKX)r;#O5u{YlvH~U+)N)!j5vo4Uv({mp^y5eY@#lX=KE8>K9VacPmEYtPkS~ zl%^X%9vUR|{7kv)TsEi3c+AvIU35GwxhxE`F2-zrnZcRzL*mE{#DVk^%z)I?)Xm>Dc(}OrCCN&86Qu^Co=4V9h4_&7 z-&r~Y-{Ynf3;xO>OBW?3Id@#eGn`QN`^T~ZR}(%R)dz65=u4^epU^a4Ud#K5GSB3PO#;PTjFiDgibjSK() z0C8b(^HQr9vIHR=KqBuY=~N=Qbp#4J{$WhTHce&RKdJwt&-(7Hsq}$N0L_lDvVcv1 z<#_i%m-ml!ASMNN?wbNkvyn6yxPq~o#oaDy&=0Ekk6@eX zb2||)*WLgr??%s>t-IO=2F+%DNwDB8FY`m))m(7c88$ikam6+4T5k)Cq4igq9eFoH zyoTFF`i^*?Ie{}z6}bbQsvM}@Sd0}ImjkLdUG_s38hX`X<}s>}Ilwe*b$$J5yE;pi zmZX? zRaNzUepJ!eIMaUv;C=!BpUzt>ftUg54Go@vCqNtvk?#2nc6$q2R2#z(ZhA*{aB)n5 zae`0ZSxtA!#DuyzH@I2!g8RvMk&Z?&RZp)Rb6*9ZSMX&KN+~HWuHrz03wO6_h60=c z*s5Re8iQ{P>jYk@?d#Wmw;GR2emDRT0P(5VD!6 z-g6I0!gt-KWmJNm^t}73ci$GtE0dOoDqGs*0|Ee1DtWD@{v^J2aI~|svTDdIh*``9 zxhLx!^|AX!`qXhWT>a{sMzF(SgN7t@o4!}KtV*ccA$YfH0fsH0$lB7<0stCLP_Pnd zx9Q#-PtpUNDD81?JdV3)R9F;hD!6$N`g}dq0;mSWTbrt?4lOsvb$R})gU0T?i%2*7 z0;X{@@XFWgr*?nRa+6e2vUaMcx{cO+s8Y&-HiMIl1Fasd}0X%}E|M&Lp`84nuleo?_ny}_D zJZPJzReNxD^xF=O*}^se%$#tMS5WOCL=0X&pj;=@lJ$2Z z84SVQJb5}yMBs1oVxqXTRG<%=Mco7z8Jmb3>MK)?_YNXXD}&(=n-YF5hWv2&4E01Y zSVBa}klGcN1dNrZ+e;M%b?BpzFQ!%Ub8U!>G7RvFJjev6u#Aih*g5Jfe79A;aM zRoMN_@zxBW@&92C9_+U>?;t=RJNqP!U!(}T2d=(mKTcs zpD3k~D~BOeJn$nUAI15&W+`mC<^B}dbP%l#zM4YB=PWHPSsN-FqK1qJ=0mXZD7uhE z!w~D2PF7M7(A6-wvp?CUbsNDTH~aFrbe!6KOQEHEfDYz+VxvGLK-z-2M*w7D&4T|KQzP{%B7Aoj>i%2;dkl$Q^WWNke; z@UzrmR{S0S#!923P6sP+sw-82;rkHp7b;oxK3yDxBE!#GrkN8fYWA1ko-q?&O(rkc zXta{EQ0Ugcf}rTCi*+X^c~-$-HH<&PIy+=`wh3<&gx1&XpS!}OzJw%B)+ zY1u9*eSkF#Jbfi4w8tkcme-|tmW}yDg&}QV!^YNl$;#I9Z&}T!F`HT2OVels@zze5 zClwm$mkgz5x@! z6MHTCF_(`azL}-S6kUG=D_<`EHSfKxDZ*SU4TnT0KD`8AWpzf(<{Sw@Hj207{X(??c8;uO9HMX!EQc^L@R26%6AV&fMny6ypcEm^PEsD2H7-X&t+f#Wj=aTQo=T^aS-zJm=9!IuaHP#1Bimf5DTKarVAjA zLD+7TS2VBvBdymtKR*u}LYr+IxRJHX!oN-mNB`P&qv4kH8(dNZ9Wrxsm&8P7fas(_ z$V!T<&w6gB@Z0E)J<{hLa-vucd&4tdmQEE2h;aLNO=)wp0p3qI^aOUCv2rie$-hPbRKujRr0~=`c+7ZYqlKSXK7`F$E>(Y?YN3fARym84nL|%}7*` z9(d~Lse}??2_s4P{CJ19Q;{#aqn6IE{#SeueCQIrn8!=T=`RqZRK%{#tXf?t@HMaa z1whKx*%=_4Lu&v!FhpaE=~!AGL3fBjCEvj3bP=KeIL1tjk0(j(PL`Vt2=Djq4~U9# zbAReKefRF&)y2TIS4S9e)3#Nl=jI4rKzdEh@!jSVDL5${EOL+m5rp~h?x9RlMy&-) zx`pKAoYx&{FfZF3mVcNtvI@Hs>d9m;V|kT=q~v!GsR?caA_4{o;sc!5n`^@p-f4lt zV`SB-!-<=miq+fF=y^Tg2L5yqhC1W$YL)%#*DK&u1GEZw!oa7#LDt!QJSQgCzerUm79VwMmI(yC_(ui zEDOQnjp_r~BzmN}b}Wo$AK|_rY{R5>#}A;WIm9_bcLHb@OaE74=*6YWD+hHg}us5g%pfQ$5!5A$;=+2qeq@nwjywIN8n3 z%>|Rhhx+wSaMTrI5*Q{7A1)D({aun*6#S~fv@u<`&nSA@{p5Ihf70Yb;#K()`jWz- z=V98C>^^BHwxQw$U5Wq&6^Z_|=5FWCI%}sUbB?HH{H6Xvb&?y-QZtnFzWd2@aIni8 zh`I~?rJk4P(S4~#una^`TJgN*@C>>_?{n^cIe?{y01YTicDth)i#3YsXPWB1 z5@Wo$ZgN^3hNpS7J(o7HOu&_>AhO$j2h#fZ*$6)2)*xOR3Z*Lz1IG>GWzRd(heDfq z9s1bhi_Iw*97XTG+>Tbt6yQ7Dj&8;B&D9jPu(gd-T??bT1ltgXBcd%(izy- zEPbhOU_i~mSt?^V)|EBF!7AN?BagmZIOsI$_&bKxA}=b{Iya6?qVD!Q3)lYpy2plI znqTV9h^aLk*1?Rcd9R1HeqFocM?ztKqSFc1yWbBu9esVTA-_TeVRSuj-4?1_Z6k2PV%v&6}Sv)C)GF z*%GoqfmqpL{2cSSnpy?$Gl0QBdet$s&j{AeCHRj2vgXGOc+EQnhKh5b9>vEeMMsbm zvwaRF*7;$n?M==6W?HAZdS7^hDg#^ZYHI2q?YzY)#j} zDH}(yM+V>x#$RVk0?ofhM^@t4v;77ST$ zua4wl2cgi7kBt>WLizReRg?@G0uoeB(_!%o4%h3;V=%DOmCHXp1}rcCu+a&qR`4AY z1}S$aqRgh6kvsbQ*8oHzBxeBidLrlR+EQ^h)|?n2VBwJG8B?FEpNr6Wq-p`t2U`Yc zJ;EWl)WPq$D;EGyP|5ecFfdS-gm>Y-(|Qx!8v^km@7Te$L5rN@<+m?(-5^B{WF!29 z)e_MTkFKzH*(C-k!b>=0;=tm>lCOMkuPUz z%2MvI@Q2Qq+ZIysk1L{h=4+G9;-uXqw}p$7`~f@Eq)DvC@)i9MET<6M@bql9o3fX> zfUNTHMJ*?IayA+U%exe`xhV8vJZ(qPo|ENSd3kw-g@q+0wr~uhM)grR$hhvd_@e^x z47(K8JWzSV*165iqL=|thU&g?rr+pMbyNz*b#T0A+sD1b(~iWZ4Y_I2GbTGiUd& z6e!z8$+)`K91V|6Oi%-bpLTtk1`U@Th^{#!77Lp6nbC~OO*?JayKWbFSAXzgR3Xgl zdi%mA);*UV=mf(Cz*tbz(_ltIPiyCoxS}*T*m=!Cgl!OMbrZJDT?eKV^pFg!p$2nu zs)Q~_avy9&_;qkT&;&ef8Tlf}DJU)=UL`6p0Gn<@5e=F%5ayL3I{nH^^YMT!0!vP% zq;`9K{rqS1#ZTB^>)oc@8*N-ft#09m8%Qf)->YR`;4B5=f5LA$ZxR(2#z7!?4lWaE z-g{s@ZmOjfzg{nw4>%Y}Z$o+kloyP9v^8_Ce0`w&)t014(!`(0-}){6nINz!G++#@4%->jMt z*$q_|zB*Zez+g5vJT-L&Clw9`t~Lg)cJQuua6dfP4zzKrRqwAQ1gBJhPP1P7eeh(S zNG%Vf`9h?CithE+D+YTFL2PH!xgTTVOs_~7Dp|f+INESWDY&)HqC?c1Rl<6;C3fFS zt-SoI#dfF+|2_e7>DDw~+JI#_ga>581(Tb(O6z}{`l2i`n}=!Q_@ITNd0<)}`qSL_ z0Gb_M%PFo~4ckq=C&9jhi<8i{c=&CnP4sF(6dnc?!;c)7Uf=u;6)o z?|F^yW9Kz>MF9i1`Jipz>vLGYP_qFI5xIa25Kx7jH#DC&fK{>=z@DqgE|FZVK=tGdY){Ui;59fKjwfN)m6Q}pJAwZ>00|xyPZ$pN_P$v;zZx&r zyNQ7T|BUZ8J&F2*Kiz(RYs#PvpdqE{Y}-+DATs1}<9hd^mx-f?WSht`4Z5>#OZ+ z5yz$X-M68q36O95+dgn1R?xn)2U1s~P*avU2p?KvKtzDzQaG5n@wc7O_()AYXVzdN zK|T^Npubp6yITE@C%WOD>a%yUy8wR=7DB2$NNq5rFyme~Bd|B;rvtt|aO)m!U^>>s z1va4G$1^q1T0J^)QA~$4bZFl-}xoHRGp0dwgG(#(#LqY&MV+Qr2 zG|fn+u1tZ$16UStHCISO9%}yt`#(L92c~3lbd;#6*wCx!0@pQN;!7fS3{P&`tNbL( zxzCwFb@7VaA8fP@jmXwgzCPh=jyN9uhxzXJ#kbOGg=DJeYp8KNJv|-krXhJ&dft)< zOCGDb%~_WhBItc~0I6VU{}i@V-iXEbIy<@&Q}uCzT}Z43r#)J!K4+`Izgb=D*w}1B zBzA+xzU{s3X#lS=!qp3MEOLdwEjAtGJXC}(kDxlz_2+$LBr@S5lOSxPZTD0L-ja17 zfuT=fn^}jJDvFu*5o~xSgCd?5ilQ(j<5r_{>E?uZrkDISAp-6!W1e&h{6UUce zVFEkg8I^mx^9-a5R~MIRVD}(P3**)otb*Vrat-@lAN%@3csfg1Ut5DZ1P|8K*1Ey< z8TIup_0vb*`^7c09)Ka6c7h%XpRHs?L`0lrA-9`+Jcsx4<2m=EU*;1@)}QEG-iOy|2iT_x8h+-f?zs&OkK=znh?X_mT3vkvgnqsA`tWMya}pkM z;U}0z%|BOGUV|brR7B52_6Yi(9U6hG*F7y2p%f}IGJrb&`81CLNfE6{fOPK!e6b@u z&@Mpb{x1r7JM-8Eg0QLK7U-hDAo|p6)>)tV71YZtvBSah=OR4Kr%TDD%~xlzHFxR; zyp^aQ5kPI#d=lP#(rYeK0n-XVfm&!5Gz+CDAwfK3cnHANI8|Z2*nyVWz#c*Q;l46R zo1#Y;Aq|nf(fSv6^rU{q+zWm0gsP4a)*y%cwO>{wrR2`0fzdbH1kzLVNlY%@k1#B+5{HNe{OYUBbNd<4|(_F ze~tIldH_aX-n72G-3%$;(#q;B4Md{)nF(kDlHa>G>%N=OhYnWvU#^2tmPVwmnX^+CDU$P4q5JLFz)Io z=Iw!f-UVJB9mdAQH(z!>tqLl!k&FbsyifHZZ)6o1Q&{}Td}C-XhhnP@-yJ^FV8U(* z2w~MM8jSo0ttioI=nw+76QUNnIMQaT1~Lq`4mdVz?`yO33$v+D|N3=`9JUd(7Yk1X zxH;o{eF?M&uriz-L7fR&QIUGuKc(ipC85`K5W`=Sv8CdcRn7at3Xb7I=G9&S2J=kC zZn=avxzF}@^(G*5a(-*hM^T6}SZ{z`pIjb{)Q_KB&T3v=Z+N@AsZY3HJv#0ex!?Ex zh_YBl0$Ug1FSdbE(cY=|IX7Z~&myH=b|G6?t)}_RA~`!hS=b_p*Mah}qGfc43k753 zI`Kw=Mu;K}zdt^q#5wkQ@=$#u9nON!qUT zwD4ccBT?Yz!N5M*uF3u4#DSn4t!-vx#DqKX!l(JjLxJJWzuQ?ssrpv6lU_jKc_2^mI%YeK${&*{rQEv&_X*cteC%eAN5J1cz#2bC&bu zispks>blM9-}Ma*%e{&BBTt=>3@5^nD0S;-MS#-G0#APQP> z=-r6mk{$ikvu5l<;gO{D7X=m{Pmluz0Erw$Ph=WyLWFExwi3u zfbNO3Ff=6>WaZ=nCL5Jnq~cyB_vJG6?Cg|j4vSCQZ%!1ebw`X{j?V@L1O#MeWyp4xPQKs#l~8Tj4kLl>%u*-SL5C@j+w0*-IuC-3L;2A0YHOAnA} z-n~%RL|_2yZ{2^SMh_-*FfANGc^xOGX!-EG8{>GM+lmL#( z&&pbWTrOm3K-=hcgb&)I}sQZOL=rp8{J7_Uh`s|ikVfAxwsi~ z!|+aYH(DxTaZEkiPmH%W#?d!>gXiXH=vY7F8}lbup$p&(AUnFFkORNZmyIu=?5)yV zU=VZz|5;do_28a;7(5)ns5D?Xf{%G}=~K({oDB6Yh7u*aD25V3k|O(o(II`HcClt> z0zPqYmW72A8}Ue761;B+jpp|D_JG6P-QDZ?Bx=#jel|%JeSmxd4Nj^L%PT`!u zSx=Ryt5FaAJ2eex_rp^*Rkf@Vt@_C;Y@$Mdt{L`zVtCc7#&o#o;r!{xS9P$iYHLp- z1ZH1D$i5c=tZ8~qF*7k)P*Z+F94guK z^Cv4S>&Wo1Sj4G;Fm6Xx!yb^kfmzOr_$z z+R1dOmTv!Ggc4aF14paEgyy^g1rHSLO3KQ?UgX7Cv2j)bj|Q9QP*6Va`}_NEdo4dk zB1ll_on+orxXYJhEFS%eEMP<8nMAvz;Xv*yH~WubG&{w1-i2Sk?m^4$W}yJFa>16= zq>ub3UO_=5wndiktMUeP_sT`J+tJh}9(~}DN^#EC6!1dh9!;jbf|UZ0Fb#h2-rgR7 zM;NY{v1>Xt^Ys;77G`I+LH2znN(GYpU>|uNj%mRkqx$;|y=G%!nX0t7GfEIH#@Oxv zgv=3qKlP(G^!S+g64SQFUtj&Sty_$Xi6IjAP}g|!=HHKs0TDfY{YJ>E5Vrl|aRpyX zNp&psCBr0|)NPpH*#?F08HoQNO9YHkEksb@6@b6q2?nf@*tZ0WONJi?XPa&bJ;RSNfJsD{Jlb+;Fv{?+Duw?V36-I=LKeorA8$fm($>P_R*=L8s3L7@ zW-tm{{t4s6B`htO$*g9@zy$;BGzxv070!E?^NnB82Z|X!p}>7A%5KD&>n$E=0>HE8 z_iaA00Hx4ZLiZxhyhIAeuqf|TZj$@mvY6piE7~GFDy^@tFDlwV7I{E~fN42&WV}S? z*lVUy8t%c)mBlsu=d^Yf{T`D;VPk809sO98T_ZZ}g;Tz|7Q7OF`k@dXtdvLtQ6eh`-pKpSY->dH#5ZO=J1 z4PuXxw+tXTF+eYgHeEAsPs+U<7)o61@CUP^ErR85@#p=GjSVPqkB^Q>h=|%dIxLve zIeMS4(~oVsFg|$j%eopQvfsbQsV)4=MG7A(s&{q<_G%Vw$0T63@s*05Y7Yb3pgCK|8w(Cz6(51gZ@JXKW`-<21zf)hoetqNUXyCOgC9{d1 zmWe5d^^-oVC5}x8y3O!GGh=)5gwja^!Yfd**GG2O)iAne&A$z86_~df`0=AweK@tB zxcGMM9SJrPc^8+X`yYe}G0|py&Nrb}=t~nd_^qXISK>Ar3Op8|Ga$=2I5L@?GY|p^JT)D|JE30(?Hi3^7^%T*s)Ez4A1;MA|Q);S+UK;_mz-v^> z^t(46puOkH8d`Z%2k;p_MyS*cU3V~00<7ss7>5gKmO4rIJsN?6!Tmq7-aDM?|NR3; zcGNK{B=gA3-h@uaI`+y8*(sZblyz(>n;hA@Y!Mpv-aA<#qYx#O@w-p&@8@@2zw3AY zcwg_j;=IQ5dEbxw@p#<#vrqth)h*pZ_b^zHkFrbjpsTtMDw zvVe+V3((xhj{(^{3K=@O>NiCPmJnz83aeZ`*TssQ2W)lbW^faNoS4B@xTuXJoPY?+ zDpb=qh$#JyYvuCCuQrniU3?EhX)P-3hA`*qc9pjp*Qu zVJPPC3lXT4k8Ar;z)o~=XTV{NB&|xfSio=f_ruBG57)B>SAda#dD|&iSf6E$JKbQE z*vAuJ=5v3}kNSu6_}kj%46Hz0{|h7lxGxQjHh|{@RtisMB_|{p8XMpF8Q+QqoEf@a z2rCeB?7-tquY-ewY+~Xs&psUVxj}Ia zjXr_ZodFim>S}Kg2LR|~S24epmiOg7k0R$45(48O)X%2x{oYR9J)e3O#eucJdCRr* zMZaNnxOR>37Z2@Pu#E)nURk+74}3MqUHD-e#U&-|`=?7D!eav76ApnZ2fDqwTKt*~ z^O>-YMMee&M4w*Gp2f7;n!cvl;RqBhzych6x&x;H@A}-o54gO^wKggY5fs;CJ-G7o z+5qyV&R@B#MYD{OaCo`}fJN^65Ai>6t~1)&I7*YxDX(3N4Xr$>0f zRx-^%Umub&Ngg-Q?LKcUI6@T`63K(e%`rR+Vcm~ozn<17Sa3IaZWh)eA}=p5EUar{ zQb;Y){0L1<#}W+$#w7*6lxWAD0LLEZ8Z&_;cWJ-l!-oYUysP<0b)cZ1lQaN7czEci zHjU6sMi7~PFdHz1wCLcF-+3C{iy$i=e@p(Wx~9el@GeyQKad6a`B3tnyKq5gC!sk@ zDR~cIl(hSNK*u5>X=;3Y75G@q-QJBkRJnkzBn1=xU@gpTo!|vyK%f-)D?oHrfngIB z-my3Z9$$!v=(y?`SE~w}HZWMgc4zM)saHNcTuIlxB{cmy?{W2y7BtSQUj!}H`A_Zf0#;liNPRp0!%3!m~ae)H4=%%i`JW; zYQ7Z}ytIiv+Pwc^8X(&0Do>s`7neQg@fW3Bi4%hz~9XtyL7E0g|>R=OPxyi93g@m@A%56RX zAsp{RUuY)bF(RFMf#>4eE?8N>jB-Ced4^`F^#G^4L7@wOD-TjSup;c?6n`6`LXq37 zTO2ocJI9y-02Fkv!IHA~pQffBLdO06{q9C3ml{6yQgShjA9s^qbBDq@y?8Q@7`5bipt5Er}6F&5lX>~wPQf$ibrcYc(9}Zl`>r2 zyukr}bAnL#b!BDFXX54$f&if^0NVJiTVdM)#)zg97tvI<#1Wf{aE>=!ZVG;jx&=_r&-@P;gGf$OQc_wE z%P>EMmjWK6_lG+@p!{}qc9z4`s|rY@a9tlpM6Wlb951Tb*kExk!!&9ql zU~FFY7;HT7iGg__sI#HTy0fnjENcT@T@mNZhVxQsQFz7Yd)2`2y}b*7jn1DhE@q-4 z1%cs>+nlAj`RS{Afa<{h4wQ&voKn2$%#QP;dZE>to_m=hdIb>l#%wQ_2$EvEre}sHqYBy~5||&^E5zU^OAh za@P&`)yEAJ-=O;VUH}_rX=$lQAe`fp7axsC!_0dSMx4a|^viAe0a@+-*5XEqkGs3B z(HMLQEa$3Muc$bhqeZHw8bLINJ^SwD_%F!sI$Byjvgz<(_kb~1BBE%FYYygldDSIF zvr(|e6C?(xj6mEee{%E(f<)DnzG&=~sG#m|SyoNqQd4{$?fPmVsE zsFELicT`MEOqA&2Ebi+L;19Hi~WSSRh%t!2Lh|DwZ)M zDEH(8xTvL=&lnpTDm56lMps@Y4Q8i}z)MAt6M$^|k;_OG3TV5&UUu>@K4r%%y+9E` z4))h0bQuA`9|eu$azT%TL(9lORkb==H-_EW=OFg#ED+RT zt4$E?@FGya=2jvmb=_Ov$AVchOd(?{3=CfY}{+e=FyE1`Vz;HrJH7q z{8JuP=nJiyAc{eV{OF&5dLIgKY38R;n*gc5T2A(86S%xDUu>kMg&mqM3r+tvNC<)m zMdPIKaA)cF#&pZV4=A0$b`hZ0mqd2mxG9rsoP!rZ^bl3{(n2=cRh$V%GABb&zLob7 zg=&U$V&q;Q^%qhO#p%t3mawZVI^s+ZhiqoxYhozkj2orm+$D25R|-pUBR=`~gH@V`C%m(_r7WZB+mCw#KKpXjkR&+EUd^Yo$lAfL(M5r!1 zv&IJ%eGY%|e_1(eQvu`W%Rs;YO&>v|RgQk54LxT~);#?Dr`U^IThXx!A`s#5vePV( z|rS&Dj)BHqZ!v^#%zSss>1&vkg+zcXg(cuq9A1lm3S^(_?NaBTST54(m ztp*RIZO2G$X9{E0kPK8WG%v3%67&dRF_}2+T-BCe+>1WiHr;A*39+#i_C4oc2SO<{ z4dyz0HiZCCT+EkJ?5++$70-`-05uWzaD>I>jbpm6Id2|(;~UqHUFBM@Mq7mFzerC% zf*Ut3cW=6DR%zD-QQXRRjjKHE)7Yt}RF}Tu1!Q=2VJyCd+1aSH(_u=Xvfr|-oOD`* zk#&tqYzWGb%umMVL=;Fi2xU&9-h4r=QtC=kECF(N4=BO@V^Xo0hlyA}J$({l$Z zQO_be5Z0;IH@v;O7u-Qq04#2lT+jD`vm@O>v?$HXBY1Rk&|~!yf@5n09S0XZt(u_EMQGWp2WyRIg$l1X>m)!N zNY_F>D_svrd!UMi1)Amcr&$O}pA&GSzFKVkbU@2*bgGOYrX5r~z_#+gw@1>O7u>_y zo#w2oreKG{$2$XFKaYR_Qsl)esCeL0;mD2!G5}mx=S9hde59mTzU4YV^^5RA0 z`|OJv>NPTdgdek2o}H$e_qu)iHfXg0@9XLvJ>$mOU2B7pZ4d`QKuu3bAeJ}MSgXEl z-K-S&yMoX|R<|ACJ)TOScii~9^>*bYY(cfPh?^%hEseuuI%y=ied=SbOzhemt99j# z%F4>mN!h4Ub?eDVgSE7@zzB0sM(-O8?R9#kTws&sW zL?8)lyzoe;Htz8x(eCWjrwRM0=ih#KS%~Yt>_Jqvr$ugwq@*Nh>@%J{SF+<@3u~9R zyxko)&+tD!05&|cy4ujG$zp`ia)`#zXxI0hb+D~{?*c`&iGX&&&&sC29?OrTTL<?rFr)Q;}X}8GyDsXs)NWS5Fv*^bQ(Ylcn;? zOv+M2@QY%Q4!{I(g16&BZyKJ}`}D~yxrb!)>_X>gh(fD2ReqIPr9M50@0shNas6@x z*nwqFK#|u3lYU%V59J+qe_h$CO2)vMGen+#x|*L`;7zu+@wafonPWT(2b&DufY=!k z)_Q{;hYF1xY=H=rDz*YfB5Nl0A6HDQLFAsFXR~{#y@)E>IL-Cd9S|J~g}Q%V%8)VY z4UupK_yewI>3VvKCM0SuCaw}6W)dEK{768bP7c-QYq^`#!QUttZrj*oXUYK(2K6x_ zBEq%yubJVVRmKKmoos)G;s>Z9fZC>THwz=9`g~W?ZMN|M3=Q!9VI5~E`X6hSJON7< zzMzMCGoLyjl3DrzIRI_f%z3jbFHZl3z6g)Hn1xUr+6M0r*CAmi*He|vm?GCsMd|u zas;mf5RtIWxhELk>cc4goKL;->Tyt2S5;Qt+nNR4aq(V*vdX3JLO@%t|2)t)Fengt zc4hq1>A&Bhk_I;El)ruSfu91;)uB?4Dt;4QOcR<$lMV3z>TY;bplwRI&Ej6X;L}%i zXfspi1;7tZpus>dut)(+djwA~Dk_TmyBCkTzJtS8M}ROHN8cUiRYLCeq>AZdZo_%T zK$&>QKE9#{WG+Xl+l}w6fAFYw?gKa~p#WI^`c=F1IJ9m&Dj-uAUN^oO7-%abZJ;Bs zghUOnC)L%X%bqujCB5UiIKG?%-Uo6$BsCf6*#Uz0TEKE38O#2!0>vwzPlAS=^Nxa= z=7G{?dGx&kmGRU zNp%FmMPM5Mdm{`u00@5oR@ihL?(^UvL6U2;xE075&mt5(07qp4HFUY%L`#c0T)b}yIoh=mW@3_cwz;ztrVniU;>UA5Po+$Y zzq4?+?!2`B@uAp&d==Dd;D-P-1I)q}P@L`X;F6)qB>N|hoKb6b z64h{ORG|X$2MGxYEP}DIF@T{be?bGOFDz6e*N*BiN!teVVy(}&8&y+yW8Un&X_rrH z6g4OHt-7Kt%o)!GoK>$0mVQn-UqVyzg4TSiEN3^m0-~zRR3!=VJfNfq@Eh^V$vuKE zZz>s8p^u4{ zZc^F8(UtPq$l%~0Y({`vz=B%8?`UgFOiF?PcfUG+G6 zWtwg8^ovH`wZoMQcSMYQzAAOBwT+=>{Xs7D^{ww&1}5|oFvTqXhaS(J#|16$!Wh%Z}^T7VjXg8wRz5#@c6HVS{X7T(!{gf~;g}}8K~t9bOu+~k!Mn>IZ`_egyK?pF5naYU z8j8GWw-1m1Zqzndlmb!C(+zsuhy6AoRAknh4}Rw67o9Snc$4u>C>_!*Ie_%3tcSfI zbB`qB%4JN$i!{xAC@k$A9l->k8$B$kpK&f2qpm(xeLH^teCDXqO8wxQstL)b8G&<| zf`}r1ixCO_jCV*1>S5})KL;P~cgAu8`9e-i1SLg5!Nllj09C4Xwq5g;!KFn1$ZRSq zDiE#_*dVFka*@uA2*ZlpTqJNNFs+9tQVmI>A}1}qy8Qrs4p>k{@VLSHyzs4jRM4P8 zp$Fi2y9tDBVFujq%QO`=x%DXusfEGx^u`2w+8P?ujSszmk&4$*NKHtne)!X&aI2Lf zh-&vT;VYqM3V)pLidjKz4iYq|;qmb~X|+(4fKqUZ7qjsVDi#v;HkjvuFcnYLgvSg( zbg)zJ(J-EP864KV?_M(Y2j6m{dAWi!Ix4E+XTKbj3Bdc_i-Kr&0M=@}Wh_<=s}IYN z@6%OaZ*p^U6A}|2uN!0#840Y?!at)}PqFbSpWgTYX6N|$_>jhB)j&ZPtNq!?s3?#? zAVOJMzMQ)I^a@)_`9OEC{}ZKq-e8u^e$c$N2QAz$H1mNExveSpe!NQQ^F11o(Rxj9 z5ls3szx){GUroal#%o03RXp9S{FH%)yD#E~CjU}VszSU2u?FU!=+cwWXa3yT0Sgbo z%@^KhQ||HIp4jM`pvxH8o1Qx!UvP&wVgC9?cuxixQXu%KtErh(*o5d(y)G&OgV8|- z5Qm`q1y!hFFwor&lC%H!iVh`0f^Nd;PoMA>=9e#D0u|uW&D(iDoOFVN7?~6V5cqc4E!Z8$W8gzf{zhSNs*(zP75D4GSPI9n88j_vdDybqfR) z4oG0{-_P2K-eTbcB|Iz(1T*-wAIHP=g-Evb&)OOLt=yMC(?LwJTsQb+&!eblRjoJ1 zuAp!XEYaxuxRjK-TP>lJ_sw39L*WS@3Y`TQc_Uyd`nKuRo5v9Sw3A83-jT0q;k*h) zOpT3K_Wm~YDYZAec9y|OUd@OmYjhYziA8wP2rAG7C>z1~fm+ zy= z)!xyO3?xHxGI+nfCG>cUJzlpuA0FIYc?jYXe2Ig-{nW;9U<6=`12HvLVtidlid=JS zbQJF+HHSt<;KOg-T7b&)WJl;^2Uzc!I*&z&%;0h^@jpoR@9OI_GV*~T7GT*2itaBk zDP>pUgS1}*Ncd#Vz6tBMu(0p}u&Q__2BN&yWTWIgL700aAyJEz%Cj!5{j~+@-0GN?{{r zJul45Bk@gZ>*(<6|NHkZ^r0L+IRTAy#SExSN$B9QubtMwV9*_mnA-sUVT2dpFDO2N9dgh}ed7(?TJpG4M9Qw&?K}R0%C+#ARw+gA2e!m7X;~$5Q$u8 zaK7s=w{0WM4AvbYH3b-;@tjzYho`W#lr)t-{e6e`h7b4D1|2HX+9}SncXFae#u&9~ zm>iZ_!ozmqeti9~d2z`eZBK)VaLrT4^bs@ea|P!%CYC9jINfBqi2dFu-uS3R@r7^V z^CXG3UP4wDyLwz`SQyN70Q;8@VgA%uv-YdF%kj6tR0j2kWSUF!C=D@@$YP_=;w}5v zQuH?pfL@W5kN`#Sl#6G>4Dg(Q1~U0o+kd7NJiZ!eMJz|JNh4ixBUimZH_OPLonnv5?)O{s^S~lY(!7?p_mCfd%f?8IMcaO10II3L~7ax`TW~@ zJs+#RO?8c2Z1uBg#Lq2hPP{eL_+<00?URJ5#!ht}R#DDkYyh>UIx>jmB=<))!yzO{xuRZa+l=a&eVHg>gE@oWt-EFVfb{myEVh zQ^JOJt-Xk~t>MtB(*C7)k&{l3&*{cPz<|*Gtd+D3QbuGXWmH>`O%i!)bP##^sdUN^ z6yBHt{uC$y{+WfKkZx;h1H=lu%dDU%saNZQNDv8n1x@eoeCb{Nu;5LScajB3noEyI z+l%I->j#__1?4N7tbah|m>rh1`QqA~GZYml0#)u8S+9eJCHljc%Vc+LW|Ug{GK4k5 z7p4t9bN%ZB%;0#Mr764Ls^)LFq;&9A}r|Egu$C=J5>j9DjTqV5% zstKTFGc7ndL4@v2vW)^JPFz;j7d9^-OwfmwO6`C=geu|It*q&d@u8eMO<0@wYc&zy z%}!SH$WxO9ze)2)bbTNFgYntOZ;kpiEK)M&%NxOP#dN~c%4IX@Ui#?Gs&O6Wi<%>r z!Q&T{1c&Gd1My3vGEwTrw=+q_N^FDR`?l>k1F`~OEhvdJ64m=A1@Y`9YgCmn>SQ8DItOE#MBW;+7c5bo{g~gvHCho&B0knKQ=X`JzXwG$Dl7`#W z^?2!ilsd~;{B1q=DoJA@XKcmcUC$wl*A03d_C8O|HwbICM&p!k(pz>2aLe;X6a}U0 zespb4lUINFQR0s*a5FSgic;@J%}(`bNi(xBF#Py?WLZ`V4Q82{1mYGpHF}PhZPT8= zY~BID<2CJ43+pSn$G*mlyP7AN;|n>ljc-Izc-%MnSYZ00=L!a202whz(6;6ci3vWS zUI(eX)XqBibOjwR{HE*n=h3&HuqWbgBi+9*YoWM=8sxRNT?`s!$caS_TfJXUZkV~% zm_a!QLtyfFFhD}AMl*e@9yAK=_p@}BOv@_F5Fx!p33e+m#`igR`TELMD-N|4m!>}= z4ct$0ORRbL{7W0)Zg{!OSAD&`z3IId#Y9B`M8I>ezOk8Ta) z%|IoB7d5&0`H)aMoY!s#>sHyPm@z6cXs{uqp~8jTdF8wYbn)D}1@mM%7?s&dTPky2 zyM$#ILV$n_41nW-Jd0@(lyg8=00#n%9#eP6yJl~t!Z(QpD!`2m8>CMW5bAXvabU5i zEU;%nK7zvf*Dr4ugWaj>k_PEKs%kSZKMYP!_b~7a2=w;!jC8x|q}YTgvE`r64!xOV zznbI?Zsws*aX~@X|0YWTF*x{}Yk1w8LtPmxQyi{OLW^T&u6w2o-d=}UH=t8MVKYAu z=eF_#3FIy7UlsJa-PsiG6Q;qiLK;y}P~hdI*qQcTvyxq4fE{wB=jnWMaq+!nwzt9m z^8)zz5MBkk3`~wxp&*@u7`L*#Y$|YmM&Nu*l*bK@f2&BWn&^?8yn8;~dq|bA5+bvq z8GKB$Sgk;nm4_O~a*d3(>L ziMNlS#9bfdbx#jPu{%wGI?@0x4iE|f93=Ws1S&xRdG?&hYq^)|eFTPAK5i8k>tmqL z5(eq8AwZ4R($plLz5L>uPF_3t?5RsVwwe}LD7Q|l;8w!vd&C^#XkV&=ys-Sd)!39x9HM@ zM}2>eR0o;|Y}nxOzT@U*1&{%P6mfUgD7Nrp!I!DuVAgtzyg>S!iu- z1?xTtU>EP)2rPg+0KXI*HvgJLv8EvedG7gN;scZ{oIMa+5ga=NU5X&;{a0l&{4=g& z5e+kzy1Kg19haJVTbxNx>QtaoXrz(_7urN#PEJlt45XQ=>S}sXgQiPFch42BBa_;# zg@KU{GEJ=uj6{!^*D3{St&QfMg)oE*?90vR3_V5h9|7B3M#d+iqzT;x>O z2fvKFRwmy3aU4O%&3vW&B7su?)4KXw^+>rc@jM@-( zrZ?zeGG%4}DUpY1DBnF_hz7rZv%t3kQdw}9W{L@VZw|_Vy}dmO6(rEZK}N9l-`Cdp zhL7s^zjc3tKs8#r;U{|epFmfdhDHy7X=>6Ia11TEYsneRzc^aM1O~{GKk4H#nu?v4iPam&Z<+0jUnO zL{V886sx7MO}Y&RnTc!t@zI6&%Q{VubYNa;pF_h8WF31`Z7>>4=PdhK2NFBxB|!5F zkPbg;_Wcx|b$I1O=2c%)7u`H}c~N!&fGN!3!wbrXX3zTrtBD(C&fL4OLm2Sg`J%zX zso)g7K@~n?PWrPOqp5{XJILQ999uY%b_VGFk%h`mL*sNWJv7=?m_Q(Mc6L^>HFGflQ=Y_53hMcTZV27p*hJxk!~J;uH!tnu%UGY%QIE+#MFp*EzZG0 z9t;?#Gr;Dq%To>E1!M^8(xAmiUw>p#IAdK4_Idq1+k5AxBtAJ_M9a5+V;k{+{`{v; z&nW9<@~4fg;iqvF7M7d6uJ7X``fod2@2tc@ISkC%>vP|?wzj^1@9pm=E#qTATDw`# zW>#bs7Y8bRT>06T6#JiC54#j9eyEkKgbf#j-|N*AlegNZa=oovJ;q!rM8{WC6D*uD zGGer~EZc(~c1YRV2Y%qD!8br8q^DC;x@KGZpWjti`4^C?W_NBIDZ>JzUj}Yr?fZA= zLV!Ll2#6#Ng&PBQ@aQFB@N5*Cqbeke7KPL1Ca1A;aENU7_h6+W4HjD7M8!4@R0>DCVxxXuiJQ z+gOksoh%-q`xhpiX0|ci#T-33fpQH9ALvZV=BX68NEHf>U-&Z=gE>Qm@v3cXr~Yln zx+h6zd(S552AnriRt|wi%(Oljd2lNl%I0V)rYkJCJ9iA| zxtL;rDFTZ)I8^{<0l#qFO~&K=Xc7t!G7wS$xz15juo*#C0O+iF*}&PE&m5VXK~c!QuVvRvX>$vB`gTKWN3`aG06jPudOz0KL0>ARA~H*S<#LSKDAW})bY5$HHzHT@1PKmg+`rI=#iR^atR4en57n(PxvqW|A! zB~>!V5+;F_7gGG`ui(Nx!y;b?J|KW+kQhMc2BS2Hn8IdHKFn?H=}fmFP!fs-$q^;d zU2(0_WS22Kmv$fUCI&D3DC|(>N)>D7jW0y=9ECd;h}gaz9av-jvU_zc`qJX=hr9{0 zEM2@i1_W2Q7|3%F!i*EnVR(Ulg+^Dhvn=x9>W66D2b0YB1O)~8`FlD$1N;os)`q&% zBfk^%UjHw-O+>t;l#0I5XGwgNC34@uAU>N1`a2<7gEa*{_-W9RQ0^XVN4*qmDsD=&F|%mr{^6M^{BgVzhZ<$+>7#pT@`Wp5WR= zEN9fqUR3l=iddeQ%XSeK&_q|jGl3Tc9jN^eVIlE+r(-rO$vEpzv`9R$1`!@qVE_RNrY1rVu?3B)y{eaF)V!r@fCqVf_BIJquvg^C| zeQIQGE(5f3R#uqN2i{tuzyO|^!Al1_U(*b-w~dE+4{@^7gGULSlM){NT-sVHGW=I< zXX!bli$&-JVZCXiLZBbz9VT&iRJyUCPg$__q7^ z2(hfDriP%FsID^FzAn9fLSnx}19Z z_`s|Rg&|+D6;E()e%l==?oPzTZkUbpYL>Yc8d+Db8tr-HsM!$ z4xA)pyh|NH@!q{g-4xtd{fOuaZ}Hynl84Rhb;zN-2#a4%BPCBhGTMS)wEQ;qP;aAM z|H5)uLIBkHEMR^Hu^WpRl-1JKE`^c;`Y(=hd4?yx{?1Gy`FBYvyhxwk0L#zAh*!ou z^uSbrWm}IPHvi89oVFtjDnfn)vz^`(o|TEbrkl;7bS__uBvYSR^>jP6Q{-XwDVuJn zkmq4zej2FJB5?*0w5UmMt9GB#CcO0Dp}!HBx>tF5ZQpjA<$W4v{?kptMfu!^?@!m-IH8LT|9_eFGedYe zo3u7KKiClDAt*5T&{L8GHvzE$dlfW=vWbi2!~tRMQZj!Jm$!GT^U*#u5y8BG*KMG=ULUe43+mS#`TjVQ+HdhQm`7sLy)C<{~#J$$XtyyhUhHNz zqe5zDps%ScdA3`$2v2+vDdQ(BGo~n;2T(Yu7t+up_~VB#yxYx~Wf`y~1qIwpF_<{J3KP(`eUQV8 z+tszTtg_ztDRPn7AA6yfqZAs!d3k}Ek4oRI@OMtHTvhrnxkyb0V#s6dr<`jram4TJ z0;-@W+TVWw-T0nw15)5v1GxMev&Ao8=8x!P1HIp9(QPha>BuAXwFP$^J@sz1Q6!Vw zUpOI7zWnUqVTG;pcb%E(%kuN~{yV%GuJzioYYbhxS7(+x)JhMNw0(!a`D+v$R77z7 zw*4#E%*Z(HUr}Lkp3>5g_r~oL{eDOy;E12UpVoJtl~w4Nmo@@eH=L}`I<%5PzI)EL z=`9OJOt68ZB_%mjm{{vCdWI?Ck%j}Sh2Vt*E3i7f#TSzWR+*o(CGu*=X0|~Z`l|XPQTWzJ!oxQf_W#9$)V`77XIg^69I)Eyx9dK z>f|)P=nXVz{_zj50?E6fU>1V>4x+?e$&#^kcWHFk^;?tGJzkr_vt3G zE)z0COy=daFJ@0DJ#-@w7&{b2>ii15D521a*^hLe>i?oC-ZwJh!lr2EgNnI-sZtw=f3B}ZGp=w6{6a!H+S;M7 z3^ciw|AWd5xS#NpfnL(PK;qKiV?*$%Rda{zKUMWC-!44IrZ$=j174*>ekk$5x9+7EJb=RnQtld?IRJ=5> zlw@a`RCFzWXFocy@}TQxfm!IMe;O=O9sI};>mbp+dBbwmxBA_?o0=_PlmaLTqGp|i zph$>MTNEA{P@NM=`&@{+&iAIQwmdVwPJ>(Q@4QfUf?hL)9%BTscH1iS%D2#Z5#6^9 z?e!8p&O9|#dD~jF?}lUaL-Q$9EZ3jRqYbXk(0}_ZQ81G3-8`ZNp-pyI|E%TPNB^P?OJ8SjJh}3&$+nRvbA>dCD2ju{gJtLIx=M@e$A$xpJlZI)g*F6*-Wvb(*5f4 zb==IlXS>W@m0+|T&sNx;S36@)rDk|;@m*-P0V^Sxm&!GW`*`tfu7yQKV2Odj1fona z@lqk+Wm94kJPicD!*J*t<@fPAHhONXr^{)c^2kLNwsz@d^cPwqifz@&aBgY&b!y@k zz5=u;A~@EgnSM zp!jo{ZKHpfglC8}Q?QHb$uLr*NmULxS^UL|^{14i^%x6iTYq)6QLbMIk)R1rdq_)@ zEh?xky3%`rJoNg4^~a1Ct50h$a%m&g^Ap?)PgZaU1>wOmt@Do2;Gd|P>Sg%(_vmtb zmrccUhCb>hQ{}4KB13!j|B8MAiBi_fS%vD3B0Nz!xTpK5cfl-fY_E!=bt#Ao z=3Tt+b=z_vMo84-42=@G_|)TQW6nI|)3lfGTB|gVu4IOr7SKp=?`K%NP+t#_e8|Zz z8m2FpCIPJo+>@JIS)T*s5%>fjxBMgSz+gDu3QbVDr%)z z#;Q;-GE@IL^OO`7iQy@T>z3x`OQeoNiYfdiR6$~-l`A9n_X&52p^irA1~;+E-f4wWyseGU98eSF zSZiT6DTr$ZqCZS{LsDkijdXO_PbG??7`ZL7Ti)v$Zm{WKZ)*jw4uql<7wq^2A=z5GwFzxGxmlUtAmC2}L3wtB*KnWI`9V&*Jcyp(hl3>ANwz5#f8;H@EcPwZj+FzHu7<^Nh`OH z8HAW#ei2FSLd(~_N5fjxbzLSe;YWoGs-tGQFn4FQ5DG*ljMubX1g)fGSZls^FWZn+ zFyhO-2GD;1HQ?)i0G>p*B$#6EHQXGu`OL_H2v-kyWZL?wAWxQzkK2%|^@6^vuWIO3 zLP18xM8?>514HgmG{dY;Ye#YxYBOpwmxj_Xp|Vi#%l17D*ZS#ONz{X9g1e2~-TUE* zzUh{!H4#88tNKFdxlHy4#IVx_%d9svif|83-6~V;3~!BS?R+5A;c-!bO8D*Mqe!L9 z5gUu%4EO#BWQoNt394l_v&|`)t6L_q6l;!B2)Oai$~zSmhyQhiDq=KMpEIAv4p%(Y z#p$Z3@z7q{4KY+HL|$8pbJvzhdmaJ(A#CDlSI=A>v*zUPB26?TOcc4d{9Z@l z^6p6%OEFR%B#3{2LrX_zmo$my%juA-?+LgK?Xg~hdhQ99tr)K6dH=>3^47`5`RvW- z2F(ty}l>bFD1(g7%qVjA$Jr!hXyvQ?ZE}U0& z6gj##Aq#6YdJtsL{4s{lqunqOLt8-0={>m^AR8pK4~3!@9Ra*Y&V1t>1A zyr!R{saMn-eh^u3IWK`oDzP1D9KnNY{`>5|7>x<|W|)ojYNp^$piQI;(G_HrE}&gV zDEHXoOShrCi+VI$E+%e8avCCc64n)&t{PDFUm zlnt@XJuyQzI4g^*0=i2YYM1VOfcSSBU6??t@<2LU81FUt z$ImA4tV{Fc;pmLo8iJJk(9td{(ks}fT!ilZ!C8oFK9c`M(mI>wZgN}Z^gQy`Uz$8@ z1@vEb#AzckPoIMq1f^8I4NB-wR7_7WT+G@FoATwHgv z|1Q`tdi8-inaTl8`0YSeoE-fiOH?tdJh z17{J=^V+ThZ*uknk$+bJ53ASphsSwkiVu?;d$-&(2DI~iihAB3zoo3_ZxZ~4|3@Hn zC|SHzye&IL-GZH$ceHe3 zQ{Y*&YM$cz4f58LBz+EpX43?BFdg7VQcw>}vlGOc4O3~?DA&%jlCh(iQ$_A+k#T8Y zJyj@@*Cr)|+mY&D7AHQ+1WSE9nfU!1gY~>TB$AEcrM&@{R@bD&%10zJLTEQ+Cr%W@ ziKW!$Rj18M5Xmnt7U+oe1GN}}3iRH}$q6uLmnhNXA>bhm8p;4T5STBWRe;vwO?xaxIO)#HL~cTNWp4_Gp#VUKv;l9T@D6NKgcO2dS(VK}{(7Ea9FIXNnv3lz zX>g!dDGz0xp1o<3eX5rVxnuOrqOB1paiVX_xRS-vzB}IAJ^hcQ$3oZ*Ay~{Lb z(1uC&L<^o6@~i}R(>Q5PW6Z07Xwmjw2Lth9zDOdf2WHua6*oa@!^Mk-SGho~>S#6>cWSh~_;tc6HbP(TAx zeW;L9+tkQtfqtY}*OqS?t~>&3pDJn;%Ok-=h4qTikDxV;vs2g4iDZiDuCx>Ftn}_8 zys1om+{U_qMf5W+Xl7d&16mEgJR>nCvbe_jBUkB0rc zi9Cy+*?JPZlqn4O)GGsTR^7=;K=kv(s)UB!+uAqqx7zBK08jghr*=4UaS>|ye~|)B z<{mHHEb@OpA)F=;ny2E)RP*IeFFecZw!Y6{Rn}SfWNPIjr@!3f( z)&NzA-hHX2%_Tvr;FE3N@upVVmd}7aROe&5I!|5#9nnjJJ2APFsKiRkva4rrLV)e8aq;a&}(s@`6l9}?Qi=0>P@?xZ@@ zaXM%DhHe)JWcL0$PF{-Ahs(#>< zICY#V>iEt0;&18u;>=lC4J-mfA&LoUYIF|6Wfb$~rTlTz zqpcT6)FcxsLNAF^uODATc#g5@C5mYCB*!Eub2UrHGQ={l;}HFC1=O+Kiw|*n+9?7T z6L@0nQ+IeAqYW^;_O=OewCZP+vt2eW71Od?B-)uqphHQ?RIko1q3@$m*%+QIoN!WH zEM1HWZyv5l#ndKRnK6;dp&!CnumJy1AqJ@~iICvazcLU)=v%mO>fNW7){H^Xw;t44P*F> zax8%1YL$)=6=byU=3OX8E7GUr!D2MEw_S9^U9>y3678ieoxFPDwxt=oQCuo_Vs&TB zYx9Rg%<9^06*Y1s7D;R)+)gUL!2UGdyJKV1u%MoA#%g$sb=c^L>*gA-(ae~EPu_4* zZo{xPS7~d2Ry3KgWIF>Qn1CYiE2Dbm_8Rrx%%k6yC5qp@<{mL2I%zVwUt7T#Oz*k3 zj=;igo|xvS8?^{i85D+!7?JRizmO|3+#fTxw7ho&r_W4Xnh{Iz!?M+%H;n}ADDK90u%0wceE9usZ|1~wUm%o-X@199wYFF^7K1dpeBt`( zica|s4(WSK^5I#pDwa)C5k|}h43yyyIx56v=)__}eP0jXt-&s&6j7l<9G#+RPpRA4 z*k5QOQ02w7kIE5HlFDrHoTon}?u<-cUaw?Ow(XRcL6L`ev7p)Mo4@$w2hpd{z#+h1 z+RD8t&J3ZqD942JB~$Oie96u4>qiUEGFCIBPD&rK0%X8(b09?Gq;6u#*)CiYyq`PF zaOpRaDU#rp1G;O+nOsXbzm;(5XJjk>RGhg#?NXJE>wdEWluxfk>1G=Bd2yf##pvkN zM<=OnMR!Fhoe~M8r_3unLmrdgqfc#c!^N-)L!Zu!!k~2vi+{d%`}AwldHjx15SBxF z#f*Kl!B_TCK~2yD)jK*#(6Kh``w4Cf`Jo#N!@YkXL=9@1`R3b^|Qo=g}aYTHWUZ!gDD;=WZ57uKQ ztY!|z$KyMmwr5*!J#y?dt8tjQa>uP?T$aNy5mi!i6eIQW!LPEUnd(0pAGZ5qvtkub z7Edfo?)&Wo4$ON0#L(zDaD}R=_%8j(%J4fGs-06f)OoU!A!OnCI6MS33&Y&=VlLi) zU*qEK^!)0s_P2(O-_%k9R#QV$Ewd%4tne3Ku12Ue5o5gzi7)TWh9SD_^?3MrAF+FW zC)Xof`FyAB-OlRV;V#Uii3!ng`~2qd%IN_Gucg8F49nl<_BXhC+&JKXmDropvwn*; z#!p#fkvvhMcbu1B*`wq7UOyLwnVH(T%X$k?$XnsKCYk#39mXtrf8 zb!1L){BEwWK2M`cLCBkS%SYP>tcNqUE!Q1=^9MRhYAPx!jHO(By?)*~`*^MAo9moz zk?PmaCE}slm*mU$29K{c+;{c=y`n?M-ouBsC|a7WDlQ}sSL2c(6Mp>v1{h6bX6bvz z+ER1>iKGdLfM>t{+AI6ub$!#%?xk8^R)ThRbrbm+&yi2WyHQfPYJzw_R>2Ib}FCo zf+st62-9+>ZAX?m|KH!g1tA=b^w_PN4iE0nc@0!vO!|Lny6S+Y+V2koUJ*e?DXB0* z7$Gna>DmM)%|>@K1%xR`NeDPnNkKYBjFRr~1;By;fmjggco}T`pJnOR7KLS=HH{X|zyD(2$1(=O-5S z_Akg5-S6H6`gH(hlj~a>JHXgTbBG>~j1$Nlw=ZIsD>Tl~^Qn z80hTt*tp$o&dhyhu9dB4R;?=(kh*~7Wh1x7QC2?>=XP2O z7hp6dTISDw4wUR(jKAcN4^VvZBO-3(!5e*fmQ2VCyMxM6i_A@QP7XS;&6YB*z&or327>)EklyURYX!_oxZOcK10AiMv`6qYsaFPQB%tag2$1{xQ>sNwCjD=X^l zN0iihAD7d3&!2z18{p%1`Kv|0WNMQzi>YflR_IH-kL#sqVg@uZbAc|69f8i4Q4dl+ zxj}aA2EfwMel$KdN%XO2bJau|RyUXAHJ8AU z?5+|a5K2l^Pc=9M7ug}bI5t)d6cp9hxhi^|=$6bR@{@NB%RKu!e+MXalXbUJ1Q=Sv zZv`H&0ehHjfcVP?D?etOH-d?YiM>uslaVU#=V;~Kz2_Yp9TO7{M&X5@_CZSY;5a4` z95k-)M@`@aWsF9-{!EZk-@OXx{tC^fCa>+%&C{gxAa0TdW?MRyGE*ix$6Y|rlURQZ zZah!L#yoi0>f{(so zerj?f%ND4KOJ!pG4Dx%eL@0Zp3RFbd4dhO+Kayk{9%g4VK%k5ON?WLbj?1NJl>hbC(>jp%t+Z8MygOG!fxl)e3VE`=_$DZ?d{J@%%OHLEFwfgNfTp* z;f*dI2Qn<=^+=vOkO*-?_?-0^V@5{62pn6CVYM`IRL0}$bDV~cplqn&{_qE~S`5Cq zzQS}D_k@!wm%N+Ys*IMpf3E$}D{j$<$Y|^3#z2mmG`BN5^A|XX^*4*kqwbWz}n}-9+NFG*4mRc;%NI;fmH@U#|@T zm{oMFFeJ{0XZG5iG1y*n4pT|_z%s04l5Q|E__=rj3u*L@`2tg;-S+cY+IMeh z6lM$#$aLzjl$Lmo`QD#;unb0^AG~_?LujaqYFa>=R5|JDmV9Le&_32wM63%;X&x#n zH@ikK+~Ba_$jHdWzqCX&%gC-A(V}E!%nj+3lsP>Imwl3^1!aTDlyMq%GO`pd8#Q=x z!72CuS>Q5+jdW}*H#y1K};orHJ4QPRW?ogpSZW3?^G@cKqW%?Tt+|OAB0ANI4tHLO)XxO z?aFz5+kR=6*SYnn*lxG&dw(^+26d^r8ZDjom09EoBH$VE8Cm<`TsutEy%HLw!o^A2 zv1Ka!MaU^jgPQf)mA8I3lS0&?vTq<-V*>Pv=&LGV>)vd*eMnH%pST zSZJA9o&Tyg95owo8=R?|+uI@j~&?pwT$_m8%&y}@P{xqd(wg=8>X zMbJg0M5Nhi0VSGkOg#Lx{APfKJk@qodlBrTT%#M54)0+P(>*~x6LNmY{xedXp?b)Z zlvIQ&4qI%3p2=gvd@1~ko=b$`f*??8pDLX#WugNYqxGUxzzU&uQ=xt{fmZQ!4QNz5 zfw3HbaY`O1MvfU-20mNDwzs&g98_GcD5lrjH+qUdGD9Or3Nuf>$nLV+L|os<5Tx8* zKxfzCdZD$Or>kYn4$FfabMDgq?+cqZ%cSnzH4EtL2>F;HKgKH#BOI2OXSUTJ?Qpo> zYzpy+JqMz}g{BR~`-Vt83Wa*CI!@6IYrq3mJylI!nZ*2&c zjYT|qYHvRlHMBk3xa1vp?7iD`Z19B1sJQY0hb+wh$2`VT&zV|}<7H7vp;M{!y-DXT z@clk^gA&PPr(#8=68?8v4g4yU@jrpg_GgnNYKsB&U{?W znV9=XE>wWSD>!bkfW!kAxrr{&JwAsIya5^PRM91Z$-Ik>VI?*{0!2oDmW5WZXlV8yPt>t?ulJ~zD5#My=d$0tYJ~U9widLLWYtI z|Fj?1`3g7*)s$FT)UQmM;!S(@nL&)PYX?0HWh*IU%L@!1hQ-3>{^#GnLyx2Yzb{eFPbVl*MrEqxikEdq8X6Z-* zM(hD}m=af%Z}$)JC0`<{cd~fyw_pxF2W;GhI+@ftU^)npzVl=Gt>yFOk1;VLaZwFTN$R*z^$#GCYcK)z&&v55 zIQE2>1&M*Ur{jbPxiRKful_-+=+(4f2Z(DCOWl?WCtv>?e)HfeB1pV4s~yj>ew)E#ICN>%l~W5yoqn{|K)`q@~%=xq4G<)zJo ziSE)?HnF@G7d5=Kz1jS1yQ%(o=VG1qcAsbaQKq!DZB|5Y`b99}+D(PC{;~Qp3z**p zz5N7#)%wSqmOfun2V-ZytCM|8G@cQl2uh?({4`9G9W(?Ta~xQB|6)Fh&1!99=d>%s zyFXp>PG42>gYcJ7Hxc^$AUbwj3eSyd z$HBF%xy#dno3{hE{Eh=J`Z(mrqWE9Ya-8-oz1GZ9C^Ib!>3}1xv%I~I6;2w5E|-A@ zeF?W;C>~1$T9eR6P5$oX2ej~M7IZV_p~^xhws4NiHoYw~{+W8^_U|rJX)z;1@&`%f znJ&muJ?+fIfeievc3E5R{;scN zz|doJpl`SN5({*d@LyTalH{h+(*X#Vtn<)tbWq=W)D35E@1axKonJ2le@c;DMg^W% zI1aFY0bUYLOsMT?sdW9~VNdB~?Rt{d<1W#l*c?Be-I zV6lQ1>crD~w?;Tk>T+TCGEHa* z{meOEthN5E0RPai)RZIlxsDiyOJX)s`6?$9DMDmmbUE;A15$Fc_&3DPIgU4}vKcUw z8uymE^X58^t9HM-&dwH{t{MS0K}0Z8Yic+sb$l*nX#cgIfL$FjYhAg=3t81q(nWKD zRCTiC8qdqhc5nGKH@lzqPCP2m%3?vJ3^TJVRGyb{yWfuF62;;TZ>O|d@8u$ZEcfX~ zyR%U?_sn){I^_|6L?A&CV3v6<}GI)jo#aQgP3YZfL$5B~Py)jZ{=1u+-(*o>t zoN=UHjH+Uj&Rg@n~Q>darYi42$`} z#?iW>f8lv~o$jvlzJRR}C?nKH^f0& zZ=%0BcS5cqaB)GtnU%W}PX5&e=2&K0+bezX5!POWDq-7coARlkLVHBV<>biwd9?<7 zRvN*`bemYFwm%v9)JXQ~`YoUq{up={|E%1F_hM~DzkJ*KjfgTwgK^AMN*P1uhN;qz zj^gosO}@U7{L~9SP6gd}7iCKVtq;o{r4QjUtpBw}68K|?Ml}?Y2#}x{326y|TkFHs zVdJ4+k@$186O9?oANSu>oeG5#_zK8{Qf%Vem5#wA-fcALVJxXSbwBl2FoMY^Gb|So zgiY7PagndWNc0kMx$4lCe1cErO|Ewn;5@Nl1m~DLDNBO9YcuVc+>v$ zD=1XTeIz+Jcg2S{GM`wuE?;X!Pq)erkegQtVFx1!Dp9%WS%pd6-N6Qd#Ttqx(Bf1m zzRm#tE#-}^3j!y-?1~qTqGTw+{ODqUCyd_FC!x}#pzI$`{EjY=rAsU>6;a|u+pNM- z@M#A<3EcBt4ToP_DJ*cVNUR&?ocK;fl6r~igE*dg38}`En@iy2^MdDR7g6dZ{^wMj zR{+-t*MaMK#&UEsGm(1{aAE|gY%GLIe*#jBMjjp%&pg&QV-!!oinw$he5@PQ7imsT zw#3qDghXfD@zTR*tW^-e6tcH%*{xWDfQNTa+@Zq;xP0b#Nu2i#ekY&P3%HU)Ly7q(9fN z=FbPowFZ;uaoOglXa@!HYls(v7M%Lc87We5l<>hb$7+PGmk<@7VOU*Rv_Ro4m&);& z#Qui#AL(#`^}c-0h#9d&I1iDZu;8bpN=HW~#=r>$gWrD4L)p?lfYONt{sGhI6Kd zrasJ|BH1b`+vO#C_`yh417udP{T+avOT5zcxG3BMpU{UVdcyhDC4? zqh(N)zCfYH9cklPZzihbB0Zju2{OBktO)-VWgaL99mM{U-!-&%BDWib ze09X|H)^*75qdm(C}KP?)Oe}DPf{7_Co)%~r-s~{PZGi(UU_HFj+-mnNGQ@8$&`Dc zOZYrW(u0r6Oqt0!D6GaR1eE*|#NkF?ZM$nUhYP06_`Q86jb{$$SLq-0BLQ@}iu#ce z#B(r-^(_Z3e#blYHADbpGs=QLB6X>ElMA^w^F9yb(@Vlnv7RjR;z!Z!;UnhoJwa>0 zR!IRR4k!*8mM!^;xu{{TnXENLW}L`{eol$tgbY?f`PjGp=Nd+ziT(gJ>V*!>viA(!DVKOt`L-8*En)1&T%+OaMT?wdBB*9wMe^r)-+#doOPW+@JoRI1 z){1{R61TcSJzj2h1**l5+dKZx8u56h!io2ikshRf!ob(BKTq1Vjd=*-Ki`^=8Ein*SE}q1L@n$5nfJ(*kj)9Q-kdU_eTQ~TPWXO&qh1R z2I+beuCKRVU-9o1u3GI$*14b59h2j(pu9&Y5nv6a~qVq`N+($ zN|oo%($k=*gj(Nt%Bv}Cd=u7`4)eyjG?I{9mDPYNqmZY{wI@7F%b~dev_8JcUG34f zv*k8_O+SxABsxP#r+YiwHD~5}WlKZAfvV{GI)$qCVP{42(_$yzk;A!Ei&fgK3SSan z;Nb$O&W4SVYbHy4)GwU+x}umtcdJ!6ZhEa=E_1UmnD?f>_w`EJr~6i%aMx@zusOZDLKxr9qtUtWpAjcZ?j%C@ehwyi#~c=~*ujQyYX zil?%>qUE~MX17);7#dMF6qJ7>a73Te_4qED*5exrJb2~XL(}GuOBYs)L>R>%-X3h! z;c`(!+7tCVMHMWk!#jW{r$qM{{MiG)2mg2czgP5cu;|aV->dce!k>-Ot=)`$6BBA< z?zUAY{^v*L8{ahYgZN7?8*R)pyXDakke*-TJYwqaEzCpIDTu2EY&4w>=JjY_P|X?O z7XyOOdnJPfaQp2MnkDghEy6pQ+0h2x3F5~;-+AaA_$OSa!%YjxhkKZ~OKOEA%@q9a z`FK_GG*#eFid4z0Oi3-aB2<6J1>^}50RQk()q-x%h}FipX{#g4`5#G(ei%MmQSD^P z#@yMEe^z8s7n41EU7dFvgO1w2_h$wzw6liz1cxF!dw3}+ql+z5njy^+nX>^?2)%^# z5fcw5KHmf%PnV$eS9GJJvB z-B$P7h?4vHY9K>!F@2&WJ$XKy+SXHuFxVKayZ7Xt<=?>_r>!kEulz)x>y@2I}DxigqL{fjQ##-Hao8)ymY)0O*UK#b7X z2V11q5aiEB5m48VlF?DzJ>80Q(Nv)6ocj7Px->apvvFsArm;irSt4Q5r_Hh(Jn-$I`wVx?9K

  • FKw(7JP#6@d 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%0DK64~ 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 RavHUO_@1tQF6*2UngHLEoHPIc diff --git a/docs/index.html b/docs/index.html index fb1e467..6da0bcb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -483,7 +483,7 @@

    H3%tACs_slm9UbE+f$de8s~x5 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 z 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 z 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%0A={Zx8drd-KEp9yB{P5n%*K%-OpE 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