PKf8KE*backtester/__init__.pyM! b.<5LJJvM@__uLq L,~|)O}626S Azz 9EnCt"t=9 Y4=dZ"$X{FC3s NfX] mNS4w]5aX|ZMy{Cn^PK)zJ|,backtester/constants.py pwvQU0G  yet wł,PTnOp.&TBFDł7MW,]Yq= J&[bZR+&*:7%z32 ZoJ?J'hRS1UV0%*$P3xyʒ O[42b>̳,xHQ)IO@Tgv4g[jFnBЇZFq}/`)>$G9tx<3~1轰p5m |h~9%H] {)kc`n~;QpjՌ9xc%:G%l֋O˿ݒbW?&NC%[Qe'^S[0iz*= h?dg:H WBLs\W GbxLuq3}ΨRKiY~EٺxłqG w@x4>ar02ql|ru T3^lˁf S&I { ioNdT7kx1$IwZA;Y,+a0Dpm".o =e]/Ȓ5Cϒ*!QK?Tïpl'c1 +UuLlf PK38Ke'backtester/instruments_lookback_data.pyuQj0 )tL!=B`2by:q6Ϥ>E#}Q6!k@Uk,AnnxN#ҵ60j#sj%= 8׭*,AC_gIe /*# =9R4?sʃp:o(Fi{B\Hm3bb36'< Botx`"k9>w _rG^*rkDĐ:d>,lRF2ZnKawPK38K#Ѷ\7!backtester/instruments_manager.pyZoH_ K9@$?@JT4=TU⬃U߮~# Nr󵿙x >6GYQ,Ihi I-_Vd Y8Bm'ZhU񞕫bQcAvZlZPț (iR66g*9]!((qIlg(`WlP9"_0ͣd5-:f$VJ8_aE͞Hu=4 v\4IЌHEԸn,¾M`֭UWFa{M<)GctoK-iGk۝MgFѡ1b{1E8Pe^maYЖK4+4ځo^dn+ʾvj71T]:]{rt9E Xwͱ|xfqn?/!-s7tE㝠soTy8#)7܊GEfrrf痋OWO⟋Sr1h&R.ծDg- vVڷf梌BOx4~킗ӘQJ JCΰez08@'Q5q#[ol"Omb8BufT%FѬA/B HpN7wy̆s ]F2m gpg˦k:$YꩤhxR?#s*= $tQ5{`6b܎ l[R,ɚ2lG$GE iUBd,L)d0^)1*̍r,:;)*`fBhJ{U`gIAyu3*#nwxxPK38KH;tJbacktester/logger.pyKIMSO-NQ(K-J/NմR4Ey% Ś\\\)EEE(؆LVbbϼ|T3sQ )kFxbQ~wT5" (3@JPK38KU.$backtester/lookback_data.pyW]o6}ׯ ˭#8-b%A% t0jȤ&RMݡ}-,sIMk*r,|<*jA/KIʙ@Dk6V *n.U8U I!HEѥ_ͮ@|OV%fWj`kQ 6F52K_F]s -y/>;ypCV>~Rx!A3C (gP tO7F:L-eY7>oF5¾ 0œ?rg$7x52%5iU`$Pۊ/x6TNu  U NS3u-,M֖|ێ_jr2ɛzcHrn:P@D3[ 5۪Z PK52K\backtester/plotter.pyVm8_18ƻ\hG9BP챭V$ocJ{G^{RNKy4h4ZɒY.#>dދDZ('2Ymnvj(shRxzչf֕LL3L:n+.0̢d-=+>9d9k^ةVB5 u/8>XV)  %'O@sM2Ӧw~4G]Ӏ~it8=[= G86^oߓah0~z]umV8T$`a1` C-X7(m8s4-^8jEߜY*N`]eM"VZdE3"A2`q7XD읔J:082E_P䕤Ht 5꒗" Px,VTb5DzҀxM啳(eNKAy罉pg (r+'0;p}3L81A۾s>i\S.?KoDx"?@k:[ }sU%汿)f?ȭn'̏s5Vdv=`n\mEߙ^=s;57]/3b%5ո+kᒒtE V(U6j]ϫg?O[f|4qY!M?9 mëA'H5w|uz ]g'sJpYxdfVCE aHoPK38Ka2u\backtester/process_result.pyTj0}W AvY٤@ JSry aQWD+xRKn@͂9s9sz] *^eupK-a$ qMt"jV|H=nmEΙ@Z,BdQ6&h ,ڳ-4qdɺݩ볻(~Aﮉ{~x0ywvro&bWJpa 65t@n>_P}4QR*DT#L|Ap֬^Pv Sm}p>hI|K<'1.Ng0)LLmx/] Z簀m}ʿlb݌eqr ,+V늙wFK G nBD_.ޠZ;V$ v:&*SXs0rV)Q',eE8XZ@Ĺ=Eh؂wC]%RUIbu<_I>7<?+qmtd%TFLU}%5zbU)&lҕ'AjJA2ҽ>{2vj4u>3U#=`Ő\ݑܪ>O2, ^| `dhG0d~N`|NVDj9t-8n\j\_D#-c_kl~,굲g>k26 elLHbG(EJP(dMJkxjwLCGU GOGe@(ӼhȠ ?i&DIbZx*m]\IJxH7E:qD=b& .Q&/ ʯr]nܮ0`}}t:h"@~.Ϯ]9K!Vw8_ͱ90zjs'I Zu W͹q= ب:X/踵Cq;h%E܋Jm+=nu9^ _(u,A'TCӪ;vSX["U[ 3 ů]n= q vQEArmU81,\Xw;O?d" u[:[p' -28 *2FUvUvQN^hFԬ/+]c҃ucG1fel]aU6[+BO{S$?=rApܱUV`g{9PK078Kk&backtester/trading_system.pyn6=_qݙ} 2ɤdl]A`p,Q#.)%u^$^e;AZ=yrAM%gN볂- an6! M^ּa _mq-OҍZP9n`ہuҼ+Cs!O w +Fx[5~2ْk!ݨ!64Rl]aђἬ7=l oTESVe]6UIU{jb"0ޣi Zj sxW6 @f\a Zܴv¦KaXCXpq7 5 -+<< Z EPses3>(a}ۦu|ybP>wit٣0+M4Dטl^Mc]+y=3>fB8!RyO8s1K?a ձhBY̐ ^g<k/*93FgK#.¬Pƨƈw2P\S0HQ@SFe7H:RI^;--/FX,]*/T.߰=j(Z3"`{HZKJIW"&/qxsd2ۻqNkte}ay5D :p, YS }޿{Bv.n4M6 +c$5'#73A#-z?n@ٱ]xGy)* =NɺW+τlfn`x&dʤdJ-:EbhD3oD%zc6ZۇWj/IM{'7YLӘ]{іFOϳZ̥Oe{%SW/\+חS_;[Dꁅa)P!F"Lq7;{浞}IsEŅD\/ @jegfU!q]|c*Ң)jЄ,ۯsi# Ea ?BcP7'D${g'TϹcOsvl%ο]>2F!t‘o5iff' g#_g*B숵O/efN~Z=Dd CPK-K^n'backtester/trading_system_parameters.pyXmo8_A>9h -4qnݼ v( (IԒT\_~3CR/bU$3ÙIY­2LҖs"2R =I&wf[d,/ ~vvgͺ6:UoȜG7WIcxہ<$rubw_fj" j4X]Ɲy R[Aa RU}c:/`fqh.`.0# HZ+ݬ `I!eưg1/ِ_spHOY|g.'0!DzT+QKUb5 Uº(;0Ǹ͸kSDB-[u+@LiH;p Kq !ķQ0JlR @#0CƼR>'Z_9i9=`%|2TRp6 f1L$say.EAZ7sLYv0;r`'&br w\~'38ʂ\X}>A| / PQ-ڲ`Y"1O<Č qIaxyY[LgSU{' o'LhZ 7NB|l'凵[veu'>Бц@}@ken{pa'm6f  `k^4@V e7aĵBvzx3]Wwm{\]}~a&ƅ֜HZys;B~_{vo<But̏]ك9б碞>w ׷@ⴢmJ]u 1$S'M ̪LRM7&~8Iȯ:b_9G$#{[R[׏Xk* u u[E*l숎>L& \v@@NSa%DʫRwV6@W.1K{ xԵESvQm yW!s)NJ 7 KNTzvgAu%đpkyz@de1;|L{%:ȉ xx"{,զ#Bo]LHv-!:WFĕa]i^ >Ǎi (vm&q[O*K7mq(ptLd5PTNLԊ$!B}*N''v*&la`$9gwHlv,U(0Gkɐ5lۦ6;|"&L_d.15)C֛GYǖ/[5=JD>gFx@ aB{Vh]n]6C ṃUBA[גtqjq U.dJ=ۍ:||43PTEE\8k4┙4Ô78wCYez5_ Cz$'b~{i3b/:Cp5Ed:0av{~㼿[`0T˱S3PK8KLTbacktester/version.pyuRMO0 WSK ;I;i.hui;'ߓn%F֒TY $Db0Mi ^nrƝEm@nb4Jp_``sf+3T$ `2af@OhhAZZ0De#/ xc ]q.xڃK,ߗ p-Bų̀|updq"qW:8γsU>3fӢ̇H!.**GhY`d6/ˍDIrQƵLyOU3]TM `*iEEgAynf+!UKbcX_O;QHPK+K8Y!backtester/dataSource/__init__.pyeA 0 "|HZk!4&/=uo30D,B^3mlLU\/$$ jЗqOkxQP/>T?rnPK-KbU+backtester/dataSource/auquan_data_source.pyio6e،j@$. @cQ]#5ƶGwߔOyDQP^O두iC{|A7O0N,YDb)`c u. p7IF7D.pVZYwq34ғػ-X,n\֗˳ ΐ{mp@2FӒ#S, vޠ!*^dw{ YlP,i<ėK yZ ) Ssw)lʳsy2"<%J 2E|bk{lTL [̡BPza A3VJixBw 60 }K9+.yN]QA&#T g{'eEI7lK0_HL*'%zShQ)StZ2$c)i d[G*hDwPI~X_F{}vlܶ_ ^+:%Mطn8XȀ$ymk𢂗p^Ӻ` JxΗ:?hv {=K~sw+BQDgm^j@œv3JocB8Y-h 3..`!Bbzq]d$ȇ/nMȀ}H˂dVP>::b%#wz#m2Jmf=.]&`r{^1 G)M619r7Y9 @*KÀV Vl?к5Nt-V!6mT0 UӋ 7מӊ{O>9Cz N_+^ʬ{Q/6bc\F?P+ B27) 4yܬ&_fG-X/]^u<)Ej3wT6J.^{PZCu[ch^*͔olFI vqC.LxM31{0Y eA dRBelc9`'j(5)ꋿ-I[곁Ys1 ړnE&M((,:Υ,$x򦐳dQ`P#v?N;RntpgP \\1=Z_@ dt_w'lƟ&lcmD+Hl#XDzB8 [nϾxvmTį.Ũ~A\g]:)Ey2;-F&T[)l5Di%ñ]+{ӽ;}뺣m;iS:ͱ'Q;k$backtester/dataSource/data_source.pye?oP w>I]@B[v`LM.'zvKJA&ep?uZO`T75Gɼ18 0kxb#! 3l,DU'j/!7k~9׸6؏\زQ_*5G]EPK'KCP*backtester/dataSource/data_source_utils.pyUo6~_qP4vn0kyi{o-&,*ycw(ˎ/&N5,j¢0TM[ 7'!ȺET>R]i RZoS~[^5 mSpW#>.iHUn>BN7Z"F@8eM%Ҁ.a十Vd֊܈>k2nZS bcQ)Wޅ%V]FZfSw/͵Bش{i΢{Yc͡=hsg0LN2yXd>9N~z Xd#W8Kߋ.Po(L^/H`zwnCs?xN{\`p~wLZn΄HB16ޞu=S6QPP XU]npX 9d%,4G$u8|MnB Z}ڿpRq6$6+:F^d W%jaN@}׭ukߩ[EܒEw)+lKW铭Y`Bz`APfw%$@RX#aϑ?!~!X <c\T3#ĿXGrC"[k5*_vz[崈)@Tggkgjg|m# ^LZDIxADؽY( 剄= =6! Bm)! yD wBd(W)ؒ\&][W$mG@{:ȒFS7.zJ {I'9!BH_u(b6bk: F>fK4oXA< ۂ%%\n" x)̀0A@@g-P`*vWO4K ZxDXGJЫ wBLOlleEs8Av JdE~1E6 q80_w5Xg|e~`0)L&& $h8%ң/TM$scIIa,>KERJ,MTQYrMZ|@&B糃.?B=vP;&>wp얡{U ,~BHN1XY|(hA +h8X>F,$.eVڲHQqTsz;+yXZm2grҫOcUhז,ʂZ"͏._sYi'=LR!#B#l4qwC -LK ]NO;)ʫ7N 92جҍ0E&J7Jm}[е9sH[!paKԙq( / 234;ξh0(ro (C;*ߨ;}`Q"d>ʝ6<`^' [=І>G ?ݾ/߾6erwƝ㣓v+HcRGw}$4AS<sx>hwOo_^١V;BTXĝx౞c7;/8 Pܘ ڼX| 5Ȃ%uvlgH >#v 6uX8FI{%\.(iV1sEk45tD=51P'֔SlXՠCȿ1MkyŮ`4Lb7bOLdB 8pWLL )u A&vÓ[d:8HekMU (5py BĹ *N #t/,(j9eșrQ(y8ġޅ 6~m \_jG! #ysqR4E_& a[CN;vup^}{ L(sI^Bt{-0MDډ,f+Ç:O<2Ky2lB7x=Q Ǩ,}l^c=1ݧF,:&BF(exApǍ9JACwVE1`^.m<:rn,f zXv)6Ѽ9~{J! *lM$LA .[a5 ʢ0O`m{v#IuN@iQwgh&AZUYbz*AϏv,sa]}DZ 5 owjt)㍋}.AT$">b0a5=hb*K.u+WX';zw0d~$BɠLAyx=u0`Ósx?}? O;G]I ArKM*7ThXaZ"8حjQLlmrңu;UI)`WRzB%޵iKub-Ӛ.J+`+F0qGݣ8X~tܰH'od5"esjMi"g7pPr*S-mhͪz.U3 Tƒ8zuǭ5Y9e ʆ8Uj?4 QZ@\4K N#|$0i̓z*Wt"n5uz>pуVje/{xLm ~C!aÁq8p3"y$C<~pC|Sw޺X٧{<|aim>Lo7 a.9t {.kar.k ='=]vF<)9h%٥MF9^5ܚ h}CUtDPCLDBG\9[2+u Mԡj(z>X_1CR(P.aM>uR,ŴT"k9A3SlHZ1\qԚ&R6(OkCE X5Ƴ}OTo:Э!L'gHHІU'qVF ;J{7j2ʣ#F Qk?-̣T NJX#_/3C1˔biӉQ)OdKfܘեBu8*]jF5SBŏ vZAWLO3z,H6)h.e2@ 5sLMx>7-xĕAL,12&:IP?+k~a 4*zj\:e^ dž2zfhh3IKg4?8AVS`l% ue@R/iX215sJڌڇiZtB Y|ORV=H@=mܯpһo?x'tW3S~$Y/?PK-K %+backtester/dataSource/google_data_source.pyXmo6_0$wv h@$,-@"ѶIH:i0%݌x'.9+IH*󒒼hԛ$THʣoJZ5v4eM*RՊa:HHlSB=o'-uW螢:cTY"Ȃ$$#.62/ZS2v_,ɚ)Yql@t NHL'`X<9g:ry,MaY}„<#4XI*&IBMyC5'.\S"jJؒlZz5XLV+f :ҺCu&熠ka:M'iZ -r_ *hQ)GWד؂>Rڒ1.(?{a V5UjZ}9Xg4Y竵|P_jjZ0A$Ҡ;V@^kV tjO-o*C-;J?tz:F7@4@t"SB`w.jOcb Z,d 䋤Sҝ.̈ ¢- ]m@ L7r ?7xlsMS|+.-cXӚ^sR!T6cD=glҤl$"a05zs*~lw2Nht]ZtnfeԦdo{MvD5;!}LrԲ?'gC-Kp=aU@d ,}͑:sPث,gq'9Z]x*[#Ay"~,uX7WbVIf4F{˵j %R3_][DL mAכ|Y6,oG(,%Wm[Tn7&0eg@%Ksɧ4 mmi\[mI1,:;'wi\!'V6Fv9_7?Ҟ1VjDoƑ},2-% mJJ0u,Z0YF-RqvZVT՞=x`-:_bаKY(LJHqb2)JIFH5fؕEoWrZkOEO㝂~]/?}rfw8wF rn~mm__)0hNub(_5o:c|1E~(Q !$~/xǐ:5mN]/KYusC3K'fbU9L=vCa I#" (?-gWЂT);up)$JsZq̼wt#oDt1mG+&5xmbC3iXn~kV)Og"!<@_*cnlj#kLE0zϯᜲ*Mdxj Np.$<02%lUNz\y3'dXK)d~PMXg$c,a"RM.'0jpG;rP\j &A+<7% "R1 Ҹ r|SW^] ?P [ JA?h҇:b#FIdlUR,n=h}2 z:_šot^;\>%aD>{Ixק8gi4vauMZbPK'Kz>~b,backtester/dataSource/logfile_data_source.pyuSKk0W " =zYXzi{+ձd.Ma{ :V5H.)2mrڔԅ:lΈhJqȱ*4UFqJB] P޲G Y6hd׸OrŲ5*,("Mx@lDXdۺDQ/: ْ qd)<]~}m:"?(ӈL5k߼pMTx>{ul9BFU!%Wi(G3p%A ZShbY_;dD1d֫[6ȕxf/)ᛄxNr} 4\/fт/Z BHEH]b* Dkaܵjoq0 Z$!P 㗐F~#m#.{+{rƌ:8b\΅Ǹi-3By>k8`sSg) ݆ hmrnqAoH hRdhc#ڠ(V2Dn 5C>Am4Dq_Z@:g ?@Ppb @g&I$/~ {q0Z hBRoG I u01 &sD@zf3}f|vmӖQ5QSp9/=l+hnF_uu3 :l\ 78|3Y"LMq8I(c"21jIf&$$%amQ&Ǚ`<=I hM4$ո> ~*3l<}`& '{1TH?`J@ -o9WcViP8x48cdUEBjБq :826~8ڃmx)Y%@MB:U})݂muU"+ZJzLVJ[<j7CVug;OpVJf]T[!%oNQ-:x(<7`^ЧiAa&8΍yK~7bW[t*^{kND%QBT(KͽJe@z W%qkJ7,Wbץ߭ 7Cw~8黷r$!~ x`%<%@{{{w߽%coeUJu|4 Q3j<} OؼSm;?H?8QvtB FMϖr +!vcྑU%^䇢on4=PB ?kQʱ!}FiE_ʽ;*͟`(2xYImefd l:y$<{W8``qmJ%3dL˘u!=!TV`'ŝ2SЀQn ofN=VU=L'tŵ%\"R¶>+G|3Ѡ G\CEvULi1 6] 7z6ؓY–-,Aȱ2jܧQT#jE!juVܯv[}v2sۯ۩x~R57|J!"_F_RhǗѸ )5 e4c rej_?S6{۩TB!xM!QR}21ZPK38K7#3Im0backtester/dataSource/quant_quest_data_source.pyX{o6ߟb!mck73$huZ5DلBRY/7CHhGkI<8 +&4}0Lz-+2u)!I> BU0?@tKI uM;eXUexqS*_^l?F|+5՟G ywTQ.TQg4ʒҐ+$}@Đy-Ȩ&Wf7񓓌땨ַLzZr I Lu3䣪(-*,FiiA&WTQޭq耚V\pZŚ)IizϲKYdLkvJNIWYHVCZtam/bBW]pR#G9 ѿ.N{} xF4ID[{K8[-|En?1mЦR>l/@?*\,v/_;EҢDb4U7]*. JLk.3hrr ݲ;.Ny xOeUdFœJ$Ph|8F%R'%5 Gw+^?d\"w._x1" iW`56qq:]dX!~LƣZڮ62}x fjUo)Y>%DGZop[]7WtoLg3E77mJ0$g<<[SsOa&z6PLH):1h]JvMm0 o"D2cy6c-4.ÄGkjb$A󞓉yq܀UuDh9' (Fxdn(L* t~GM\V"KȇQ.c9>DAM-srltdƸƕ.%XC tDDUu!w$lIyO|d'./Wd++[dMƤbk=Č.i^C Ba=0؝ceddwkǒܤeМىW0ȱ84ni./< Fь]o׷]Aˑ萋JyA=k7(Z,B 3 F 4ap뿣-F@dSpAwQ)r!ixY|~Ņ8`v3o(hOЀCX ,&[vJB)YӾUsyx>mz abդ8t;Z!\57Vyl9ߧɼS\:%\z>6g-##e'w}(=YoU\f{2毥TmM1콛c)Z6rqڵPl2NN $ĕ|_`~ PVp1^ƻ:W#pi0߷Zv|E>xN.-^ <_+AcX]˞96peBNeQ^RnEnzg_ péQjC. b![D%"Թ,Ӈ{Կxl9+xyt&p_kw.7Cg4vǖ<ءq˳74PbUx?PKn'Km{8*backtester/dataSource/yahoo_data_source.pyXmO8_UIﲥˢCXZmu"ZNBE!qi$l:q$6B<{ys$Cq1O2 7+!} tMs~WWށFaw@RivdC#\VkE#Ѹ O1ySƳ$3X 3%,9.I`ipw}1h]LoaP8[`0 EkQM9Fj 5cpD! C04Qoht93GO)%Ԅ”aLVpeVSuẀ:v~fƄ'=Fh%+TaaKBo'L{Gw#-0"+T_4_`&MmS+'ua({¥{-D%ΈByJ{%GϽ/;X%MvH2,Xm5 ubUl74x)1ymIqJ,RHPb` X^I *ҼasښipI 7K;@c:1p Ґ14o5TRWzNx>|C$OV*' BH=e<;x3>1wju>Io6u})"[*yΉRV-벀Z){jح~RxQ0zuj)k-z;S88,SF?mBy.#CD!\IcLy!ⶴCpz_C[l*:kҵB:fZ**+0MTcFbֆ$m!Lن33nvmΐ YP#!rʺ[4Ja&4X2%, Ӵ3RdvzI(2SBU׋zz/e%ocue/qB2!';7L0ǭma}vug8h+ZÛK)0k֊|% ƻځ'tmtIئ ׶He{!v=Mpם %?wAYA ߜzϯ9gg7j1[:UJE`r|p8q_JLe&lL ^F4 |{}LjuofPK+K!zlG&backtester/executionSystem/__init__.pyOɉWUVJJ,NOHM.-ϋ/,.IUQP*H,*Q['> ,14"T` p,PK38KE}h3backtester/executionSystem/base_execution_system.pyAK0s  ADe/"!vK4Y2S4ՒݚKi$G+v 2V=VCsazFu diLŵԗe'qq>=7s avE+ӭ` nsQfD7QWjh 4hڲsIR>D2]@_ LxVBou9FI%G #"cym=BfXapP+Хٽ XUZ;'+Hm۬5,k‰l(9O'7ܧTO= &fu~;dIRQBf!ӄ.#ZV fktPAU2RQES=V3YrIF: CvN4{OX G]T_=fm?%^Ҝmhƅx"oH%tw0D.NfCQ⌸LQa sp$.6Oy{wͽ wSvj|~ʸ G^6Zk-n|ѵ`iуi|n#zvPK38KwJt5backtester/executionSystem/simple_execution_system.pyXk6_!CKʠ4n1T[NDHr\H+Mv{ic圭#N$5^%Xy8zUŸDgy2u)$WjK rOI [)KY5UT2`X4WOh>%y$HXG\.9KVdI3,v|o@E[h|4A+a,.Ѥ~]oiMsq;70BS ~ߝ6I%5}K;E%!:қ`nEr{Cu 0;38Uh_3K¹}]|k69M{zs oύ9F8$@( ^fm oHUc;e4ztYzDaÔ~5wA>[u^uo[>0o¡88mq޹0pOdRg6w}qވPK38KP_nW ?backtester/executionSystem/simple_execution_system_fairvalue.pyWmk0 A?$R7AYaKeZH1B}NDHr7wrlَvk;3!O^\H%Km4( ҅xfO|ߺmVPXHMyUbf oPEx"}'ݮR|ez=L~a #YC@ ƙ^, `@[ ">1jGCwwxe.ٖpڨ<$'gEW 0:ť&z$p˼Ods4 qmqZnOjFm)|KEjPNz|c$ҾrSUӵ=γ;w#gy˺݋r5 +--,[y)\1Ք\:erVɓ @m liqY(B΃HK)d&Q*>׈;FL2dff֠_2Цe)ER^WKU$rRɍ蕶x'SǶq~a<¹-+}Wbt# p@4 Yxg2_JIX#u<9 ONA2$ %vnd^l M GsDnuKRdlX3_*}XeBd֬޼|{GG9t5Ē.Ytv2 _w *NҚb#(i'0׌`%v|S n *[!5ܽJyhڲ"OPR`fiѬtU1S4t#}3ˡDy fpw_ӊe/-˲dlHMPwT %h<"?i9dS+R(C0o',F0] G΄D:uMJ og\b99u ΰ>zQQ /Fr#Og<(PK38Kt#.backtester/features/bollinger_bands_feature.py͐j0 ~ A4 +7lC7sRvX?Y!rtktPCS"uF(>:#&lh=a^NYrO̙ j%؜aCk*Q;1I-xsByVʗO PK38K,;k#C4backtester/features/bollinger_bands_lower_feature.pyQMk@WWi*K(]܏07kҽ$ޛ$;X@h/I()@ / ِgP+AP2!]JB0uO[:kvc@x$Mai>w\`ܨD\'CoF\Q ~[53FI|b`&X>ٶ!KQ16+7}%AM_{~PK38KVD4backtester/features/bollinger_bands_upper_feature.pyQMk@WHSiBJғ2I\T%̼'b$ ?2}Sh Cu0/h$I{9 ^ıgi@}ZD{!HBLYZ8~>peȆ>hU 2A @u%Z{B<۫sf9sdC&nq')NʍJez4z 6^#=a~*'F4B; b@bamx f?RṰ `ʹ-y$%p_Idӆ4dsw)PK38Kr*Z&backtester/features/capital_feature.pyTj0+f5M YBq1EՎ7b-Ɍ@ZKӴ)Y73OoܐEcuBv,,xˌk p\e<χZYhe,9V0~E2`5!wj}2&> bf;0ߜ\WںcĤ_qb2ŎHOV%: );mZ- =[n"`H݅/)%D~}Uw$Ƈo]lb6J |ڙ$u$#5W%-JMyw=4˥{AxLFI\B_ݷi#7/AS<7{Nzsw̅ːX`kLMQWyG"!J+)P[Oh? 蘈{: 5\kqt3mLGR5L+j287+hR_PK38K1W~`+backtester/features/count_profit_feature.pyS[K0~8oku+bEp⅁=ղ\J{5]CIwJ)<|QiqD7UBj鎁=քD"Z4\(+mC΃̺82ԯ\XB.Xh+-\9UShh|ltp ԊHxSr{!mK $A n}[ mʚSkRLnͅ1MLr%|>:sHh9[2t= C D=.X H]O(+ӯtIQsAU>X#R"Ux0";DtngY0l}F6LY.D8|h@=_ SH6W=-CY YD< ̏jcř8NdWL6"q (h6OnV9MP'PK38KT֊@P:backtester/features/crossInstrument_correlation_feature.pyRj0 +tkYXr V e^r3 +9[ؘ.ɓ2 Eu`5('3İaEU+z֖Wa+X[cM\< D TFu=F9ZBՂq۫X*Ly$+Rz'y{I"'g՞¹[pQNQ:I ʳOG/$ŬvOFv iak4&`PL녇 tN5OIl--\>Z &Nv~2 B1OhQ!}4?1#Ӷn!IS/$wCwwy}PK38K2gL3backtester/features/crossSectionMomentum_feature.pyj0 y @m-2ZF[4ػON3!$K:>$9P.j1l}Ȳnpwfc5ƽx2y/nuD5@ uÕuՍ/kt Ai,a|w\)|K uu8H}#:Ep=( X  :M`v;L^l+&`u@Z|RTW_Nڎ.Ie \c~BUH,֘ߵ4#=)+R2pNY9ǁ]w@J#7(ӬEPK38K-{U$backtester/features/delay_feature.pyRMk0+榖tzH7j֯vA0{7r%0 (Gbj&* lsaEJJ4دeh 1rҸ|RTar`WjjfYw@.iw@1Vd\(1x W QD!|flIIlx,ev%&;(:3V4 (ma$gSǡ<.<~:R8AGW~:+Yf)|1щv})ԖQu W]v8*]S+z .D3eR]Zi='_c2v#*$#+;JlIh+ J;aZ x'Ƣ3Ķ~\4J[ȇ p_C(jb 1(+ى7QnqhZҰVYu߳ T=JچVLr ^&gNK"^tɉ%p3T5$=PH1wQ9K؇+"0.JΠF3.)~p G5W4.uœWD,H[P7GlOY W}i7W]xmpRktzf߁ZUixr!e-?UZ{?\v]=ÑUF39%⒅S|gf1…PK38K1mۓ(backtester/features/direction_feature.pyRj0+f$&0&z >:H24ʶ[i +hgw*-9rgXY6a+-,0"S W6%TEeMi,-Oo܊?J*a) Ga]GѾK%(VPvP\H=6h% e'5M9O;bWD-jW!5=KkK`mxgk6Izt (-GU}&bd(9cG pVq1 欴 <`IGZ82E~lf\ue/\0pRktzD̰ЉZuS2g:?|V6Zw]mc\_=2ƉgFOO,.%/?yN3]hPK38KmԄn1backtester/features/exp_moving_average_feature.pyR]K0}ﯸokgW0Q ː~)IZ濷ifKyinrι'';V B$HT%Pn6 tLɈlj(y>(H뚯w8ЬPeTeL.*`Ag!sR4D̲w/SD쓂{uc^!]wL׺<Uqֲ^ )xكJSPK38K|}%backtester/features/feature_config.py]k8+|SYJan IatڛŖe$'MYd˖%Kr:Ve--fFaHHP&몘xĬÊk?Ď{vܣ˜!&KL@˒Pez@uΧ.7]V|)OM2~)A 5EjrF9ռe mQpZB 37nԸiq&TOU#'hCS KIQ` [z0abۣ -I+):cV=/Z{Z[7Ƃ em0epu ocQ?d¶-gI/FYr:/hJR?̉KraPЦAԕ1ug"}\[.];'hZ6"Yq"]Ƶ]vc'&LY%skÝBO1K:w_h̺K$Zncu&z5&S Td3ÎĉcXp7_MqկT MFRi Eb f'#*e .I!flIOIЫDh4r%BR ,{It>`:Pw־rr[ct :HB$ԠGsxyM#,Գ=Xл;̊260]լ.ZqCsCVRxKFbo"I5^s\7I&]$kI!a:i!(~|gATshnBVɛ\(za_?o_T4suA0s끄ii /B\r{1T5>I%D2>,G݂ !PO(tMLUbJU&kS_kWf35:+&&5y7ba ez;\>89G[h/=l)Οi)sewB `u 00 Ij' e0ܕz0ޑp&WMPK38Kv_#backtester/features/fees_feature.pyRn0+斤XR LEhlW5,K2[捦"%`NJEc u." kR:O HEQ0c<M%>GvA{U^.JPB; EKi,9&Ec&t,'0bt&;IV#yOTpN9g똔anB V[HhpV y-'e*?9/ɖK# 9.2ި">xMŕ3#+ 1l`gƥ2d 33ɽV as21B~#1B?2yqӂ^6sĸZ٥ 1X)o~$FPK38K8koJ 1backtester/features/ma_ribbon_distance_feature.pyT]k0}[kYaB!l-{4fu*bIFߕĖfe 6pd{_JGZo- h^!\tJ[r3pv"q!K9vQKn1?>*"k.X,]oܐFi^Edc O R{WQztKp׋X. 'TSaϰ ?RI7! xEZJ lF6!gfH$FWM1v8kդrwTN\ھmGbnI]6QG/UɱC.Pl>V٪+O4['(WrOЍKu :V==93?e_DxR+MZRk4^Z1]B+~{!Ԑ#̮MʲRo3uc;Z sǪ/ڎv6]j6ոgĆTG0ķ0l1pPK38Kwm.backtester/features/maxcapitalusage_feature.pySN0 +|& 8"@Ilii-i*EIvVv!󳟓dl |`rB<dr), fEF`,~s&1[9s鯁,Q) -K3QΙ>t3iexCRfkb}J}>=nV!/pkGv[,^S>8U2;:n',]r0PV=/KJvrkh~ˋޅi'fPK38K/*backtester/features/maxDrawdown_feature.pyTn0+A6qF4m7M.P!LE5 {^S^HHV d`jPcd&ӘAiy^(X’=O4{ԓ,\b=hܿ.w+ s%(n^ ˜eu FAx Ǚ لV!MaZlwf| ׋)O!d"3tXH梳Ǯ4*:PJͺtPBlfI}ŗWAN^6K&5Ҍ+eAȫHpOɻdz):!"iWY2IE$Rš3Tڠ:|oՍʫd\J49UO-'CiA1 RN)QiTp}D& TdBw}سw #LL)(PcgA8PH9cnӣ,p}! RXsWBx#p"Ot&$%Oy\`JB<;f@]_6^lǏT],eojԝd5u%A{ch^^+psrMD72mhU09\#1#/bfnvc,v&iPK38K]-backtester/features/moving_average_feature.pyRAj0 =״B !PڄރJE,ɬ$C~u"NҖ]if4;$a#ʝGrBtc& zRv@&5ܽYw#=^-08K'R`ܩD\gדخ MAP[d׷IjR̊\0#3W.ƿH9z\~:s%$hҎ5&{UPK38K%&{*)backtester/features/moving_correlation.pyRN0+VPG -7U%EܫdSȏ{6T{$xh,@nFs:i cE^*va1[2;Q,U"!$0KEn`}BP.6$2I }_˶4|_լIAZ49c4!lZAPv`TM&$Gb8O(}tQa-JMxeGlTv&Q,$ d?c!gm M;kݎ`A<~% 3K zc}*M<bdnwvY*,EBR I4n0Kt d.TG+D&Iofײ-%|jVް iCԄ2Z1(6pA=j hejOD>ywUMP*1XC'ŏR^` b_Q9|YĆܳRݸW(ihY[0[07kǫ:ڌ>u.backtester/features/portfolio_value_feature.pymON1 +|"V^(^ SMQ/#|݀v16`ΰKCZnc 꺮ǩOgp,29,AHAlҖe<^{FA$-n_ِ{(ӀJo%>RK= 3Х[D(,_TOYvIx&`)JJ'û+T'PK38KdcH2backtester/features/position_instrument_feature.pyuQj0 +tK0lm)n(ilY>1]gIOrGVûl.6Jң%B4t)Vc NJ2NVwV顳-v<{$lY`,p/Ya?l<zFL3fp5/^Jc qų$ O8ՠV4G @s{0ȏÐ-[}~N*#p;;m3Ә(tL2a5N|PK38KDUZ)backtester/features/profitloss_feature.pyU]k0}oĴ{[(#S4:%OI0d{t\ oRJ"(-P_6- id-a%`~mEQQ)a#xEҮN~"0O7VTB7T6ZgmP \xXRr-Y .v!4M>Fv(L`{|I&j vjl2Ie+hkZKHQYJFo EiyFk^l9H>[]Epjd$5&(+'Ok4GZa_!SʖK(g3ڍ8lWHp@|&7ʵ{FAN14Cgv< >z7hx%l,hTD V貔PF={{}H+F7ߠ׺a2﮶{50U$mdr{­Yq5e/\UW 4\g"29#ѵF|2ƖeN_QJn}uz*V>Q4!N*BcȮiEBF $ʱPRBtڰԙP:ۗhle W'BsMfR[\ha4Y0VKǫ*\|zFIbdr;'U+Ep s̰%uD*|e9  kw =_ "PK38K4$backtester/features/ratio_feature.pyTn0s-WTQۨ5%, =vC"EUy͌UBC3:h&xNG`dEQ0cQޙ> ĭ(qܯ/Jr\iXKC()#쐳ӊ)p|URS+F,`|SHԮ`nH,kwpӉP-p0 G;lV`y 8Lٸ$)t'&[$H| 2FUۇJ_|G~R$-XƯQ2ٺȥP1D!wo=SuZw m-zry]~ ga5zmbVS9$~5C+{0f7%Y.d:ye`U^N@|Nlػ{/*F14PK38KC"backtester/features/rsi_feature.pyݒKO@uqkԸhL]6vyyB; >Ҙd9s.ђ@rh!8ovZG7c†z@ĜN+!IR&8igIBj-薺ZR;FYgDh)^${n[ރLݷ;W"Sp@.n56a Kmd5 ')3e4*=$8pk+lr)n9z6s! <^oTR%ɋƛ(𺈛w` ը8+2zڈAmB'Qtai7v8!4{i`VKoޱ;GߔDWc7`,gDT A}P/h'PK38Kh~)R$backtester/features/scale_feature.pyQj0+f\@C6УacScJ*CuV]Ԭ%lYGՄ3i4;MeJ9ZP&CkĎN=DeHr_/*xG;ͯ:egSBG/Sp4(\9fQቸ a]޵non!<ߓ͘4V$d?nĭXZ,PPR\,%{I9Z q3I߭!AV5B V $^$U${GG[ſ)u7Igzw-#ˋ0PK38K8 U.backtester/features/score_fairvalue_feature.pyUo ~_qbqZ*U[JE 1.l_?1'-Bp?IU(@j.\uN{ _I(H wxEA-Hl}}jm ۅ 8W\\WRa⬔Sh(ް)(p 6["nSTdB{8D8?tJl|6 'G 4SA}.K"/~rw((J Ti/Vp%Vq-1<\N)zZ`)4Cy&#J.ѯbh&:hOhr9<%zk|WёEЗaMslWE+z㘄"mZFp3cP_JK-gE6d6TS GR3h= BU7fsgz3v>(w8E.! WWAi )UZR T c2t7,Z9EiJeF۰3^-o{aO+4*9 W8S>҇^V}P`<}{o1ӂHE h+,0p6);9tg^<[yۋӷ%:ʆ H05Ԓ!:oYkPK38Kvpf,backtester/features/score_logloss_feature.pyUQk0~8C-񒇽ulm(ЧBs"bKFy~-KV6-[>}w$+ EZ Q@9j.\dMU@$z0ՄڠuEQV)>W|RZ>QPxr, U(I% RNs{SMA ` #T}~v F(tN?|o:$qPE㫱,d\L=,=lM>ߣ(5P{o-0[b"4{luk;LwH#OaPi1v1Tk 8yl7 "ؗޛͱ,<߿bpx!䠽/&kwB3!#)-y-6o-KؑGrܑ!E?[|`)q<۝$T)xy,<UWc>(yGЄ䕑DƸ(9e7G bV%GYw`:dDr6:uX=t˱k0gTʶPpDQp%MG;jWlۄ>|\+Fo<<'>XڧބVP=C`1Ή@D 4H#'Xv'nv ~j |wdRT#0܃x[Z}I0- PKu8K8 %backtester/features/score_problem1.pyVn0+X`qǢ) ih#l’TZ;.^⠨`@5Gg&kR2 Š EnAZE!T*Z* IN$?P*!&8l P+nRH‹Vpm) (UrL* ~Ř(V$褐_fLX{GK1I{o?8_gTQr-1l,dDE^mmj HҨy擘HeF u)t5lxBYZF,1ɹ2m)hÊ8u{eN_]e/ N1}M.I-:|XE,|fyNVZ1i㹋L}q.|&S{.`*WM׼.>00d[((*!NvQ>ɧoBpvpյ DhY߷ ø.)u|*%KlAöGaa%ɐkPh}u$[jgJ6oWȶ{'iDžSjJMܕcI&tzb}6zSrQМPKLV]xZ4L X<)9誕Ը{voBH>]^Ӳpusqu'e< #GVU|G>F~'[:4..L'7uG㿍NfYfz`p[$mʭnzg-ns5SzfE_h;bE׊:JA K$"59Un PK38K5M6R)backtester/features/score_rank_feature.pyTMo0 Wf{Hvb. l-e U3!0Q,~RX"EH>RnJuh̬7fc`C_Dzdc_O0O56@hŕkiv-(73$h~ z~3d|ʠ_0ZoZ+艥Hr=  ;jV*!$$l7;5\[/N2#O~MA`z OOZzYцjMQncj/S{<#S +֌]<&I5L nǧqsN9bOOWԚ:8 7}pf;!%A=r2ꁥ jR_ƪx4E+`#b꒖1.lǓxE wM* 2@|eSZVɖHaK`P,V(ǜ/qQ=_ lHaYW8Q,a Svl:D0PK38KSYFv)backtester/features/total_loss_feature.pySK0~_qokuGD'>eEkڴ[7B}w]+`JAmP%S+*&2pwDdxWc2rJa}Z;xU]7[7][C%Pw\U3&̩C- bfs098OD=~͡k*wBlWHA>BQRrj3L`f63 0I;t3)أ;dDZQ0,";"\'Wc9d?lEg-e֌y?]E6#]uqEE^,CT\2 ]޻_fpсg7m0`kJdDU7%A} N5Q8R۱hO(jU6%'1)9fnq@#ǹR+h:-&ݔwDy4ִFmBԜ''*PK38KKe+backtester/features/total_profit_feature.pySN0+JrDqU[I6% {Ʃ6-!EJl̮gK)|QiqD7Up- /E(B70&~frF㍐\i0:̩BSDcæ+SD;B>NV( 'ǝ n]M +85 F۔5֤c*7hbz/1I|ۓ;l. (E.hw.'iX:Cw\Іq7V{7P.9Hm++*lc ,vz|YvE]+B >P=_ THO9O-C՝Qd 3`f\0;J]3qdWL6qhqn֛9M'PK38KÑ'backtester/features/variance_feature.pyU]o0}ϯRH(diHkK~^^rC#;n8.҆{}|'VT( EɅE3 $,%L H( o>9K^2.I%,|[%$&% SZ|Qjz#O)f HP9L5}U@v\DB|Ab#v#n9D 5NFQ<ЉϴJz7N!=S!43~+GzS<4ԏ;"bJ$ I*!6]ۿ.P\NL4t @GeB3{ Q9g}9MiߦW 7ݑ_{j)5A{J< &wF"tˎtNQ"z/0x7PK38K"v)backtester/features/vwap_price_feature.pyQO0̉jbbt.Yt˞$PJEooXLb_Jߵ8פ4qI? d ke-=LA0q4;±\PK'K7 +backtester/instruments/future_instrument.pyPn0{ P>RoC¡':r6} J1!/~xf-ZBsʒ[Tdgm A:bEqGžAP5ZHz zn jT -6"buwNmI3zUi,'nxkgp[Єkc_yq*txȵL/kv\GH~N/1,*HyV|ǜ_%E^dvӞMH 5'$fݑjf.s'.JYzPK38KJ ו$backtester/instruments/instrument.pyTMo0+hW#R%RBV '䅁:ٳ5`> fU͛< %k8Pm%𺑊W, dtRMIQrxOUjbo7lΞe"RwfX@r)M}U>b|G)v7@zmK3E7h NJ#DRakĥ0i%W<1^LBrn2ŸFEa*%Մ@Q:eRIʲ\PQwA5 +Ϙ^kʊFh.WNc:0cM+ﰦ店?q=gfmfa6Xyֈc#sl>7\'$hܢmRtwi~%l6DE8yb=wi $jo Jm:@o#d'f[`].aS3: FllϩD PK'KI\*backtester/instruments/stock_instrument.py0 E|ǂ*>T! a`EUbw8\ #1YÞ魇gH^/ '3+T)U2vE(R Ub}Dm}BIC\l7hyH10E>H'=".aO|٣$>vT}>M˭PK'K\QS(backtester/instrumentUpdates/__init__.pyK+UHJL.I-.I-+.)*M+ -HI "ė2s J<єr4+(5n`y2 /(m?X Kq 0+>>1''>^V!Kѕ@ı{&0Yv%cPK'Kr伛8backtester/instrumentUpdates/future_instrument_update.pyRn0{KR|@ޚJPzB 6MnLqz(3gR2 jjͅ6Q)$m-n29ԠtrI &UAWLkxlMuXj]>KG] J.c%^Kl|?# O̍% gU5ʤ<>0Hså`[; pBmc;P|0 䩏6\/^ }L=dB}/&%Ѧ's$v 1G*yҔ nt*CB0+ g RRBhEOVc3 |z8?F~dwl Fť3?ѸEDƤ0⮡> y%O8?^c'oۙv&L7V7PK)zJ̠Xu1backtester/instrumentUpdates/instrument_update.pyTn0 V/mæPf- K%Ӷ8=(d,?jBRhb4𪖊!Nh̴VQ0M]0B憬Ö#-v&i ,Khlx#:GײS^}t9 }Wڒ꒘2t˒5q)ZV&iňmu:rqРkys[_huZ` i4i< b.U& ŭ :  W@xxf}q .{|L.E K JZiVXk1**qkJFH %r++`Vߎ%S FsQ [;x@f1rTW%\ȯmk^a9 /uñ ?.6,gq%BoL32N;<Tj6> Β%vYfpsDđ.nj8\Va>h2? @3wJ5>Q3eۼnCPn wqu7u<[O6–nrC [fH7 6ȶ3u+TQha>mg.)1QIݓ2}ퟣ_C?:U}PK'KoN7backtester/instrumentUpdates/stock_instrument_update.pyQn0{KR!> ROmQ$*RO\쥈c,fggwƙ  2J(:)7Yը M8ZSd:<%3BB^LS`jn3nڧ[0]` x$+qz-\W0Ϡ7 Dt@!:m.y·@aw;LOZr1C?+afE? B^r) X*Iq6y>f](`fH%z񑭺 6̲rVm&sEP8:w.FFbQW-!>CG_]FǗ7PK+KjLbacktester/metrics/__init__.pyOɉWUVM-)L.VPK38K24 (<$backtester/metrics/metrics.pyY[o6~ PZWN %  IhʢJia}%"K=lƐ|\b[SQ{TՓ]qWgѭZyCXAyCxo]rJ~ƌtJ#U ߑs'IZA gEڄ'#9J*x ))b;F\Q dLӘ웣zׄl  x,C|CPSuM8Z+UJ LhP^<,֘(e" ^]^E70 /`/- w =D=%[|ֻ2$I9,#a{FW' ɽ`nDW§;tyA&}b4/蔤N^tQ˞PQ׆ֱ.Еp7`K>}U 6h:LJ־?&ku-~LnCHPhIK)Jr JTuC˰YC SՊԐB0qvӫʛΖP䎨Zɡ?橦/2(12U#זcJj~'_̶D'fRWU+H+fufΞ:j /Ἢ:n/.BE֋iQûvaf`4d}D"# ;@O9!Tzb](0-SdrY,>4{U"r@i-thƛc8 3)3TN4k}W8hN2x7ܖgt|"5gaOO2uBhԣxI aOmeʮ14vc+ LVj (iƤ#܇חFCq) Wc}c*$GPe7y@u)S10}K\֛3d*xJST\2w6L{fhћE36pJ`=H1F*ʂ`vAU='ӛÍWzF G6a~OYUaΊXpmb̏#γKJs^bpwhO MST[2z8y$W(@],d/Q+&4U w3 r*h`B8͹Pdn}9}D*┹=bf3^4SL8H=0pg/KB<3|A9de)&[`\DL'4nuǃ\O8L*T֒%L/nytt&TJrEc M f-m =v9>;:"ؒA*%K/xai?ɸAP.Eqz,);iH-f%4?~q%ъAXDV%"eFdG]sܜ +efIX6=&ߓQ-~%d]K?|+ `?9UA3 $0"@KD &2p,-K̺*^mV4\'0:8 .niǽ[6,yOzcJ(Yُ$E 2\@ER<ەsXiV#6%'}DZAa!|yGo8`c l"c+̈qdMeXÈSiRNrwK CM'.R#GDŽ|C8+cRg$6)=]z?=Nw.Z9*zum de%JK$|I9@1]#1ʍ\mN UsCzx\sH˙ъ ZuRn4l)eIrc)(zpIG`!01CJY쌪yŒs.cVB#IeP2m5ޝ9i9^MS+!$ws*W.eɆ4vօB I:|[騳LKx+Efhov`u^SUX:ï,EoQކ\:;Ĉnst&DЅK\@VRu"Aװ%>p-ӝ[vDx..1GOT ]P˺}IĆ~7K>w8ԗW_Nxg;it/?8Sh#B3h !痗qr=vN&Xzf )ka'Kؓ~*Ua0 (ï'69\+K#U%TBp6Fc#|;QVvvnY=|2U_GYRm05Wq(@^tQ,xpkQ\2ZW~=VozZCX$O13_b7ql)yXupv_$R 9&2D|7w1{ Sɩ+t W؜_Weh{uӏ>4/~j5Krin@0HA#SDJ9F$Y0,6λg s ^"7-n6îY HPHdaP۪' My6$?㋊逗ECthQiU}Im γ>Bc˱aƯY.jG)vyzmD!SVF(^Md{3Sojh[+Q}A#LyT2z y-q~lk⤺6n-KTUƽo Ҟh˝+흎PK38K*@+ 6backtester/sample_scripts/feature_prediction_params.pyko6~u}. y@nM-@KF]J ofHI+z;Hlr8gT<3BL#n]$'64^e, _Uۣ "F& 7*B15 ~a#@z' w3t7F5p8A)qIP"]<2փ=mʦz{u9TAeW&τ.h4 cu* QrG'=8|"aA Si`E}ֱHQnς[9sδ0nH=>/:URԒm1L2-S㸄ei`b=<8HʙB b&&N;Y]ߞ\ǫjuvy1߬.~.ޮnO|[f'o^-5%9J MZAaYtUIwJ6QjOyayb'K ĥY \^{֗rr#ۭOoVV>)z/QsXkMk|3kyY,^VA*\G'ji;3ͬAs Lܕ8Lmq |~}MmzߍrwGRVP2N+/bX1I:7ePߓ%"p5k;NF? ʲ% KhEM=S& u<\CJ B{.G4GrMp[udme?k=k-as΄yĚ:^@Fʸ휅EF<8@c.qll ^TG=[&bHaۦ2M#u-p]ɴ_ig|XeW8y7vzCz65^8GMw"HOw@CjU\;=_w _f/_H;si~Pd3XA)e=Eo`423" p:%HXeXt^&,ht>Uf+}`+1߾)+b~G:b. ~ ; T$Uq98l2bՃ4ONiyu# Iit J &qɈ.>¿[5T?Wϡ<3CD*:ay~0 n"bÚ"ObQ>a֗ Kѳ#5_XbaFS[,WA@_΋泳|c<;l'Kh H,S4qYFPK8K].auquan_toolbox-2.0.1.dist-info/DESCRIPTION.rstSKo@[1Z%&Ca[0Q< ٍ=0P vvNy6xj/ۀ Ɛ 85&7 'W:y]i4&0vH)TDHl@4_!dp-:hK˒[ޖ4ddϰګWxfU0w7WWb=MѽP]#~@a!k\VjR=1O_Q׎9-)!H`G7[s JmCh|1%2u/YktAʬϪdf >qcVF xɈfBˀo?y+^œ SQ/*`$nn+S)N8d&W{{*U7a~NM5n$IPo4l"#/ZLڤWFg3CA+1uS}mlpҟfe;mnxCQOi.Ć>FUdBox 䞂-|Zt-=hh/[RvJRAx&}wqiP.rtfF[YQ"zksgZ2zvJU,8m?r$VZJ=-[AWqBnl2@uJt X[+\erh{izBrв 1E.G!I׀c/1ֱЎ]KR,:AX4b+WH6S5k5zTF$YuK||%Jn6LzaH@6Jpƍ[2Z1N#F~?ޕZ"+ _/g7y](bQ9 ]xzn`"A^hO Hkb_AYWɺ Y `DoBdfIh%N?k##c5odN)NK;O1{N({WXH;LW_rrV)'PK8KND$%auquan_toolbox-2.0.1.dist-info/RECORDGJ1D]@ F8mޛ_sE*x|J ^U AiiWa9vC` K]mCl.\.1/[/Hܝf;_@Ж0XCYvpKSK[L[MQ$qǛGK8@ye|^9|䫾š=sSjB>P^D^_*ުIJA J5\n;= {NUSݯ*åjA oD'*%˛/ >eڻ_NJ0U/?oɽ`2sqRч`?U^w̰GQ>p-p[yD!ҋ+ݸ$:xvU]b*uܭPGoiwq5ۡUyUeop!/C9THUlRte h2H^%QI+I:wDeOGNBU=BG^%?˩Bwq'jnL1ՍѧqZY<^.8E@v#^qv]~&&6 Ou^OK)(r-0"]3hw)sޏj~ `n7\UuFݐ- #x֚)tIƜ u u',6}NmJ≯9<=lب8xgwɚ#]_t@([/Lj(n-JNMyGEAvHBխL~0&&>ܒP˷Nx-Ep (M+>H@ro[e2+BwI_r9'^'ѻB_]1mO\^HOr{KHv"Q[=)}{A=¾&*XCVg*pa鹬gcq?H={5CS֨9 1!Q:I|wO-~9Чgkp/ b{CqGSUUfUZO<ˈ~h#h稊sbi>2^ bwOL\c4U.: k Y%URn ],i*Xh(y'Pp)cs' E [] 2xEvabߙ2Bf\iu D} ҢοyaFj2'2XNcP,Ar:8pny+&gD%;3)~Ē31iS&_N 7}>Ph%yA<<9Z}{հYG/;g<َ=quF9mHNA[!+K[)iO֯wRA A\-h-~ܠj(L %WlS׊.1 6f'm0&@QPajx\ŶA ]HMJYs|vXD}߇wpQ}:MXi֮dە K9q[d0㨍ʭ!|iA9?&]~w+-ףeod0mFTK< ꫺J\-Dc\&&vjWm&7.G!`h],rWpՅ_g޳7Fn9/hei1PhӃL$Ʌ<%|䓺ʭD ,iWYG@[VhO6V$' UKN [,Ǟ'ǍEg5d-/*:S 6|ƶ [ILO^$eL'7N[FG-~VN?/V; 2kd$3A%N9n8)i&uG.wTlH!kJybfRB0 @@ u:m*>VxĮ>X覷vW-~UUVv&_|%HS_M}o*Qm_mӥJ?oP$H/"\6\h(J-LSw7;m/UgNarPK\ZS<0vrS,UsL bp>E 5.,iSoC!G`K6a: 3ɏCJ J![K2xrȝv;w$y'jL`fܒlF+jeLiٸ %ݫ䤆K$%08 uˎ /uA@b;GmY'gl|HM $1\^mmc6\;WɎ9σKNxC"+nb⾞jA3w~;T9qM|HrG*G3V!Hgt]~K|6-+6[I~缨;O/`'=#SVH.?|hoS6 ұhkm2*hOL':?l'#v*ubk{T, )Fe9oGѽ8cX9kӝ)%rS K*L.) ź.fwJ8y-yeI9ǗuAGKׁf2[{??ԨCr#,KV͆i0k l͘mau'SP]$>|{ (GM qY|+U km0\`KۖHįPn[bm2qjCrLc _+oDVY<\üI]Q3to*s,IM- \N*Ⱦd2Rs9 |63ێ'[g;PzYd߇:y` #ڮz0S&i+t7>9Jޮj^_,dk̯/C5&>KbVdNSKA[~)ԺN-pb2Wg&Ɛ-`(?CFB~gGVj_[a#Nc(PquD_m歌&5bŒ6EaɊKB.~-o iPʋ^y\r{7|,hppH2>>o}6zf~S*/JSlxz8P/7UF{/JV:7Ӏ ZhB1@$}1{^|"=8+13%⬇0 :%JjHnkx``uyWϐ`ӌɫ4+.YҲH?U}86/mƱin(%x1Fl-Bp+GsN;d Z nŕApN:YuIud@/r~\mo~Hu6FvWf3} Y MU%6r/'qEPKf8KE*backtester/__init__.pyPK)zJ|,backtester/constants.pyPK)zJ-tB backtester/financial_fn.pyPK38Ke'backtester/instruments_lookback_data.pyPK38K#Ѷ\7!7backtester/instruments_manager.pyPK38KH;tJ,backtester/logger.pyPK38KU.$backtester/lookback_data.pyPK52K\/backtester/plotter.pyPK38Ka2u\|backtester/process_result.pyPK38K:"md}backtester/state_writer.pyPK078Kk&"backtester/trading_system.pyPK-K^n''backtester/trading_system_parameters.pyPK8KLT>/backtester/version.pyPK+K8Y!0backtester/dataSource/__init__.pyPK-KbU+]1backtester/dataSource/auquan_data_source.pyPK%Kst>$7backtester/dataSource/data_source.pyPK'KCP*8backtester/dataSource/data_source_utils.pyPK+K40<backtester/dataSource/future_role_data_source.pyPK-K %+Mbacktester/dataSource/google_data_source.pyPK'Kz>~b,rTbacktester/dataSource/logfile_data_source.pyPK/K" .(Vbacktester/dataSource/nse_data_source.pyPK38K7#3Im0Icbacktester/dataSource/quant_quest_data_source.pyPKn'Km{8*jbacktester/dataSource/yahoo_data_source.pyPK+K!zlG&pbacktester/executionSystem/__init__.pyPK38KE}h3.qbacktester/executionSystem/base_execution_system.pyPK-K<=#3rbacktester/executionSystem/pair_execution_system.pyPK38K\l1sbacktester/executionSystem/QQ_execution_system.pyPK38KwJt5wbacktester/executionSystem/simple_execution_system.pyPK38KP_nW ?}backtester/executionSystem/simple_execution_system_fairvalue.pyPKf8K]Frbacktester/features/__init__.pyPK38Kl%backtester/features/argmax_feature.pyPK38K l%backtester/features/argmin_feature.pyPK38Kt#.backtester/features/bollinger_bands_feature.pyPK38K,;k#C4backtester/features/bollinger_bands_lower_feature.pyPK38KVD4Sbacktester/features/bollinger_bands_upper_feature.pyPK38Kr*Z&backtester/features/capital_feature.pyPK38KhWO)backtester/features/count_loss_feature.pyPK38K1W~`+backtester/features/count_profit_feature.pyPK38KT֊@P:backtester/features/crossInstrument_correlation_feature.pyPK38K2gL3backtester/features/crossSectionMomentum_feature.pyPK38K-{U$_backtester/features/delay_feature.pyPK38KTw)backtester/features/difference_feature.pyPK38K1mۓ(backtester/features/direction_feature.pyPK38KmԄn1Ùbacktester/features/exp_moving_average_feature.pyPK38KqՔ backtester/features/feature.pyPK38K|}%backtester/features/feature_config.pyPK38Kv_#ϡbacktester/features/fees_feature.pyPK38K8koJ 1obacktester/features/ma_ribbon_distance_feature.pyPK!f8K{!z#Qbacktester/features/macd_feature.pyPK38Kwm.backtester/features/maxcapitalusage_feature.pyPK38K/*backtester/features/maxDrawdown_feature.pyPK38K@'backtester/features/momentum_feature.pyPK38K]-ǭbacktester/features/moving_average_feature.pyPK38K%&{*)obacktester/features/moving_correlation.pyPK38K  !1backtester/features/moving_max.pyPK38Kr !|backtester/features/moving_min.pyPK38K M'*Ƴbacktester/features/moving_sdev_feature.pyPK38K\ !+backtester/features/moving_sum.pyPK38K>u.tbacktester/features/portfolio_value_feature.pyPK38KdcH2backtester/features/position_instrument_feature.pyPK38KDUZ)backtester/features/profitloss_feature.pyPK38KM#backtester/features/rank_feature.pyPK38K4$backtester/features/ratio_feature.pyPK38KC"backtester/features/rsi_feature.pyPK38Kh~)R$backtester/features/scale_feature.pyPK38K8 U.6backtester/features/score_fairvalue_feature.pyPK38Kvpf,*backtester/features/score_logloss_feature.pyPKu8K8 %backtester/features/score_problem1.pyPK38K5M6R)backtester/features/score_rank_feature.pyPK38KSYFv)backtester/features/total_loss_feature.pyPK38KKe+%backtester/features/total_profit_feature.pyPK38KÑ'.backtester/features/variance_feature.pyPK38K"v)backtester/features/vwap_price_feature.pyPK'KJH{q"backtester/instruments/__init__.pyPK'K7 +backtester/instruments/future_instrument.pyPK38KJ ו$backtester/instruments/instrument.pyPK'K\S?+backtester/instruments/option_instrument.pyPK'KI\*backtester/instruments/stock_instrument.pyPK'K\QS(backtester/instrumentUpdates/__init__.pyPK'Kr伛8tbacktester/instrumentUpdates/future_instrument_update.pyPK)zJ̠Xu1ebacktester/instrumentUpdates/instrument_update.pyPK'K`n8Qbacktester/instrumentUpdates/option_instrument_update.pyPK'KoN7abacktester/instrumentUpdates/stock_instrument_update.pyPK+KjLbacktester/metrics/__init__.pyPK38K24 (<$Xbacktester/metrics/metrics.pyPK+Kr1<"backtester/orderPlacer/__init__.pyPK38K{2,backtester/orderPlacer/backtesting_order_placer.pyPK-KU,ב+ backtester/orderPlacer/base_order_placer.pyPK+K[7=%backtester/sample_scripts/__init__.pyPK38K"XQ.backtester/sample_scripts/fair_value_params.pyPK38K*@+ 6backtester/sample_scripts/feature_prediction_params.pyPK8K].auquan_toolbox-2.0.1.dist-info/DESCRIPTION.rstPK8KpK:1L, auquan_toolbox-2.0.1.dist-info/metadata.jsonPK8Ks̄ , auquan_toolbox-2.0.1.dist-info/top_level.txtPK8K\\$$ auquan_toolbox-2.0.1.dist-info/WHEELPK8KwBF' auquan_toolbox-2.0.1.dist-info/METADATAPK8KND$%auquan_toolbox-2.0.1.dist-info/RECORDPKaa "