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.3.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.3.dist-info/WHEEL A н#Z D޾Ph>Y8TEU.t. f4=4h0k:zbaPf>PK!H^:'pyportfolioopt-0.3.3.dist-info/METADATA[rF}ﯨ! lbc4n$*Hz=; aFl&_dUBRkϫTu9)]:UGmi{CJt1mM৴5M3'6:hSiiki Evn8Nϵew@>hi-Ef;RdDPZBb{ d23W*`U=);#nd8+fޘдk=|S\3p0`NRuFrOw:¡S E"]kص\H ߵ}gz^l동bdU᭮2CcgPK I5I2 3=îzVi2^XGڟ]g}+|'Uf? ߀#[o( ').9F]p~3l2&l WŬy~ re29%Tn2/t$~, Rτ1Mm9\&s[G_ܮ5vz'=}5ᓧD=8:zƶ<=<8d˫c}O8zw~}ۋ/?ptr\; 9;u|_'C[;ODMs7oigC,s4Cvtً8XsO$rO|\/!aO`DOyapzD}Rgۉ~V+\ Eԟ1~G7;^]̝NӠsAs;Ӡ'9]bHkIpTXc)a$d.d@gR6EٰYW̙ɶB}L;79QHJk$/9d1sTkAEFQCYI`(q ^6ͧFM>>D\3[fv^fŒā{BF?k* BWڵ] ?ߺ\Nր:f h7,w)IyFp.VW;lc{*vϢ*QefnWU?J$R 4-y;%;^_\jo/%$|"/e88>]uڊX_1`tȉQj 8P@BXޣɸX["q(C9d#td0*m3n rVeuYmr.Ͳ6!en9HsX5dEt~lŒp{;&/ަYsmϏ9jڝmVh =wc;!.8ZFB J^n`rl1:h٪pkgbX!ymx<ZElӃ^Y[`+[+i/Rr"]#]wz#L/Vc~Mc[hMbR"6%E{ڊ4) z5&edlW.CL )pt^ﻊ)8 -x^ճ% ~[ 厱v9eg#%Hj_UUʒ]u8 XuWRn}vi[)vᏕPna!)R)+Wλ8ĕ@z@Zm_%>[} 3 - KYJ0Tl`c|4~u&Sl=Taw@@P|#,aRfCGP-Ʉ,ooLJ4ytX{.YFl-b+,W[KH*0 M+0*BKj+/^V`\'f`A| \q4rLRgE44A %)TRjE$?>XÑEN-zYLL3C ;6dHF,$efk6 Nv%>Z1O.8eyBrIpҟX;ȍggkɁ:-@*z"ΈI>W-UN{ߴ-uUwkF"y֎jZWb=(+q'c.FJeQz%ѢJZ2]A7$2HR1<|%M)I{2fװK /T!fZעzH11#jMޑT%gk!pFjXFt\#˨ȕGs&#@c}昬-Lt}"7)h1t(/d>z;CcNÃzV4*Rzhp[2IMG4k~xbĜPjFߺܸK;N8 .C9/mSǶ.&:6P%VaZ Jx5Xzopy*Un=tTws^"7py8M)ZX~IЁgE|ːl "SwX=>26 B=҂M&+>VdrKM"-jjy~<سբ0,t4QUw# ! uxIjvAjzţ37o(2ó覷{;ЬN$og:I`gvYHh9e$_>' ޶+3p gd8AM0ȁwL>{dA#54-?v{OǧzV9C)w4U$ni^fi{;),&ʌ DȐ8K-Je2^TL)yWxcÃ!+$, (^w| & %&^ F ̳ihWh. E{re-?0# UQ&8IfaLg϶>kty\Ip#L.VźJKk˜|xl&b'2IJ1 0^hWm9#F6~ Up8)Ac4AѻwZ07eTs(Z^B_>"Զ$|%P y6s4[" y#)IZ{{jY58u{9?;u 'WQS1>&@ƴZ({cL}$I6oo)/<UZغ aZh dRwNMFMt?+?s&(utMb5g߲aʟ kJ.DDᛌlun(xFDK L.l6Ѽk{=sjv^XߎxZƈCy2.ax<԰Íe+0@p|p`_G(ߣ8, ,OyLH ~W`{{ȳ.&O, #ZRVX{cu{4fe@4yVp>2/^v9xwuĨg\ p zY,IY%%j|l܇4Ĉ+)tT ̵U5P)VOK2e[ RĚ7s =. o(~6 ɔwSq`Z: r4v d&\+z Zɠfm=gKvCrbH<%|=2 oPK!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.3.dist-info/LICENSE.txtPK!H^lUU$Opyportfolioopt-0.3.3.dist-info/WHEELPK!H^:'Ppyportfolioopt-0.3.3.dist-info/METADATAPK!H$%*hpyportfolioopt-0.3.3.dist-info/RECORDPKDk