PK!pypfopt/__init__.pyPK!p"pypfopt/base_optimizer.pyXY~ׯ(B\zfaVMb#qdaдȖnΌ>1ZG`xu|Uv ?ΊVn"Q4z'1aa+]Wj" pmYཐ-iқ^4YcHP>8ǔ^9NlaAHaTC- ,Dj8MOsFo 1%1yca]ZΧ @G4zB17q Fp&gzN=uZ7r{Q5Ɖts\P,AƇ z5pzv¼U]q^7v m(PZz$N@tYFDS-<G Ry%Zخaw3apGr3I((É1(rfhҚwUkr&if\YdWb \Kkn~e!FHc_e瀅6HvS7%wZ+m7s\6D2m>3w t,;Sru&_L"Ho:Sdn0Ugw緛c-if^ܵ'qO\fWs#B=ˁL8Nk+1=b[NJ8Df#Ff~c9svY'9C15p_M;͢,pҷO[v[-v[iX{H%7p9 +gf9Zr2:')Ͻf8NpH_ 6@7vsnhe'vČWǑ!]]Zp -o1 i]~Dgʊ,^U]&U5lLq3[yg|m(}( }SSUAehb Tn;w)E>bY>cܾB$er.omx+/ L˜#'8k( 1dof4=,'$E-8+*6*{ɲk.Ōg³Yu'݈s˼Tʇr,1%!^mOj&Ɨެ#OBc5"8qmDp(vﶥC\XI <ט] IXߞ>9) ;m_xYEpPK!6:pypfopt/cla.pyks6FPҥNTw.nNgһNkGQ@P$M7o Anq$b7vl6;ycÇ$>}69#XEjkcUvǓɖLC4'RY"Mŋ'x} F^^V9۳fI@~"o*hZZzSrEy'3jh1yuғL{2'z(HL=wf(1yuGVUERFȮbc5K:Q+sZ,rcGQp`9:] AXg*8-FltXZk@ .]A[f/uOgTBjiJRi IT`@[PN<[Lɔt-8vd>޺#4HYp(ZJ[cc\x+:@P5T :׌+eFA."ԟ8d,N c tsi9v gxXzZh,/KտKd!9헗0<,uh\7Kdg_L z0Ȗo{QkyTJ"{OtF7 Z/n"o}Wl; OSg:._cyCO2ah@ H7U75/ w<:c'm7p4F3LN&d:>( Aրch)lq,qs`7&pmQ{O',(d2E( 5 !{RբInJ U0T.Z2l /wlLYQC}7Bn&%"R)R:\Xxc1KR3rwM⏕* h@% rv<{ㄤ 2HC#J ]+f!yEqr1yծc%Չ :9Kt:d rhjN#/!ߑKn̑mQρdCLkh$<|jr\BVQXzmU9}Kum"B5[ghLzJ Qqt>E$`^ aWC=rR^ ^@%:yЧ_P cfWGoC~#\Lz[VR$Y6`p!B5dp(Pc$eF˷ x+aYHE~yE΀ɉ@on#J~S'h<& J]Ncb|RNBzlx{t45e:rvs5en'![w욼2ʂUO$2I`A$hG7}ZbJԷ l:з:ym'À۱aS^T?؁۲gbd>~}ۡ_l)p*n7Jn2Wg\clʺE`J3ԞheSk“M֤G=<>״>s5 n?5S.Ӱ} ig"rvP5~h(Y" Z0^W钹E|Gx}_Lw5րaNx_A熲Ǫw 39 ͅ|jEѨ}ܣYM05 P4Gt6"Up? z6L@p[ c; q >wp jSx߮F}d^ݼ.چ b;{3u[nuN"uhO70}gOL6wb#p#t=wtmxm%yjo#fuXmI &b0 P@%0ȭ<,v+v 

^ÿ6J0"ݢX@^v{9sSEج\L0ǶXa5 q~޸"tD?xATum fSgY7`_A_:`N>]"th%i?S2pVԛLE͙O(?\.?. 5 o8D11ۢZZbEDlw-v={xJ]S6'\]Rh?+:g'-"tWT0nt96'@1fIޤm[m9ਙb)܏+y2J=p&sk[w(Zk\>4do#OXQ8O>3biB~eQ;"Of:8--+{n?kG|}]|8W&:M-4V=-:Q{Hw; p;m~cs}bD 4u ׫US_6Å,"p3k9|EI8w:t+Gb*p8I+$L!xmtϺʍpnL>П[UY}61iq!{  Eq}`*p_PH+&F&S(JP=#şJg7ڬdDhV~1>9"7hY@1fw+0L٫CHds@u&.K@ C_= >'?$@ JB$I(xa]U5sm$_40e~u(/;Z菛C>s'}[LPXNKrֈ}zgxicyZ]5& d:YP bWVlŌ2-;R8d5&`D~UlJu䧏\Kk|E ]!tRZ%͆``@s"oRhq['CK0,R-u@i:QHh`5HQ҇mi!ay p=>hhmdCdw !J|ÄO#g#a a#+[E ܔCcX9"UlP=+ߥ2x"KYT=DpFscLՏ2JaG7osT>-&IKzbLL"S#\mbcf"6(?7G=i.Zt6^˫{.q xhFC}Bo4@k.f JLGD߬\5L~P=x9{neY:ݓq3j:OF+ҝ>;ˀp@' i-=]5CN !f7_h ʥ2h^Ap,6Tn팅5jlO$p8hJIO-Š.4b`-Ks,b"^f_r,'`^%NSi0ΜP$S&/-S;~Wӻ&fW[CNlȆWg7F-H{BbCv>N=ƽMs` c`w>$@crh[*>>O Oֈ|3!;{I u151;AcWV#JW P~uo`&9仗.F"mƼUseÿQ7W94w XϠu[V$' ZiMmR2 緦KE'z鑳Rq/Ã`\1Mכ&MC t>=, ܪ̲wˁ' ^X=3x3y`hMd`ӿ! oU)^ pC9tE,PƼX/'͋UJ`" bo ^!J \JA ,́ŎPy wtEvc;f8#& vf-sQ|זP[\n`??asOUMmpN.JgSm)vWXק sk[wBCi|cX1TS\Xxl.fpt pl:'{MlzyǙ V6kls2<$zP}s,x\뭃0$AU_xt7W Y9}\[SeY[C_>,?xAj_Hyk ?sPt J$;l~8nͅm>ң_/d`Ԃ#Y 33!'?8Ё񺭠asjk܎Э6wS=-/; u>aր(.#;tOU $Yʫ^ͩ]Vft U$1δ 8q. H␸TUv0p<Qp^E6nf JEzZNWì)L伹Ps8ǐ{t &+Gϝ,6 $q[-r{ӄ.0j8g艥RFmiBi-d#9\NGk[!vsI9N2NO? r8a.O)ɝ+Ć {Saw69y'\%omTuPVEmIʷ~@x4u+<6M'z^21'AdQR=Cׁ"Ւ$6>S%1I/4ހ^~S=R|?`h6,9r1<ٌ(8Aţˈ{xЖGZ;< Z^xh>U,hOWNqg`,j3@Ӑ>/E7YҿTJ P1ǖ_:|!q| (soS#t0ՑtNMt 5ھ :rv|K|XxjyM+ӹ{՚+XaٴG5vwptn1딫V@[k0Gbo0zw>O$޴ X /F/ PK!b.4)r pypfopt/expected_returns.pyVMo6WENm5Y`/rH-CE͈V"U~la-3Ù7 ZdoboVÁFN%cMеWFX&W=JGџefswvjU2ſAY*=_K*k̀qګ*Ϭ6AjzLizr5,+u՘Q~1Bur_\ TLr2RVNsY6@.H!UF<[2. /u}K4fѓ۽dGoawLp5m22`Qm}6YI=tw]qocq#AQؤ% ľyWn"0s$?D>yET?tǽFVV9o[^D0IcK)PT+YSY*vj|5SՄEfw[9^+@.'n5psnuKE!d3S} Yu* m"ϘGbErdTv "(#׬s47LrӚSF -kӅ^'%HUJß9e1'kZN즴rEyHcCIX 9ݮ:ly2dfJxOCC8$}m<6C5b@ "zg c$tp GJoSDgЁ3{~R5S繷$ANZ7~w WݲTg꿮?U]QSPb9ȱ=,ʱEY^67o<ˁtp(7ΓJlAeSLM=r9,ix|@xr{*K\rA墧`YMs{B'I13D1-(e^8O_ ]Xe5nL1NJjpSwf< 4yQ8`1­"5"{ZlAv8CxVGSĘ-@N KboJyRwϿ-s40"xr_#Aӧ7=Ozjuw:A7:PK!1U#pypfopt/hierarchical_risk_parity.pyX_o6 ud;@@m]b-ÐiKJqO;DY }*8 Si!RV&Jc0%nG*JNDՔĀ T&$W"ɟ_I2RVH Նn&E*@[%knv1yJgI:C4B)d63x nlH((#9 S`L2#d:zMrCϮ C9('jG 38&g:c' a>VPEȥq&au(3Q\'+,-X81Z|ac"rSC 5MA( Q Vb rw l_rn @jNF?ڃNqsR<5\ ӑ>H]{0nxND$ ռu) <ʢ9$fSzߘaoA yk X(%՚|?-i ;B63u*Al`h7Na^EN{޻IFGRBz'q*S՜hwu(yMp4jݟ!.8q+ၛ]ES0'@^=UײDqQ,&+V(eTnT71Dбu(Q[7PS:l2S%l^5?K$x6+p8~KnFI r+dh/B Nhdq=Τ( pzU2@ 0#Pq?{heF衒oipKQGlN-"=$Op';xjнGje.H`Ed9ARah^30Kஃ~|n{eZncr0a[D9zEmQЂ&lY{Tg:Wwΰz>QgU>p 0 rK9Э,4| ?m#%3QXyqݫFl}1hꂿ}i c]65bM댂3t mP+5}GiuaFڡSEs "U4]^ŵ7`==#o:giPps5^|.{Ns= R(rf eM[YgOK`ÚJx*{x<^! ˽ W;;/oA`Ӳ0W[T+mzɋ&ߝlMTCƢ7>}gOY:z^~Φ mGɘ4LT*eHo7RLJt7vym&as@˜F OН gnO7/\th=YaiUPQJ^9tv?'vtZnjNz(؁Cp7}ԻCvmjۏr/X!~ᩂ ,'hOun PK!^%pypfopt/objective_functions.pyWM6W \SY ih{h^¦%fCZ>,&@Ck,5|8ߜfɻnyP.͆*[4ZRAғ-~A)QC#t2ЀIZ=EDzT&q%PWɰϘ# T%'I3PPZRA:#45/&A>er a "ߓr8\ !FWQxjl&)a@4,Ch<7`fe *D梪e`T}_NG5LRne-H=5lC |Y Aea]ԇ&Ke.`S歔aK£0pJ|-L*Q8r'Xj^7΁;@UUk2I!lb9urhb~zأWRU8oV .y2C$2MU6uZ|$,k3ܳKCϗ Z9(Si_Xwi5-kDE%(zGh=qK84SgΉrX5wEV:%}+ծ/o{`%ڊ01R#6Wv􆏱FzcA_NTX/~]:)%s8/k &'rLUS*dT(cک :b1c9Nc=K:g.ϵ4/I?d7u5o>.tT5EQ2}mQ @K^ӸiLݧSjhEO1VuBo{'on>o1~~ ѭ=3T|R_RwlBsn'gZ7ɓeqQ+2 :@VҡƮf:RJ?#TjrdZmQ OgZ9Y>]Z rjJ`Pmh}P q5mK 1A37GXKAGL\ QJ]c=Hl ͷyY0Ýс m7*S*C-N?vd^[`ö7^s\ZwBQ'- T/g >nZe%>MmS92J*kDE欖=OړجJy@ D!f5"=nе_v.||SI ,N(@T 7\ev<]+4tqt6:LuY|Z) ,ߡo6+ *@ԨCRvq>ޢ[]f~ É'X\$PȔȻPC,=˝ I90 JJB$P0\ԍ`Jp)C|@a}Ļ$P^$Ʉ-W@UR'],gE @<bL'jqI5`AA; g Ge7HbrA|MRC&Ir &TPJvD9ǫ M`>bv( G/ԒL5| pW>#zĄIWN0 ":Vwf&/Ff8d'A9B6 ]gek2P4u |WU{R=my@2x uQגJ%ÏLTu\GZ8< A;\;î㤅 4~xW7'?Gx^7 ^)=ܬi?Je[>@Vc|"20akIQ(qJ1PBm[ZV`/)jØӵBbIe3`M0dmos泌pI>?6&Iw21V% vay*S%MBu@;TzxK&) kz TRhahlgSy< Yٸ^DZ4l#~t%AgbҮw.. GH<\:ztt /2N9 D6gN=j$bH`NeESZ(ƶ+sx#6+.zu9❸w>"ح{IQ5ftWUf4Ѧ t pl. |sq{Ty ԫvLŊ;^DZCR 勺ȏαU{'+(k-Yey =WA#z!w®uhe,o:2L*PȷCK21hnunpw4#G-CC Y+,<_F|]cZYUcD{}M.?Uw..*+f\4h6=es 'IC߰)^ JA"##:+N ;? pzA#PYHB@xqاC Š2 E$W^-"YhysLVgܔof~qZJN`ң!oI-7Fȑ"mHvB Q"?aEf͙*9q `JDb+ P% L O(B:o#r C;4}+0d2AɼBSNMˍ:"5A3RCC萔lB*Coh_dH|Ԋ!Y E:}*356T,zW 1,p9Jgc&Di`:ҼJF(Nʒ깈eGlхLڤBK` )Ov޵Jؼ=O; ߣHyIv " {Tr8s]D4:;)*upOYUNfHfuYyqmRt炴NYb4Gxn& ԏI7[_"D+@Ne@K-Leiud{wiϮFS*Ǜ[D*cTF!ݱ.g]dKZ(EcBa^ϐ噓Jrq5Ȇ_I;r}jNQ-ֻrM@oQxo&;|kAݙ*JW"NSM<1^W_JJL! Em~> ZVw|*{Ea/ \ ?/D|:Anh~S#?[|<&%6y+clKә:POJvqIg?9;<5|IPK!2s pypfopt/value_at_risk.pyVMo6W |GM=ԀifE!%fCZrΐ,V0Λ7Z./U+ryڔJ`/kKE $ѥT"ĸA1 yS0EQ XV8`VpnU-t(Y7zhP>M!ۡy<˛FOlNμ7W.8h#݉".Bs3I.'i z!Xs%P 0%u0`!׆܁\Q_ڊBp QdOo;.GO ?-!TЙF &-JG#|5js0&H^lC,0ψɲsbv̵7\NV# 6 UB'[XFJA\΋ŗ;K% ze.ּ~s|ko SLux z"q(Q_b'pWC?et$= QQfnn_~&顡6u(iY>`Q#Pw JcݨRc]oyAwx2JM'9k\趿61:c{-+P8 {8;4 #8TR1_Xpgw:\ܚ *üS\x=-ta#n7$-eRU# -lʰtDeG[EOOD﮼meZ1,1Ws>φLK52~=6*߷LhG0D܀M6AmSPK!}WKz5*pyportfolioopt-0.4.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.4.3.dist-info/WHEEL A н#Z D޾Ph>Y8TEU.t. f4=4h0k:zbaPf>PK!H^ZC'pyportfolioopt-0.4.3.dist-info/METADATA\rFOQ+${LRdkV=]Y Twc(T{b6 I WҐlwudee~yߘF'LmӲp\UeeY5~A(z8{湮7s2-t:SpiZ`J ,լb}+,nWinQ\u0uEj][:Ma1ͫuY'v uK&H+cjv҂zNe+uR$VodK24NrtD(-}Wuvj~il?<f3mmL 6\rS4}֪\=RzO(Һ,d(] x{:sd8g z^b9ER;]mej{Q71ۃTd\:9a~zxcm;/zt=ɽg|9qVVi,'\.qKZډʷo/i&ݔݬaMAMm3W)4o<ڄ]7ex[y~XejuiU7yz(z|8:ؽe.)ҚI[^ͭlaA2ny zTBwTI(-MiҼ?]TMo"! (ӄg ݘ>f]&u1}S)wL7iR)<~ru|4/r%~nTg<:b}ٯ ChG)j]@u.2*վ?!"NM:Y}/WEͪ6A9~>x;~XSN]6S~ U^Uz2K -:6Bl̆݇ ?~vwfϸw6qM&JFP_@d×OZ{7ܟlW_@1߁ަW c'џ')2$ :Lc?’`lJ>PoTxW!d[6akNbF{эE =fuap2U.W*Cel^ {{@`Hze4hf"Û@XjahZXբf-w4^p8[l]±jj5u46x[M*]лlD;"mXtp~uڪ4qA> )!1W:k~%!TVXY{P+j%)0Tjx*b3ɪWZ֖aVuj/CCoQz5SpkՔ¡V{!gkms_m+J3 -ㆲ$yS tEkpYy͙ėleAv4E҂oIRBtΗ ^cbgm69~ O;13u!?gv6 7e糆rvv9;Ӹ+oI0n垄.4^Ya?=N2s t(OBč*RD)wU)Aa7SN xfgʮ/tџ! 0Qh8&vJ)]Yw7$ӰڍWшj n[/XQ8Szu սG_'r\j6^ !vEb6;[ XW:͜~WT#&L1lvqq]ϪX5˶`C5+@3CLX2o(4MO*ߨkkmlV ɖDj+gv :B0҄(7hΣI^+$H@ad1 RFt1-n7f qBѱn fWK8L5a@ xJ^pIL>LLRzld9 Qu1:ot Q[`3\goJ gn5'06e])pex> Q\2=lhe+ՎvZ=M Ak~qgaoX MPd˜ %ޟ9cxQ?E1؍" P3=<0X"׈ԄmdAA籽y@8sh#<ЈXs=>[#8j>es-C"]`fy ɍ=M,wg1~t- :5hxr };yZ__[-#qne,@H# ejvbߨs 0'v͋1p!q"Yp(~=͇f/{/X888L#b|JPi0jfP˕ܦ.` 1*؇ xh7#)o_K+ixǙj~=4Wv~wx?B*;?|>Ƽ 9[8wl6-1Ʃ{;S 9ثA %=,oQV sz~;9r֏|К<)"fn׫C #!`Gy)%ZnA H8pxχ^I^fᣠS\knё; tQ @ UŴiRC$$UK%-VÞ*gI&eۅ5\bZ"D0ڒQ22ol~_D]gJ3p9Et /a_G g4)R4GD'6bj2pr k:úF\g |ܬ]$]dNA)^+CQ"/iA7)3{Q#㵂0קDZn=O.pn彽!!9p{{x]7 #$U&X+NE Cύ/91J =˚^p G?0A- 2dؐb+bt!sֹuWL%V f2k)j9n[ ^x( 0Te6uYיIVKs2!OK2sgj&i[ȉ\.-e.uV}GHHႼq$.hɮ%h>vs{A.ZBhbBNh JvI{9 Gљz;\+gE\D;$%1gՂ 휓ZK[Ҝ[+@R"2MX!.[;3Zr >.鐩(IK2' 7B `JhkCIv|Iz-K°[o<XPsj;r7B@K$҇t&v4P-4ChFsw#UH!lthaX),1E61`ҫڬ]uC]%-PB.£V 'PގJj1-l'ayo5g't0,HH3 FV;i궵"Sl=TI 7 uwmLw6ՎMghJ{$@Lu ֵXž mvmk.]Ku I г?~ dI{׉c.K+կ>" żHM8͈>ڱsu!4',fE " #;1S#-tL$ srhDISY%VX; тxm'OUu?; u%[C/0mSk"XG_8=XK ;42}B=1W8%#cZS b]F=Va!t rƙi /t D79 ?oZg,q*DGgi\j1p?v?J Nc '{[9ÃϩJIBduoAB ӯԩYѧ-tL[;/oSL<)w+NTMM@|0).NTs<=> :Z<46'2*pw.="5i \4^P 4r+. u&g?3{Z|K kA'"ɧHLI`aJ&I  ^m;q LJ*bvgq?ג\yJ/.D6{;7v( tt9{_OIBw*Vg'C~7Z׏Iz;InL0"jbѤ9/Ѻɳ^[ȤW@s#]C5;Sd7D2yYYc0SGO.../H:a >Wo~ѕKVɕVRX&| c%11POZK!̡.Z 逳 [2ݡ iCB/Ӷ/6'U} 8u1T}KG !ۿOt*bլ\8t6J^?6XY2K@0sWN؅)֌RF׺5~O+هܥ"$%".IGN7Y~zP&GWoR]~)%X3No/>KزA|Y::4ȱ+eEIYtr^W`mC)o, w U>'H+э1iߟU_z&Ϯkq>]OHS_@ {o \^|/PZv8גC&%t hD]MnQyt`hMXYHt"du~ʛ}%:G+)Ue's+2BA'TҖDQDz\_!DBɘO,UD$8D[1:@گ~rN?fqoSؓ|kV7Ϧ'?ry+ 4,Ui]>ǚ~E =H7ɚ7O=;Fh\gokT:#w5B)$IXfc`S:;ovC 㺶)0F+U4zZݶ䃦\{J]%GoMOdE_G^շ\a^^3MuHP\`3%t}~PK!pypfopt/__init__.pyPK!p"3pypfopt/base_optimizer.pyPK!6: pypfopt/cla.pyPK!6[x5 .1 pypfopt/discrete_allocation.pyPK!O߁ -$pypfopt/efficient_frontier.pyPK!b.4)r .pypfopt/expected_returns.pyPK!1U#[3pypfopt/hierarchical_risk_parity.pyPK!^%3:pypfopt/objective_functions.pyPK!`|y 8 @pypfopt/risk_models.pyPK!2s %Npypfopt/value_at_risk.pyPK!}WKz5*Rpyportfolioopt-0.4.3.dist-info/LICENSE.txtPK!H^lUU$Upyportfolioopt-0.4.3.dist-info/WHEELPK!H^ZC''Vpyportfolioopt-0.4.3.dist-info/METADATAPK!HCy%ppyportfolioopt-0.4.3.dist-info/RECORDPKs