PK!pypfopt/__init__.pyPK!Tlyյpypfopt/base_optimizer.pyXm_1uT b.M|Hחh]THjwE$ۗ ^83gh^ygTgE+~ZU 7`qQ4z-0YwɫZr XӀd6"^–@hfa*YiOqh gۺV(pAH \rh=áDvheV5=m%m 0Og.p +'k*Zzo'3 CmzSBx"NZa NHawPQx) ݶWÒ/v} أZ As.D(] ɿyjK!n/6#݄'NY Zq8Lwuӱ1%1ycṴ"Hh`UwoE;t\BFv'E5Fh^3#,K=o<#ETkr4ua4D-d1aaSZl=m{c1XQ:e>G#CM;R9J̶l0G>tR=ν^w p&&GNr{c ]򘋻=Ҙlb9Js0iuu `ҌizZa%g D}\X_M}uCLf9çr\أO4<y93flӪ} ]W"@4@](e{lg薱5/ՉWOi20 uл ߛ.+aR:݆1; d9m_T9eFʬRpB4#dD0eY拲0hpZ-di2*ìt$k 2LX:ёԐh6)}ś|=ѕ]˥WZt9Eј,_ЋÜwpz@[-^GAr #AƽAs6u{_޿YHȿ=Р&T Tz_!3Y9wG.yI 5(>(6v{nj}")|wb:#"@8Q<\κelS3b%?ݞG@|ǵ  c5"(ZYvLjjbC8ƩCkߙߠ9dj>a]4Jk{t]Y240+\67捻{Jx,_0n_#649wipBѕ'.q̞s573~^w@F4 3 F-!% i;#' 95MDL $m+>MJs[ů$T`䓉/FTb8.t:?IdXv.-:z}A_ JbdX\ؒ$˪3j§`݈c˼VمxZJZCڞ4%Ϋ2ms_M?v[dR#s/Y:y<đ368H. |8|r]:Ƶ=mm .&b''i Bi*WPK!6[x5 .1pypfopt/discrete_allocation.pyZo8_A'oƺ޵=bhIԒTlf!Whl3pdr뒫dhU \4פeW1QDo7MEÞo'beR4(\kJH VM':EZO&HCn Ui6%\m_d[WWzJaߐ=Z&NJnB-KhH1,nPjfDl p (d% 4,2?1|-т*`+r@GP\a;)\jPH#4 qtLwY`HA_(q *548͆H!bA1AÝL 4o霃a/O/3[N?v>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`" boSX5ɉ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!I wR pypfopt/expected_returns.pyV6+BV"mri P6WYl$R!u}CRZ]@əfl6=Á ?h<}Ԋfm ެe("," .kqu 텄Y;j3b$iiiZvBd%ů!y? BI=L%݊Qط砎9{h,зEq!9m(}m/͑1`2LɑڂbdGHh [ ;$D֍ HF\9vٓgt:oA8Ո!0H dD Y ΥC;x̳~K,9zNjW<ۨ&Ys-xH{Y8Ig/3̧*BQwΎ$J|T<%~}^ Rm\YX w: ƻy#BZɴ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!(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쨮!-PgRW~|ú=P hL.No4؃ZyyF#>+,_ZA]]!m[G{OZ.1q Fӊ:{hxoԌDc%LUNhR'9?;2\|RAQ[@2Q-ye@Moɫ3Nzzl_E _lvr5?`kkB$:~!#UiJBӂDi[(+) vRT#Tc*溄1%#-^/OB4D܃m|mxY*yU Dڃhk%a3˄\7!i}ˢK~8i hu?G(USȑ#5/E~ɑt 0pgyքu >,mUVUͼ6AC6_ǖGI !W$ɘfתZ p5iLyaAٹBUIHQr~SPel( /4}swYU (N:i  ZAu"D;w{TJztC.k /TROHhihxKh'6+{&[Z(0- g}\:ԴGsJVa[!hvr{p#; xSrqsйX 4:4DlGr ݱ_-ɋbwXO"qH:@]ƨ*Y JI45ow$2b?`eG.cj]5a3,jYIc>L~C2xRBK~hg0e>-mx@n_0&Q7 kE=__dRXHsX!#Y? Mc7 mAYϡtds%]Al|=L1Ͻ' !i)9BC~ (5~酪bY܏_>C :un_jk-D2\BjyKmUGI dI1b!HGXqk 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.0.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.0.dist-info/WHEEL A н#Z D޾Ph>Y8TEU.t. f4=4h0k:zbaPf>PK!H9ȮA'pyportfolioopt-0.4.0.dist-info/METADATA[vƕOQ##Ij1dIQFۡI&:9$Kɜyyy[qbP˭|w˷Ӹԕ5e1S]ZoeU/̔庞t3cqę+7qت^eu櫺^t4GIOr֦~a=Nc]X,|tz)BAwtE~nLq-6]NQԉVC&)GG䈊e/NNύ ?fуa9<5 qЏRg:E>qX5*TťBbeGS^.R&5ĞSlS%)ml]mqzd5Zy?VuU^bdkcgmApv=?ۻh8Gl*LZm٨Ҡwi숴aY1Dͻ6RbLb|~RKb.`P!-[B +<2KHy+jɟqN^RY2UeE-6joqJեpS:t `J}ۿZw\!,/&yh4LV:PeS+| S%-9@k&}0H@!Tl >Yz{g{S閎7ߨIy;I>]72Wv"qN1Ϗ~dy/O0#`Dv;V>5:e$#nV!4.I?2Rq+&ʰ[W~>I?>$4Jcv(C~ 5ɪ+lr+)t'$ta7ΗPhH[ѰuL/#ήgCӸ=* ۩ᕩa0 @P-'1o3C73fʮ'e,s?詃IF+W4uWN&+c[ rYCA8{@k) Lڬ5ˮ T k) GDtA|]ڞ@oUT "mAhjuߨUvۥuL@qvq>j䳊;$Ԕ I 1ShENxs̎,i[DI6:!&;WܨӺ3D 0'vj쮳qMTQ~o_>u7p#/O?;~vg<~(3yǷ/ώz7LsmE-at7ؑҀ 7 Gx&%S=NZ+wmGDZKלdž1Lop{XtR덹S߃ƃàGAg~GoAkONGo\'0:xb_%4*NmГY+!cn8ԮK%LV`>[s-uw>%֕^ o_1u.>] JFdE.CWUOWlRƁ{BF=+2E^h ^(X|"Y YdnCwvk;A.f%j% P!R%B\ @۴^4?s\:KѪ^EqBZ"9P<\oֶ RZqmrm=}KɉwY`/lC53O<]5v]l | m(fHvǪ 5) |4&e'-z\g.CT n(VtYP6FqV'.E1w@osF^Q#ʭ0T+鮷1+rҵ8nj_ O\:6*Ώ,%Vբ%V#fg]%G"Tyغ'gZtISSm=⧼*@yK<=Yܤd1Cg<|wA&hɿ~a\#f_,qCIwwEW`*۶/AAu&-b W KVx Xaaψ\Ccց R42lR]XbY44A %)̖R*E$׭MI[g CJb*u(leA 015b@~wl2#qh$)?ٕ,lkz?p}`mBgVc`HS̍8'eu9Kj~x&hX*B€UYΈJmj.u!+֬ϳvT%ժv~-iEZ7P sv`2XeMԶm^wa(m(X|ȣKj\Cj6"VZ^lu4]ny\y#ψڊqyI#y;=ԑwI=Pb toD ~~\x/H&wGgp-$D/`>]LV`dL6 M7:f(m;qWYo+߶i+ob9[U),~;:ezw/Q]zmyNCp5BAA|sBgugnNxvB7ux\/YAQ_l=܁wLZyb/v{`إ/-Pb{hAPKXJamt =DЗ1C/z)!^DWLvg;TVq`PJpfȣ99QL7mۗ)mG^m$ꒀ_ϏDN9T'zp[W $nlk.}ef n:9R/䃶YbgrswLvt] * ݇$_mN]WT{ p gdU&}pwl>w`^Y_KAlܕL7gV6hrR$i4} 7M7l K|8qA7*#ѾȐ'+JeNB/TL)+Y?+p\qx4RQmM%&^K(\H晻4+ip& {d+߷# UaO6;?IfaLgϮ>Ʊ`E,L|eaCw>p.e)2&naәlk L')f*MGmaȻ0Y[qFbl e ݱ ]scUo.r>B[/5: r[ _>PH͕%mogE]ܧg8_N7LN&/5$c}&@ q|7A-$I 47{E)Y/qZhaeuN 0sZhdRu._O:%cl2Ҹe)}\<58e 3%fGKyևo 5>̽Q=A$Fꜟq\{I/ݸHt= ~(sr 0M^X7CyJC)O9,Mz[uN|Odr*w/k<$_wtLsλgne܁!ʡ.$Lp|lRaISt1djE|i<kȁ%YUҷ*uswsUx`+jA>|HOw_ٝ )1 ? 5)m?J ak \CXZi &e_o \Wڼ|?K m]&p-\m_\F$N]3qMY| Bܠ3F aq¿ЫS+p'| B?A^$ 2RLGrCn\|hD8iߔ{sgdv\{p6pz=߿;=y^Ey7PK!HO?9%pyportfolioopt-0.4.0.dist-info/RECORD˖:y? ܅A@\D-&Y"DymۣeΦZ~B sI~)SD;6nyIx՝>BE |&B>n'C!< Q!tWj]yIdq<ޔLY\^lfi*wEy]"g4o:ҧ7 z/Fj`Q>6*ؼK0DI5F UKW<6TJv|jB" _- uw9N%ST0Tgs6*~F = `# eoD=>2Vpn/∋-ΐ-f7tpE"&iUhG4Oa;W7 6G?J/gN1eًoV}S?d"مV}uUJNOIqܩhHb*/D;@$0B{!H.VI59, qbdWɉ- 翋5]/< ~aXIyud_DZV e"L;xT䧷` &^p6TCP*Ihz̡^5.}NH?Y":mϞAЀS%>ؙ3>[Q;J͎|ZXrMq?PK!pypfopt/__init__.pyPK!Tlyյ3pypfopt/base_optimizer.pyPK!6[x5 .1pypfopt/discrete_allocation.pyPK!E: ,pypfopt/efficient_frontier.pyPK!I wR pypfopt/expected_returns.pyPK!1U#I"pypfopt/hierarchical_risk_parity.pyPK!