{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Python Implementation of Modern Portfolio Theory\n", "\n", "This code relates to my article on Medium.\n", "\n", "For any questions, please leave a comment on the article or here on Github." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "from tqdm import tqdm\n", "\n", "import plotly\n", "import plotly.graph_objects as go\n", "from plotly.subplots import make_subplots\n", "import plotly.express as px\n", "import plotly.figure_factory as ff" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AAPLJPMWMTTGTMSFTAMGN
2000-01-030.088754-0.061947-0.033454-0.018723-0.0016060.047867
2000-01-04-0.084310-0.027444-0.037418-0.043365-0.033780-0.076465
2000-01-050.014634-0.006173-0.020408-0.0226650.0105440.034409
2000-01-06-0.0865380.0141970.010913-0.047310-0.0334980.016632
2000-01-070.0473680.0183730.0755640.0516070.0130680.112474
\n", "
" ], "text/plain": [ " AAPL JPM WMT TGT MSFT AMGN\n", "2000-01-03 0.088754 -0.061947 -0.033454 -0.018723 -0.001606 0.047867\n", "2000-01-04 -0.084310 -0.027444 -0.037418 -0.043365 -0.033780 -0.076465\n", "2000-01-05 0.014634 -0.006173 -0.020408 -0.022665 0.010544 0.034409\n", "2000-01-06 -0.086538 0.014197 0.010913 -0.047310 -0.033498 0.016632\n", "2000-01-07 0.047368 0.018373 0.075564 0.051607 0.013068 0.112474" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "daily_returns = pd.read_csv('daily_returns.csv', index_col=0)\n", "daily_returns.head()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AAPLJPMWMTTGTMSFTAMGN
2000-01-030.088754-0.061947-0.033454-0.018723-0.0016060.047867
2000-01-04-0.084310-0.027444-0.037418-0.043365-0.033780-0.076465
2000-01-050.014634-0.006173-0.020408-0.0226650.0105440.034409
\n", "
" ], "text/plain": [ " AAPL JPM WMT TGT MSFT AMGN\n", "2000-01-03 0.088754 -0.061947 -0.033454 -0.018723 -0.001606 0.047867\n", "2000-01-04 -0.084310 -0.027444 -0.037418 -0.043365 -0.033780 -0.076465\n", "2000-01-05 0.014634 -0.006173 -0.020408 -0.022665 0.010544 0.034409" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "daily_returns.head(3)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#-- Get annualised mean returns\n", "mus = (1+daily_returns.mean())**252 - 1\n", "\n", "#-- Get covariances\n", "#- Multiply by 252 to annualise it (square root time for volatility but no square root for variance)\n", "#- Note: 252 trading days in a year\n", "#- https://quant.stackexchange.com/questions/4753/annualized-covariance\n", "cov = daily_returns.cov()*252" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create Random Portfolios" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "#- How many assests to include in each portfolio\n", "n_assets = 5\n", "#-- How many portfolios to generate\n", "n_portfolios = 1000\n", "\n", "#-- Initialize empty list to store mean-variance pairs for plotting\n", "mean_variance_pairs = []\n", "\n", "np.random.seed(75)\n", "#-- Loop through and generate lots of random portfolios\n", "for i in range(n_portfolios):\n", " #- Choose assets randomly without replacement\n", " assets = np.random.choice(list(daily_returns.columns), n_assets, replace=False)\n", " #- Choose weights randomly\n", " weights = np.random.rand(n_assets)\n", " #- Ensure weights sum to 1\n", " weights = weights/sum(weights)\n", "\n", " #-- Loop over asset pairs and compute portfolio return and variance\n", " #- https://quant.stackexchange.com/questions/43442/portfolio-variance-explanation-for-equation-investments-by-zvi-bodie\n", " portfolio_E_Variance = 0\n", " portfolio_E_Return = 0\n", " for i in range(len(assets)):\n", " portfolio_E_Return += weights[i] * mus.loc[assets[i]]\n", " for j in range(len(assets)):\n", " #-- Add variance/covariance for each asset pair\n", " #- Note that when i==j this adds the variance\n", " portfolio_E_Variance += weights[i] * weights[j] * cov.loc[assets[i], assets[j]]\n", " \n", " #-- Add the mean/variance pairs to a list for plotting\n", " mean_variance_pairs.append([portfolio_E_Return, portfolio_E_Variance])\n", " \n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "marker": { "color": [ 0.45460860248844653, 0.7297779574836389, 0.6902865732050796, 0.6463071766429184, 0.6492110792703314, 0.6119946302760823, 0.5345162994941605, 0.7044169978497322, 0.43683589293574837, 0.6015697869246333, 0.5254814927304473, 0.42939074689478907, 0.739459779276268, 0.8260412432398719, 0.3856442414079308, 0.6250341603104029, 0.6339149319719873, 0.7234458152922586, 0.5899570234639925, 0.5955275493711764, 0.7390192073621296, 0.6957274722177746, 0.4476937230365353, 0.543561511864949, 0.43837847883309644, 0.35989780691080475, 0.7720750151339314, 0.3806099623035127, 0.424920197203297, 0.35490069225939647, 0.6051150318425854, 0.5572092861788994, 0.44969415088329867, 0.644120581227189, 0.6942681504983045, 0.7209312842983933, 0.5519511777371577, 0.6141288451927561, 0.41216838458100463, 0.7146750100083893, 0.6706515356726074, 0.765450668775848, 0.5056943868195362, 0.6305230623618373, 0.6128598692928237, 0.7851584530595642, 0.6574195009647524, 0.43509835050482426, 0.5554999499150667, 0.7280342566534944, 0.4760665079905664, 0.4415084516111882, 0.44234789316289663, 0.6949409753318789, 0.6539859778608295, 0.6452400424786499, 0.780244638575815, 0.48211683450281695, 0.7283361767756199, 0.3967227526245181, 0.7351418783692469, 0.7108187988534278, 0.6097542647067868, 0.6930341744369565, 0.6820017295679913, 0.5091577631018864, 0.5291839473710449, 0.5247654535874453, 0.4186964317104006, 0.4296694414317642, 0.5230308197931315, 0.5897244836138085, 0.6021069964275156, 0.3625028552277078, 0.4603988973194661, 0.47603545415881304, 0.6260672443803245, 0.5560410070128539, 0.5316960311070792, 0.7406648780304111, 0.44875303405978145, 0.624030987804653, 0.8148701631086708, 0.5297992236207518, 0.4265025973525264, 0.5037376775310278, 0.4628640197794681, 0.4286806807503856, 0.41955256083317344, 0.6806188976174512, 0.6097786120851404, 0.7481029683755287, 0.5317746495466112, 0.4441462155071346, 0.5446986743146683, 0.6278202475644302, 0.5252913308440026, 0.37650586470080866, 0.36183419386037813, 0.4167131508445986, 0.6791773953877956, 0.4209729994014577, 0.7311965335305266, 0.6471861063215297, 0.4092529709084016, 0.722495464353392, 0.5211814685187902, 0.43154617433387626, 0.40484643640733364, 0.5832217772631768, 0.4365020082204118, 0.38390569126259705, 0.6735545026246511, 0.6411573321959174, 0.4256423850856619, 0.500000525909847, 0.6541918806805928, 0.6723619587782607, 0.6963467190105874, 0.448388685894372, 0.7005595965057938, 0.551412713425481, 0.6604432038506877, 0.8073861256643571, 0.6973391006910915, 0.7100645830968193, 0.5010568835199994, 0.6647206880882321, 0.623480914509389, 0.7302507012458193, 0.5921624156445088, 0.6395413765597247, 0.5158008461614965, 0.46044046245080417, 0.7020476377846498, 0.7222398177403261, 0.7174135080399396, 0.549874928020573, 0.49577612844626845, 0.483199298421557, 0.4318547473535632, 0.31999045073977866, 0.5951122785120726, 0.6538297797137453, 0.4449023668857417, 0.6637515866499523, 0.6605396967519643, 0.4616601063632675, 0.4818216556243257, 0.3973645853281827, 0.49385185306131524, 0.6021733287148349, 0.7024412412196517, 0.7661318534130768, 0.45086624502602163, 0.576410442332709, 0.6815162316336212, 0.430050200903049, 0.4543461074118921, 0.628054283530066, 0.7130625809485057, 0.48766138157427685, 0.64488630517055, 0.5591516880973483, 0.5888722994961886, 0.6457768011160615, 0.42570726236106554, 0.43578758537362744, 0.6889046747145031, 0.43115432086722, 0.3883897068567128, 0.6653399098424982, 0.468318927157803, 0.6087321405320804, 0.5669692179880619, 0.5483367437793996, 0.6582729477902507, 0.496450245771735, 0.5605238740159494, 0.7144479875346829, 0.7825806972898933, 0.7053313574055965, 0.5703568431221725, 0.6135228462293926, 0.4972282254986423, 0.5376941853663214, 0.6427537059324951, 0.7487152894031154, 0.4463223832270117, 0.6232176541244554, 0.38662937408897785, 0.5743563642440904, 0.695830120810266, 0.4712036044906158, 0.42125824662926964, 0.6521752233815372, 0.7055938188709274, 0.5505747072411095, 0.4734327580827852, 0.7906014902748555, 0.7515977039027317, 0.4416152646831614, 0.6782444174477544, 0.6830810941492041, 0.6588035134052703, 0.7573646907509102, 0.4148816968121213, 0.8106426646388624, 0.54522429808727, 0.5693642426632353, 0.7656290895429119, 0.39813842113592257, 0.7181381036325296, 0.4189067374548584, 0.7234579475437655, 0.6771439750957817, 0.691626632629302, 0.40826563452641623, 0.6776430721780861, 0.5115553914330109, 0.6477240102183836, 0.7147918285487579, 0.5079648163346662, 0.428022695574466, 0.5847891689049765, 0.7755414989446928, 0.4027580508584439, 0.41286107240609915, 0.47727082995056014, 0.7606300219263258, 0.7716147898884419, 0.6459230288916313, 0.38038041860400257, 0.44549406241723394, 0.7767485852296824, 0.45259501005902936, 0.5875434024817721, 0.6908233829651073, 0.8420861481864195, 0.7529008982619166, 0.5428788802143436, 0.7218752752499439, 0.4307016291263631, 0.6057221979971776, 0.5132512108703116, 0.46536767304054955, 0.45961039662325825, 0.4463249383711893, 0.6140346837039998, 0.6221688275712731, 0.4033570470993584, 0.5869701111735968, 0.5402771184475649, 0.42011479491219633, 0.6984229081903729, 0.4406287203154533, 0.6200350755537982, 0.3497146354580327, 0.6599271486605667, 0.5925950724729803, 0.682224534040444, 0.44008517398399494, 0.5669525476822908, 0.74930537722584, 0.6518972480801596, 0.37470934750974, 0.7447630371398019, 0.4215682238876809, 0.8037321220251982, 0.7465717336149192, 0.4257990906214227, 0.44675041234562396, 0.3782940776449062, 0.6762722732050525, 0.8229620173169335, 0.42757868705249275, 0.6711223672681016, 0.6858388787477488, 0.6673499615516022, 0.5609601684400437, 0.6253920997698292, 0.3729238689700541, 0.6827125348833186, 0.6461714399815741, 0.5219003400803521, 0.6451690781843632, 0.6748371924294552, 0.5417427819785847, 0.4157369875138737, 0.6511401621797369, 0.5115846843903309, 0.6846848507504202, 0.5379199143152591, 0.6690495367346497, 0.5124950686431072, 0.6974375237163312, 0.47534879380124545, 0.4729696596186578, 0.3997761460779454, 0.5543957235066621, 0.45516389706869576, 0.5620624679070481, 0.7660524774448587, 0.6562924438476375, 0.6154942859098281, 0.6248631374942982, 0.6942097015710241, 0.5102617364160185, 0.6068041603005302, 0.4091341681147926, 0.683280956480801, 0.7223806546605419, 0.6891884490651061, 0.5547476249944852, 0.48551397083683584, 0.742639909743179, 0.5535429257175694, 0.5141186868532992, 0.7666733415594668, 0.6035814649514255, 0.5460461716580425, 0.404690798834275, 0.37673617400832266, 0.7444584125193419, 0.44057009193746927, 0.5872165269979714, 0.748056846544446, 0.7284683847627555, 0.6582620661320869, 0.7162067761358597, 0.6269907533811431, 0.6100881636010278, 0.5792089562674946, 0.7335790541802908, 0.4928344455812916, 0.7461479998661543, 0.3849212777834209, 0.5692343058518753, 0.8043636455642275, 0.3939642884731612, 0.7222365774579154, 0.4480851489950942, 0.686469885704378, 0.4271136723064749, 0.6751443194709904, 0.4208811269074174, 0.3869316506185693, 0.5145986060853437, 0.6472939891876291, 0.5899326706328133, 0.6289959282054215, 0.4039035765957196, 0.6176733006781822, 0.6341224161619514, 0.6534369725961369, 0.7370464344332747, 0.7531835218799482, 0.6387488251212362, 0.6150716553478461, 0.6459594567959349, 0.601389786174646, 0.5397420517719785, 0.4348637679702026, 0.7531479394790583, 0.43795342275977617, 0.4332593295141113, 0.37098603183171014, 0.6846024241922226, 0.42444929129939946, 0.4260426230797416, 0.6414642447874284, 0.5391828517334936, 0.6540175323951514, 0.6409760725141614, 0.37227046842649214, 0.7095013456937276, 0.7703281381221139, 0.7306732827608217, 0.4122945135638641, 0.6499927904826642, 0.6875435863306268, 0.7245944380743871, 0.6527689026180544, 0.8015283596609015, 0.6392255541485783, 0.6570558643663243, 0.4311947344960396, 0.6480496025143333, 0.7290850016449105, 0.7049500192001421, 0.39015450652798495, 0.6670635538027838, 0.4918455687996649, 0.49705152132669944, 0.7039257233056953, 0.6426990846629318, 0.42756451766777437, 0.5293362971735409, 0.431682425494491, 0.6281628623935509, 0.7008161666489936, 0.6812112187416437, 0.45814811795403754, 0.5632953667243377, 0.7574978288575853, 0.4501957794081644, 0.6854026837882969, 0.699846377324454, 0.4235620846407094, 0.6616285815812583, 0.7120998293069701, 0.5563591344206379, 0.3911424182550353, 0.7022778452241332, 0.6893228230763611, 0.5912950588099536, 0.7552372964088913, 0.5866733686668584, 0.45342627189109075, 0.6461312011591656, 0.6588588729069468, 0.39159177343485796, 0.7094469939487815, 0.6006077796284814, 0.5101019334779009, 0.6983839875668969, 0.6759392679711876, 0.6735679412948127, 0.691093737520359, 0.6724512028491979, 0.6177900717519653, 0.5355810273928288, 0.654780818331403, 0.627751168627201, 0.7000987461024947, 0.8367556579499191, 0.5363329273930089, 0.4862483925688005, 0.6716090136667578, 0.42167252545694245, 0.3881903067499714, 0.6219277734367145, 0.5570747224560246, 0.668189981706074, 0.36907466973354985, 0.7022540949108732, 0.660917227284594, 0.41675018824029564, 0.42401222214991297, 0.42495511242983597, 0.4735870762629423, 0.4529986978258457, 0.38630439369835745, 0.46431081926816714, 0.4938375556390478, 0.42516842052934956, 0.6976508085001838, 0.6348733156743805, 0.752674973140301, 0.5143420366552041, 0.6931392803115423, 0.7165089989108195, 0.6646362184882326, 0.4381924320789814, 0.4764339387195477, 0.6287933055348758, 0.41387174946356875, 0.6434837484677349, 0.5314593239860953, 0.6353753776549529, 0.6554273681862195, 0.4972334777534725, 0.6465960174538221, 0.5283590409956321, 0.42382319451703626, 0.44366195658812085, 0.6062105243059314, 0.6201763606556299, 0.5909538332653894, 0.6108581220476217, 0.6524774137426859, 0.6431798655811666, 0.6053810030241377, 0.6597796263491078, 0.7573342504570859, 0.399368540530042, 0.40481073852525307, 0.5467277037919789, 0.42731152128676086, 0.591615224044128, 0.699049890196993, 0.6351412486686683, 0.7256672337116126, 0.7971341469464654, 0.5838090355627026, 0.4985503015688338, 0.7232531713304066, 0.43467975569448536, 0.5756483050617156, 0.7194604279922655, 0.5001836723030149, 0.7688191439748684, 0.6049201104713245, 0.5033509145320724, 0.4421173458234335, 0.6015125723738234, 0.4121398114358741, 0.5782014678454076, 0.6602000702174595, 0.6485417830466567, 0.5340156444314671, 0.6630454919315216, 0.5995552522426549, 0.5958336076174026, 0.4225348561391648, 0.38003627056630623, 0.4140043032429926, 0.3931943989449264, 0.7121907356727392, 0.42284379832248836, 0.7930841100598047, 0.6308593644448472, 0.528380980349921, 0.41465787261110126, 0.6538400172849875, 0.7362858083067291, 0.403428170103999, 0.699574602294755, 0.5871915958232954, 0.46666056193659505, 0.4212902397209405, 0.4275180705136828, 0.743332764599278, 0.5863193058533124, 0.603438647261947, 0.5319935214927429, 0.4952756665689331, 0.7321673667598734, 0.39854896195088363, 0.6983838043938961, 0.5265103543683397, 0.6697528142403881, 0.5711049340124331, 0.6045461693973166, 0.3721299545849382, 0.4453619519029921, 0.7243499450804048, 0.5131684617240757, 0.3825449230168483, 0.7535242596671157, 0.5628689092747439, 0.7315576109077842, 0.7519468382207055, 0.44053058882384694, 0.4441336956715722, 0.7036094709761928, 0.6615539786087472, 0.4371434061419564, 0.4520419519206987, 0.5348794996144577, 0.4401315473026052, 0.5512990499890873, 0.4790024368257917, 0.49734412190678057, 0.6999379914654341, 0.6976819204870619, 0.6200480834002995, 0.4447217525298298, 0.7729650582253136, 0.4410774314771992, 0.47049676829373654, 0.5870397877490554, 0.38648173475224507, 0.6242629309378327, 0.48857464331255196, 0.6254712189775843, 0.43499703257173356, 0.7364058911005874, 0.6871234791590766, 0.5623656618852196, 0.577149478289192, 0.6968633629360158, 0.7459518749856361, 0.7410894394528699, 0.46612360153226046, 0.71983833454427, 0.39144015379504427, 0.5684529946367474, 0.7959632558703819, 0.648109782337478, 0.7015396682055518, 0.4360994360440004, 0.6706710042219318, 0.4023948007740187, 0.5849375063309388, 0.6296836998426983, 0.40870331262112536, 0.7144597381409491, 0.6868642628534044, 0.6042519600305304, 0.46238852292859384, 0.4399812665344173, 0.6591461146750764, 0.43380128540349033, 0.6503291604683322, 0.7436430592403265, 0.4838001770388373, 0.4969645934279365, 0.5425691157772425, 0.3517949736959483, 0.627801484940812, 0.7741818702309167, 0.4257743046065286, 0.7005675528851384, 0.6160045637615689, 0.6427792525376588, 0.562350990610209, 0.6856035392169402, 0.5250113754150839, 0.5108306595868419, 0.4854354489489228, 0.8177939938106275, 0.3851840109999105, 0.8414726167130459, 0.7337441541204606, 0.426370198230713, 0.5531786879588084, 0.7354770632405082, 0.5532181399076935, 0.7868585943808946, 0.4619125142723402, 0.6374440567198197, 0.76434709559088, 0.4338689060873809, 0.43122449177637207, 0.44353700659364736, 0.45809652131701395, 0.7024908676425082, 0.6269999420976234, 0.7339086376224072, 0.710774438292065, 0.42218020336652534, 0.5182204197580172, 0.679884799601274, 0.7266379216207391, 0.4129145571223162, 0.43154042623244954, 0.5219868399721039, 0.6863630025014573, 0.5340958028419914, 0.7237057036801896, 0.7061324705127144, 0.7165284796042802, 0.36328381961094836, 0.649115156243335, 0.49384067134322795, 0.7370612715606794, 0.4209798572997417, 0.6678060358867655, 0.6036138452166027, 0.7034319884943441, 0.4179559615475216, 0.7261795184525238, 0.4013166744544843, 0.6111518829634951, 0.41323081861708905, 0.6853815349609593, 0.4346436872137759, 0.6460943815172894, 0.5968044582990476, 0.8562269846474284, 0.6140479069447645, 0.4506466252299772, 0.565917333513245, 0.6912980161307318, 0.7392438411269155, 0.4373904108859484, 0.5772686266408238, 0.5762758713242017, 0.7299180968438337, 0.43218446114988507, 0.511226435510833, 0.67985121169642, 0.7184691649135517, 0.6759040116672602, 0.49791178912138884, 0.3756242768573571, 0.572906414748906, 0.620289087911698, 0.5845137541053003, 0.42757684799369416, 0.4213235171951865, 0.5864366382568073, 0.5129068462144148, 0.5017192936838945, 0.5357637107032253, 0.47245816810221664, 0.6711571943837018, 0.6436292925113672, 0.5049747926831422, 0.812708719159678, 0.50509068550681, 0.4775882680131833, 0.7397124223779594, 0.7765213463362013, 0.6397806099774036, 0.37708673879377486, 0.6150732155889438, 0.38428460949603543, 0.6055825047728596, 0.40820289407780846, 0.6090369890436158, 0.44232907696351853, 0.5217910904997833, 0.6543569511848285, 0.4381946359814409, 0.4170712308281864, 0.4385618895335724, 0.4287295886944948, 0.3990298892075197, 0.5915294636298247, 0.4954448002254812, 0.6663681332429838, 0.413039566233177, 0.7176124377248296, 0.5627312793664866, 0.6551463458152847, 0.653387127958802, 0.48595688441752677, 0.7423116654945786, 0.8207948721652735, 0.6648160513442938, 0.7195075337680757, 0.40316477463198486, 0.4999082903975527, 0.43318159138645357, 0.5553002421656436, 0.6141881506772807, 0.7024799372116718, 0.7670171834036505, 0.6952767406195831, 0.6839435837891125, 0.802297782665056, 0.8072865509382331, 0.4041144726725876, 0.6572632354791969, 0.5095131386124379, 0.768069872215444, 0.5866843063222894, 0.42657596709137857, 0.6692537808750346, 0.6970389878195418, 0.6307167448557516, 0.3777975489090252, 0.7391171196332829, 0.4148433984801301, 0.4871708402779227, 0.6409357573085285, 0.41609866074728635, 0.4524805376406528, 0.35667391193916087, 0.610703616233761, 0.6929439333246521, 0.5623074769595292, 0.42496397898919946, 0.6869771418042008, 0.7553869671952915, 0.5616810616244962, 0.80056694581704, 0.414522624166227, 0.6176524259089374, 0.48946009603677054, 0.4159863422995378, 0.7530389282709936, 0.4909469511254684, 0.7164833060739789, 0.6775727304089091, 0.6932477735234788, 0.622205749321502, 0.6367698221515287, 0.7389018409769638, 0.4146362392568101, 0.696289216077135, 0.7824441285851595, 0.4898666018105009, 0.43272281082022884, 0.36661846374892637, 0.5987017639048937, 0.42866369239293367, 0.6061666926893893, 0.5155311576559145, 0.7384356220717682, 0.6987397628062624, 0.5928894687975741, 0.6784159099335011, 0.4683016150593547, 0.8264247035834509, 0.5652370526777805, 0.7559311447720893, 0.4204243642257344, 0.4936444330332858, 0.7514280406888849, 0.4381206565262487, 0.6392644861339329, 0.7820394803231533, 0.7389717148490401, 0.42707848961846795, 0.44239293861298146, 0.711866576621752, 0.44429108138859646, 0.41263666139712796, 0.4889458373229976, 0.6465069462497244, 0.7393799116908766, 0.6446334309253829, 0.7087561139284202, 0.7414840420821187, 0.6743857659362672, 0.42907722007856886, 0.40699734875315097, 0.5782944246732821, 0.508463813512875, 0.6063741008711226, 0.7541958666873295, 0.5851118934220751, 0.4228866621843153, 0.6829812147083578, 0.6673198569823983, 0.6890743486041829, 0.5433601661211493, 0.6093039442872478, 0.7894555861652416, 0.6344987227721288, 0.6329137206504251, 0.5122355871091253, 0.7637541226251231, 0.6941240492350597, 0.4299945315329933, 0.5843645275763535, 0.6951316480354646, 0.6759910454880205, 0.5216778840582793, 0.6179635778499561, 0.4229889581643739, 0.47482686501410826, 0.5878700113279716, 0.49128528830495144, 0.41308188253323147, 0.45186535734287625, 0.6337299899543047, 0.41933475646714397, 0.3629198033015363, 0.7449749155426922, 0.7406778986761524, 0.4289556920394276, 0.4173064629098292, 0.587169259561812, 0.7030337762257163, 0.8142463944725237, 0.6629909471575772, 0.7783808604238946, 0.5242730904310687, 0.6020630961155354, 0.4360104848749143, 0.49120980341461723, 0.6928640040563362, 0.42252808655921703, 0.4470863692706956, 0.6126371544803567, 0.5624024822609425, 0.6649828840569906, 0.49408841797210123, 0.39994433537123986, 0.7431296539566125, 0.5335284875608963, 0.5406893920055944, 0.7155592718710571, 0.6158391628758433, 0.5783635748598072, 0.6174341581426255, 0.7111118144375875, 0.5889756813800532, 0.410289119463127, 0.5663503985012993, 0.72348874375591, 0.7260656108533772, 0.45234367105923434, 0.5100128784475166, 0.4579923217569161, 0.41236463341643287, 0.6475898832682426, 0.6959728033972223, 0.578684291277834, 0.6861903423752799, 0.4258682677538963, 0.6044242278372316, 0.5702263976119046, 0.7203031368659581, 0.4135273765777916, 0.6192321549783899, 0.6024563298806103, 0.7937569721855935, 0.3696151585515213, 0.5891665935296236, 0.4460015784050009, 0.42020584130060257, 0.44783960476136914, 0.6160632374356014, 0.6082896630285717, 0.5458135024849072, 0.5402140790844085, 0.3678774119119925, 0.45605637514467634, 0.4267502339863614, 0.47349702252917086, 0.6779061334287776, 0.37129886644264454, 0.721075916264948, 0.5934912652553749, 0.7096308913728713, 0.5020111476196987, 0.4720259244531336, 0.6626587982812128, 0.4418720526582901, 0.7788692187341727, 0.46498293331737267, 0.3755766229684582, 0.6451420597159464, 0.5287838827920359, 0.7834484398156357, 0.4572872495521362, 0.6447663901227342, 0.7726339281443804, 0.6397283581366452, 0.7078467921101743, 0.6164977492261109, 0.5973037417879504, 0.6168000207977309, 0.5002419768688943, 0.43044355191219374, 0.5437933983941539, 0.7330113837098905, 0.6445458919064122, 0.5445702261246985, 0.6400059081927764, 0.6372441811335373, 0.6875987749008909, 0.5740893307423028, 0.5788927446684629, 0.44187983973489353, 0.6349534749021805, 0.5734330705439126, 0.6182994995633851, 0.43596394801136723, 0.3994351136683013, 0.3919206184603473, 0.42884258796120617, 0.6598722461783461, 0.5410428351233741, 0.5217997081539169, 0.41376827327633786, 0.6823872324595338, 0.5631763355675162, 0.42213837622630823, 0.46361046555713364, 0.7705504459111542, 0.4529648668108794, 0.7616878881540886, 0.5311157781734416, 0.52936482851143, 0.7206858195938832, 0.6739225648795143, 0.6997092940474113, 0.3745185610644536, 0.4935333084653906, 0.6798061857662331, 0.4076047864835846, 0.6898194162433069, 0.6277140850445698, 0.4439115749099713, 0.7274525110949144, 0.4078378599631102, 0.6624778167051215, 0.488922643522089, 0.8291441137430912, 0.5780177419640826, 0.6196887451458305, 0.5744419598065844, 0.7150815392963842, 0.6060291783453311, 0.602277326259406, 0.5741240036914091, 0.6989051066422118, 0.7030980373600833, 0.5879327964378809, 0.5449418697487516, 0.5171370132893006, 0.4898334570691225, 0.6769046601473908, 0.41440185728120266 ], "colorbar": { "title": { "text": "Sharpe
Ratio" } }, "colorscale": [ [ 0, "rgb(103,0,31)" ], [ 0.1, "rgb(178,24,43)" ], [ 0.2, "rgb(214,96,77)" ], [ 0.3, "rgb(244,165,130)" ], [ 0.4, "rgb(253,219,199)" ], [ 0.5, "rgb(247,247,247)" ], [ 0.6, "rgb(209,229,240)" ], [ 0.7, "rgb(146,197,222)" ], [ 0.8, "rgb(67,147,195)" ], [ 0.9, "rgb(33,102,172)" ], [ 1, "rgb(5,48,97)" ] ], "line": { "width": 1 }, "showscale": true, "size": 7 }, "mode": "markers", "type": "scatter", "x": [ 0.2312010536581009, 0.23973940710195563, 0.23281601137114535, 0.25320552822018655, 0.21458666844716565, 0.21801344618355173, 0.22613452536016354, 0.2548685737276555, 0.22581047730345227, 0.22941564189516755, 0.24679058757700326, 0.2177697964848961, 0.2561922960754318, 0.29356509380545337, 0.22829738484602394, 0.21793815991353657, 0.23383244932862185, 0.23126664630157323, 0.226510532515444, 0.23024290318527563, 0.2502984560053163, 0.275734345779249, 0.22390075213947697, 0.22873130549008114, 0.21769010093453317, 0.2673539776513698, 0.24492085001542305, 0.22113188651875, 0.22241745571130217, 0.21114335046431837, 0.2553772242997264, 0.2613020806410643, 0.2862085157409566, 0.23087958706890854, 0.2581157589501449, 0.2543112981222827, 0.22417569265820664, 0.22521089067658054, 0.21250853049230958, 0.23885331557761547, 0.2735421880988552, 0.26272816713229424, 0.2395095718391352, 0.2616414696730433, 0.25652792189781354, 0.26870841963169395, 0.24257242553597796, 0.2223633430582955, 0.25272027348093296, 0.22874117162314334, 0.23863745469012418, 0.23600795083279522, 0.22204687976664692, 0.25983567517249145, 0.2395060153803558, 0.22975668486663017, 0.267292223489947, 0.24212335567651574, 0.23918922380936034, 0.23337660709442662, 0.262331309185743, 0.24378356813734672, 0.2380228116990412, 0.23919679544514602, 0.2608784236595432, 0.2695422601845299, 0.21641612301250504, 0.2281293471866011, 0.23167919977620963, 0.2463851658481995, 0.2431331636855789, 0.22951374620554013, 0.22039028247199743, 0.21557842722336168, 0.21880496366308308, 0.24984584620924558, 0.22066752555821398, 0.2529608743846755, 0.23712586173048011, 0.2459842032058549, 0.2224199849270213, 0.2529339491991216, 0.2674427242306084, 0.23520032197209648, 0.23149213959741402, 0.21722236487521848, 0.25340223028966313, 0.21633664778281536, 0.26084732333565946, 0.23810349221605573, 0.2313722969751805, 0.2339080537995238, 0.22482605928512836, 0.20815670775900377, 0.2337799892685582, 0.2204730271896329, 0.2296777589850796, 0.23781055771050874, 0.24573493386141917, 0.2262998711227269, 0.21566021017390422, 0.21569838722239784, 0.24549686303678073, 0.2519668972407224, 0.2226898794428451, 0.24892640452675815, 0.24287309018619826, 0.21806337356430702, 0.22790615393715458, 0.24324831743797892, 0.24520067373587157, 0.25769992745611514, 0.2674282585496331, 0.2470973322020122, 0.22372100180318485, 0.2397717803468447, 0.22818895939919726, 0.24190822469288745, 0.2627315276542959, 0.265196458497384, 0.2664820438165389, 0.22949849238968176, 0.2538554626257014, 0.28424891142355146, 0.26803937257350036, 0.22986287971474129, 0.2595008215673796, 0.25232229113699334, 0.21963440657641325, 0.2808766590988153, 0.2545758889922602, 0.24699583512759365, 0.22939337271959606, 0.20880956505819276, 0.26545066468175127, 0.23470652822938046, 0.28965485558376086, 0.21878399547749164, 0.22444109940185136, 0.23240685244169632, 0.2175046091552653, 0.21247755906764812, 0.22732009371189837, 0.24031469690419388, 0.23478503165394082, 0.23687315623391333, 0.2520157532954207, 0.21962206540690613, 0.22091459475800923, 0.22298229240663173, 0.2509755652973184, 0.22829968714371845, 0.2551087811673372, 0.24290961631208283, 0.23113338023159535, 0.23739187163684075, 0.23426375052370052, 0.2365488499427774, 0.24669850024149914, 0.24496224120491394, 0.2507361858950085, 0.24922079795387556, 0.2708676082625878, 0.22314923718543128, 0.2506161902976627, 0.23425599552236556, 0.23794419285642116, 0.23373427601218233, 0.23332770528867752, 0.24347994184085492, 0.248343367747807, 0.2765351083156134, 0.2233179766590272, 0.2107634919672357, 0.23179240571785859, 0.22901250637900689, 0.22486612955006538, 0.25507551762762953, 0.2563762394476203, 0.27890890989138994, 0.2603926221304489, 0.24151885570121667, 0.236148347252787, 0.24057363360887066, 0.25062142751041233, 0.2379588060801808, 0.22958936760821266, 0.29666071612961004, 0.2600684763958463, 0.23811062711684516, 0.25541989217825145, 0.23599901330476836, 0.23392075171707705, 0.20748400200357853, 0.2256609366548653, 0.23882248438312392, 0.23458198133983255, 0.23869578727170856, 0.2674770634545932, 0.2549778474478673, 0.23307598816175062, 0.2461811925065589, 0.2355451117916489, 0.24750934191221308, 0.24813944033534135, 0.23012929560175152, 0.25448609211552936, 0.25184500724157494, 0.2187476902436131, 0.2467176159241583, 0.26392514502220926, 0.2315351335854054, 0.24153737264371697, 0.21871840635893497, 0.23064586865710018, 0.22872942746779867, 0.22688160894827267, 0.25657519178273347, 0.23638395508496543, 0.24078117243571528, 0.2245944983861385, 0.23917935184631225, 0.25929843165537875, 0.2538461736494116, 0.26595968952522403, 0.2755503358011916, 0.22560860796081192, 0.2249409519824697, 0.25417813945974294, 0.26370099556534504, 0.25456686599125367, 0.23494537882490468, 0.21851326735340468, 0.22483242878112522, 0.25037116228586626, 0.23912921510165794, 0.24543897344618126, 0.24265274448954288, 0.3002513872806474, 0.2638781986856546, 0.22700843130836554, 0.24685688652411877, 0.2388507692660494, 0.2424431989842603, 0.22079124939662173, 0.23051264848492078, 0.24406335123195386, 0.22110651622050892, 0.2594640919085389, 0.23508064494885622, 0.2798586357010016, 0.2559146982111061, 0.22706371002756007, 0.2608995820468259, 0.2461116095031211, 0.23553035427215166, 0.22927902249773796, 0.20988883252853158, 0.25780897229959115, 0.2629068387292446, 0.21934465899910274, 0.23557243660548027, 0.24491427649139924, 0.2836112356914297, 0.2807316765603928, 0.2448546606959981, 0.2316503277488584, 0.22878819076205117, 0.27885874418134415, 0.24822193203900753, 0.22705972884528405, 0.21767173219086558, 0.22198756736452685, 0.24395015801418735, 0.2824735230462837, 0.22801104315240922, 0.2439174288740699, 0.23212963176840157, 0.2393601203237545, 0.2212208610687708, 0.2217921267598185, 0.2291268961206021, 0.267182668920691, 0.2580493077269348, 0.2143663700656851, 0.23339844213777813, 0.27400350708049276, 0.22337480625822526, 0.23571653497312461, 0.218497746094428, 0.23581055277660393, 0.24858225170756243, 0.2305775985075939, 0.25469370841430455, 0.2183216075576296, 0.23554839489057938, 0.23556653132382357, 0.23736364418995, 0.23908075671196277, 0.23360243378895268, 0.2314068684501302, 0.2545578394950347, 0.26378798487171734, 0.2451881178936691, 0.2509776315837228, 0.26106764824997547, 0.24959344687985685, 0.23935873066630378, 0.2196712962728691, 0.23674174088216085, 0.2283757738314857, 0.266296342235513, 0.26458662146788636, 0.2634288706624758, 0.20613546427808735, 0.23145856044571259, 0.2405936446381725, 0.24024759400691123, 0.27939131611102735, 0.22333349021391807, 0.24913180778028646, 0.21093353118704097, 0.2829002773436706, 0.2542268210496262, 0.2218416294460344, 0.2564887809623704, 0.2809736941186795, 0.26835074937437053, 0.25712394837537567, 0.24374716910579933, 0.21869256004573345, 0.2187911677689603, 0.24568131890911912, 0.25701886939963187, 0.22071617438958477, 0.263469171931562, 0.2471520489345344, 0.2308235813498672, 0.2431459158763118, 0.24095028012380987, 0.2358357476319349, 0.21728694067694984, 0.23957655317552454, 0.22742765407133247, 0.23939848556562854, 0.2240408140307424, 0.24348226263163547, 0.26627268404362064, 0.2499078964345253, 0.22116685383305373, 0.24364838535704528, 0.2565139500583769, 0.22165159794282727, 0.24099906574308694, 0.2125524023643377, 0.24674090438139254, 0.24546968981448208, 0.226252476635825, 0.2293255162860659, 0.2500318351868383, 0.23192954528490056, 0.24494094995685828, 0.2554327229372032, 0.25127029727579253, 0.2585466510210439, 0.2744228017765482, 0.21531873212785163, 0.22592446498097393, 0.23416494071199878, 0.21234927410641852, 0.27720571621484574, 0.22614847970687432, 0.24680381115448846, 0.23376352500411454, 0.2143308741660178, 0.23520556516895338, 0.24603958782306148, 0.2589493381683731, 0.24139394517517218, 0.22013939944591945, 0.25677877752084316, 0.23874808762755792, 0.24967574537236806, 0.2676607788441963, 0.24062115166118742, 0.2458759094077073, 0.2526826992276057, 0.2546590727144493, 0.2661637293080195, 0.2223280090461394, 0.22442705876915062, 0.256744168580853, 0.29033481807260864, 0.22989793688231874, 0.22607297676799398, 0.2321967504230288, 0.23644717787348185, 0.23483154424303793, 0.2162902479323576, 0.22301652231048744, 0.29697491336853005, 0.22671288719724056, 0.22933360551753107, 0.23849527436609788, 0.2561288272563879, 0.23919579986421793, 0.2483215726015, 0.24403887664086285, 0.2366034725437117, 0.2300900438197109, 0.22471171633970355, 0.24308816142052878, 0.210130088586501, 0.24965349989224744, 0.2435263369378126, 0.2467197422996786, 0.25315408081437357, 0.23226448163184227, 0.28375358035175435, 0.24712232319687935, 0.22744184936045517, 0.24936455530999255, 0.2438687605266359, 0.2640526471077344, 0.2488209171502748, 0.23523902681198663, 0.2385764986563461, 0.26518173131987754, 0.2499633089841796, 0.25381994204416625, 0.22567078612354038, 0.25215567916531134, 0.22805947307838903, 0.238830118822607, 0.2587281701026133, 0.26742011217866624, 0.22673613006544147, 0.2575912127259736, 0.2269146075325365, 0.2435078777080625, 0.2123155178674875, 0.23593636836829598, 0.2382454612466518, 0.2399460787707465, 0.24712307467862946, 0.25275511458652705, 0.2621087629573491, 0.2341733344725062, 0.21962020669411783, 0.21973924990076688, 0.22326278359803853, 0.22485015775145417, 0.21934435654576057, 0.27653271463662343, 0.2434517955036236, 0.2300680111663962, 0.24141380686984884, 0.23928553978142408, 0.25090990454374434, 0.2649375050735098, 0.264962333201852, 0.2502655224587143, 0.24098050162695386, 0.22108842565071274, 0.23969593489307425, 0.22099529722691272, 0.23560088094091225, 0.23608062118919199, 0.23966899615215986, 0.24168012573964787, 0.2398243099223718, 0.23178849485229575, 0.2495268091303079, 0.23502496151508742, 0.24604015977573285, 0.23097338419140986, 0.2566905606599195, 0.22720927433847352, 0.2361455382885828, 0.23980219444005826, 0.24828847853695246, 0.2261618931445344, 0.23193898375594993, 0.23090127287664178, 0.27045137536491126, 0.22990810017636654, 0.21369701620846462, 0.23480047533532547, 0.2208969522440931, 0.23893364056618338, 0.24972043915595715, 0.24597468828220095, 0.2612588410158845, 0.2824890688368356, 0.24398358806314438, 0.22398129599157018, 0.2345037209470854, 0.21716250079742208, 0.2250389652655159, 0.25057861773348844, 0.21880760955315384, 0.2529926871964967, 0.24501557523959824, 0.2349952018540846, 0.2517109321751026, 0.24257575736035705, 0.21423277171021357, 0.23956392457475753, 0.2744970777338927, 0.24026233179972434, 0.2352380020517726, 0.23874625506970557, 0.22885982240200237, 0.23053404590826002, 0.2230848201717257, 0.21861367681445124, 0.22370761387879187, 0.28142839290918803, 0.25147011026196314, 0.21551222992617367, 0.24448963562245904, 0.25497251345863436, 0.23772033839120243, 0.24167650499988216, 0.21827381034775217, 0.22997719569668834, 0.21418037002436818, 0.2400034014646387, 0.21400376937917095, 0.2642553798317768, 0.23023051901453848, 0.2530421096872137, 0.2678141620191641, 0.2379255958763754, 0.22292513939870867, 0.2630133871418976, 0.2164959578779759, 0.24478463049772478, 0.2555233462361435, 0.24032384065682258, 0.24459145762366355, 0.2601838601353798, 0.23145790749914932, 0.2585105785305197, 0.22747375985496604, 0.23920524271322274, 0.23448201812097236, 0.21862434022368663, 0.2443943371106169, 0.22963827756599356, 0.23434668789626192, 0.2504175680854146, 0.2516150286086168, 0.2226816186891537, 0.24111980236623204, 0.23040731469677517, 0.22040551947565606, 0.21837816689868877, 0.2372608768416601, 0.24331738014723678, 0.25125158652600427, 0.2637811462970509, 0.23327306311536675, 0.22840375915027183, 0.2597709880801067, 0.2523169397360582, 0.2223583211311397, 0.23402627681961188, 0.2596190586635516, 0.22063393043536994, 0.20982838661367112, 0.23385595338944573, 0.2894226274877848, 0.23910823342699694, 0.3034022086661109, 0.24192388893945488, 0.2245130868723182, 0.25645708831526864, 0.2552809476116138, 0.24363712518000716, 0.2481044211510615, 0.24508990013610013, 0.2454979310297587, 0.2408692560291907, 0.24641068305499905, 0.23154174148724416, 0.25916095208419293, 0.21251791301668513, 0.256179830770782, 0.23342182565801925, 0.234806786220002, 0.2233418469143055, 0.2523576667923323, 0.21310646664544125, 0.23506914188731257, 0.2372073775817167, 0.25112289133124, 0.25315005016231595, 0.24792379136720166, 0.21538875131454072, 0.23976806022420424, 0.25841421348267435, 0.24096382326125199, 0.25440054571336035, 0.2484436975542811, 0.25381433295732786, 0.28277273918945933, 0.23851637500278858, 0.2437006067735531, 0.25598412297761075, 0.23690458481262344, 0.24923767237200664, 0.217035638624873, 0.2533511207874068, 0.21790006974361123, 0.22733971565252178, 0.22184976244642562, 0.2707985888196749, 0.22139154290342877, 0.2236392572083477, 0.2334661142713877, 0.2584817492105401, 0.27680842936630706, 0.2774678415519086, 0.23403499297897112, 0.24184974359761677, 0.2141280235694771, 0.27748373671240706, 0.22940786272227282, 0.2884208509161921, 0.24095071045372912, 0.2621288089473857, 0.2592319239459604, 0.2183593381762371, 0.2192750561657619, 0.23067707354388728, 0.2127095407562146, 0.24373271912665367, 0.26388445238013186, 0.2451988081752998, 0.24951301081853466, 0.22041077174289395, 0.26601390376761674, 0.27001026194542305, 0.23469202254532434, 0.2354140781771816, 0.2471783137632966, 0.2377363222107723, 0.25256171574712427, 0.24191333285606775, 0.2251084567077846, 0.2669124280805513, 0.2723822386485308, 0.22763557203487444, 0.24564629708892455, 0.25963900663522554, 0.2321529172548769, 0.2614231266538852, 0.2608411668527197, 0.2814913407235687, 0.2854218567949168, 0.2516230247045676, 0.22378794016666842, 0.21899572551759125, 0.23078577253397015, 0.21204627932310796, 0.2354100728806372, 0.24722102064452647, 0.21461822794549532, 0.2381454717579224, 0.2872634887379857, 0.2503836371983909, 0.24097525895878238, 0.2576973620865925, 0.23712165901110097, 0.2421270217527345, 0.2454454093959946, 0.24143070281663176, 0.22091584978405612, 0.22994424886720086, 0.23007429001699894, 0.21059822503656622, 0.26178009641682415, 0.2643071761884165, 0.2535887192598638, 0.2378142978670454, 0.20641772067887793, 0.2529484799985069, 0.22471746402520884, 0.24185983957186485, 0.24904417935115727, 0.23041832259154063, 0.2268494385995383, 0.24549039779171453, 0.24967915694762247, 0.2301597601541316, 0.2725917667580681, 0.24074675305348245, 0.23892162570965916, 0.25976846459152575, 0.2739213905728718, 0.24212098967134954, 0.2364132848940085, 0.24784944923963467, 0.2661074768909421, 0.22142009446300645, 0.23850085012066172, 0.24549008890351653, 0.2226663144063621, 0.23661599463110106, 0.22627225639962212, 0.23354739772129623, 0.23833318598585557, 0.23849538899966968, 0.21949437319116308, 0.23112004119417653, 0.2234238943353846, 0.2478247491897095, 0.2527155934980914, 0.21812452417774894, 0.25128149839152397, 0.21884942062784518, 0.24463849059702533, 0.2216446878945482, 0.26780849232807713, 0.24550261005040608, 0.22074229666751002, 0.25595258648175545, 0.25720587833967207, 0.24138043206908558, 0.2856472161111811, 0.22161695995587308, 0.24520807911882417, 0.23548580694935653, 0.23372638646802307, 0.24363307254121516, 0.22796413280398076, 0.21707658204034755, 0.23625793244933796, 0.2475438921429641, 0.23368710993842956, 0.25432209717401566, 0.2638221678740643, 0.2549269679313082, 0.230959306338113, 0.2443116849221028, 0.23518323344069977, 0.258957647048595, 0.21366589287189208, 0.22068453891670986, 0.25440312912022167, 0.2702242149308313, 0.22223663334179444, 0.2305995354325365, 0.2513580855703835, 0.230313965054987, 0.24348201650728737, 0.2485410928524293, 0.23412146266740422, 0.2174773748499049, 0.22298935333070527, 0.2240653056145203, 0.2301688151601466, 0.2254864571851843, 0.24800915342726562, 0.2465498450499133, 0.23761991413471892, 0.21311198197784953, 0.2536820837525907, 0.23318836296708703, 0.2462553199822448, 0.2420620405515646, 0.2370741459036411, 0.24053480899831828, 0.23465934107818306, 0.2583764015281194, 0.22854660610909916, 0.2533092840592816, 0.2301709043484712, 0.23862456198956639, 0.24465802846317922, 0.2504128763482429, 0.23363523114201892, 0.25659772322924884, 0.2141895242890346, 0.22589038067015432, 0.2246138109429682, 0.2480995225186158, 0.2304677344093735, 0.2307005206704015, 0.21689530003059354, 0.22941356002929977, 0.23383684844934857, 0.26200212279563995, 0.26838656989364496, 0.2960969104530786, 0.2695360809148355, 0.2366308226688835, 0.28790325485159207, 0.24842131709757187, 0.254654542988741, 0.2524046095641972, 0.26695416400498073, 0.2168367486761595, 0.24544987138453778, 0.25233387666644574, 0.246050598180013, 0.23302826263470522, 0.25024692466324316, 0.22768119773093864, 0.21338704126068705, 0.23422200170974566, 0.23301259269931326, 0.2395941009246715, 0.2573292995546103, 0.22951352728755142, 0.24724022952638933, 0.25033771065152527, 0.25306228832271244, 0.22384428532020348, 0.2373202526003948, 0.2529866909647468, 0.229840492186967, 0.24987050127921118, 0.2385618265099887, 0.2158266728553501, 0.2506554503495524, 0.2422142648232353, 0.25402200738132846, 0.22402278937793854, 0.2160531819212322, 0.2733333665764705, 0.249274025359225, 0.22764858267632604, 0.23195231501149757, 0.24620308378421096, 0.23916882346926246, 0.25681259383588234, 0.24440576279066212, 0.24926080411963344, 0.25079213824414304, 0.21178692931511225, 0.23745857347712399, 0.2420512592616607, 0.23478769882413728, 0.23129376669254587, 0.23252061732006749, 0.21710108686619606, 0.2457766701116386, 0.2300385126890099, 0.23756755230001048, 0.24470575780649362, 0.24494336683772253, 0.24085793475049394, 0.2259864652488794, 0.23459086564111098, 0.25734990731186247, 0.2232103774309702, 0.25682169726267623, 0.2466510270452697, 0.24298892208526518, 0.23511704684900808, 0.23696982530065175, 0.23805908345654622, 0.27272301828837553, 0.22681781538345838, 0.23085995253441266, 0.23784467817923433, 0.24849403434921818, 0.23399758460560077, 0.22101521638315685, 0.24099779117255266, 0.22200406247262816, 0.2553313585092234, 0.2519340381887429, 0.27458775385806605, 0.24850081751256972, 0.22323824478404253, 0.24905671172844532, 0.2376916881508818, 0.2798151883984079, 0.22799524077179859, 0.2310018685244243, 0.2407564674556276, 0.23513051708012545, 0.23665079167041328, 0.2525215088053938, 0.24857940670123863, 0.25111417298278665, 0.2277942224631462, 0.2346471743852588, 0.2626731260150579, 0.216580515862792, 0.2531701224537857, 0.21809221230893916, 0.2164357919020054, 0.23891043475746057, 0.2308385297982741, 0.22632311327381593, 0.21567297755517773, 0.23718937967509787, 0.2579162976974484, 0.2162767712715889, 0.26149087333274806, 0.3023054680644962, 0.22562976261816148, 0.24157475616178795, 0.2342552524253773, 0.24267759198424632, 0.21745122456411534, 0.26177744879173914, 0.2175148845233372, 0.2402140583008311, 0.22368256466435912, 0.23569621703646065, 0.247407780372759, 0.25532760208033245, 0.2468585922810519, 0.21321205117466532, 0.24260980986537029, 0.23632401918724794, 0.21830405277162854, 0.24551177641921643, 0.2263236081731069, 0.24756774290356948, 0.24947527795323546, 0.27908791911340924, 0.2311135631984352, 0.22831963605190078, 0.2383832548994761, 0.2447330600819814, 0.2205886686880343, 0.27610385510147095, 0.2363267795869892, 0.2551884513985354, 0.23176968535743994, 0.23689219185283197, 0.24023384883194754, 0.25685524127933546, 0.21880099474158213, 0.23388290829893418, 0.25141645637825255, 0.24149305685594205, 0.28594964468728246, 0.2607095322095484, 0.23125388770260877, 0.22632834951159853, 0.23560925293929774, 0.22675184877640758, 0.2431471647098381, 0.25535456756530645, 0.2098039672827634, 0.26572508967612674, 0.24073489542433252, 0.24200792405866775, 0.21495602862911023, 0.21931750397791955, 0.2540003016388466, 0.22435321404712769, 0.2077641702237819, 0.21787965313538998, 0.25697394776920357, 0.23134039418636299, 0.21964429978277258, 0.2084695094636624, 0.23974956468199896, 0.2784560745903255, 0.2641219111061978, 0.22885984994015654, 0.2856815891196203, 0.2578301375597405, 0.22440328617031607, 0.23673249834862972, 0.2176351913359803, 0.246663671403986, 0.2267278617064387, 0.23204990559892846, 0.25953788070129896, 0.2425238037626447, 0.24304744756844535, 0.2574448848186873, 0.22812631482816462, 0.22270206912003718, 0.2667621522270048, 0.2960034902068903, 0.22866560608480832, 0.220014414467559, 0.21900517377600223, 0.2375451321693664, 0.2576294366580998, 0.24413256031791766, 0.24457941882631457, 0.26647661710969345, 0.23203812277216665, 0.2166149084082986, 0.27263391173519075, 0.2578659860666946, 0.20680620945314696, 0.23034570281518324, 0.2538399230214893 ], "y": [ 0.10510598789736558, 0.17495653484320378, 0.16070976667666276, 0.16364855005436757, 0.13931204261960917, 0.1334230583923173, 0.12087258968338299, 0.1795337555514782, 0.09864212148710111, 0.13800951881205392, 0.12968388635178785, 0.09350833556377575, 0.18944389870821912, 0.24249687505888634, 0.08804157179435934, 0.13621879478115165, 0.1482298812089965, 0.16730888748354805, 0.13363147954605523, 0.1371159918940322, 0.1849753665610137, 0.19183595939261872, 0.10023896131600295, 0.12432953422303201, 0.09543065530470388, 0.09622011022560831, 0.18909726898227308, 0.08416499899200608, 0.09450966914230209, 0.07493492124575495, 0.15453259721400003, 0.14559994583106867, 0.1287062954616987, 0.14871429381631876, 0.17920155058078327, 0.18334097076688882, 0.12373403758274025, 0.13830850421604046, 0.08758929772269841, 0.1707024957009693, 0.1834514885197425, 0.2011054512376674, 0.12111864606860112, 0.16497098069909905, 0.15721566868425368, 0.21097868708210105, 0.1594718429436722, 0.09674992377740274, 0.1403860992611802, 0.16653140884870454, 0.11360729973008442, 0.10419950494011684, 0.09822196944817128, 0.1805704575303885, 0.15663357567207284, 0.14824821310309821, 0.2085533243110397, 0.11673174579796143, 0.17421016479523757, 0.09258580996467157, 0.19285073138987077, 0.17328594308359158, 0.14513542453099085, 0.16577155365929233, 0.17791953614277967, 0.13723953425698193, 0.11452393825049505, 0.11971440035298452, 0.09700325424782001, 0.10586417658706847, 0.12716613792136597, 0.13534987546333285, 0.13269853102102613, 0.07814779539396723, 0.10073756399850929, 0.11893548086991118, 0.13815270965045584, 0.140656619327707, 0.12607887955494232, 0.18219185986487238, 0.09981164307153167, 0.15783862216805977, 0.21793109631602312, 0.12460894797616756, 0.0987319988049907, 0.10942308959004007, 0.11729077493295598, 0.0927393414427937, 0.10943916249195473, 0.16205773639095722, 0.14108587812447648, 0.17498730937436663, 0.11955679888529477, 0.09245201398358613, 0.12733965023588104, 0.13841743051147468, 0.12064773568254054, 0.08953706966577665, 0.08891530169707994, 0.09430213233127811, 0.14647153983469685, 0.09080319703506988, 0.17950645524511252, 0.16306947514714012, 0.09113649475321815, 0.1798481982283804, 0.1265809538069394, 0.09410441462401563, 0.09226699425675824, 0.14186771601245546, 0.10703058650270592, 0.098932468788361, 0.18012750767517471, 0.1584282663073705, 0.09522514080126127, 0.11988601627176268, 0.14927936449990828, 0.1626498877990814, 0.18295223726270837, 0.11891109152948337, 0.18668655309215376, 0.12654838641565153, 0.16765711505151673, 0.22949862731857223, 0.18691433502020915, 0.1632174898540821, 0.13002467292543066, 0.16772384698458145, 0.13693786066998911, 0.2051103772704928, 0.15075027339050512, 0.15796405640202005, 0.11832129575260719, 0.09614437269954555, 0.18635901208818867, 0.16951440017085245, 0.207802306065148, 0.1203038337652391, 0.11127253932567396, 0.11229882804818998, 0.0939303980349826, 0.06799078989814467, 0.1352809789204657, 0.15712490533884457, 0.10445641629218205, 0.157224933285042, 0.16646640925847506, 0.10139074607547277, 0.106441435797881, 0.0886052661576888, 0.12394474799519181, 0.13747598255188834, 0.17919892888921685, 0.18610079455703535, 0.1042102392451911, 0.13683515373638105, 0.15965454846527113, 0.1017278804412766, 0.11208650328907685, 0.15384958489187142, 0.17879059185147908, 0.12153535864723067, 0.1746788110828442, 0.12477427266986947, 0.14758093227155902, 0.15127708743069165, 0.10129457093562046, 0.10185849576240191, 0.16074054691377784, 0.10497742896918402, 0.09645400779937958, 0.18398984403499571, 0.1045840352440069, 0.12829851161123132, 0.13141915900542583, 0.1255759720326236, 0.14802328995710592, 0.1266323034165892, 0.14370500294082078, 0.19926590937739574, 0.2037782397959904, 0.17035082233078555, 0.13468882584761815, 0.1475974204194614, 0.12461604767293895, 0.12794906638602527, 0.14756941687287664, 0.22211441393151643, 0.11607438218721194, 0.1483947464538632, 0.09875283304275156, 0.13554753524691948, 0.16276910492732194, 0.09776720961822435, 0.09506153050794725, 0.15575410710109752, 0.16551959605188107, 0.1314198631968071, 0.1266324038751922, 0.20158586617935864, 0.17517937753723206, 0.10871737248880033, 0.1597571571297931, 0.16906895208554398, 0.16347513510734032, 0.17429180279614534, 0.10558162171197662, 0.2041563077463039, 0.11926655587128553, 0.14047218854233734, 0.20206876849083505, 0.09218303252318823, 0.17345719074674254, 0.0916226140291474, 0.1668625867481146, 0.15488275373692748, 0.15691736320241195, 0.10475083347691462, 0.16018394953738269, 0.12317290691505162, 0.14547524916765592, 0.17096344625733226, 0.13171448021169146, 0.10865192350668512, 0.15553034579968134, 0.21370072046196958, 0.09086568319918342, 0.0928693626635313, 0.12131181157524074, 0.20057889403886234, 0.19642755881440035, 0.15175663071467418, 0.0831181681064164, 0.1001615120608369, 0.19447544608785783, 0.10822868951434267, 0.14420604956020264, 0.1676301898340338, 0.25283753420278926, 0.19867413282216587, 0.12323808298790023, 0.17819988290694241, 0.10287341544097253, 0.14685322737821327, 0.11332137610238506, 0.10727313483184174, 0.1121740536609199, 0.09868535222558701, 0.15931995160760523, 0.1462598492525286, 0.11288295290161109, 0.15021427885993038, 0.1226773269577036, 0.10960777440428, 0.17188998604858327, 0.10378143859838354, 0.14216103603728597, 0.0734011965544275, 0.17013513998878022, 0.15579729715039883, 0.14964230777992296, 0.1036719367493564, 0.13885477302056376, 0.21251142394525335, 0.18300820739864948, 0.09174933014411622, 0.1725246016486703, 0.09644983122603383, 0.22412773020615362, 0.18531547812360652, 0.09668182605906876, 0.09724493611225543, 0.08397658204480016, 0.1649767279089862, 0.23246498036479096, 0.0974926624645764, 0.16369844228391459, 0.15920352637616836, 0.15973696709504445, 0.12409609148758918, 0.13870704386673902, 0.08544688858639461, 0.1824089571757354, 0.1667440927601618, 0.11187788143907167, 0.15058145776369675, 0.18490775743402407, 0.12101168896625833, 0.09799608215693549, 0.14227265782783283, 0.12063706721812839, 0.17020050190959576, 0.12403228203222312, 0.17040270762382043, 0.1118887472515209, 0.1642802892478422, 0.11197626652472284, 0.11226580199836485, 0.09557878351970736, 0.12950819029334354, 0.10532805205222429, 0.14307740749166542, 0.20207543933116598, 0.16091510909483875, 0.15447529813096342, 0.1631315497837375, 0.1732701922725487, 0.12213560153612227, 0.13329745647698732, 0.09685913521387066, 0.15604481718062063, 0.1923673260377976, 0.18235004329282892, 0.14613654035498785, 0.10008164779194892, 0.17189036443869013, 0.13317890996206722, 0.12351577755049775, 0.21420187392553863, 0.13479995519603152, 0.13603746987667273, 0.08536285923701807, 0.10657876811234783, 0.18926129561844351, 0.09773678708059735, 0.15061445117066655, 0.21018429558436316, 0.19548503694662273, 0.16925494150961484, 0.17457337417750676, 0.13711821298192528, 0.13348190175628938, 0.14230082029977237, 0.18854365912066962, 0.10877653343611468, 0.1965869956631269, 0.09513408248267155, 0.13139270110393553, 0.19557773529832312, 0.09492580566638563, 0.17032920321191733, 0.09736305118791927, 0.16446208907585116, 0.09713746051445343, 0.161628527619592, 0.094294550282514, 0.09421099377640271, 0.13702355204745031, 0.16176387921259275, 0.13047355273719044, 0.1532538423034069, 0.10360690187527423, 0.13690827410193948, 0.15282290986177927, 0.13888959831898878, 0.18185950380314694, 0.18488372548925006, 0.14451850363190316, 0.14105162491557, 0.1615104284389808, 0.13948005964646923, 0.1322049308926922, 0.11107843635936099, 0.1892437066455536, 0.11323139075774355, 0.11889623910109114, 0.07988024201114663, 0.15466843641030567, 0.09939114313237378, 0.0904698417493776, 0.1778175554025142, 0.12193538220354659, 0.16141401955697748, 0.14983682615420332, 0.07978905492404298, 0.16687866500202617, 0.18953121759207128, 0.18920736298822732, 0.09952539920325969, 0.14308902254103106, 0.17654660159027466, 0.17299553639582485, 0.16298056231706548, 0.214537705012548, 0.15381118901049162, 0.16155420818273716, 0.10895544940519009, 0.16503171084926757, 0.19405598302035293, 0.15673013424580534, 0.08756122836560504, 0.17126467751168487, 0.14279989373726942, 0.11427111927722605, 0.1591385836912818, 0.14923263895858785, 0.10109642356138172, 0.12430486008915426, 0.09336869883824495, 0.140090697015611, 0.20812482037785018, 0.15443936219206902, 0.10506875975147054, 0.13434328303607262, 0.19401703055455335, 0.1076849395510309, 0.17020027230359852, 0.17078972374343718, 0.10021626006384537, 0.15223414932840487, 0.1600171748487792, 0.13524431907582968, 0.0821907909978688, 0.1753261219569909, 0.16786826207141808, 0.14588416453266506, 0.19119140356912548, 0.13626338586061457, 0.12866132807464503, 0.1596734435204432, 0.14985208052150106, 0.09764910844563471, 0.17301195907363712, 0.15859207408439932, 0.12692403092809976, 0.1642871695763114, 0.16126322385689962, 0.17861791283412407, 0.172748077448833, 0.17068152533471329, 0.13941717115158445, 0.13504979771029396, 0.14932896841049614, 0.14992588619426483, 0.1811352674702325, 0.22376529191510106, 0.12160605238376024, 0.1252533131278526, 0.1523978957515063, 0.10268058176181902, 0.08241882600875901, 0.14673538025203878, 0.13272052420038613, 0.1603295659842693, 0.09120686717055454, 0.1774983142280556, 0.17323219686076607, 0.09759178122227467, 0.0931216518693961, 0.0933793176468282, 0.10573436892252105, 0.10185682866734472, 0.08473368866656637, 0.1283971312873809, 0.12022563960744681, 0.09781765292194543, 0.16842253754585726, 0.1519160040339666, 0.18885360566309825, 0.1362684959458575, 0.18365580094519873, 0.17931749895878663, 0.160164369330736, 0.09687927494039887, 0.11419927835617164, 0.13896036345097282, 0.09750854877017333, 0.15191404306341263, 0.12737432267545296, 0.15355760116352526, 0.1571874162794964, 0.11525299939864987, 0.1613430410316171, 0.12417756327614693, 0.1042775264956331, 0.10247410355014064, 0.1556085193620333, 0.1409098208664411, 0.1395511110601568, 0.1464851181585526, 0.1620026243378971, 0.14546277603228377, 0.14041145462657614, 0.1523439555420841, 0.20482208964707305, 0.0918180624234702, 0.08650684695199154, 0.12837192472934766, 0.09439181271103238, 0.14135677929524174, 0.17456704557191674, 0.15622867065644355, 0.18958698044269887, 0.2251816829089523, 0.14243982324027205, 0.11166594266237553, 0.16960555986376022, 0.09439614279262691, 0.1295432989279365, 0.1802813995602459, 0.10944399367414072, 0.19450562120231224, 0.1482148488411329, 0.11828504976390243, 0.11128576924799864, 0.1459123678053568, 0.08829385413603208, 0.13851621283193133, 0.1812229899944034, 0.15582016106434066, 0.12562077326044813, 0.15829962813950146, 0.13721410854844174, 0.13735993225215445, 0.09426111239809157, 0.08308112643135182, 0.09261591481404165, 0.11065606779596478, 0.17909468282717236, 0.09112800988693272, 0.19390084508648386, 0.16085179779141934, 0.1256069054482585, 0.10021306542333731, 0.14271615193063436, 0.169328945425651, 0.08640639475112825, 0.16790028412901303, 0.12566121485395587, 0.12331756404706534, 0.09699387054671146, 0.10818007449218928, 0.19907504145254418, 0.13950037021897216, 0.13452164455943771, 0.1399214180253522, 0.10722517984749419, 0.17922331833480776, 0.1018385643966312, 0.16783827812446425, 0.12877993502890384, 0.17425887254559816, 0.13218675298895752, 0.1562815799993099, 0.08464979992409365, 0.10653291380018987, 0.16984703694826883, 0.11219111636803024, 0.0934918128757346, 0.1730380130941469, 0.13190646460831776, 0.18319487783790328, 0.18920112521106175, 0.09809806460138024, 0.10708942892451373, 0.16211676880284315, 0.14581014831644798, 0.09546257570512945, 0.10725186988192054, 0.13014547854065478, 0.11058374953992464, 0.14542229535859663, 0.11173836567807738, 0.11359526703479975, 0.1818235836377811, 0.17603696708647132, 0.1378728508454715, 0.10407657596524889, 0.20067646079627327, 0.09731664733315201, 0.09872357779802099, 0.13728274924159323, 0.11185655914803187, 0.14926640661050458, 0.1482346258792856, 0.15131642971475856, 0.09766252656297825, 0.18885651064986744, 0.17540953288591804, 0.13701315316166685, 0.14319333722857713, 0.17079417203049502, 0.18312964195674286, 0.17850566193210274, 0.1148578350416205, 0.16667262156965776, 0.10144600294150657, 0.12080644406828644, 0.20390973218863506, 0.1512829686200356, 0.16472627489719213, 0.0973992534843541, 0.16924896981071716, 0.08575293418944739, 0.13750075767091824, 0.1493656191456393, 0.10263475756207267, 0.18086551854933638, 0.1702899922012542, 0.13014907515033972, 0.11086599921252394, 0.11369741293860236, 0.15883036787990606, 0.11035928373780513, 0.16157018125412387, 0.18874726703943012, 0.1368055012816174, 0.11853419332916605, 0.1322244227315042, 0.09005392780948897, 0.14872905013465154, 0.19295528732896056, 0.09240819811033914, 0.1774895747107407, 0.13422743740602866, 0.14612925249925185, 0.12475743367838699, 0.18566047090972204, 0.1162330784449967, 0.11424178926925165, 0.1133327279956916, 0.2113848220140446, 0.10662218110189957, 0.23348159068440533, 0.1717218079579431, 0.10311752311976297, 0.11845105913337614, 0.20408292377424353, 0.12691259109541528, 0.22694642534205645, 0.11129814848138866, 0.16709245135855613, 0.19814316815253072, 0.09473932718848846, 0.09455677465431611, 0.10231381868943841, 0.09744150067136151, 0.1712200093321507, 0.16545553636280574, 0.17995352325457223, 0.1773474701111059, 0.09305306443858777, 0.13785383687192315, 0.18357587283305146, 0.17053612348330213, 0.09720589983088926, 0.10666743487683117, 0.12409523157739094, 0.17334901753711582, 0.1292048957299434, 0.16291227406606876, 0.18847553225106692, 0.19516963133004198, 0.08269632008815236, 0.15945273451547395, 0.1282203013436286, 0.17111092438840075, 0.11005387055360488, 0.1741913056319931, 0.16991207056933014, 0.20077486428499622, 0.10516734323789334, 0.1625102186257135, 0.08788663628446677, 0.14104515944532073, 0.08762405758939583, 0.16134571709620243, 0.10745305596969, 0.13866363124678144, 0.142126279268858, 0.24596275076142599, 0.1537475483548892, 0.10859468721369511, 0.14583540400544162, 0.16392173245600197, 0.1789909096011117, 0.1073554684657839, 0.13937037024388588, 0.1273084738236334, 0.16784046851333212, 0.09943453305543908, 0.10766337991035202, 0.17797151574698356, 0.18989655615675058, 0.17140163266130456, 0.11841054252962746, 0.07753550706054745, 0.14491580679212995, 0.1393897907980266, 0.14137040279545637, 0.10648552521814408, 0.097080658100483, 0.13303282216275725, 0.12591370570727045, 0.12526885027135137, 0.12331124715474186, 0.12878820676226357, 0.16157891533636118, 0.15377695692117363, 0.13117652655272388, 0.22261830248291653, 0.12229305664868921, 0.1129082112678368, 0.18333731648209325, 0.20663813622548394, 0.1416602830967966, 0.08993550777154322, 0.1509943783771016, 0.08556723767957031, 0.14329050669802368, 0.09236498991184167, 0.14223900390715008, 0.10542169816689809, 0.12444476910530766, 0.14362766884359443, 0.10127556231909782, 0.09318367860688552, 0.10868649027782266, 0.10834665245712187, 0.08703820471609011, 0.14864040996363684, 0.10842780748242506, 0.16301929429852102, 0.09154802574585208, 0.19218270502296275, 0.1381519978414767, 0.1446185090285927, 0.1672361253749411, 0.12499096729182047, 0.1791795105470039, 0.23445777023234313, 0.14733451222879002, 0.17642906026679236, 0.09493958228776841, 0.1168417582800271, 0.10553736207777487, 0.12658853815113144, 0.13332586447870606, 0.1659664575527703, 0.1898704189202734, 0.1624772121228015, 0.17394196657795918, 0.21166394030324998, 0.20579911268240736, 0.09333399828965316, 0.1605770884972754, 0.1198289474193926, 0.1988975668778264, 0.1253544261442786, 0.09413872061051048, 0.17026025603014797, 0.18835681325971695, 0.14016836596903778, 0.08711993926597221, 0.1857830642033181, 0.09554422798084472, 0.11861733857441822, 0.15929887356966108, 0.0974176270681027, 0.09840427949676275, 0.0795344849732464, 0.13683749241131038, 0.15949408410574678, 0.1267927208283439, 0.10539495666619365, 0.16937410786465804, 0.1794949862834309, 0.119700964282219, 0.2030894909983141, 0.09666185214214354, 0.15210019578001516, 0.11847970961522546, 0.09861960680824261, 0.18113207477996174, 0.11520528805544536, 0.18512237837836484, 0.15485694792703178, 0.1756060971869234, 0.14321366001214828, 0.1519489198990826, 0.18077826764123753, 0.10383025331051604, 0.1626776919398766, 0.20077338194904557, 0.10492429440687712, 0.09774792046084067, 0.08234757030470279, 0.1485376217558572, 0.09879315000935601, 0.13984297161649736, 0.11181628511489879, 0.1694071449119349, 0.16339110402086174, 0.15533829940814375, 0.18207771902832834, 0.13866266137926184, 0.22275127577508796, 0.13375250877807823, 0.21763503702357456, 0.10444237430086623, 0.12570879749302757, 0.18966390122566767, 0.11695813359627803, 0.13861603271741788, 0.19195148986294874, 0.1864675975547096, 0.10508291784044052, 0.10309005788684486, 0.1781424215701444, 0.10115672555172958, 0.0880513162912211, 0.11452187274544018, 0.15064425974376383, 0.1771510651833386, 0.16588306924951407, 0.16266911569432937, 0.18332468475453795, 0.1688241887404605, 0.10858326318023073, 0.09110403065886669, 0.1372409789408633, 0.12863457765593833, 0.13936932179364842, 0.18845129927187215, 0.13958536200748808, 0.09127022129414517, 0.17119296395300776, 0.16163438856093812, 0.17504004926741587, 0.12172506005131994, 0.13164205592041708, 0.21578455312914638, 0.1581640507106955, 0.1440819114624694, 0.11881423026123523, 0.18803862024320972, 0.16601283219726964, 0.1104280109782331, 0.1428220581101036, 0.1732690735583259, 0.1695332397318344, 0.11048455715630812, 0.14674074965707024, 0.10238500997746462, 0.11148350697654173, 0.13597066924563614, 0.11423395851693464, 0.08968052566269888, 0.11105796286653778, 0.14578230433550945, 0.09962033168822038, 0.08880856548988604, 0.182476664022675, 0.17839814899047368, 0.09693818059237712, 0.097896284371647, 0.15110795452460724, 0.15692443453806237, 0.2091161410184481, 0.16352739803813254, 0.1891379262462034, 0.12326554076455583, 0.14267078670646793, 0.1037962564067664, 0.133964220200074, 0.15715389975789382, 0.09754481400751705, 0.10633711361751091, 0.15223667810904906, 0.13160082242525478, 0.14697133601095147, 0.11907421737521737, 0.08878926721533048, 0.18974430409323093, 0.13441398635994908, 0.14846668568569954, 0.17781706403865682, 0.13747885378967734, 0.1440453301380921, 0.14675896737093916, 0.19897988632918723, 0.13428365228497935, 0.09477755323122308, 0.1363525212852598, 0.1701142824209775, 0.17182400161311392, 0.11422650631444861, 0.12677869873447462, 0.11500836311045431, 0.09393428104039664, 0.15195513626937274, 0.18281335188981168, 0.12533174232664748, 0.17372289300575472, 0.0928785526666229, 0.13081903639670936, 0.13623303656364072, 0.16627371712322278, 0.09359080329103947, 0.13355164266209862, 0.14289624316571808, 0.2047228595376448, 0.07993917310455943, 0.1540616870805415, 0.1348287159172279, 0.09481094422341979, 0.10818674331981924, 0.14431604919547197, 0.1476182706526824, 0.1186878144989719, 0.1414158634240953, 0.08001881277078121, 0.10955115268746898, 0.09545658680918467, 0.11160145698815335, 0.16771925177269328, 0.09480284922394605, 0.17800378561693472, 0.12653949001934586, 0.17216341563056553, 0.11863729208229001, 0.10304517232139362, 0.16269053872584374, 0.10000607730848131, 0.19282289449908568, 0.1160017465328623, 0.10481889817190845, 0.14910108019013005, 0.1207317436691886, 0.18676098912916755, 0.11191330791936696, 0.1422281596119637, 0.2133272061428563, 0.15118494268890542, 0.18063432670601642, 0.14288548936170564, 0.14149659259404557, 0.14817624295586418, 0.12848977366671158, 0.09418147733848783, 0.12718398153018567, 0.1842911245772602, 0.15565335772041908, 0.1557196626676306, 0.1668556409362859, 0.1473651943029959, 0.1556230958495158, 0.13526075833661538, 0.13126500009682282, 0.10744183017397702, 0.16213827000773495, 0.1203085331712496, 0.1642976899681848, 0.10495173543329563, 0.09666646265500359, 0.08424569968210101, 0.09405268599108314, 0.16760774957240315, 0.12138469899709917, 0.10841128338761011, 0.09015168785987775, 0.17535574103242763, 0.13028543546662064, 0.09272028805766408, 0.0966486463369158, 0.1847391339727194, 0.1261308187394871, 0.20117846068570175, 0.12155107729362331, 0.1512297854331806, 0.18581452400324522, 0.15123043818329104, 0.16564392929759966, 0.08150841869613838, 0.12173673782622918, 0.15413100287358805, 0.09458465222518721, 0.1790342693583951, 0.15223560758039734, 0.10789157522795725, 0.1872789279298951, 0.0930385480407894, 0.14753518052635528, 0.1304260566584691, 0.24542955155245383, 0.1321727772939893, 0.1363404564153963, 0.1258057612316683, 0.16986413876403356, 0.15613095581547873, 0.1470355056811386, 0.14041891515708171, 0.18624186849870616, 0.16314554871382841, 0.12735500885062645, 0.14856963361789094, 0.13335204586343086, 0.10130060051979602, 0.1559220796805235, 0.10519173555222266 ] } ], "layout": { "coloraxis": { "colorbar": { "title": { "text": "Sharpe Ratio" } } }, "height": 500, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "title": { "text": "Sample of Random Portfolios" }, "width": 850, "xaxis": { "range": [ 0.18, 0.32 ], "title": { "text": "Annualised Risk (Volatility)" } }, "yaxis": { "range": [ 0.02, 0.27 ], "title": { "text": "Annualised Return" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#-- Plot the risk vs. return of randomly generated portfolios\n", "#-- Convert the list from before into an array for easy plotting\n", "mean_variance_pairs = np.array(mean_variance_pairs)\n", "\n", "risk_free_rate=0 #-- Include risk free rate here\n", "\n", "fig = go.Figure()\n", "fig.add_trace(go.Scatter(x=mean_variance_pairs[:,1]**0.5, y=mean_variance_pairs[:,0], \n", " marker=dict(color=(mean_variance_pairs[:,0]-risk_free_rate)/(mean_variance_pairs[:,1]**0.5), \n", " showscale=True, \n", " size=7,\n", " line=dict(width=1),\n", " colorscale=\"RdBu\",\n", " colorbar=dict(title=\"Sharpe
Ratio\")\n", " ), \n", " mode='markers'))\n", "fig.update_layout(template='plotly_white',\n", " xaxis=dict(title='Annualised Risk (Volatility)'),\n", " yaxis=dict(title='Annualised Return'),\n", " title='Sample of Random Portfolios',\n", " width=850,\n", " height=500)\n", "fig.update_xaxes(range=[0.18, 0.32])\n", "fig.update_yaxes(range=[0.02,0.27])\n", "fig.update_layout(coloraxis_colorbar=dict(title=\"Sharpe Ratio\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sample only from efficient frontier" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 10000/10000 [00:02<00:00, 4743.72it/s]\n" ] } ], "source": [ "#-- Create random portfolio weights and indexes\n", "#- How many assests in the portfolio\n", "n_assets = 5\n", "\n", "mean_variance_pairs = []\n", "weights_list=[]\n", "tickers_list=[]\n", "\n", "for i in tqdm(range(10000)):\n", " next_i = False\n", " while True:\n", " #- Choose assets randomly without replacement\n", " assets = np.random.choice(list(daily_returns.columns), n_assets, replace=False)\n", " #- Choose weights randomly ensuring they sum to one\n", " weights = np.random.rand(n_assets)\n", " weights = weights/sum(weights)\n", "\n", " #-- Loop over asset pairs and compute portfolio return and variance\n", " portfolio_E_Variance = 0\n", " portfolio_E_Return = 0\n", " for i in range(len(assets)):\n", " portfolio_E_Return += weights[i] * mus.loc[assets[i]]\n", " for j in range(len(assets)):\n", " portfolio_E_Variance += weights[i] * weights[j] * cov.loc[assets[i], assets[j]]\n", "\n", " #-- Skip over dominated portfolios\n", " for R,V in mean_variance_pairs:\n", " if (R > portfolio_E_Return) & (V < portfolio_E_Variance):\n", " next_i = True\n", " break\n", " if next_i:\n", " break\n", "\n", " #-- Add the mean/variance pairs to a list for plotting\n", " mean_variance_pairs.append([portfolio_E_Return, portfolio_E_Variance])\n", " weights_list.append(weights)\n", " tickers_list.append(assets)\n", " break" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "237" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(mean_variance_pairs)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "marker": { "color": [ 0.3978363454049954, 0.6882095295782478, 0.6267825148661698, 0.691111617718541, 0.730611202926719, 0.6970716620839004, 0.7466484707593092, 0.4411240443514494, 0.7424289777166024, 0.46269330979343226, 0.4044460766742738, 0.5392017267364764, 0.6038029922111122, 0.80913644842323, 0.83305434895612, 0.7293365447198972, 0.7889225100381304, 0.593019575395496, 0.7166647825810901, 0.7975308352686865, 0.7544102737361127, 0.7479932691789002, 0.7378501974547954, 0.623007399277891, 0.7308193184660464, 0.6738163953166106, 0.7166509798953383, 0.635047865569025, 0.4012205254124746, 0.8185667436337178, 0.8556098900431898, 0.7385610794222224, 0.6505029185081294, 0.7519130370795163, 0.7511879975588207, 0.6478805985294553, 0.7701168159545958, 0.7701646883687309, 0.8706479225705168, 0.8150884238712701, 0.48047119808835875, 0.7037816904649605, 0.449760523097807, 0.5246463032587052, 0.7044527407301541, 0.8414119612265444, 0.6206217680492737, 0.7480051548287117, 0.8255829391703983, 0.8156828403994619, 0.7599536268783756, 0.7927142444073509, 0.769111486859328, 0.7371456490684235, 0.7643144408426826, 0.657591043380447, 0.5935168439219107, 0.7183946030776155, 0.8143610931190012, 0.7870802887671503, 0.7722816919742918, 0.7722553106399135, 0.5724420294765298, 0.7142309386869857, 0.7729189898355369, 0.7201611043628181, 0.7283424893796151, 0.5915527147251094, 0.8285861596866495, 0.7628775527184062, 0.6536604525286271, 0.814188649396328, 0.737800406207301, 0.7396242377447048, 0.5491568697097761, 0.7934122488102537, 0.8193553456852506, 0.719171579771863, 0.7989908894419914, 0.6243783177767882, 0.8232756883672888, 0.8488887651089522, 0.8384992371214497, 0.8519480059198906, 0.7831166651205875, 0.5577571563682566, 0.8218476064704953, 0.8313338523020324, 0.6594801405469657, 0.6474056273027337, 0.3981809530462702, 0.809905767691944, 0.8229886101748827, 0.6998945154856279, 0.6801633487131082, 0.7199471236039422, 0.8709794172039836, 0.7550393017549778, 0.7979057744450707, 0.5570907903876011, 0.8613260636166951, 0.8750279987141839, 0.637554677962075, 0.4865036425882036, 0.871475995481361, 0.713700195294408, 0.7377275022395325, 0.7688473283260597, 0.7946677843447492, 0.7718711580250321, 0.8638744961905457, 0.6330197708725919, 0.8008109760510854, 0.7610905929907512, 0.7985021201053065, 0.8401035684941575, 0.6744322566263473, 0.8117415050623658, 0.8370622633138941, 0.7830359755510586, 0.6048313431432558, 0.7712845122426774, 0.7730015949320409, 0.4255169292482724, 0.8400209088421842, 0.7074997426773978, 0.7447855641208133, 0.5569117837970633, 0.8457429580060902, 0.5644504752020277, 0.6728360617296842, 0.8663922355142285, 0.6504133499120425, 0.6038001823006217, 0.6432618258103493, 0.7093978666573618, 0.8124498398026316, 0.691748278570103, 0.7838369921402781, 0.719367739614214, 0.8112454271288722, 0.7208192631770938, 0.35683442356351003, 0.7135376533362017, 0.6871430135676656, 0.8351344315483398, 0.7354893987230178, 0.6581097988917913, 0.4393308025363989, 0.8522021964882596, 0.7101256771732417, 0.8028732739555453, 0.8646665836310344, 0.5659810825150379, 0.7459565265710082, 0.6567522812517104, 0.719451256641053, 0.7011923688942224, 0.7590690237044574, 0.6050841245867196, 0.676566531475853, 0.7205333007733601, 0.798420919624373, 0.6993518290241473, 0.8216948913643068, 0.7483643069371599, 0.7265833452962845, 0.7905984109974376, 0.844521569042605, 0.7059883800624754, 0.7745932440335713, 0.708254656245734, 0.8631907239184595, 0.7670308640683043, 0.6844854461863885, 0.6437199919126922, 0.7368604588280725, 0.8348627928971266, 0.7712833930680323, 0.8517483436396129, 0.7891150327445193, 0.6498668540492829, 0.779197352273775, 0.5802950746023128, 0.7719245842631927, 0.8162032026902432, 0.7329768657321059, 0.7998038436307034, 0.6105526643794581, 0.6253748567986285, 0.8409022995641685, 0.6583474563935627, 0.7212163857447192, 0.5991737349848412, 0.7782274424181795, 0.6341736346801142, 0.8532553157290333, 0.6927215563059157, 0.7667792581278989, 0.7684810009251157, 0.830553810327416, 0.6869681876626407, 0.8189108694240632, 0.8342591595682494, 0.7296444161966337, 0.7006199488363091, 0.4662022725554207, 0.767338961562969, 0.7953365234701829, 0.8086267857656098, 0.6427869260318405, 0.5850316792580426, 0.746003267737182, 0.8195433439814174, 0.8441674653984409, 0.657552627971555, 0.8413323476817327, 0.4882414386379404, 0.7547189334852007, 0.7684313373566635, 0.8066948291805207, 0.7743400553085117, 0.8556197404194715, 0.8580510824013137, 0.7909506372157816, 0.7375709086545026, 0.718234808152918, 0.8394657201575282, 0.7197938935396172, 0.7399557017784555, 0.48538206930334615, 0.7720694867428708, 0.7769431088181186, 0.8654547555939943, 0.8633582556448561, 0.7594554430474983, 0.8454933454420216 ], "colorbar": { "title": { "text": "Sharpe
Ratio" } }, "colorscale": [ [ 0, "rgb(103,0,31)" ], [ 0.1, "rgb(178,24,43)" ], [ 0.2, "rgb(214,96,77)" ], [ 0.3, "rgb(244,165,130)" ], [ 0.4, "rgb(253,219,199)" ], [ 0.5, "rgb(247,247,247)" ], [ 0.6, "rgb(209,229,240)" ], [ 0.7, "rgb(146,197,222)" ], [ 0.8, "rgb(67,147,195)" ], [ 0.9, "rgb(33,102,172)" ], [ 1, "rgb(5,48,97)" ] ], "line": { "width": 1 }, "showscale": true, "size": 7 }, "mode": "markers", "text": [ "['MSFT' 'JPM' 'AMGN' 'TGT' 'WMT']
[0.25 0.23 0.05 0.26 0.21]", "['TGT' 'WMT' 'AAPL' 'MSFT' 'JPM']
[0.48 0.02 0.31 0.09 0.1 ]", "['JPM' 'AMGN' 'AAPL' 'WMT' 'MSFT']
[0.32 0.1 0.22 0.18 0.18]", "['MSFT' 'WMT' 'AAPL' 'TGT' 'AMGN']
[0.27 0.15 0.26 0.18 0.15]", "['MSFT' 'JPM' 'TGT' 'AMGN' 'AAPL']
[0.33 0.13 0.04 0.15 0.35]", "['TGT' 'MSFT' 'JPM' 'AMGN' 'AAPL']
[0.25 0.18 0.16 0.16 0.25]", "['AMGN' 'AAPL' 'TGT' 'JPM' 'MSFT']
[0.2 0.3 0.25 0.15 0.09]", "['TGT' 'AMGN' 'WMT' 'JPM' 'MSFT']
[0.06 0.36 0.17 0.2 0.21]", "['WMT' 'TGT' 'AMGN' 'JPM' 'AAPL']
[0.2 0.33 0.07 0.05 0.34]", "['WMT' 'JPM' 'TGT' 'AAPL' 'AMGN']
[0.33 0.17 0.32 0.06 0.12]", "['MSFT' 'AMGN' 'TGT' 'WMT' 'JPM']
[0.08 0.15 0.34 0.3 0.14]", "['AMGN' 'AAPL' 'JPM' 'MSFT' 'WMT']
[0.21 0.12 0.07 0.32 0.29]", "['AAPL' 'MSFT' 'WMT' 'AMGN' 'TGT']
[0.16 0.14 0.29 0.22 0.2 ]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'JPM']
[0.07 0.06 0.48 0.36 0.03]", "['WMT' 'MSFT' 'AMGN' 'AAPL' 'TGT']
[0.06 0.03 0.31 0.44 0.16]", "['MSFT' 'WMT' 'AMGN' 'AAPL' 'TGT']
[0.24 0.13 0.21 0.3 0.12]", "['JPM' 'AAPL' 'TGT' 'WMT' 'AMGN']
[0.03 0.38 0. 0.22 0.37]", "['AAPL' 'TGT' 'AMGN' 'JPM' 'WMT']
[0.13 0.17 0.27 0.2 0.23]", "['WMT' 'AAPL' 'AMGN' 'MSFT' 'TGT']
[0.07 0.28 0.37 0.21 0.07]", "['AAPL' 'JPM' 'AMGN' 'TGT' 'MSFT']
[0.39 0.14 0.2 0.15 0.12]", "['MSFT' 'TGT' 'AMGN' 'WMT' 'AAPL']
[0.08 0.17 0.19 0.24 0.32]", "['AAPL' 'AMGN' 'JPM' 'MSFT' 'WMT']
[0.34 0.12 0.1 0.13 0.31]", "['MSFT' 'AMGN' 'WMT' 'TGT' 'AAPL']
[0.24 0.28 0.03 0.15 0.3 ]", "['AMGN' 'AAPL' 'WMT' 'MSFT' 'TGT']
[0.14 0.19 0.29 0.18 0.21]", "['WMT' 'MSFT' 'JPM' 'TGT' 'AAPL']
[0.37 0.1 0.14 0.04 0.36]", "['AAPL' 'JPM' 'AMGN' 'MSFT' 'WMT']
[0.23 0.08 0.25 0.24 0.21]", "['AMGN' 'JPM' 'MSFT' 'WMT' 'AAPL']
[0.23 0.11 0.13 0.26 0.27]", "['TGT' 'AAPL' 'MSFT' 'AMGN' 'WMT']
[0.3 0.19 0.07 0.2 0.24]", "['TGT' 'WMT' 'MSFT' 'AMGN' 'JPM']
[0.01 0.36 0.27 0.31 0.06]", "['AMGN' 'TGT' 'AAPL' 'MSFT' 'WMT']
[0.22 0.02 0.46 0.14 0.17]", "['TGT' 'WMT' 'AAPL' 'JPM' 'AMGN']
[0.25 0.05 0.54 0.04 0.12]", "['AAPL' 'TGT' 'AMGN' 'JPM' 'WMT']
[0.28 0.26 0.35 0.02 0.09]", "['WMT' 'MSFT' 'TGT' 'AAPL' 'AMGN']
[0.23 0.31 0.08 0.23 0.15]", "['AMGN' 'AAPL' 'TGT' 'JPM' 'WMT']
[0.27 0.31 0.33 0.02 0.08]", "['AMGN' 'TGT' 'MSFT' 'WMT' 'AAPL']
[0.3 0.08 0.1 0.22 0.31]", "['WMT' 'AAPL' 'AMGN' 'TGT' 'MSFT']
[0.47 0.26 0.04 0.14 0.09]", "['TGT' 'AAPL' 'MSFT' 'AMGN' 'WMT']
[0.1 0.36 0.06 0.15 0.33]", "['JPM' 'WMT' 'TGT' 'AAPL' 'AMGN']
[0.1 0.32 0.01 0.35 0.22]", "['WMT' 'TGT' 'JPM' 'AMGN' 'AAPL']
[0.08 0.01 0.12 0.11 0.67]", "['TGT' 'JPM' 'AAPL' 'WMT' 'AMGN']
[0.07 0.02 0.49 0.36 0.08]", "['MSFT' 'AAPL' 'AMGN' 'WMT' 'TGT']
[0.1 0.07 0.36 0.43 0.04]", "['WMT' 'AAPL' 'MSFT' 'AMGN' 'TGT']
[0.19 0.25 0.18 0.24 0.13]", "['AAPL' 'MSFT' 'AMGN' 'TGT' 'WMT']
[0.03 0.18 0.32 0.1 0.37]", "['AAPL' 'MSFT' 'TGT' 'WMT' 'AMGN']
[0.11 0.24 0.05 0.39 0.21]", "['AAPL' 'WMT' 'MSFT' 'TGT' 'AMGN']
[0.25 0.24 0.13 0.1 0.27]", "['JPM' 'AMGN' 'MSFT' 'TGT' 'AAPL']
[0.02 0.16 0.21 0. 0.61]", "['AMGN' 'TGT' 'MSFT' 'WMT' 'AAPL']
[0.19 0.08 0.24 0.3 0.18]", "['TGT' 'MSFT' 'AAPL' 'JPM' 'AMGN']
[0.16 0.17 0.3 0.06 0.31]", "['MSFT' 'AAPL' 'WMT' 'AMGN' 'TGT']
[0.17 0.47 0.02 0.17 0.17]", "['TGT' 'MSFT' 'AAPL' 'JPM' 'WMT']
[0.12 0.12 0.51 0.1 0.16]", "['AMGN' 'AAPL' 'TGT' 'WMT' 'MSFT']
[0.18 0.33 0.21 0.22 0.06]", "['AAPL' 'JPM' 'WMT' 'MSFT' 'AMGN']
[0.38 0.05 0.21 0.03 0.33]", "['WMT' 'JPM' 'AMGN' 'MSFT' 'AAPL']
[0.3 0.1 0.11 0.11 0.38]", "['JPM' 'TGT' 'AMGN' 'AAPL' 'WMT']
[0.01 0.21 0.25 0.29 0.24]", "['AAPL' 'WMT' 'JPM' 'AMGN' 'TGT']
[0.41 0.4 0.03 0.02 0.14]", "['AMGN' 'MSFT' 'TGT' 'AAPL' 'WMT']
[0.21 0.23 0.12 0.21 0.23]", "['WMT' 'AMGN' 'TGT' 'MSFT' 'AAPL']
[0.27 0.21 0.13 0.23 0.15]", "['TGT' 'AMGN' 'AAPL' 'MSFT' 'WMT']
[0.12 0.27 0.27 0.17 0.16]", "['AMGN' 'JPM' 'MSFT' 'TGT' 'AAPL']
[0.36 0.02 0.02 0.2 0.4 ]", "['AMGN' 'TGT' 'AAPL' 'WMT' 'JPM']
[0.24 0.2 0.35 0.1 0.11]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'MSFT']
[0.22 0.22 0.33 0.12 0.11]", "['AAPL' 'WMT' 'TGT' 'AMGN' 'MSFT']
[0.43 0.22 0.13 0.01 0.21]", "['WMT' 'TGT' 'AMGN' 'AAPL' 'MSFT']
[0.28 0.19 0.25 0.12 0.16]", "['AMGN' 'AAPL' 'MSFT' 'WMT' 'JPM']
[0.23 0.27 0.06 0.34 0.09]", "['WMT' 'AAPL' 'TGT' 'AMGN' 'JPM']
[0.12 0.33 0.12 0.31 0.12]", "['MSFT' 'AAPL' 'AMGN' 'JPM' 'WMT']
[0.13 0.28 0.24 0.04 0.31]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'JPM']
[0.04 0.33 0.28 0.3 0.04]", "['WMT' 'MSFT' 'AMGN' 'JPM' 'AAPL']
[0.39 0.17 0.17 0.1 0.16]", "['AMGN' 'AAPL' 'JPM' 'WMT' 'TGT']
[0.05 0.51 0.03 0.25 0.16]", "['TGT' 'AMGN' 'MSFT' 'WMT' 'AAPL']
[0.24 0.19 0.17 0.06 0.33]", "['JPM' 'AMGN' 'WMT' 'MSFT' 'AAPL']
[0.03 0.25 0.27 0.24 0.22]", "['JPM' 'TGT' 'AMGN' 'WMT' 'AAPL']
[0.22 0.08 0.22 0.04 0.44]", "['TGT' 'WMT' 'AMGN' 'MSFT' 'AAPL']
[0.1 0.23 0.23 0.15 0.3 ]", "['MSFT' 'AAPL' 'WMT' 'AMGN' 'TGT']
[0.05 0.28 0.2 0.28 0.19]", "['TGT' 'MSFT' 'AMGN' 'AAPL' 'WMT']
[0.08 0.22 0.2 0.12 0.37]", "['AMGN' 'JPM' 'TGT' 'WMT' 'AAPL']
[0.21 0.18 0.12 0.11 0.38]", "['MSFT' 'WMT' 'JPM' 'AMGN' 'AAPL']
[0.08 0.27 0.04 0.13 0.47]", "['WMT' 'TGT' 'MSFT' 'AMGN' 'AAPL']
[0.25 0.09 0.19 0.18 0.29]", "['TGT' 'WMT' 'AMGN' 'MSFT' 'AAPL']
[0.19 0.18 0.16 0.07 0.39]", "['MSFT' 'TGT' 'AMGN' 'AAPL' 'WMT']
[0.08 0.28 0.19 0.18 0.27]", "['AAPL' 'TGT' 'WMT' 'MSFT' 'JPM']
[0.54 0.21 0.01 0.06 0.18]", "['TGT' 'AAPL' 'JPM' 'AMGN' 'WMT']
[0.13 0.49 0.09 0.19 0.1 ]", "['AMGN' 'WMT' 'TGT' 'JPM' 'AAPL']
[0.24 0. 0.29 0.01 0.46]", "['AAPL' 'WMT' 'JPM' 'TGT' 'AMGN']
[0.55 0.13 0.04 0.2 0.08]", "['TGT' 'AAPL' 'WMT' 'AMGN' 'MSFT']
[0.17 0.37 0.14 0.16 0.16]", "['WMT' 'AMGN' 'AAPL' 'MSFT' 'JPM']
[0.43 0.17 0.15 0.25 0.01]", "['AAPL' 'TGT' 'AMGN' 'WMT' 'MSFT']
[0.44 0.21 0.16 0.18 0.02]", "['TGT' 'JPM' 'AMGN' 'AAPL' 'MSFT']
[0.03 0.11 0.31 0.48 0.07]", "['AMGN' 'TGT' 'JPM' 'AAPL' 'WMT']
[0.29 0.12 0.05 0.21 0.34]", "['WMT' 'AMGN' 'MSFT' 'TGT' 'AAPL']
[0.24 0.21 0.18 0.18 0.19]", "['AMGN' 'JPM' 'AAPL' 'MSFT' 'WMT']
[0.13 0.07 0.04 0.23 0.53]", "['WMT' 'AAPL' 'JPM' 'AMGN' 'TGT']
[0.18 0.4 0.01 0.32 0.1 ]", "['TGT' 'AMGN' 'JPM' 'AAPL' 'WMT']
[0.05 0.25 0.02 0.44 0.24]", "['MSFT' 'AMGN' 'WMT' 'AAPL' 'TGT']
[0.16 0.24 0.28 0.25 0.08]", "['WMT' 'AMGN' 'JPM' 'AAPL' 'MSFT']
[0.38 0.2 0.01 0.26 0.16]", "['AMGN' 'JPM' 'TGT' 'AAPL' 'WMT']
[0.21 0.01 0.19 0.28 0.31]", "['JPM' 'AAPL' 'WMT' 'TGT' 'AMGN']
[0.08 0.59 0.05 0.06 0.22]", "['TGT' 'MSFT' 'AAPL' 'AMGN' 'WMT']
[0.22 0.03 0.32 0.18 0.24]", "['JPM' 'AAPL' 'TGT' 'AMGN' 'WMT']
[0.06 0.39 0.05 0.22 0.27]", "['WMT' 'AMGN' 'MSFT' 'AAPL' 'TGT']
[0.31 0.23 0.25 0.12 0.08]", "['MSFT' 'AMGN' 'JPM' 'AAPL' 'TGT']
[0.02 0.19 0.15 0.58 0.07]", "['AMGN' 'AAPL' 'JPM' 'TGT' 'MSFT']
[0.32 0.65 0.02 0.01 0.01]", "['MSFT' 'WMT' 'TGT' 'AAPL' 'AMGN']
[0.09 0.47 0.02 0.22 0.2 ]", "['MSFT' 'AAPL' 'WMT' 'TGT' 'AMGN']
[0.18 0.07 0.37 0.13 0.25]", "['JPM' 'MSFT' 'TGT' 'WMT' 'AAPL']
[0.02 0.02 0.16 0.06 0.74]", "['MSFT' 'WMT' 'TGT' 'AAPL' 'AMGN']
[0.1 0.3 0.18 0.28 0.14]", "['MSFT' 'TGT' 'AAPL' 'WMT' 'AMGN']
[0.13 0.01 0.32 0.33 0.21]", "['MSFT' 'AAPL' 'WMT' 'AMGN' 'TGT']
[0.11 0.34 0.2 0.29 0.07]", "['WMT' 'MSFT' 'AMGN' 'TGT' 'AAPL']
[0.18 0.11 0.15 0.18 0.39]", "['WMT' 'MSFT' 'TGT' 'AMGN' 'AAPL']
[0.13 0.03 0.26 0.25 0.33]", "['JPM' 'AMGN' 'MSFT' 'TGT' 'AAPL']
[0.12 0.2 0.05 0.01 0.62]", "['TGT' 'WMT' 'AMGN' 'AAPL' 'MSFT']
[0.2 0.27 0.17 0.19 0.18]", "['AMGN' 'JPM' 'TGT' 'WMT' 'AAPL']
[0.24 0.03 0.12 0.23 0.38]", "['MSFT' 'AMGN' 'WMT' 'AAPL' 'TGT']
[0.1 0.17 0.32 0.35 0.07]", "['WMT' 'AMGN' 'JPM' 'TGT' 'AAPL']
[0.33 0.12 0.05 0.09 0.42]", "['JPM' 'AAPL' 'AMGN' 'WMT' 'MSFT']
[0. 0.52 0.27 0.09 0.12]", "['AMGN' 'AAPL' 'WMT' 'MSFT' 'TGT']
[0.2 0.23 0.3 0.16 0.11]", "['MSFT' 'AMGN' 'TGT' 'WMT' 'AAPL']
[0.05 0.27 0.05 0.21 0.41]", "['AMGN' 'TGT' 'WMT' 'JPM' 'AAPL']
[0.18 0.11 0.16 0.09 0.46]", "['MSFT' 'AAPL' 'WMT' 'AMGN' 'TGT']
[0.06 0.36 0.19 0.16 0.22]", "['TGT' 'AAPL' 'AMGN' 'MSFT' 'WMT']
[0.03 0.2 0.22 0.03 0.52]", "['WMT' 'TGT' 'AAPL' 'AMGN' 'MSFT']
[0.19 0.16 0.34 0.18 0.13]", "['WMT' 'AMGN' 'TGT' 'AAPL' 'JPM']
[0.23 0.19 0.11 0.34 0.12]", "['AAPL' 'WMT' 'MSFT' 'AMGN' 'TGT']
[0.06 0.52 0.23 0.11 0.08]", "['AMGN' 'AAPL' 'WMT' 'MSFT' 'JPM']
[0.16 0.52 0.24 0.04 0.04]", "['AAPL' 'WMT' 'TGT' 'MSFT' 'AMGN']
[0.27 0.36 0.07 0.01 0.28]", "['MSFT' 'WMT' 'AAPL' 'AMGN' 'TGT']
[0.1 0.24 0.31 0.16 0.18]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'MSFT']
[0.09 0.2 0.14 0.47 0.1 ]", "['WMT' 'MSFT' 'AMGN' 'JPM' 'AAPL']
[0.11 0.14 0.12 0.05 0.58]", "['WMT' 'AAPL' 'MSFT' 'AMGN' 'JPM']
[0.46 0.17 0.23 0.11 0.04]", "['WMT' 'JPM' 'MSFT' 'AAPL' 'AMGN']
[0.42 0.05 0.1 0.24 0.19]", "['MSFT' 'AMGN' 'AAPL' 'WMT' 'JPM']
[0.08 0.18 0.64 0.08 0.03]", "['TGT' 'AAPL' 'AMGN' 'MSFT' 'WMT']
[0.17 0.19 0.26 0.11 0.26]", "['AAPL' 'AMGN' 'MSFT' 'WMT' 'TGT']
[0.15 0.26 0.11 0.3 0.18]", "['AAPL' 'TGT' 'MSFT' 'AMGN' 'WMT']
[0.21 0.06 0.21 0.18 0.34]", "['TGT' 'MSFT' 'AAPL' 'AMGN' 'WMT']
[0.05 0.06 0.27 0.27 0.36]", "['WMT' 'TGT' 'AAPL' 'JPM' 'AMGN']
[0.2 0. 0.43 0.15 0.22]", "['WMT' 'AAPL' 'MSFT' 'TGT' 'AMGN']
[0.28 0.25 0.17 0.05 0.24]", "['AMGN' 'AAPL' 'MSFT' 'TGT' 'WMT']
[0.26 0.35 0.08 0.15 0.15]", "['AAPL' 'MSFT' 'JPM' 'WMT' 'AMGN']
[0.27 0.08 0.09 0.29 0.27]", "['WMT' 'AAPL' 'AMGN' 'TGT' 'MSFT']
[0.16 0.4 0.33 0.11 0. ]", "['AAPL' 'AMGN' 'WMT' 'MSFT' 'TGT']
[0.29 0.15 0.32 0.04 0.19]", "['WMT' 'TGT' 'AMGN' 'AAPL' 'MSFT']
[0.54 0.03 0.19 0.01 0.24]", "['TGT' 'AMGN' 'WMT' 'MSFT' 'AAPL']
[0.15 0.24 0.31 0.04 0.27]", "['AMGN' 'AAPL' 'MSFT' 'WMT' 'TGT']
[0.14 0.26 0.18 0.32 0.11]", "['MSFT' 'AAPL' 'TGT' 'AMGN' 'WMT']
[0.04 0.46 0.13 0.21 0.16]", "['AMGN' 'WMT' 'TGT' 'AAPL' 'MSFT']
[0.28 0.3 0.07 0.29 0.06]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'MSFT']
[0.15 0.18 0.22 0.35 0.1 ]", "['MSFT' 'TGT' 'AMGN' 'WMT' 'AAPL']
[0.11 0.01 0.16 0.63 0.09]", "['MSFT' 'TGT' 'AMGN' 'JPM' 'AAPL']
[0.03 0.17 0.28 0.01 0.5 ]", "['AMGN' 'AAPL' 'MSFT' 'WMT' 'TGT']
[0.18 0.26 0.14 0.23 0.18]", "['MSFT' 'AMGN' 'JPM' 'AAPL' 'WMT']
[0.04 0.22 0.04 0.41 0.29]", "['WMT' 'AMGN' 'TGT' 'JPM' 'AAPL']
[0. 0.05 0.29 0.02 0.64]", "['TGT' 'WMT' 'AMGN' 'AAPL' 'MSFT']
[0.19 0.29 0.26 0.12 0.13]", "['MSFT' 'JPM' 'WMT' 'AMGN' 'AAPL']
[0.05 0.06 0.32 0.26 0.31]", "['AAPL' 'MSFT' 'AMGN' 'JPM' 'WMT']
[0.22 0.08 0.2 0.09 0.41]", "['WMT' 'MSFT' 'AAPL' 'TGT' 'AMGN']
[0.35 0.11 0.29 0.04 0.22]", "['AAPL' 'WMT' 'TGT' 'MSFT' 'AMGN']
[0.25 0.27 0.12 0.12 0.24]", "['AMGN' 'AAPL' 'WMT' 'TGT' 'JPM']
[0.25 0.32 0.29 0.11 0.02]", "['AMGN' 'WMT' 'MSFT' 'JPM' 'AAPL']
[0.25 0.42 0.13 0.03 0.17]", "['AMGN' 'AAPL' 'WMT' 'MSFT' 'TGT']
[0.13 0.26 0.4 0.14 0.07]", "['AMGN' 'WMT' 'MSFT' 'AAPL' 'TGT']
[0.25 0.26 0.15 0.28 0.06]", "['WMT' 'TGT' 'JPM' 'AAPL' 'AMGN']
[0.32 0.03 0.08 0.41 0.16]", "['AMGN' 'WMT' 'TGT' 'AAPL' 'MSFT']
[0.21 0.29 0.17 0.25 0.08]", "['AMGN' 'TGT' 'WMT' 'JPM' 'AAPL']
[0.17 0.18 0.21 0. 0.44]", "['AAPL' 'MSFT' 'WMT' 'TGT' 'AMGN']
[0.32 0.13 0.28 0.08 0.19]", "['JPM' 'WMT' 'AMGN' 'MSFT' 'AAPL']
[0.02 0.44 0.22 0.01 0.31]", "['TGT' 'JPM' 'AMGN' 'WMT' 'AAPL']
[0.06 0.09 0.23 0.25 0.37]", "['JPM' 'WMT' 'AAPL' 'MSFT' 'AMGN']
[0.05 0.08 0.51 0.05 0.31]", "['AAPL' 'TGT' 'WMT' 'AMGN' 'MSFT']
[0.26 0.07 0.3 0.27 0.09]", "['JPM' 'WMT' 'TGT' 'AAPL' 'AMGN']
[0.03 0.3 0. 0.36 0.31]", "['AMGN' 'WMT' 'TGT' 'MSFT' 'AAPL']
[0.23 0.34 0.07 0.1 0.27]", "['WMT' 'AMGN' 'MSFT' 'JPM' 'AAPL']
[0.04 0.09 0.01 0.18 0.69]", "['WMT' 'AMGN' 'AAPL' 'TGT' 'JPM']
[0.33 0.25 0.34 0.06 0.01]", "['WMT' 'AMGN' 'TGT' 'MSFT' 'AAPL']
[0.4 0.22 0.02 0.11 0.26]", "['WMT' 'JPM' 'AMGN' 'AAPL' 'MSFT']
[0.44 0.02 0.14 0.23 0.17]", "['WMT' 'AMGN' 'MSFT' 'JPM' 'AAPL']
[0.34 0.17 0.13 0.04 0.32]", "['TGT' 'WMT' 'JPM' 'AMGN' 'AAPL']
[0.21 0.04 0.04 0.27 0.44]", "['AMGN' 'WMT' 'MSFT' 'AAPL' 'TGT']
[0.17 0.24 0.14 0.36 0.09]", "['JPM' 'TGT' 'AMGN' 'MSFT' 'AAPL']
[0.01 0.26 0.1 0.07 0.55]", "['TGT' 'WMT' 'AMGN' 'AAPL' 'MSFT']
[0.06 0.32 0.2 0.39 0.03]", "['AMGN' 'WMT' 'AAPL' 'TGT' 'MSFT']
[0.13 0.39 0.23 0.12 0.13]", "['AAPL' 'AMGN' 'MSFT' 'TGT' 'WMT']
[0.36 0.19 0.13 0.12 0.2 ]", "['MSFT' 'AAPL' 'TGT' 'WMT' 'AMGN']
[0.22 0.16 0.03 0.39 0.2 ]", "['TGT' 'JPM' 'WMT' 'AMGN' 'AAPL']
[0.03 0.05 0.27 0.3 0.34]", "['MSFT' 'WMT' 'AAPL' 'AMGN' 'TGT']
[0.01 0.19 0.42 0.19 0.19]", "['WMT' 'AAPL' 'TGT' 'MSFT' 'AMGN']
[0.23 0.3 0.13 0.16 0.18]", "['WMT' 'AMGN' 'MSFT' 'AAPL' 'TGT']
[0.28 0.2 0.04 0.4 0.07]", "['TGT' 'AMGN' 'AAPL' 'WMT' 'MSFT']
[0.18 0.18 0.18 0.38 0.09]", "['AMGN' 'AAPL' 'TGT' 'MSFT' 'WMT']
[0.24 0.2 0.02 0.13 0.41]", "['WMT' 'MSFT' 'AMGN' 'TGT' 'AAPL']
[0.23 0.03 0.17 0.08 0.5 ]", "['WMT' 'TGT' 'AAPL' 'MSFT' 'AMGN']
[0.33 0.09 0.21 0.15 0.22]", "['WMT' 'MSFT' 'AMGN' 'AAPL' 'TGT']
[0.33 0.12 0.22 0.29 0.05]", "['WMT' 'AMGN' 'AAPL' 'MSFT' 'TGT']
[0.37 0.21 0.17 0.19 0.06]", "['AMGN' 'AAPL' 'WMT' 'TGT' 'MSFT']
[0.28 0.35 0.27 0.08 0.02]", "['TGT' 'AAPL' 'WMT' 'MSFT' 'AMGN']
[0.06 0.2 0.38 0.18 0.18]", "['AMGN' 'TGT' 'AAPL' 'WMT' 'MSFT']
[0.11 0.08 0.56 0.21 0.03]", "['TGT' 'AMGN' 'MSFT' 'AAPL' 'WMT']
[0.17 0.19 0.13 0.24 0.27]", "['JPM' 'AMGN' 'WMT' 'TGT' 'AAPL']
[0.09 0.2 0.33 0.03 0.35]", "['JPM' 'AMGN' 'AAPL' 'TGT' 'WMT']
[0.08 0.23 0.33 0.11 0.25]", "['WMT' 'AAPL' 'AMGN' 'MSFT' 'TGT']
[0.12 0.49 0.09 0.08 0.22]", "['WMT' 'MSFT' 'TGT' 'AMGN' 'AAPL']
[0.34 0.02 0.12 0.28 0.24]", "['MSFT' 'WMT' 'JPM' 'AAPL' 'AMGN']
[0.05 0.31 0.04 0.47 0.13]", "['AMGN' 'JPM' 'WMT' 'TGT' 'AAPL']
[0.23 0.09 0.13 0.09 0.45]", "['JPM' 'MSFT' 'AAPL' 'AMGN' 'WMT']
[0.02 0.08 0.3 0.25 0.35]", "['TGT' 'AAPL' 'MSFT' 'AMGN' 'WMT']
[0.1 0.27 0.05 0.18 0.4 ]", "['TGT' 'AMGN' 'AAPL' 'MSFT' 'WMT']
[0.06 0.28 0.06 0.12 0.48]", "['AMGN' 'AAPL' 'JPM' 'TGT' 'WMT']
[0.19 0.34 0.1 0.06 0.31]", "['TGT' 'AMGN' 'MSFT' 'AAPL' 'WMT']
[0.09 0.2 0.03 0.39 0.29]", "['AAPL' 'WMT' 'JPM' 'AMGN' 'TGT']
[0.4 0.24 0.02 0.27 0.07]", "['WMT' 'JPM' 'MSFT' 'AMGN' 'AAPL']
[0.4 0.03 0.11 0.24 0.21]", "['MSFT' 'TGT' 'WMT' 'AAPL' 'AMGN']
[0.15 0.12 0.34 0.14 0.25]", "['TGT' 'MSFT' 'WMT' 'AAPL' 'AMGN']
[0.11 0.1 0.24 0.3 0.24]", "['AAPL' 'WMT' 'JPM' 'AMGN' 'TGT']
[0.43 0.26 0.02 0.21 0.08]", "['AMGN' 'AAPL' 'MSFT' 'JPM' 'TGT']
[0.25 0.54 0.15 0.02 0.05]", "['WMT' 'TGT' 'AMGN' 'AAPL' 'MSFT']
[0.44 0.02 0.14 0.25 0.16]", "['AMGN' 'AAPL' 'MSFT' 'TGT' 'WMT']
[0.2 0.48 0.06 0.15 0.11]", "['JPM' 'WMT' 'AAPL' 'AMGN' 'MSFT']
[0.01 0.52 0.11 0.12 0.24]", "['AAPL' 'TGT' 'AMGN' 'WMT' 'JPM']
[0.33 0.04 0.24 0.36 0.04]", "['WMT' 'JPM' 'AAPL' 'AMGN' 'TGT']
[0.29 0.03 0.33 0.25 0.1 ]", "['TGT' 'AMGN' 'WMT' 'AAPL' 'MSFT']
[0.02 0.29 0.28 0.42 0. ]", "['AMGN' 'WMT' 'AAPL' 'MSFT' 'TGT']
[0.24 0.3 0.36 0.06 0.05]", "['AAPL' 'WMT' 'AMGN' 'TGT' 'JPM']
[0.58 0.13 0.06 0.13 0.1 ]", "['JPM' 'AAPL' 'AMGN' 'WMT' 'MSFT']
[0.04 0.56 0.21 0.15 0.03]", "['AAPL' 'MSFT' 'WMT' 'TGT' 'AMGN']
[0.38 0.04 0.27 0.12 0.17]", "['AAPL' 'AMGN' 'WMT' 'TGT' 'MSFT']
[0.32 0.2 0.37 0.03 0.09]", "['AAPL' 'MSFT' 'AMGN' 'TGT' 'WMT']
[0.27 0.11 0.21 0.14 0.27]", "['TGT' 'JPM' 'AAPL' 'AMGN' 'WMT']
[0.12 0.08 0.47 0.17 0.15]", "['MSFT' 'AAPL' 'WMT' 'TGT' 'AMGN']
[0.09 0.27 0.29 0.12 0.23]", "['AAPL' 'WMT' 'MSFT' 'TGT' 'AMGN']
[0.29 0.25 0.09 0.09 0.27]", "['TGT' 'AAPL' 'MSFT' 'WMT' 'AMGN']
[0.05 0.07 0.22 0.4 0.25]", "['MSFT' 'TGT' 'AAPL' 'AMGN' 'WMT']
[0.03 0.13 0.34 0.24 0.26]", "['WMT' 'AAPL' 'MSFT' 'TGT' 'AMGN']
[0.25 0.35 0.02 0.16 0.22]", "['MSFT' 'WMT' 'AAPL' 'AMGN' 'TGT']
[0.01 0.19 0.59 0.18 0.04]", "['AAPL' 'MSFT' 'WMT' 'AMGN' 'TGT']
[0.57 0.06 0.06 0.25 0.05]", "['AMGN' 'WMT' 'TGT' 'AAPL' 'MSFT']
[0.13 0.33 0.12 0.35 0.07]", "['JPM' 'WMT' 'AAPL' 'AMGN' 'MSFT']
[0. 0.15 0.53 0.24 0.08]" ], "type": "scatter", "x": [ 0.2335388552213897, 0.26465140266515236, 0.24719616700975017, 0.22922991543393414, 0.2629475983822096, 0.24549414576350048, 0.2501888055624167, 0.22858307157191915, 0.24614396240236827, 0.2283038276167712, 0.22565102039999754, 0.21530032513483902, 0.21192791817703308, 0.2559600680141021, 0.26236865659816705, 0.23436034632978936, 0.24875801065865727, 0.2257072198752328, 0.24311096791047265, 0.26169492228966723, 0.22959809698808556, 0.23479145513477326, 0.24330649101055815, 0.21499236395904525, 0.2418367688847174, 0.2268914423583242, 0.22792866147810453, 0.22072010002437453, 0.21192390313781787, 0.2593539054235127, 0.28361957510107433, 0.23954738110928792, 0.22362436173381628, 0.2433403617042806, 0.2311403379517426, 0.2203952645793178, 0.2327502461261146, 0.2357397508850377, 0.3163986856766278, 0.25734602423257075, 0.21048366225244175, 0.22392181308285858, 0.20839047504866934, 0.20652803571696882, 0.22166264095288774, 0.3063843253634381, 0.21331488918132063, 0.2464332161878995, 0.26950805003492245, 0.2761777784377556, 0.23250458865586576, 0.24694729315217237, 0.24070582059699908, 0.22875882959191818, 0.24529097178696319, 0.21858220580198306, 0.21189880500805597, 0.22779793501326168, 0.2621289360497669, 0.2469313938867535, 0.23882182608482797, 0.2542060695537455, 0.21098535882049285, 0.2237193058128383, 0.24467775503693487, 0.2243852104490884, 0.22813956148353792, 0.21146560835468245, 0.2676883992828039, 0.24285402235479628, 0.22073151326899051, 0.27403118980176283, 0.22712953201518674, 0.22893300473753506, 0.20683148447338795, 0.25465522258560175, 0.2575074136352792, 0.2251855391674802, 0.24448736915837696, 0.21819392853638636, 0.2971865121794513, 0.27089917013960846, 0.2702498692152257, 0.28122931861388795, 0.24316147875722324, 0.20860379064461365, 0.25352752760984437, 0.2807839017433615, 0.21711733908200556, 0.21588517061229698, 0.20625046416796944, 0.2485802599416505, 0.2511300035669466, 0.2202340596838657, 0.21743437532233237, 0.2245291770761212, 0.2953973720332659, 0.23196035725335856, 0.24122930419269356, 0.20989540079236962, 0.2997908599962026, 0.3165375157247921, 0.21187503001363356, 0.20642923913660474, 0.3326916661224579, 0.22336055643055128, 0.22684389097201116, 0.2366484635360433, 0.243946462125086, 0.23984390541082268, 0.30873147182611754, 0.2150058112960411, 0.2412245591715416, 0.23043991449208853, 0.24420089214909954, 0.27970089673490117, 0.21588194480978953, 0.24813891655795972, 0.2615358524898368, 0.23986503455490157, 0.21130455100025688, 0.23589882880207166, 0.23822258417460093, 0.205418337516348, 0.26775046024153165, 0.22128693451529577, 0.2286068197592895, 0.20656195783722056, 0.29242326500835936, 0.2098385336333841, 0.2157370492149217, 0.3054509704809116, 0.21547677626574407, 0.21172370040074845, 0.21366735260430594, 0.22055168694307872, 0.25662928189885137, 0.21978010552530386, 0.23902946790495017, 0.22632306752022865, 0.25025994130910645, 0.22483683318970468, 0.2052564309874528, 0.22120807024358635, 0.2189233653170485, 0.25725440843603165, 0.2253764441506961, 0.21401491808599835, 0.20631632346157164, 0.27665614182542825, 0.22304007114670096, 0.24488878747119644, 0.3093641725275374, 0.21073070702353444, 0.22897100200168427, 0.21518504940947167, 0.22182231590896354, 0.2194490048840473, 0.22978621369851365, 0.2098531641291884, 0.2166007809985838, 0.22420187317185097, 0.2438111518572588, 0.21941076871223084, 0.2515883471747347, 0.22771597320719725, 0.2250536903193047, 0.2404655881784396, 0.27961535002034316, 0.22037636828055462, 0.23788756020162174, 0.2194263089906735, 0.32852538720689634, 0.23185435181320077, 0.21666170782734662, 0.2139635059930509, 0.22764819220804794, 0.26354053387017773, 0.23542216419196188, 0.28904956994872416, 0.23759085353737608, 0.21370890508512932, 0.2373582781235768, 0.20860529075025966, 0.23634210848036363, 0.2487840042070798, 0.22673877007612103, 0.24085156334154484, 0.21110832898014983, 0.21093347042001004, 0.2619208366584964, 0.21363487919715463, 0.2221326071086147, 0.20900102994154363, 0.23549139973071911, 0.21144926676287853, 0.27797158775045927, 0.21908057090768385, 0.23386206090858716, 0.2336175812766031, 0.26683079702938367, 0.21885650716882157, 0.25613683187341674, 0.2607160347636821, 0.2249010404507204, 0.21880011623115145, 0.20604565023965293, 0.23413815806205002, 0.23899449153267516, 0.24506642214545798, 0.21278838671017497, 0.20877385440704901, 0.2273182681177326, 0.2483966835754641, 0.2882390635783756, 0.21511825101707557, 0.26337107793179043, 0.20612982037723324, 0.2293112032171437, 0.23188511246960858, 0.2471677775249604, 0.23365131418764268, 0.29002177856538514, 0.2828999791289427, 0.23817290062258692, 0.22533285219225005, 0.22180772472372792, 0.2631204317348862, 0.2215103718774465, 0.2267003378092748, 0.20572881495492248, 0.2325566520815572, 0.23423591344453257, 0.28568900760823235, 0.28955730686070913, 0.2315359280147367, 0.27483351065692974 ], "y": [ 0.09291024467134401, 0.18213561733040792, 0.1549382352236489, 0.15842345768503058, 0.19211246116071795, 0.1711270122192306, 0.18680308907427656, 0.1008334890020818, 0.1827444103775041, 0.10563465363851307, 0.09126366989832553, 0.11609030707962997, 0.12796271112836433, 0.20710662037109895, 0.21856735040887787, 0.170927565211527, 0.1962507941609199, 0.1338487996941084, 0.17422906896063725, 0.2087097699592523, 0.17321116319807217, 0.17562242810153011, 0.17952374243417374, 0.13394183353473055, 0.17673898261635995, 0.15288317381807257, 0.16334529859451646, 0.14016782840866077, 0.08502821976441766, 0.21229848181121205, 0.2426677134663264, 0.17692037236484218, 0.14546829995736513, 0.18297079041309366, 0.1736298476210386, 0.14278981592870607, 0.17924487845929188, 0.1815584317764973, 0.27547185838839794, 0.20975976528126378, 0.10113133738045614, 0.15759207214343313, 0.09372580906649002, 0.10835417045818953, 0.15615085493674585, 0.25779543609312217, 0.1323878636749461, 0.18433331602956715, 0.22250124807791405, 0.22527347477132176, 0.17669270541489002, 0.1957586368995649, 0.18512961157505262, 0.1686285759196674, 0.18747943194511102, 0.14373770077772566, 0.12576550997920574, 0.16364880710575258, 0.21346760689960892, 0.1943548328060609, 0.18443772392918098, 0.19631198720977916, 0.12077688699303679, 0.15978724979310432, 0.18911608325837465, 0.16159350095969885, 0.16616373613689375, 0.12509305469320917, 0.22180290275440495, 0.1852678822418481, 0.144283460850737, 0.2231130843171661, 0.16757626098247896, 0.16932439912360425, 0.11358293057083188, 0.202046572822918, 0.21099007591564897, 0.16194703994485546, 0.1953431805411841, 0.13623555804865767, 0.24466643038801145, 0.22996326200885214, 0.2266043091691383, 0.23959275719931142, 0.19042380633014724, 0.11635025707757884, 0.208360991740533, 0.23342516270070404, 0.14318457329298423, 0.1397652743056118, 0.08212500638863768, 0.20132658626110544, 0.2066771326087747, 0.15414061049587202, 0.1478908928445804, 0.16164913520111365, 0.25728503093712224, 0.17513918617541105, 0.1924782547807167, 0.11693079472614351, 0.2582176813487929, 0.27697918890262435, 0.13508191652854712, 0.10042857677666957, 0.2899328009224216, 0.1594124727455521, 0.16734897708507865, 0.18194653894215385, 0.19385639455568235, 0.18512859301469797, 0.26670524468195295, 0.13610292940289567, 0.19317527467765502, 0.17538565116952168, 0.19499493011266328, 0.2349777214580063, 0.14559774720295093, 0.201424657591303, 0.21892179262287154, 0.18782295133328575, 0.12780361539376797, 0.1819451131112247, 0.1841464375157989, 0.08740898019124159, 0.2249159849550045, 0.15656044922744194, 0.17026305921628754, 0.11503678840374029, 0.24731491713796866, 0.11844346002506033, 0.14515566656295098, 0.2646403491549476, 0.1401489718792503, 0.12783880889933413, 0.13744405135230953, 0.15645889620510237, 0.2084984189673862, 0.15203250966108453, 0.18736013915550728, 0.162809513504582, 0.20302223298055252, 0.16206672043487408, 0.0732425602341111, 0.15784028734063826, 0.15043166098433167, 0.2148420141525297, 0.16576198539472728, 0.14084531470141956, 0.09064111596273153, 0.2357669717355974, 0.15838648155981902, 0.19661466255200322, 0.2674968621572277, 0.1192695936803393, 0.17080241333865975, 0.14132327209093254, 0.15959034393173246, 0.15387596758612493, 0.17442359689287457, 0.12697881810886313, 0.1465448391151727, 0.16154491571608404, 0.19466392408055022, 0.15344532240649278, 0.20672885960026915, 0.17041450646772505, 0.16352026318347446, 0.19011171191343856, 0.2361411941275774, 0.15558315524644026, 0.18426609697180568, 0.15540970504545967, 0.28358006680871306, 0.17783944380927602, 0.14830178575370628, 0.137732586347458, 0.16774495136180345, 0.22002018614845636, 0.18157720560139576, 0.24619749243356825, 0.18748651416894482, 0.1388823338299898, 0.1849489418541533, 0.12105262275835907, 0.18243828383259109, 0.20305830101192146, 0.16619427303034778, 0.1926340061050314, 0.12889275273152564, 0.1319124888579515, 0.2202498338499006, 0.1406459793163928, 0.16020567605492683, 0.1252279277257533, 0.1832658697239147, 0.13409555005345974, 0.23718073486971883, 0.15176183403555926, 0.17932057756774797, 0.1795306726931485, 0.22161733518545598, 0.1503474580879411, 0.2097532356809848, 0.21750474004791592, 0.16409778836168137, 0.1532957262392478, 0.09605895039188556, 0.17966333106959975, 0.19008104802412193, 0.19816727323855973, 0.13677759298870792, 0.12213931862892997, 0.16958017083218538, 0.20357184869132985, 0.24332203972977737, 0.14145157128092267, 0.22158260730782184, 0.1006411200471606, 0.17306550672825083, 0.17818778708812164, 0.19938896806942688, 0.18092557155096567, 0.2481483588921083, 0.24274263330289833, 0.18838300751496614, 0.1661989565411486, 0.15931002861378196, 0.22088058271448596, 0.15944181303307572, 0.16774820755707484, 0.09985707791814546, 0.17954989501124824, 0.18198797878844686, 0.24725091025547352, 0.24999169136048416, 0.17584122079184555, 0.232369904364903 ] } ], "layout": { "coloraxis": { "colorbar": { "title": { "text": "Sharpe Ratio" } } }, "height": 500, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "title": { "text": "Sample of Random Portfolios" }, "width": 850, "xaxis": { "range": [ 0.18, 0.35 ], "title": { "text": "Annualised Risk (Volatility)" } }, "yaxis": { "range": [ 0.05, 0.29 ], "title": { "text": "Annualised Return" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#-- Plot the risk vs. return of randomly generated portfolios\n", "#-- Convert the list from before into an array for easy plotting\n", "mean_variance_pairs = np.array(mean_variance_pairs)\n", "\n", "risk_free_rate=0 #-- Include risk free rate here\n", "\n", "fig = go.Figure()\n", "fig.add_trace(go.Scatter(x=mean_variance_pairs[:,1]**0.5, y=mean_variance_pairs[:,0], \n", " marker=dict(color=(mean_variance_pairs[:,0]-risk_free_rate)/(mean_variance_pairs[:,1]**0.5), \n", " showscale=True, \n", " size=7,\n", " line=dict(width=1),\n", " colorscale=\"RdBu\",\n", " colorbar=dict(title=\"Sharpe
Ratio\")\n", " ), \n", " mode='markers',\n", " text=[str(np.array(tickers_list[i])) + \"
\" + str(np.array(weights_list[i]).round(2)) for i in range(len(tickers_list))]))\n", "fig.update_layout(template='plotly_white',\n", " xaxis=dict(title='Annualised Risk (Volatility)'),\n", " yaxis=dict(title='Annualised Return'),\n", " title='Sample of Random Portfolios',\n", " width=850,\n", " height=500)\n", "fig.update_xaxes(range=[0.18, 0.35])\n", "fig.update_yaxes(range=[0.05,0.29])\n", "fig.update_layout(coloraxis_colorbar=dict(title=\"Sharpe Ratio\"))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }