PK!pypfopt/__init__.pyPK!rpypfopt/base_optimizer.pyXm_1UQT*!bm~h/-6:ΐDx″d3yyfi&?^8<>Yъ~|V}z X<1ͥa^=>e~D!?TFpҪ.*õB^2akNJ'I{ag!`Tuka}-COBr`pk@oE#N$^SڞT#ԡuLV/bUŸYӣtw0evdo蠐v!kMT#4Q`?*ӀBYBכn7 'NQ}5,\yo rв'~@uP͌5q9۸y9@BpF^ iƴf|5o)bJߓ~IGRSZ@C >4= ^wm<|:}Yyw-iT=cVKHl\*U,;|{Afb.zrL,0Quoy9 ."&%3X#`0/M.ϘE_[6J I^/ϐ,`?eˆ>[; )YCixB6?t/; FFk"f|NdL/6 95\}[$OӷҼSɖ/wZQnՒD8W/me Wbu=hhdVg%[ ʅ-ad5WbƏ“sۼKnĹem\9UKw'yZme-{e[(И x8o`R"@(ʇߤc\=XQ^pr-a|`;9wϣwN N.NPK!%xlt8pypfopt/cla.pyko6PnvMqWһ" -Ɔ5N͐DRnbIgX,N>0SOHVmM֬& |-HwãYE.ʆg4%eQ5I&mWG0猼M< ʔe,oX|>iwE~'1#T4.V' @9,dUvaZ.s^JqxTQqTEFVD-~IE!پW,!{'y3ߞUi$iAoOxB f h=n)b1X7W4 /J@bT3TM6 op_oKZlo;0|Yf&hR'3"[$3L\`3rFI_V %챛kJLLu%le|> p NF P-Ѵڣ*Hd[.JR w:]rr(**kA\kpc—v MXi\k7T:8T4]kGe_䗶:ةȕeϪ۬r] $wLD'US#6 UQe 8fNuw`/X$Ǝ[x6oEߩ}7V EDY)E Q.h$3UK<?=] m9 #FnrP~,GQH:KaF*'=({5#3&  DZPq c,4]Ar" fwFVXMZ[K5[m 2`D6i}w t}YzZcjHE|_3qT.h*Ӂ9=+YDY='*Y8t)9BzTx^gozYWn(=j&)Z莊,95^`Hq(qT{%9vWlA/ЪթxY%UF̏bQsnnxE~VGUŜWJ]0mO78@}x:Y[F L YVaz&;U1P YBR qӠfajyȕ<[y~ s#XcB=d8qzz}~o ]|m.mxx(v6aO*RC1,!ST]83 l+rι*O cٴ/Ϗ~B79bYbd-&)7y*_3)_=~$gycz*;g&~+dX)qGTr] B -Sk1dPT jmZ'9䡝,]C0dR_؋tcy⚨0Һ!auyfCoPPۭؐoSj!5XS)je~ KV2q0Y¢f*xy/=z>mb!M6$(CENeYHA+}[U`wb@^6TWcxV(PCB|d7E鉠+f/?2u{YS[q@Ut 6S}2%A}iO<5~jһ k!m'L[`~nOos-N @12OKɹ)e:c}6;0'PK!e} (pypfopt/discrete_allocation.pyZ6pPzֈ KXشEJ*J)Yv\YY[<gћ`U"X4U^IV,SI Qyeٶ74YN`5#oͶʌkUkv/n_x4FБ UV,(u80Y^4 'x?E2Ej"E)7BGd>b!ۋ%fN`XvtGWG;+-y&),e)&sD YGϼp^J3O;PvfKeK.5*LneR\U/XU]<S |8΀r;FLH%7"j"vD?Gc1xVi4%{}quA٪Tȱm:DLVt/xZ%~zzJ`KUc*O>~'@XJ1J!GaRQ 7`i\M >(F<1>;XGlz:=+)"۲`a"ʶ\n&rS:[u[@mϺ)Q. ȡ]Y*4U$ QB1ǢsKNS1m)=N:Y'pՔ4D;HODhSfh3i(fð:q924XoV+=췴I?a1c /τR=.㿬V%OUrsK{+ :Mus-)*{Y#UM/tƄNc)ebjwx-9W/z6U K;f?BzW"8`tl;`Z/>nof}ƽwa2{` [e5*B*coE8{¾/UaJFe)Tk M|qhE`&U]Zl8}!Bh˚\fl]GSv71>Qh[d:nnCM^EmM'(pd#0E"o9akdڙZOפ.DR+5Y k:X,EʳuÜ=\_ݐ Áb񦬅L9ҿr1L 3VTl]NgKYR?j{,a{趪kঝr ;tm7ҕu[83Ԇ{yj'`y*OwJk:YfMjM:g:/=~Q"0.fIx1$85qOfKerTy'<tF*k.!ԿG{N1E킢\ hw.KjE˒" >$frl:8Z<#%Nэ9%v}]#Ο){׺+bgf7wه,Lл?DG׫BKBUGD"KէfSh&b PZi/qEԉ*3>hs]8NA,tܝ້l{O$\neٴ.?$$P;۲DdFy5Nm" .>U={eP>QU_:ف\IqY38h@A_;UAUUllnICǐL_j Ϯ۬c[)*w1%31\-Hf|&K3!ei2g񟷏$9,]h.IE8#XjK֣$~85AdRpݗ_~|yýbug:$C㣝(PQhOT38Gx}"*|kݙ:3/%5h"夽B/ ;@NUWӸfUAJWWks}YUgx PVЭ@ ucH@5;~qb [`5h5 ،as&W0)kNJD*m?s;t²4oߨ{&#E2ŜӺ8bdb6>yq%z+_P>J5LJ\r7Ls*knvk%Z4UZߎf]2WJat^FEΜ1͔9sRԉܓ-4kƠZkyo9eL gz/uTd;iRWO@`}D #XuU~6>P>}±>(D{4Oh4!-Vkٺx'vbUz~La,I/j1?2p~ t,8a6&I*IDt=_dr29YW{+qMBbE'DmcPK!E: ,pypfopt/efficient_frontier.pyZݓ۶_QBSX5ɉEٌddG bN퐄 ݰ /~X@hJ3H{({}bAQDю!;$)L)NL4h|HQm )(xWYQwGnSN6xlƬSrNj[8-Z݉)qo'ct6ozb`XI0m;Pa?ݣ]ŋԣmM6He˒:D:?n4(.Ih~Sh`HH(uylxwc}MѸU'J%n&=GNbHn5cBv``]/\v&&ڴLyAYA} = ayE'p0Q[!MdlŪ}6grBJuriFCJ*VxHt*I70#ó/@XDSr'Qwjٌ@m@ ctUAΡ.KIO6(+|؟Q&:vf=Mp쑁Wc` >7CS( -i?aאG1KJyQVuylHޮriVv:Vۗ`ĿP t!4 r=Y~hvAq[#JnNZ?7R ӡ*D̡b y G8^%D~sk\KBp$sc=1W]`LKGr!t56D<'.'DkY'޳%ly9@ hѾvkdcΛ=8XɷS.}y'(vqZTA~صpeȾ:3:cV| __X)у p! @o%+"]s#Yf?iflvs#6Y <噞ڢ"#,x8'8{:O+%#pi:Ug`627;B5ُZ/GL^ Y^"-+Oc`!x"n6/>|a=d0xP&<: V]Kwb+ cX+nӬ{fzg<` HfKc 8]R\hȒ@9l@I,pGCXHpLYͷ7?| Y 9so[[S 2*C!.N@6&$n#x:NfT $3ʫ^4]VyHbLI՗qϕi ne$qcKS ;H[8{A9ἄnLk'2 2*y  Aj ;_wROA˻Ix`25[:MO>d#wjŷ(?hD]2h2BT@L4 ޙ1jF gY?%N91LB n 7\i05xӱq}r ™?2/3!Z ׁh9Z`#G AcY( o0{W2I'+JDm@"%<5}v11{X!e*$CkX13~p L"#ݣN_dě=t˶GyY;<uY^h>U"hWlN g`"jg!}^n%NtOc:;}?֒_3t0ՉtNMt =q:5 :`ώ2]/oj/ 'lڊ;;\?>ě.kXaui֦fZEw{MoOt6lG ')װa'btSePK!lԡtq# pypfopt/expected_returns.pyVM6W>Ir1"Mri PYid1HRMvC.-ͼ7MGpG7?`g5:L5NzQDXls/թuWϓv0f>d4Y{\U}iO(t0]cSNN:^sDw.t4,xtNF&Tݑ9r<<Z̦> =:G6@lMC`UⱤI|&n{P =|RJF^F 1 ($B K;@嬦yK~i,K h+мCp4@ce 6vRu Hn!YsM=O~g̐ºN LdYpf>2pzS$pOŧQJJjBfp qvqfF&ԽBWG^Mv,UclE8;;{oБM13)cfs&To޾y[2f<]|DuZ])nf4<@]ԙɕ~KS`xrJ\Q#6t V\a€]Pmj $q{=KOd %UG1o[e,jm|-5Wȵ(|scTMFx3ykof}J{aYĵ`n*(/Ovg@*Ryׯ_\H7Kr{$191f7_r a)HY}OY%b+?w0[k.RoSKD*U|F(fyW_۟PK!zd#pypfopt/hierarchical_risk_parity.pyWn68HHM_tXТ`? C%f"*IM({ɞdPnI 3H!;WRhヌyiinkiﯯ!SI YLրE~BiST*(@x '.x]D C-unBoEH< ?XF'h# ˬn /QHeq4Vh=s&>L)K<#29Ķ܈HVfPsp4zWi VٷBEX$Q(w*+łB/QĻ?6 ljtwHj ]z,1ZT$}g5ew4&1aY}e"e8p7&C N Ue=cujV5:yQqms,dʐmmG8P: h5 f d:`Y[wܚg3ZY+TkdVۼ^:TqNӖzA4`vWW9dTn6#(rhR73f$y(%Vṽ6ZQeZK9WdwAU -~F.RC-tPIZ>FFJYt]%Ci 1a/GJ8jk`cHTþ;LJ$>Wc֬ SyIN>؂rP]>C`<x#G56ZJl@4,Ch4w`f{ek#*Hᢪ. Ve@^NGBPnl H=5et'*e%SW,I~0o GO3$ VclheR[pv|Y̓7BqȆ,S'F,})N^XƺVሯ!~ҺA9N dHuKM$|'IRM}xmzftƛ@AQ/ۦ3ǯ% -}#j@fɹkJR:ںi8m=kn(jX btc17umLZQJs/s林NUӂ aU-Bl}}Nw$^P^i*9LeоZWL3mfPbz㧹` 8ol%&VaƐ:% *E ȼ4*P\00Ɉ#JiWiu]Jԝ{t*9MOTsL+qA.WP޼Ɨ7j7 /x|bz[w>XLP5g<#E^eFb@u>>~x eⰆBג!'W̯~p>dEx쨮3t톑[e)rVԷ>#[)xjjᢂOBV7 ֤Ιx*cZ%ߓ5`hFHтHִS=h[3"Vk-؞7lX=h^ ٨kgU U ΤuS QH7I2I2)irr[*lJG{0) %K-5-xE播le 01ιmgg[)&kJh4A=XɃP+*iJv78@r&?@F*G#U + kff U޻_$nav;1Q/-فemڦ-m>ZIQN:|insʋrӳFQVKuBV}lY;jfh8}M-4ji58p6P2>Ԭq~]G̸?!|ǚP h]0 kWJD/ZŻ*p: vb!-KC卣=gZwʻKb:ppVQwAxA~ ~:V z&dpʼn%I 6d % ,T%qXώHLn&6-t?Hdz2@]m8s,U>k@t>eX2ܩ`8WoxYթN JB5]o\ S*: zA~bK,/ \0pJ;lF`kJOL:.riR_pt՚EՇNAW7=辺T?5XBd7s왜xS rWyބq η*+?@Sކxs#rQ.~ [\-xP'Mwmh%`ƴ:7 K:X%mmی,4 J]6kF%8Ev^h#v1ÄunZ6b ZnKOw*+e7N%@y`"+v\ك0[l6"npZR% 0KsF4<È6BXiR7`(P|d|[pqw9iFuk@ĸN @3p8$&v2!ZDSz\;wTX ɠ?іAzkZ@u.-خzCR'|^pHC5Uj "Kr$hQN5k'yC# jp: z.Xn(O8!j2 |A+٧&S9te.G}\_OƗԿc/֯z,hJR2]%-n4\ZG;53Rz2E]\rO|nᶦ҂JJՖc=WqO _{W/ϧW}rGx>&  H^&{ljDը;,<׷Ti),R `l3eO, SH bП&ڧo Vt?\O(tmvbq 5Wo2C?u/уmXwj$$ JʴKp$\+=ٗ$r:ΜmoEDUu)ig706;.dg(9gx4>]0-өrXyA|b`B9O! %laAq@PI 缇 yU+61ď-7g7:"5ؘ,;cbeԪ-}uS0Do7z=/La' O5TlXCh'LA;e*ݽDN܎lV®V cX0 ..&HtYAѰeI{xPz2N+(6':$2^I15(G`/J3@/8 q:5 HhN@$F f{5ٍծҍ0~-=a27_At:'.^}>MP{ǐ+'>bw&Nܵ=4nagմ@ɸ>-G&Yo `H0R9xڢ~:&eZ܏5 ",ӛ` v#yqgR4=掞Ͼ?sb}sd%%e\ǣC? AbK,PH%g7";A-Rf:VwVufޢr+S/Љ1K3ꈆ>]=EdWa 4cr4[bQGX5^WrU>TEWQZX& uB{w ).!Q1,I4vx,?iӨY,ySŧE?̳$xu 2F:V8ZLe9?ЂG$/&i.Eq} x7j¸g8؍2=Ph oߩ)z#}ΐ:t9PK!yhn pypfopt/value_at_risk.pyVMo6W |GM=ԀibKQcP$CR% F"͐*0(zV-47/B J,oA˕ w+(۸A{l@ d#[ée}f P dEA%픶С*j!ߣaEiwoƝA|qu/KɌN,&IR 4!;l$@er0M؀N#FU`ooi[R_rڑVi(*CdP+UbSdpDq/iV5սesP#eCw)l|6oT1 zQt(S,-!>{s]eQ,i6d- L1b5Ej0 DJEfޮ.#Lqc4nֆYhJ􆝳}Yzit(SµhտO|]f k*7To& V}$]Owj5Tޠg-_HYMFn徒Z+^O~vW iIˉ& }F*L3{t5(jtʢZ>n/14y'/ۉ;Ft#{頖G ggǎ 7ۻ[zs{3uqLa/%E͑"W"_6Ph}k8rm'u4(Y6 > {83};;Q}Dayg1F z]3iҦ ƟΆ!p~Qpz _%295'`:X)?'?0y.7?:%c:肯?3r@x4)4KPK!}WKz5*pyportfolioopt-0.3.2.dist-info/LICENSE.txt]RK0W8Jqz3Y%,C\٦h}gVB<5RCn;3Xί#|(7>zoP>ډ lxohpMA; n[;-tHp2!^[op6wdF;xEsX<$iGf'[ 6#;u' oў읁CK@3큾fuGzKKbgB>>9#Cg~@=@N:.~BJ3#.Rnݕun-9 j܎!Z@S+ZU/2,xE[FN(^T+~2K@hEK5Y&3,q, TW@w()+JKKKJ0W5WZ+7–\)d(b >Y<'*7^>HzZú3ť@e|Js.2^g1oUv-D|UI6Ҫ T}u+W@V*FqF5^)n(5s #VCdmPK!H^lUU$pyportfolioopt-0.3.2.dist-info/WHEEL A н#Z D޾Ph>Y8TEU.t. f4=4h0k:zbaPf>PK!H% A@'pyportfolioopt-0.3.2.dist-info/METADATA[v7OU&kIn%1؎f};3;>s$$1n0n̜ٳoO_H#er2ĥPV2SUVr*INj*Vەɵ1:j{$cSN+]22mwV t)M\`e]t<\ejyMlUNUiyj1Ufb+Qȭ ȲrlEt`j*LU8.Jm[Y[e (1љѕT`;쳂nm  V$eY̢EAS#޷?XK{{xr FNy9Ni|X]*kFs=~Bx9TErz uj;'Az*dm n*][TUmL~h%U,7[|uf-Gɓѳ-]pH1U5omKY9!MuI:w-:fP{fRh3V8$x8ٙZkSm^63¼Bߏ?l?%C?(VzEbĀ.LoWZ}uMEVBzQ8pv;#b!6b=9V*=ڹ YnfX PR i9\'ɪ\`gs/q,fM]`E?DR,+5l6;T ? ]jgj`0UzReb׋v&GюX>ZK,u1W:^ShIЕnMS]ذcĐKG| )Lw0^- ]2Zp_@dW;68;HL o]ɵq,kwÌ!-»$upX  VKb+lKpmXЩhe\tYq#  ;f.gP)́ sEKD@`X^}U{1) 2,WM NKUE^@ª*?-4BV Λ2NH(vηYVq|*$ 6ѪZ˼WPKCZ`z pV%L+l5KH%kE_|R÷gpL䫥$j*KW"D JԆ5)i|_w{4Q`8ܘ+$^χY.S͆FK^ " H2I xå~{ )$\!A:?)N9oy?QO7ZMMmǡmzV; %-{x{ee]~³ 2k d-oqJ>FvI2spd02nGɫO?^RrJ7ž">ؕdHF0J$dFAٞӾ/+19@LQh^*s m@3"#ďyy H ~`‹sg,esq8_vC`Ǭ h ҁ=:#4>_&Fx!!Њ4k1v D.nBqS|/'nJȱ!{F>VXL@#Eݢ{Q%7E% 渰<~w/JsQ=14s{MZWia!bfb9`=Z53Iq!9W?~L<E7!:ϓ?~BOO}'ۿs-MO-_z{}89~}xސ\''><޺I=~x|h7Ǔ>=DQ@dYRj*>L]u=kC-&$3Y0HQC(i_ sǼ`(6E'b N Šva$r5>A]N0?zD|#m5BHTp= ygnwhqr8 6x2j]_ӻ(8QkOw?Mc'PT.WTQRabM5P"/hV$S!C`lXԮ e:mfVZ@IuTWʺd~oN_|e``QLmy \LJ+ ^Pjf~{ a"'HqB&9RL^ɮRW d-H'C[rxx#Qu:90;lCq{*vǢ*Z[U/pMm0< pfB']Y@G3S '3XQi@%H@68]Bj48(S*JP@uGjwM2}Y̹ 뎘Xd#3I9gTqN Ц?Hgʎ'%*&Wق,&r4ULpTEl:LD~Z%zŒp[LIKfʝIl4n؍m%6Sq P@DS%P"h` ().(H|A92i9y"HP0ȗK$܅[D2kfv$QoE [5 XD aSl7k8R*}6U(|eATs01@~w]l2'lM]foԋmɲ˶!+=gLȧ>^/xeBr98/Z\s3NFdSA<UY@g$|Whԫ*[–ZӀLܚ"yUX?jeX_c=Hv'k{.F2ijBU47Gs6t!%̃8ƒW6&fި5\‹ŋn]"?E-1\L(ںjRr֊̆ޑ5 ApWx'_l*@g }]#Ak8elTms3>'%r1{YF"/->1:YȢ{mAvxG\Ý =ϲ. B5ЂMKzpƬ/4?#D={Y|- sK=2a0I@@>V-&tt pwC&*aYi{&!aC>hf&.7OԮJ}nrPPpW +)ckMy[o U6A1G;}6+#(/iWKA|ܕuuO "XW匹HT~"=A>6|tCOCBU8sgA b!czX|nQrU.u'ĥbB𻒅㧊=&=<RJ\qxg=;cK{傀v#WW#6y. mK-KCz_Ya@|3' 0׉S_wgW*\21-#|Kbet7cMS2í[ld.>q)?f!i2 Ujkv΄};'# c)'bZE ]}b(7ZW1-s(̧g@*;'RI—6 I]J#vm9%r7iXk_̻["}:a^bkoaR%=~&ǿz&I.mʧd!<z`hJ.k xQP b/2:I'|M0J9X{@b:ڄNT&k6̾:3{miBUd)~}PCbR4 aJs S$COt^h }/X aaG{JǺvT,G?FtJ'3 㾆z(2 Ew^O|q|o}!%e4ԯ 4nuN#ks1IFؑب?h':D -`mWl4$Yx9Q3B<\rIyn_Ԡ/Dh E:NN{E{t9F(ŚCt89m20u؈ȼۮByA*ST)sVꀠ0/0[=ĀhsqRnMm)cM_y -Jd-7wCguA\ZyjƕH`=Ǎ#~2/>^x@Wv#:vsSB'^&(򉕾)u;v]v.%Yn壑 T[/]tpUTկZw%㪮l0o`i!.\;OԒS=zrYn&΄ٴ1TtWsG`F( z.uIج&zڹq[yT/R/>9olSJpYAۆqTFbCmJv W&G{ 6Flu1qK=pʵǎA7hn!F"$}``PK!pypfopt/__init__.pyPK!r3pypfopt/base_optimizer.pyPK!%xlt8pypfopt/cla.pyPK!e} (pypfopt/discrete_allocation.pyPK!E: ,I!pypfopt/efficient_frontier.pyPK!lԡtq# D+pypfopt/expected_returns.pyPK!zd#.pypfopt/hierarchical_risk_parity.pyPK!;pypfopt/risk_models.pyPK!yhn Hpypfopt/value_at_risk.pyPK!}WKz5*.Mpyportfolioopt-0.3.2.dist-info/LICENSE.txtPK!H^lUU$Opyportfolioopt-0.3.2.dist-info/WHEELPK!H% A@'Ppyportfolioopt-0.3.2.dist-info/METADATAPK!He%ipyportfolioopt-0.3.2.dist-info/RECORDPKl