ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
003_quantitative_value_strategy.ipynb
(164224B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "# Quantitative Value Strategy\n",
8 "\"Value investing\" means investing in the stocks that are cheapest relative to common measures of business value (like earnings or assets).\n",
9 "\n",
10 "For this project, we're going to build an investing strategy that selects the 50 stocks with the best value metrics. From there, we will calculate recommended trades for an equal-weight portfolio of these 50 stocks.\n",
11 "\n",
12 "## Library Imports\n",
13 "The first thing we need to do is import the open-source software libraries that we'll be using in this tutorial."
14 ]
15 },
16 {
17 "cell_type": "code",
18 "execution_count": 1,
19 "metadata": {},
20 "outputs": [],
21 "source": []
22 },
23 {
24 "cell_type": "markdown",
25 "metadata": {},
26 "source": [
27 "## Importing Our List of Stocks & API Token\n",
28 "As before, we'll need to import our list of stocks and our API token before proceeding. Make sure the .csv file is still in your working directory and import it with the following command:"
29 ]
30 },
31 {
32 "cell_type": "code",
33 "execution_count": 2,
34 "metadata": {},
35 "outputs": [],
36 "source": []
37 },
38 {
39 "cell_type": "markdown",
40 "metadata": {},
41 "source": [
42 "## Making Our First API Call\n",
43 "It's now time to make the first version of our value screener!\n",
44 "\n",
45 "We'll start by building a simple value screener that ranks securities based on a single metric (the price-to-earnings ratio)."
46 ]
47 },
48 {
49 "cell_type": "code",
50 "execution_count": 3,
51 "metadata": {},
52 "outputs": [
53 {
54 "data": {
55 "text/plain": [
56 "{'symbol': 'AAPL',\n",
57 " 'companyName': 'Apple, Inc.',\n",
58 " 'primaryExchange': 'SDAANQ',\n",
59 " 'calculationPrice': 'iexlasttrade',\n",
60 " 'open': None,\n",
61 " 'openTime': None,\n",
62 " 'openSource': 'aiofflic',\n",
63 " 'close': None,\n",
64 " 'closeTime': None,\n",
65 " 'closeSource': 'oaliiffc',\n",
66 " 'high': 480.07,\n",
67 " 'highTime': 1652873090519,\n",
68 " 'highSource': 'upena5eey1 t d remicild',\n",
69 " 'low': 478.47,\n",
70 " 'lowTime': 1619803709637,\n",
71 " 'lowSource': 'eldp imuae 1 ycd5etenri',\n",
72 " 'latestPrice': 469.22,\n",
73 " 'latestSource': 'IEX Last Trade',\n",
74 " 'latestTime': 'August 13, 2020',\n",
75 " 'latestUpdate': 1603191198139,\n",
76 " 'latestVolume': 52742837,\n",
77 " 'iexRealtimePrice': 475.89,\n",
78 " 'iexRealtimeSize': 102,\n",
79 " 'iexLastUpdated': 1600007375509,\n",
80 " 'delayedPrice': None,\n",
81 " 'delayedPriceTime': None,\n",
82 " 'oddLotDelayedPrice': None,\n",
83 " 'oddLotDelayedPriceTime': None,\n",
84 " 'extendedPrice': None,\n",
85 " 'extendedChange': None,\n",
86 " 'extendedChangePercent': None,\n",
87 " 'extendedPriceTime': None,\n",
88 " 'previousClose': 469.6,\n",
89 " 'previousVolume': 43414053,\n",
90 " 'change': 7.8,\n",
91 " 'changePercent': 0.01767,\n",
92 " 'volume': 50996231,\n",
93 " 'iexMarketPercent': 0.007247011401180851,\n",
94 " 'iexVolume': 380031,\n",
95 " 'avgTotalVolume': 39506212,\n",
96 " 'iexBidPrice': 0,\n",
97 " 'iexBidSize': 0,\n",
98 " 'iexAskPrice': 0,\n",
99 " 'iexAskSize': 0,\n",
100 " 'iexOpen': None,\n",
101 " 'iexOpenTime': None,\n",
102 " 'iexClose': 469.68,\n",
103 " 'iexCloseTime': 1600343577441,\n",
104 " 'marketCap': 1997216376455,\n",
105 " 'peRatio': 34.91,\n",
106 " 'week52High': 471.42,\n",
107 " 'week52Low': 200.32,\n",
108 " 'ytdChange': 0.5234,\n",
109 " 'lastTradeTime': 1645587579289,\n",
110 " 'isUSMarketOpen': False}"
111 ]
112 },
113 "execution_count": 3,
114 "metadata": {},
115 "output_type": "execute_result"
116 }
117 ],
118 "source": []
119 },
120 {
121 "cell_type": "markdown",
122 "metadata": {},
123 "source": [
124 "## Parsing Our API Call\n",
125 "This API call has the metric we need - the price-to-earnings ratio.\n",
126 "\n",
127 "Here is an example of how to parse the metric from our API call:"
128 ]
129 },
130 {
131 "cell_type": "code",
132 "execution_count": 4,
133 "metadata": {},
134 "outputs": [
135 {
136 "data": {
137 "text/plain": [
138 "34.91"
139 ]
140 },
141 "execution_count": 4,
142 "metadata": {},
143 "output_type": "execute_result"
144 }
145 ],
146 "source": []
147 },
148 {
149 "cell_type": "markdown",
150 "metadata": {},
151 "source": [
152 "## Executing A Batch API Call & Building Our DataFrame\n",
153 "\n",
154 "Just like in our first project, it's now time to execute several batch API calls and add the information we need to our DataFrame.\n",
155 "\n",
156 "We'll start by running the following code cell, which contains some code we already built last time that we can re-use for this project. More specifically, it contains a function called chunks that we can use to divide our list of securities into groups of 100."
157 ]
158 },
159 {
160 "cell_type": "code",
161 "execution_count": 5,
162 "metadata": {},
163 "outputs": [],
164 "source": [
165 "# Function sourced from \n",
166 "# https://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks\n",
167 "def chunks(lst, n):\n",
168 " \"\"\"Yield successive n-sized chunks from lst.\"\"\"\n",
169 " for i in range(0, len(lst), n):\n",
170 " yield lst[i:i + n] \n",
171 " \n",
172 "symbol_groups = list(chunks(stocks['Ticker'], 100))\n",
173 "symbol_strings = []\n",
174 "for i in range(0, len(symbol_groups)):\n",
175 " symbol_strings.append(','.join(symbol_groups[i]))\n",
176 "# print(symbol_strings[i])\n",
177 "\n",
178 "my_columns = ['Ticker', 'Price', 'Price-to-Earnings Ratio', 'Number of Shares to Buy']"
179 ]
180 },
181 {
182 "cell_type": "markdown",
183 "metadata": {},
184 "source": [
185 "Now we need to create a blank DataFrame and add our data to the data frame one-by-one."
186 ]
187 },
188 {
189 "cell_type": "code",
190 "execution_count": 6,
191 "metadata": {},
192 "outputs": [
193 {
194 "data": {
195 "text/html": [
196 "<div>\n",
197 "<style scoped>\n",
198 " .dataframe tbody tr th:only-of-type {\n",
199 " vertical-align: middle;\n",
200 " }\n",
201 "\n",
202 " .dataframe tbody tr th {\n",
203 " vertical-align: top;\n",
204 " }\n",
205 "\n",
206 " .dataframe thead th {\n",
207 " text-align: right;\n",
208 " }\n",
209 "</style>\n",
210 "<table border=\"1\" class=\"dataframe\">\n",
211 " <thead>\n",
212 " <tr style=\"text-align: right;\">\n",
213 " <th></th>\n",
214 " <th>Ticker</th>\n",
215 " <th>Price</th>\n",
216 " <th>Price-to-Earnings Ratio</th>\n",
217 " <th>Number of Shares to Buy</th>\n",
218 " </tr>\n",
219 " </thead>\n",
220 " <tbody>\n",
221 " <tr>\n",
222 " <th>0</th>\n",
223 " <td>A</td>\n",
224 " <td>99.160</td>\n",
225 " <td>46.39</td>\n",
226 " <td>N/A</td>\n",
227 " </tr>\n",
228 " <tr>\n",
229 " <th>1</th>\n",
230 " <td>AAL</td>\n",
231 " <td>13.430</td>\n",
232 " <td>-1.65</td>\n",
233 " <td>N/A</td>\n",
234 " </tr>\n",
235 " <tr>\n",
236 " <th>2</th>\n",
237 " <td>AAP</td>\n",
238 " <td>156.890</td>\n",
239 " <td>28.9</td>\n",
240 " <td>N/A</td>\n",
241 " </tr>\n",
242 " <tr>\n",
243 " <th>3</th>\n",
244 " <td>AAPL</td>\n",
245 " <td>475.040</td>\n",
246 " <td>34.8</td>\n",
247 " <td>N/A</td>\n",
248 " </tr>\n",
249 " <tr>\n",
250 " <th>4</th>\n",
251 " <td>ABBV</td>\n",
252 " <td>95.770</td>\n",
253 " <td>20.14</td>\n",
254 " <td>N/A</td>\n",
255 " </tr>\n",
256 " <tr>\n",
257 " <th>...</th>\n",
258 " <td>...</td>\n",
259 " <td>...</td>\n",
260 " <td>...</td>\n",
261 " <td>...</td>\n",
262 " </tr>\n",
263 " <tr>\n",
264 " <th>500</th>\n",
265 " <td>YUM</td>\n",
266 " <td>93.960</td>\n",
267 " <td>28.5</td>\n",
268 " <td>N/A</td>\n",
269 " </tr>\n",
270 " <tr>\n",
271 " <th>501</th>\n",
272 " <td>ZBH</td>\n",
273 " <td>143.010</td>\n",
274 " <td>723.05</td>\n",
275 " <td>N/A</td>\n",
276 " </tr>\n",
277 " <tr>\n",
278 " <th>502</th>\n",
279 " <td>ZBRA</td>\n",
280 " <td>299.348</td>\n",
281 " <td>31.74</td>\n",
282 " <td>N/A</td>\n",
283 " </tr>\n",
284 " <tr>\n",
285 " <th>503</th>\n",
286 " <td>ZION</td>\n",
287 " <td>34.700</td>\n",
288 " <td>13.44</td>\n",
289 " <td>N/A</td>\n",
290 " </tr>\n",
291 " <tr>\n",
292 " <th>504</th>\n",
293 " <td>ZTS</td>\n",
294 " <td>163.740</td>\n",
295 " <td>47.5</td>\n",
296 " <td>N/A</td>\n",
297 " </tr>\n",
298 " </tbody>\n",
299 "</table>\n",
300 "<p>505 rows × 4 columns</p>\n",
301 "</div>"
302 ],
303 "text/plain": [
304 " Ticker Price Price-to-Earnings Ratio Number of Shares to Buy\n",
305 "0 A 99.160 46.39 N/A\n",
306 "1 AAL 13.430 -1.65 N/A\n",
307 "2 AAP 156.890 28.9 N/A\n",
308 "3 AAPL 475.040 34.8 N/A\n",
309 "4 ABBV 95.770 20.14 N/A\n",
310 ".. ... ... ... ...\n",
311 "500 YUM 93.960 28.5 N/A\n",
312 "501 ZBH 143.010 723.05 N/A\n",
313 "502 ZBRA 299.348 31.74 N/A\n",
314 "503 ZION 34.700 13.44 N/A\n",
315 "504 ZTS 163.740 47.5 N/A\n",
316 "\n",
317 "[505 rows x 4 columns]"
318 ]
319 },
320 "execution_count": 6,
321 "metadata": {},
322 "output_type": "execute_result"
323 }
324 ],
325 "source": []
326 },
327 {
328 "cell_type": "markdown",
329 "metadata": {},
330 "source": [
331 "## Removing Glamour Stocks\n",
332 "\n",
333 "The opposite of a \"value stock\" is a \"glamour stock\". \n",
334 "\n",
335 "Since the goal of this strategy is to identify the 50 best value stocks from our universe, our next step is to remove glamour stocks from the DataFrame.\n",
336 "\n",
337 "We'll sort the DataFrame by the stocks' price-to-earnings ratio, and drop all stocks outside the top 50."
338 ]
339 },
340 {
341 "cell_type": "code",
342 "execution_count": 7,
343 "metadata": {},
344 "outputs": [
345 {
346 "data": {
347 "text/html": [
348 "<div>\n",
349 "<style scoped>\n",
350 " .dataframe tbody tr th:only-of-type {\n",
351 " vertical-align: middle;\n",
352 " }\n",
353 "\n",
354 " .dataframe tbody tr th {\n",
355 " vertical-align: top;\n",
356 " }\n",
357 "\n",
358 " .dataframe thead th {\n",
359 " text-align: right;\n",
360 " }\n",
361 "</style>\n",
362 "<table border=\"1\" class=\"dataframe\">\n",
363 " <thead>\n",
364 " <tr style=\"text-align: right;\">\n",
365 " <th></th>\n",
366 " <th>Ticker</th>\n",
367 " <th>Price</th>\n",
368 " <th>Price-to-Earnings Ratio</th>\n",
369 " <th>Number of Shares to Buy</th>\n",
370 " </tr>\n",
371 " </thead>\n",
372 " <tbody>\n",
373 " <tr>\n",
374 " <th>0</th>\n",
375 " <td>SBAC</td>\n",
376 " <td>317.680</td>\n",
377 " <td>-2261.88</td>\n",
378 " <td>N/A</td>\n",
379 " </tr>\n",
380 " <tr>\n",
381 " <th>1</th>\n",
382 " <td>CRM</td>\n",
383 " <td>202.060</td>\n",
384 " <td>-1165.07</td>\n",
385 " <td>N/A</td>\n",
386 " </tr>\n",
387 " <tr>\n",
388 " <th>2</th>\n",
389 " <td>BMY</td>\n",
390 " <td>65.210</td>\n",
391 " <td>-639.08</td>\n",
392 " <td>N/A</td>\n",
393 " </tr>\n",
394 " <tr>\n",
395 " <th>3</th>\n",
396 " <td>TEL</td>\n",
397 " <td>99.630</td>\n",
398 " <td>-328.9</td>\n",
399 " <td>N/A</td>\n",
400 " </tr>\n",
401 " <tr>\n",
402 " <th>4</th>\n",
403 " <td>GILD</td>\n",
404 " <td>70.140</td>\n",
405 " <td>-318.24</td>\n",
406 " <td>N/A</td>\n",
407 " </tr>\n",
408 " <tr>\n",
409 " <th>5</th>\n",
410 " <td>HPE</td>\n",
411 " <td>9.720</td>\n",
412 " <td>-299.36</td>\n",
413 " <td>N/A</td>\n",
414 " </tr>\n",
415 " <tr>\n",
416 " <th>6</th>\n",
417 " <td>DRI</td>\n",
418 " <td>88.750</td>\n",
419 " <td>-247.4</td>\n",
420 " <td>N/A</td>\n",
421 " </tr>\n",
422 " <tr>\n",
423 " <th>7</th>\n",
424 " <td>KHC</td>\n",
425 " <td>36.964</td>\n",
426 " <td>-237.94</td>\n",
427 " <td>N/A</td>\n",
428 " </tr>\n",
429 " <tr>\n",
430 " <th>8</th>\n",
431 " <td>DIS</td>\n",
432 " <td>136.510</td>\n",
433 " <td>-221.5</td>\n",
434 " <td>N/A</td>\n",
435 " </tr>\n",
436 " <tr>\n",
437 " <th>9</th>\n",
438 " <td>XRAY</td>\n",
439 " <td>45.210</td>\n",
440 " <td>-203.96</td>\n",
441 " <td>N/A</td>\n",
442 " </tr>\n",
443 " <tr>\n",
444 " <th>10</th>\n",
445 " <td>COF</td>\n",
446 " <td>70.580</td>\n",
447 " <td>-202.95</td>\n",
448 " <td>N/A</td>\n",
449 " </tr>\n",
450 " <tr>\n",
451 " <th>11</th>\n",
452 " <td>IR</td>\n",
453 " <td>35.690</td>\n",
454 " <td>-156.36</td>\n",
455 " <td>N/A</td>\n",
456 " </tr>\n",
457 " <tr>\n",
458 " <th>12</th>\n",
459 " <td>PRU</td>\n",
460 " <td>72.280</td>\n",
461 " <td>-130</td>\n",
462 " <td>N/A</td>\n",
463 " </tr>\n",
464 " <tr>\n",
465 " <th>13</th>\n",
466 " <td>INCY</td>\n",
467 " <td>96.230</td>\n",
468 " <td>-108.7</td>\n",
469 " <td>N/A</td>\n",
470 " </tr>\n",
471 " <tr>\n",
472 " <th>14</th>\n",
473 " <td>MO</td>\n",
474 " <td>44.040</td>\n",
475 " <td>-87.45</td>\n",
476 " <td>N/A</td>\n",
477 " </tr>\n",
478 " <tr>\n",
479 " <th>15</th>\n",
480 " <td>NI</td>\n",
481 " <td>24.520</td>\n",
482 " <td>-80.42</td>\n",
483 " <td>N/A</td>\n",
484 " </tr>\n",
485 " <tr>\n",
486 " <th>16</th>\n",
487 " <td>ECL</td>\n",
488 " <td>203.920</td>\n",
489 " <td>-68.76</td>\n",
490 " <td>N/A</td>\n",
491 " </tr>\n",
492 " <tr>\n",
493 " <th>17</th>\n",
494 " <td>TAP</td>\n",
495 " <td>37.930</td>\n",
496 " <td>-53.25</td>\n",
497 " <td>N/A</td>\n",
498 " </tr>\n",
499 " <tr>\n",
500 " <th>18</th>\n",
501 " <td>WDC</td>\n",
502 " <td>35.834</td>\n",
503 " <td>-43.43</td>\n",
504 " <td>N/A</td>\n",
505 " </tr>\n",
506 " <tr>\n",
507 " <th>19</th>\n",
508 " <td>BA</td>\n",
509 " <td>182.960</td>\n",
510 " <td>-35.3</td>\n",
511 " <td>N/A</td>\n",
512 " </tr>\n",
513 " <tr>\n",
514 " <th>20</th>\n",
515 " <td>FCX</td>\n",
516 " <td>14.250</td>\n",
517 " <td>-31.58</td>\n",
518 " <td>N/A</td>\n",
519 " </tr>\n",
520 " <tr>\n",
521 " <th>21</th>\n",
522 " <td>HFC</td>\n",
523 " <td>25.740</td>\n",
524 " <td>-25.75</td>\n",
525 " <td>N/A</td>\n",
526 " </tr>\n",
527 " <tr>\n",
528 " <th>22</th>\n",
529 " <td>TWTR</td>\n",
530 " <td>37.930</td>\n",
531 " <td>-24.94</td>\n",
532 " <td>N/A</td>\n",
533 " </tr>\n",
534 " <tr>\n",
535 " <th>23</th>\n",
536 " <td>PSX</td>\n",
537 " <td>64.700</td>\n",
538 " <td>-23.26</td>\n",
539 " <td>N/A</td>\n",
540 " </tr>\n",
541 " <tr>\n",
542 " <th>24</th>\n",
543 " <td>TPR</td>\n",
544 " <td>15.870</td>\n",
545 " <td>-20.07</td>\n",
546 " <td>N/A</td>\n",
547 " </tr>\n",
548 " <tr>\n",
549 " <th>25</th>\n",
550 " <td>CVX</td>\n",
551 " <td>91.500</td>\n",
552 " <td>-19.48</td>\n",
553 " <td>N/A</td>\n",
554 " </tr>\n",
555 " <tr>\n",
556 " <th>26</th>\n",
557 " <td>DD</td>\n",
558 " <td>58.100</td>\n",
559 " <td>-17.22</td>\n",
560 " <td>N/A</td>\n",
561 " </tr>\n",
562 " <tr>\n",
563 " <th>27</th>\n",
564 " <td>DOW</td>\n",
565 " <td>44.960</td>\n",
566 " <td>-16.75</td>\n",
567 " <td>N/A</td>\n",
568 " </tr>\n",
569 " <tr>\n",
570 " <th>28</th>\n",
571 " <td>LYV</td>\n",
572 " <td>52.300</td>\n",
573 " <td>-14.36</td>\n",
574 " <td>N/A</td>\n",
575 " </tr>\n",
576 " <tr>\n",
577 " <th>29</th>\n",
578 " <td>CNP</td>\n",
579 " <td>20.910</td>\n",
580 " <td>-13.61</td>\n",
581 " <td>N/A</td>\n",
582 " </tr>\n",
583 " <tr>\n",
584 " <th>30</th>\n",
585 " <td>F</td>\n",
586 " <td>7.200</td>\n",
587 " <td>-13.54</td>\n",
588 " <td>N/A</td>\n",
589 " </tr>\n",
590 " <tr>\n",
591 " <th>31</th>\n",
592 " <td>LB</td>\n",
593 " <td>26.590</td>\n",
594 " <td>-10.95</td>\n",
595 " <td>N/A</td>\n",
596 " </tr>\n",
597 " <tr>\n",
598 " <th>32</th>\n",
599 " <td>L</td>\n",
600 " <td>38.820</td>\n",
601 " <td>-9.34</td>\n",
602 " <td>N/A</td>\n",
603 " </tr>\n",
604 " <tr>\n",
605 " <th>33</th>\n",
606 " <td>NLSN</td>\n",
607 " <td>15.940</td>\n",
608 " <td>-9.11</td>\n",
609 " <td>N/A</td>\n",
610 " </tr>\n",
611 " <tr>\n",
612 " <th>34</th>\n",
613 " <td>WYNN</td>\n",
614 " <td>88.120</td>\n",
615 " <td>-8.39</td>\n",
616 " <td>N/A</td>\n",
617 " </tr>\n",
618 " <tr>\n",
619 " <th>35</th>\n",
620 " <td>EXPE</td>\n",
621 " <td>91.140</td>\n",
622 " <td>-8.08</td>\n",
623 " <td>N/A</td>\n",
624 " </tr>\n",
625 " <tr>\n",
626 " <th>36</th>\n",
627 " <td>MRO</td>\n",
628 " <td>6.140</td>\n",
629 " <td>-7.42</td>\n",
630 " <td>N/A</td>\n",
631 " </tr>\n",
632 " <tr>\n",
633 " <th>37</th>\n",
634 " <td>UAA</td>\n",
635 " <td>11.280</td>\n",
636 " <td>-7.41</td>\n",
637 " <td>N/A</td>\n",
638 " </tr>\n",
639 " <tr>\n",
640 " <th>38</th>\n",
641 " <td>NWL</td>\n",
642 " <td>17.333</td>\n",
643 " <td>-7.34</td>\n",
644 " <td>N/A</td>\n",
645 " </tr>\n",
646 " <tr>\n",
647 " <th>39</th>\n",
648 " <td>NWS</td>\n",
649 " <td>16.112</td>\n",
650 " <td>-7.25</td>\n",
651 " <td>N/A</td>\n",
652 " </tr>\n",
653 " <tr>\n",
654 " <th>40</th>\n",
655 " <td>NWSA</td>\n",
656 " <td>15.900</td>\n",
657 " <td>-7.16</td>\n",
658 " <td>N/A</td>\n",
659 " </tr>\n",
660 " <tr>\n",
661 " <th>41</th>\n",
662 " <td>GPS</td>\n",
663 " <td>15.280</td>\n",
664 " <td>-6.9</td>\n",
665 " <td>N/A</td>\n",
666 " </tr>\n",
667 " <tr>\n",
668 " <th>42</th>\n",
669 " <td>UA</td>\n",
670 " <td>9.900</td>\n",
671 " <td>-6.66</td>\n",
672 " <td>N/A</td>\n",
673 " </tr>\n",
674 " <tr>\n",
675 " <th>43</th>\n",
676 " <td>RCL</td>\n",
677 " <td>60.600</td>\n",
678 " <td>-6.59</td>\n",
679 " <td>N/A</td>\n",
680 " </tr>\n",
681 " <tr>\n",
682 " <th>44</th>\n",
683 " <td>MOS</td>\n",
684 " <td>18.140</td>\n",
685 " <td>-6.08</td>\n",
686 " <td>N/A</td>\n",
687 " </tr>\n",
688 " <tr>\n",
689 " <th>45</th>\n",
690 " <td>UAL</td>\n",
691 " <td>36.000</td>\n",
692 " <td>-6.06</td>\n",
693 " <td>N/A</td>\n",
694 " </tr>\n",
695 " <tr>\n",
696 " <th>46</th>\n",
697 " <td>AIG</td>\n",
698 " <td>30.890</td>\n",
699 " <td>-5.89</td>\n",
700 " <td>N/A</td>\n",
701 " </tr>\n",
702 " <tr>\n",
703 " <th>47</th>\n",
704 " <td>PVH</td>\n",
705 " <td>55.360</td>\n",
706 " <td>-5.08</td>\n",
707 " <td>N/A</td>\n",
708 " </tr>\n",
709 " <tr>\n",
710 " <th>48</th>\n",
711 " <td>HES</td>\n",
712 " <td>55.160</td>\n",
713 " <td>-5.03</td>\n",
714 " <td>N/A</td>\n",
715 " </tr>\n",
716 " <tr>\n",
717 " <th>49</th>\n",
718 " <td>DAL</td>\n",
719 " <td>29.600</td>\n",
720 " <td>-5</td>\n",
721 " <td>N/A</td>\n",
722 " </tr>\n",
723 " <tr>\n",
724 " <th>50</th>\n",
725 " <td>CAH</td>\n",
726 " <td>54.300</td>\n",
727 " <td>-4.27</td>\n",
728 " <td>N/A</td>\n",
729 " </tr>\n",
730 " </tbody>\n",
731 "</table>\n",
732 "</div>"
733 ],
734 "text/plain": [
735 " Ticker Price Price-to-Earnings Ratio Number of Shares to Buy\n",
736 "0 SBAC 317.680 -2261.88 N/A\n",
737 "1 CRM 202.060 -1165.07 N/A\n",
738 "2 BMY 65.210 -639.08 N/A\n",
739 "3 TEL 99.630 -328.9 N/A\n",
740 "4 GILD 70.140 -318.24 N/A\n",
741 "5 HPE 9.720 -299.36 N/A\n",
742 "6 DRI 88.750 -247.4 N/A\n",
743 "7 KHC 36.964 -237.94 N/A\n",
744 "8 DIS 136.510 -221.5 N/A\n",
745 "9 XRAY 45.210 -203.96 N/A\n",
746 "10 COF 70.580 -202.95 N/A\n",
747 "11 IR 35.690 -156.36 N/A\n",
748 "12 PRU 72.280 -130 N/A\n",
749 "13 INCY 96.230 -108.7 N/A\n",
750 "14 MO 44.040 -87.45 N/A\n",
751 "15 NI 24.520 -80.42 N/A\n",
752 "16 ECL 203.920 -68.76 N/A\n",
753 "17 TAP 37.930 -53.25 N/A\n",
754 "18 WDC 35.834 -43.43 N/A\n",
755 "19 BA 182.960 -35.3 N/A\n",
756 "20 FCX 14.250 -31.58 N/A\n",
757 "21 HFC 25.740 -25.75 N/A\n",
758 "22 TWTR 37.930 -24.94 N/A\n",
759 "23 PSX 64.700 -23.26 N/A\n",
760 "24 TPR 15.870 -20.07 N/A\n",
761 "25 CVX 91.500 -19.48 N/A\n",
762 "26 DD 58.100 -17.22 N/A\n",
763 "27 DOW 44.960 -16.75 N/A\n",
764 "28 LYV 52.300 -14.36 N/A\n",
765 "29 CNP 20.910 -13.61 N/A\n",
766 "30 F 7.200 -13.54 N/A\n",
767 "31 LB 26.590 -10.95 N/A\n",
768 "32 L 38.820 -9.34 N/A\n",
769 "33 NLSN 15.940 -9.11 N/A\n",
770 "34 WYNN 88.120 -8.39 N/A\n",
771 "35 EXPE 91.140 -8.08 N/A\n",
772 "36 MRO 6.140 -7.42 N/A\n",
773 "37 UAA 11.280 -7.41 N/A\n",
774 "38 NWL 17.333 -7.34 N/A\n",
775 "39 NWS 16.112 -7.25 N/A\n",
776 "40 NWSA 15.900 -7.16 N/A\n",
777 "41 GPS 15.280 -6.9 N/A\n",
778 "42 UA 9.900 -6.66 N/A\n",
779 "43 RCL 60.600 -6.59 N/A\n",
780 "44 MOS 18.140 -6.08 N/A\n",
781 "45 UAL 36.000 -6.06 N/A\n",
782 "46 AIG 30.890 -5.89 N/A\n",
783 "47 PVH 55.360 -5.08 N/A\n",
784 "48 HES 55.160 -5.03 N/A\n",
785 "49 DAL 29.600 -5 N/A\n",
786 "50 CAH 54.300 -4.27 N/A"
787 ]
788 },
789 "execution_count": 7,
790 "metadata": {},
791 "output_type": "execute_result"
792 }
793 ],
794 "source": []
795 },
796 {
797 "cell_type": "markdown",
798 "metadata": {},
799 "source": [
800 "## Calculating the Number of Shares to Buy\n",
801 "We now need to calculate the number of shares we need to buy. \n",
802 "\n",
803 "To do this, we will use the `portfolio_input` function that we created in our momentum project.\n",
804 "\n",
805 "I have included this function below."
806 ]
807 },
808 {
809 "cell_type": "code",
810 "execution_count": 8,
811 "metadata": {},
812 "outputs": [],
813 "source": [
814 "def portfolio_input():\n",
815 " global portfolio_size\n",
816 " portfolio_size = input(\"Enter the value of your portfolio:\")\n",
817 "\n",
818 " try:\n",
819 " val = float(portfolio_size)\n",
820 " except ValueError:\n",
821 " print(\"That's not a number! \\n Try again:\")\n",
822 " portfolio_size = input(\"Enter the value of your portfolio:\")"
823 ]
824 },
825 {
826 "cell_type": "markdown",
827 "metadata": {},
828 "source": [
829 "Use the `portfolio_input` function to accept a `portfolio_size` variable from the user of this script."
830 ]
831 },
832 {
833 "cell_type": "code",
834 "execution_count": 9,
835 "metadata": {},
836 "outputs": [
837 {
838 "name": "stdout",
839 "output_type": "stream",
840 "text": [
841 "Enter the value of your portfolio:1000000\n"
842 ]
843 }
844 ],
845 "source": []
846 },
847 {
848 "cell_type": "markdown",
849 "metadata": {},
850 "source": [
851 "You can now use the global `portfolio_size` variable to calculate the number of shares that our strategy should purchase."
852 ]
853 },
854 {
855 "cell_type": "code",
856 "execution_count": 10,
857 "metadata": {},
858 "outputs": [
859 {
860 "name": "stderr",
861 "output_type": "stream",
862 "text": [
863 "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas/core/indexing.py:494: SettingWithCopyWarning: \n",
864 "A value is trying to be set on a copy of a slice from a DataFrame.\n",
865 "Try using .loc[row_indexer,col_indexer] = value instead\n",
866 "\n",
867 "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
868 " self.obj[item] = s\n"
869 ]
870 },
871 {
872 "data": {
873 "text/html": [
874 "<div>\n",
875 "<style scoped>\n",
876 " .dataframe tbody tr th:only-of-type {\n",
877 " vertical-align: middle;\n",
878 " }\n",
879 "\n",
880 " .dataframe tbody tr th {\n",
881 " vertical-align: top;\n",
882 " }\n",
883 "\n",
884 " .dataframe thead th {\n",
885 " text-align: right;\n",
886 " }\n",
887 "</style>\n",
888 "<table border=\"1\" class=\"dataframe\">\n",
889 " <thead>\n",
890 " <tr style=\"text-align: right;\">\n",
891 " <th></th>\n",
892 " <th>Ticker</th>\n",
893 " <th>Price</th>\n",
894 " <th>Price-to-Earnings Ratio</th>\n",
895 " <th>Number of Shares to Buy</th>\n",
896 " </tr>\n",
897 " </thead>\n",
898 " <tbody>\n",
899 " <tr>\n",
900 " <th>0</th>\n",
901 " <td>SBAC</td>\n",
902 " <td>317.680</td>\n",
903 " <td>-2261.88</td>\n",
904 " <td>61</td>\n",
905 " </tr>\n",
906 " <tr>\n",
907 " <th>1</th>\n",
908 " <td>CRM</td>\n",
909 " <td>202.060</td>\n",
910 " <td>-1165.07</td>\n",
911 " <td>97</td>\n",
912 " </tr>\n",
913 " <tr>\n",
914 " <th>2</th>\n",
915 " <td>BMY</td>\n",
916 " <td>65.210</td>\n",
917 " <td>-639.08</td>\n",
918 " <td>300</td>\n",
919 " </tr>\n",
920 " <tr>\n",
921 " <th>3</th>\n",
922 " <td>TEL</td>\n",
923 " <td>99.630</td>\n",
924 " <td>-328.9</td>\n",
925 " <td>196</td>\n",
926 " </tr>\n",
927 " <tr>\n",
928 " <th>4</th>\n",
929 " <td>GILD</td>\n",
930 " <td>70.140</td>\n",
931 " <td>-318.24</td>\n",
932 " <td>279</td>\n",
933 " </tr>\n",
934 " <tr>\n",
935 " <th>5</th>\n",
936 " <td>HPE</td>\n",
937 " <td>9.720</td>\n",
938 " <td>-299.36</td>\n",
939 " <td>2017</td>\n",
940 " </tr>\n",
941 " <tr>\n",
942 " <th>6</th>\n",
943 " <td>DRI</td>\n",
944 " <td>88.750</td>\n",
945 " <td>-247.4</td>\n",
946 " <td>220</td>\n",
947 " </tr>\n",
948 " <tr>\n",
949 " <th>7</th>\n",
950 " <td>KHC</td>\n",
951 " <td>36.964</td>\n",
952 " <td>-237.94</td>\n",
953 " <td>530</td>\n",
954 " </tr>\n",
955 " <tr>\n",
956 " <th>8</th>\n",
957 " <td>DIS</td>\n",
958 " <td>136.510</td>\n",
959 " <td>-221.5</td>\n",
960 " <td>143</td>\n",
961 " </tr>\n",
962 " <tr>\n",
963 " <th>9</th>\n",
964 " <td>XRAY</td>\n",
965 " <td>45.210</td>\n",
966 " <td>-203.96</td>\n",
967 " <td>433</td>\n",
968 " </tr>\n",
969 " <tr>\n",
970 " <th>10</th>\n",
971 " <td>COF</td>\n",
972 " <td>70.580</td>\n",
973 " <td>-202.95</td>\n",
974 " <td>277</td>\n",
975 " </tr>\n",
976 " <tr>\n",
977 " <th>11</th>\n",
978 " <td>IR</td>\n",
979 " <td>35.690</td>\n",
980 " <td>-156.36</td>\n",
981 " <td>549</td>\n",
982 " </tr>\n",
983 " <tr>\n",
984 " <th>12</th>\n",
985 " <td>PRU</td>\n",
986 " <td>72.280</td>\n",
987 " <td>-130</td>\n",
988 " <td>271</td>\n",
989 " </tr>\n",
990 " <tr>\n",
991 " <th>13</th>\n",
992 " <td>INCY</td>\n",
993 " <td>96.230</td>\n",
994 " <td>-108.7</td>\n",
995 " <td>203</td>\n",
996 " </tr>\n",
997 " <tr>\n",
998 " <th>14</th>\n",
999 " <td>MO</td>\n",
1000 " <td>44.040</td>\n",
1001 " <td>-87.45</td>\n",
1002 " <td>445</td>\n",
1003 " </tr>\n",
1004 " <tr>\n",
1005 " <th>15</th>\n",
1006 " <td>NI</td>\n",
1007 " <td>24.520</td>\n",
1008 " <td>-80.42</td>\n",
1009 " <td>799</td>\n",
1010 " </tr>\n",
1011 " <tr>\n",
1012 " <th>16</th>\n",
1013 " <td>ECL</td>\n",
1014 " <td>203.920</td>\n",
1015 " <td>-68.76</td>\n",
1016 " <td>96</td>\n",
1017 " </tr>\n",
1018 " <tr>\n",
1019 " <th>17</th>\n",
1020 " <td>TAP</td>\n",
1021 " <td>37.930</td>\n",
1022 " <td>-53.25</td>\n",
1023 " <td>516</td>\n",
1024 " </tr>\n",
1025 " <tr>\n",
1026 " <th>18</th>\n",
1027 " <td>WDC</td>\n",
1028 " <td>35.834</td>\n",
1029 " <td>-43.43</td>\n",
1030 " <td>547</td>\n",
1031 " </tr>\n",
1032 " <tr>\n",
1033 " <th>19</th>\n",
1034 " <td>BA</td>\n",
1035 " <td>182.960</td>\n",
1036 " <td>-35.3</td>\n",
1037 " <td>107</td>\n",
1038 " </tr>\n",
1039 " <tr>\n",
1040 " <th>20</th>\n",
1041 " <td>FCX</td>\n",
1042 " <td>14.250</td>\n",
1043 " <td>-31.58</td>\n",
1044 " <td>1375</td>\n",
1045 " </tr>\n",
1046 " <tr>\n",
1047 " <th>21</th>\n",
1048 " <td>HFC</td>\n",
1049 " <td>25.740</td>\n",
1050 " <td>-25.75</td>\n",
1051 " <td>761</td>\n",
1052 " </tr>\n",
1053 " <tr>\n",
1054 " <th>22</th>\n",
1055 " <td>TWTR</td>\n",
1056 " <td>37.930</td>\n",
1057 " <td>-24.94</td>\n",
1058 " <td>516</td>\n",
1059 " </tr>\n",
1060 " <tr>\n",
1061 " <th>23</th>\n",
1062 " <td>PSX</td>\n",
1063 " <td>64.700</td>\n",
1064 " <td>-23.26</td>\n",
1065 " <td>303</td>\n",
1066 " </tr>\n",
1067 " <tr>\n",
1068 " <th>24</th>\n",
1069 " <td>TPR</td>\n",
1070 " <td>15.870</td>\n",
1071 " <td>-20.07</td>\n",
1072 " <td>1235</td>\n",
1073 " </tr>\n",
1074 " <tr>\n",
1075 " <th>25</th>\n",
1076 " <td>CVX</td>\n",
1077 " <td>91.500</td>\n",
1078 " <td>-19.48</td>\n",
1079 " <td>214</td>\n",
1080 " </tr>\n",
1081 " <tr>\n",
1082 " <th>26</th>\n",
1083 " <td>DD</td>\n",
1084 " <td>58.100</td>\n",
1085 " <td>-17.22</td>\n",
1086 " <td>337</td>\n",
1087 " </tr>\n",
1088 " <tr>\n",
1089 " <th>27</th>\n",
1090 " <td>DOW</td>\n",
1091 " <td>44.960</td>\n",
1092 " <td>-16.75</td>\n",
1093 " <td>436</td>\n",
1094 " </tr>\n",
1095 " <tr>\n",
1096 " <th>28</th>\n",
1097 " <td>LYV</td>\n",
1098 " <td>52.300</td>\n",
1099 " <td>-14.36</td>\n",
1100 " <td>374</td>\n",
1101 " </tr>\n",
1102 " <tr>\n",
1103 " <th>29</th>\n",
1104 " <td>CNP</td>\n",
1105 " <td>20.910</td>\n",
1106 " <td>-13.61</td>\n",
1107 " <td>937</td>\n",
1108 " </tr>\n",
1109 " <tr>\n",
1110 " <th>30</th>\n",
1111 " <td>F</td>\n",
1112 " <td>7.200</td>\n",
1113 " <td>-13.54</td>\n",
1114 " <td>2723</td>\n",
1115 " </tr>\n",
1116 " <tr>\n",
1117 " <th>31</th>\n",
1118 " <td>LB</td>\n",
1119 " <td>26.590</td>\n",
1120 " <td>-10.95</td>\n",
1121 " <td>737</td>\n",
1122 " </tr>\n",
1123 " <tr>\n",
1124 " <th>32</th>\n",
1125 " <td>L</td>\n",
1126 " <td>38.820</td>\n",
1127 " <td>-9.34</td>\n",
1128 " <td>505</td>\n",
1129 " </tr>\n",
1130 " <tr>\n",
1131 " <th>33</th>\n",
1132 " <td>NLSN</td>\n",
1133 " <td>15.940</td>\n",
1134 " <td>-9.11</td>\n",
1135 " <td>1230</td>\n",
1136 " </tr>\n",
1137 " <tr>\n",
1138 " <th>34</th>\n",
1139 " <td>WYNN</td>\n",
1140 " <td>88.120</td>\n",
1141 " <td>-8.39</td>\n",
1142 " <td>222</td>\n",
1143 " </tr>\n",
1144 " <tr>\n",
1145 " <th>35</th>\n",
1146 " <td>EXPE</td>\n",
1147 " <td>91.140</td>\n",
1148 " <td>-8.08</td>\n",
1149 " <td>215</td>\n",
1150 " </tr>\n",
1151 " <tr>\n",
1152 " <th>36</th>\n",
1153 " <td>MRO</td>\n",
1154 " <td>6.140</td>\n",
1155 " <td>-7.42</td>\n",
1156 " <td>3193</td>\n",
1157 " </tr>\n",
1158 " <tr>\n",
1159 " <th>37</th>\n",
1160 " <td>UAA</td>\n",
1161 " <td>11.280</td>\n",
1162 " <td>-7.41</td>\n",
1163 " <td>1738</td>\n",
1164 " </tr>\n",
1165 " <tr>\n",
1166 " <th>38</th>\n",
1167 " <td>NWL</td>\n",
1168 " <td>17.333</td>\n",
1169 " <td>-7.34</td>\n",
1170 " <td>1131</td>\n",
1171 " </tr>\n",
1172 " <tr>\n",
1173 " <th>39</th>\n",
1174 " <td>NWS</td>\n",
1175 " <td>16.112</td>\n",
1176 " <td>-7.25</td>\n",
1177 " <td>1216</td>\n",
1178 " </tr>\n",
1179 " <tr>\n",
1180 " <th>40</th>\n",
1181 " <td>NWSA</td>\n",
1182 " <td>15.900</td>\n",
1183 " <td>-7.16</td>\n",
1184 " <td>1233</td>\n",
1185 " </tr>\n",
1186 " <tr>\n",
1187 " <th>41</th>\n",
1188 " <td>GPS</td>\n",
1189 " <td>15.280</td>\n",
1190 " <td>-6.9</td>\n",
1191 " <td>1283</td>\n",
1192 " </tr>\n",
1193 " <tr>\n",
1194 " <th>42</th>\n",
1195 " <td>UA</td>\n",
1196 " <td>9.900</td>\n",
1197 " <td>-6.66</td>\n",
1198 " <td>1980</td>\n",
1199 " </tr>\n",
1200 " <tr>\n",
1201 " <th>43</th>\n",
1202 " <td>RCL</td>\n",
1203 " <td>60.600</td>\n",
1204 " <td>-6.59</td>\n",
1205 " <td>323</td>\n",
1206 " </tr>\n",
1207 " <tr>\n",
1208 " <th>44</th>\n",
1209 " <td>MOS</td>\n",
1210 " <td>18.140</td>\n",
1211 " <td>-6.08</td>\n",
1212 " <td>1080</td>\n",
1213 " </tr>\n",
1214 " <tr>\n",
1215 " <th>45</th>\n",
1216 " <td>UAL</td>\n",
1217 " <td>36.000</td>\n",
1218 " <td>-6.06</td>\n",
1219 " <td>544</td>\n",
1220 " </tr>\n",
1221 " <tr>\n",
1222 " <th>46</th>\n",
1223 " <td>AIG</td>\n",
1224 " <td>30.890</td>\n",
1225 " <td>-5.89</td>\n",
1226 " <td>634</td>\n",
1227 " </tr>\n",
1228 " <tr>\n",
1229 " <th>47</th>\n",
1230 " <td>PVH</td>\n",
1231 " <td>55.360</td>\n",
1232 " <td>-5.08</td>\n",
1233 " <td>354</td>\n",
1234 " </tr>\n",
1235 " <tr>\n",
1236 " <th>48</th>\n",
1237 " <td>HES</td>\n",
1238 " <td>55.160</td>\n",
1239 " <td>-5.03</td>\n",
1240 " <td>355</td>\n",
1241 " </tr>\n",
1242 " <tr>\n",
1243 " <th>49</th>\n",
1244 " <td>DAL</td>\n",
1245 " <td>29.600</td>\n",
1246 " <td>-5</td>\n",
1247 " <td>662</td>\n",
1248 " </tr>\n",
1249 " <tr>\n",
1250 " <th>50</th>\n",
1251 " <td>CAH</td>\n",
1252 " <td>54.300</td>\n",
1253 " <td>-4.27</td>\n",
1254 " <td>361</td>\n",
1255 " </tr>\n",
1256 " </tbody>\n",
1257 "</table>\n",
1258 "</div>"
1259 ],
1260 "text/plain": [
1261 " Ticker Price Price-to-Earnings Ratio Number of Shares to Buy\n",
1262 "0 SBAC 317.680 -2261.88 61\n",
1263 "1 CRM 202.060 -1165.07 97\n",
1264 "2 BMY 65.210 -639.08 300\n",
1265 "3 TEL 99.630 -328.9 196\n",
1266 "4 GILD 70.140 -318.24 279\n",
1267 "5 HPE 9.720 -299.36 2017\n",
1268 "6 DRI 88.750 -247.4 220\n",
1269 "7 KHC 36.964 -237.94 530\n",
1270 "8 DIS 136.510 -221.5 143\n",
1271 "9 XRAY 45.210 -203.96 433\n",
1272 "10 COF 70.580 -202.95 277\n",
1273 "11 IR 35.690 -156.36 549\n",
1274 "12 PRU 72.280 -130 271\n",
1275 "13 INCY 96.230 -108.7 203\n",
1276 "14 MO 44.040 -87.45 445\n",
1277 "15 NI 24.520 -80.42 799\n",
1278 "16 ECL 203.920 -68.76 96\n",
1279 "17 TAP 37.930 -53.25 516\n",
1280 "18 WDC 35.834 -43.43 547\n",
1281 "19 BA 182.960 -35.3 107\n",
1282 "20 FCX 14.250 -31.58 1375\n",
1283 "21 HFC 25.740 -25.75 761\n",
1284 "22 TWTR 37.930 -24.94 516\n",
1285 "23 PSX 64.700 -23.26 303\n",
1286 "24 TPR 15.870 -20.07 1235\n",
1287 "25 CVX 91.500 -19.48 214\n",
1288 "26 DD 58.100 -17.22 337\n",
1289 "27 DOW 44.960 -16.75 436\n",
1290 "28 LYV 52.300 -14.36 374\n",
1291 "29 CNP 20.910 -13.61 937\n",
1292 "30 F 7.200 -13.54 2723\n",
1293 "31 LB 26.590 -10.95 737\n",
1294 "32 L 38.820 -9.34 505\n",
1295 "33 NLSN 15.940 -9.11 1230\n",
1296 "34 WYNN 88.120 -8.39 222\n",
1297 "35 EXPE 91.140 -8.08 215\n",
1298 "36 MRO 6.140 -7.42 3193\n",
1299 "37 UAA 11.280 -7.41 1738\n",
1300 "38 NWL 17.333 -7.34 1131\n",
1301 "39 NWS 16.112 -7.25 1216\n",
1302 "40 NWSA 15.900 -7.16 1233\n",
1303 "41 GPS 15.280 -6.9 1283\n",
1304 "42 UA 9.900 -6.66 1980\n",
1305 "43 RCL 60.600 -6.59 323\n",
1306 "44 MOS 18.140 -6.08 1080\n",
1307 "45 UAL 36.000 -6.06 544\n",
1308 "46 AIG 30.890 -5.89 634\n",
1309 "47 PVH 55.360 -5.08 354\n",
1310 "48 HES 55.160 -5.03 355\n",
1311 "49 DAL 29.600 -5 662\n",
1312 "50 CAH 54.300 -4.27 361"
1313 ]
1314 },
1315 "execution_count": 10,
1316 "metadata": {},
1317 "output_type": "execute_result"
1318 }
1319 ],
1320 "source": []
1321 },
1322 {
1323 "cell_type": "markdown",
1324 "metadata": {},
1325 "source": [
1326 "## Building a Better (and More Realistic) Value Strategy\n",
1327 "Every valuation metric has certain flaws.\n",
1328 "\n",
1329 "For example, the price-to-earnings ratio doesn't work well with stocks with negative earnings.\n",
1330 "\n",
1331 "Similarly, stocks that buyback their own shares are difficult to value using the price-to-book ratio.\n",
1332 "\n",
1333 "Investors typically use a `composite` basket of valuation metrics to build robust quantitative value strategies. In this section, we will filter for stocks with the lowest percentiles on the following metrics:\n",
1334 "\n",
1335 "* Price-to-earnings ratio\n",
1336 "* Price-to-book ratio\n",
1337 "* Price-to-sales ratio\n",
1338 "* Enterprise Value divided by Earnings Before Interest, Taxes, Depreciation, and Amortization (EV/EBITDA)\n",
1339 "* Enterprise Value divided by Gross Profit (EV/GP)\n",
1340 "\n",
1341 "Some of these metrics aren't provided directly by the IEX Cloud API, and must be computed after pulling raw data. We'll start by calculating each data point from scratch."
1342 ]
1343 },
1344 {
1345 "cell_type": "code",
1346 "execution_count": 11,
1347 "metadata": {},
1348 "outputs": [],
1349 "source": []
1350 },
1351 {
1352 "cell_type": "markdown",
1353 "metadata": {},
1354 "source": [
1355 "Let's move on to building our DataFrame. You'll notice that I use the abbreviation `rv` often. It stands for `robust value`, which is what we'll call this sophisticated strategy moving forward."
1356 ]
1357 },
1358 {
1359 "cell_type": "code",
1360 "execution_count": 12,
1361 "metadata": {},
1362 "outputs": [
1363 {
1364 "data": {
1365 "text/html": [
1366 "<div>\n",
1367 "<style scoped>\n",
1368 " .dataframe tbody tr th:only-of-type {\n",
1369 " vertical-align: middle;\n",
1370 " }\n",
1371 "\n",
1372 " .dataframe tbody tr th {\n",
1373 " vertical-align: top;\n",
1374 " }\n",
1375 "\n",
1376 " .dataframe thead th {\n",
1377 " text-align: right;\n",
1378 " }\n",
1379 "</style>\n",
1380 "<table border=\"1\" class=\"dataframe\">\n",
1381 " <thead>\n",
1382 " <tr style=\"text-align: right;\">\n",
1383 " <th></th>\n",
1384 " <th>Ticker</th>\n",
1385 " <th>Price</th>\n",
1386 " <th>Number of Shares to Buy</th>\n",
1387 " <th>Price-to-Earnings Ratio</th>\n",
1388 " <th>PE Percentile</th>\n",
1389 " <th>Price-to-Book Ratio</th>\n",
1390 " <th>PB Percentile</th>\n",
1391 " <th>EV/EBITDA</th>\n",
1392 " <th>EV/EBITDA Percentile</th>\n",
1393 " <th>EV/GP</th>\n",
1394 " <th>EV/GP Percentile</th>\n",
1395 " <th>RV Score</th>\n",
1396 " </tr>\n",
1397 " </thead>\n",
1398 " <tbody>\n",
1399 " <tr>\n",
1400 " <th>0</th>\n",
1401 " <td>A</td>\n",
1402 " <td>100.010</td>\n",
1403 " <td>N/A</td>\n",
1404 " <td>46.95</td>\n",
1405 " <td>N/A</td>\n",
1406 " <td>6.596140</td>\n",
1407 " <td>N/A</td>\n",
1408 " <td>26.372976</td>\n",
1409 " <td>N/A</td>\n",
1410 " <td>11.311629</td>\n",
1411 " <td>N/A</td>\n",
1412 " <td>N/A</td>\n",
1413 " </tr>\n",
1414 " <tr>\n",
1415 " <th>1</th>\n",
1416 " <td>AAL</td>\n",
1417 " <td>13.360</td>\n",
1418 " <td>N/A</td>\n",
1419 " <td>-1.71</td>\n",
1420 " <td>N/A</td>\n",
1421 " <td>-60.417952</td>\n",
1422 " <td>N/A</td>\n",
1423 " <td>5.952664</td>\n",
1424 " <td>N/A</td>\n",
1425 " <td>3.098483</td>\n",
1426 " <td>N/A</td>\n",
1427 " <td>N/A</td>\n",
1428 " </tr>\n",
1429 " <tr>\n",
1430 " <th>2</th>\n",
1431 " <td>AAP</td>\n",
1432 " <td>161.440</td>\n",
1433 " <td>N/A</td>\n",
1434 " <td>29</td>\n",
1435 " <td>N/A</td>\n",
1436 " <td>3.123759</td>\n",
1437 " <td>N/A</td>\n",
1438 " <td>15.086368</td>\n",
1439 " <td>N/A</td>\n",
1440 " <td>3.208667</td>\n",
1441 " <td>N/A</td>\n",
1442 " <td>N/A</td>\n",
1443 " </tr>\n",
1444 " <tr>\n",
1445 " <th>3</th>\n",
1446 " <td>AAPL</td>\n",
1447 " <td>466.070</td>\n",
1448 " <td>N/A</td>\n",
1449 " <td>34.69</td>\n",
1450 " <td>N/A</td>\n",
1451 " <td>22.373999</td>\n",
1452 " <td>N/A</td>\n",
1453 " <td>25.708773</td>\n",
1454 " <td>N/A</td>\n",
1455 " <td>19.428993</td>\n",
1456 " <td>N/A</td>\n",
1457 " <td>N/A</td>\n",
1458 " </tr>\n",
1459 " <tr>\n",
1460 " <th>4</th>\n",
1461 " <td>ABBV</td>\n",
1462 " <td>96.680</td>\n",
1463 " <td>N/A</td>\n",
1464 " <td>21</td>\n",
1465 " <td>N/A</td>\n",
1466 " <td>-21.463532</td>\n",
1467 " <td>N/A</td>\n",
1468 " <td>12.272585</td>\n",
1469 " <td>N/A</td>\n",
1470 " <td>7.672427</td>\n",
1471 " <td>N/A</td>\n",
1472 " <td>N/A</td>\n",
1473 " </tr>\n",
1474 " <tr>\n",
1475 " <th>...</th>\n",
1476 " <td>...</td>\n",
1477 " <td>...</td>\n",
1478 " <td>...</td>\n",
1479 " <td>...</td>\n",
1480 " <td>...</td>\n",
1481 " <td>...</td>\n",
1482 " <td>...</td>\n",
1483 " <td>...</td>\n",
1484 " <td>...</td>\n",
1485 " <td>...</td>\n",
1486 " <td>...</td>\n",
1487 " <td>...</td>\n",
1488 " </tr>\n",
1489 " <tr>\n",
1490 " <th>500</th>\n",
1491 " <td>YUM</td>\n",
1492 " <td>94.320</td>\n",
1493 " <td>N/A</td>\n",
1494 " <td>28</td>\n",
1495 " <td>N/A</td>\n",
1496 " <td>-3.659682</td>\n",
1497 " <td>N/A</td>\n",
1498 " <td>18.841249</td>\n",
1499 " <td>N/A</td>\n",
1500 " <td>13.891510</td>\n",
1501 " <td>N/A</td>\n",
1502 " <td>N/A</td>\n",
1503 " </tr>\n",
1504 " <tr>\n",
1505 " <th>501</th>\n",
1506 " <td>ZBH</td>\n",
1507 " <td>143.470</td>\n",
1508 " <td>N/A</td>\n",
1509 " <td>718.1</td>\n",
1510 " <td>N/A</td>\n",
1511 " <td>2.390128</td>\n",
1512 " <td>N/A</td>\n",
1513 " <td>17.170711</td>\n",
1514 " <td>N/A</td>\n",
1515 " <td>7.478460</td>\n",
1516 " <td>N/A</td>\n",
1517 " <td>N/A</td>\n",
1518 " </tr>\n",
1519 " <tr>\n",
1520 " <th>502</th>\n",
1521 " <td>ZBRA</td>\n",
1522 " <td>288.222</td>\n",
1523 " <td>N/A</td>\n",
1524 " <td>31.86</td>\n",
1525 " <td>N/A</td>\n",
1526 " <td>8.600669</td>\n",
1527 " <td>N/A</td>\n",
1528 " <td>19.480804</td>\n",
1529 " <td>N/A</td>\n",
1530 " <td>8.449885</td>\n",
1531 " <td>N/A</td>\n",
1532 " <td>N/A</td>\n",
1533 " </tr>\n",
1534 " <tr>\n",
1535 " <th>503</th>\n",
1536 " <td>ZION</td>\n",
1537 " <td>35.770</td>\n",
1538 " <td>N/A</td>\n",
1539 " <td>13.24</td>\n",
1540 " <td>N/A</td>\n",
1541 " <td>0.766237</td>\n",
1542 " <td>N/A</td>\n",
1543 " <td>NaN</td>\n",
1544 " <td>N/A</td>\n",
1545 " <td>NaN</td>\n",
1546 " <td>N/A</td>\n",
1547 " <td>N/A</td>\n",
1548 " </tr>\n",
1549 " <tr>\n",
1550 " <th>504</th>\n",
1551 " <td>ZTS</td>\n",
1552 " <td>160.920</td>\n",
1553 " <td>N/A</td>\n",
1554 " <td>47.2</td>\n",
1555 " <td>N/A</td>\n",
1556 " <td>29.222282</td>\n",
1557 " <td>N/A</td>\n",
1558 " <td>32.483029</td>\n",
1559 " <td>N/A</td>\n",
1560 " <td>19.667225</td>\n",
1561 " <td>N/A</td>\n",
1562 " <td>N/A</td>\n",
1563 " </tr>\n",
1564 " </tbody>\n",
1565 "</table>\n",
1566 "<p>505 rows × 12 columns</p>\n",
1567 "</div>"
1568 ],
1569 "text/plain": [
1570 " Ticker Price Number of Shares to Buy Price-to-Earnings Ratio \\\n",
1571 "0 A 100.010 N/A 46.95 \n",
1572 "1 AAL 13.360 N/A -1.71 \n",
1573 "2 AAP 161.440 N/A 29 \n",
1574 "3 AAPL 466.070 N/A 34.69 \n",
1575 "4 ABBV 96.680 N/A 21 \n",
1576 ".. ... ... ... ... \n",
1577 "500 YUM 94.320 N/A 28 \n",
1578 "501 ZBH 143.470 N/A 718.1 \n",
1579 "502 ZBRA 288.222 N/A 31.86 \n",
1580 "503 ZION 35.770 N/A 13.24 \n",
1581 "504 ZTS 160.920 N/A 47.2 \n",
1582 "\n",
1583 " PE Percentile Price-to-Book Ratio PB Percentile EV/EBITDA \\\n",
1584 "0 N/A 6.596140 N/A 26.372976 \n",
1585 "1 N/A -60.417952 N/A 5.952664 \n",
1586 "2 N/A 3.123759 N/A 15.086368 \n",
1587 "3 N/A 22.373999 N/A 25.708773 \n",
1588 "4 N/A -21.463532 N/A 12.272585 \n",
1589 ".. ... ... ... ... \n",
1590 "500 N/A -3.659682 N/A 18.841249 \n",
1591 "501 N/A 2.390128 N/A 17.170711 \n",
1592 "502 N/A 8.600669 N/A 19.480804 \n",
1593 "503 N/A 0.766237 N/A NaN \n",
1594 "504 N/A 29.222282 N/A 32.483029 \n",
1595 "\n",
1596 " EV/EBITDA Percentile EV/GP EV/GP Percentile RV Score \n",
1597 "0 N/A 11.311629 N/A N/A \n",
1598 "1 N/A 3.098483 N/A N/A \n",
1599 "2 N/A 3.208667 N/A N/A \n",
1600 "3 N/A 19.428993 N/A N/A \n",
1601 "4 N/A 7.672427 N/A N/A \n",
1602 ".. ... ... ... ... \n",
1603 "500 N/A 13.891510 N/A N/A \n",
1604 "501 N/A 7.478460 N/A N/A \n",
1605 "502 N/A 8.449885 N/A N/A \n",
1606 "503 N/A NaN N/A N/A \n",
1607 "504 N/A 19.667225 N/A N/A \n",
1608 "\n",
1609 "[505 rows x 12 columns]"
1610 ]
1611 },
1612 "execution_count": 12,
1613 "metadata": {},
1614 "output_type": "execute_result"
1615 }
1616 ],
1617 "source": []
1618 },
1619 {
1620 "cell_type": "code",
1621 "execution_count": 13,
1622 "metadata": {},
1623 "outputs": [
1624 {
1625 "name": "stdout",
1626 "output_type": "stream",
1627 "text": [
1628 "{'week52change': 0.290414, 'week52high': 169.51, 'week52low': 90.41, 'marketcap': 75861250162, 'employees': 10724, 'day200MovingAvg': 134.17, 'day50MovingAvg': 148.64, 'float': 479955020, 'avg10Volume': 1641586.3, 'avg30Volume': 1479579.2, 'ttmEPS': 3.499, 'ttmDividendRate': 0.77, 'companyName': 'Zoetis, Inc.', 'sharesOutstanding': 494883276, 'maxChangePercent': 3.3525, 'year5ChangePercent': 1.69, 'year2ChangePercent': 0.608, 'year1ChangePercent': 0.281583, 'ytdChangePercent': 0.189876, 'month6ChangePercent': 0.10241, 'month3ChangePercent': 0.297048, 'month1ChangePercent': 0.159224, 'day30ChangePercent': 0.165634, 'day5ChangePercent': -0.012817, 'nextDividendDate': None, 'dividendYield': 0.00489706569361443, 'nextEarningsDate': '2020-10-13', 'exDividendDate': '2020-07-01', 'peRatio': 49.1, 'beta': 0.9584403132945124, 'totalCash': 1974321215, 'currentDebt': 549171552, 'revenue': 6518431250, 'grossProfit': 4133660573, 'totalRevenue': 6300683466, 'EBITDA': 2502772553, 'revenuePerShare': 13.28, 'revenuePerEmployee': 618960.04, 'debtToEquity': 2.45, 'profitMargin': 0.2407740535828538, 'enterpriseValue': 81297632588, 'enterpriseValueToRevenue': 13.46, 'priceToSales': 12.6, 'priceToBook': 29.222282216073907, 'forwardPERatio': 46.68, 'pegRatio': -42.88, 'peHigh': 46.10321684721315, 'peLow': 25.052455887152025, 'week52highDate': '2020-07-31', 'week52lowDate': '2020-03-22', 'putCallRatio': 1.5877629858076678}\n"
1629 ]
1630 }
1631 ],
1632 "source": []
1633 },
1634 {
1635 "cell_type": "markdown",
1636 "metadata": {},
1637 "source": [
1638 "## Dealing With Missing Data in Our DataFrame\n",
1639 "\n",
1640 "Our DataFrame contains some missing data because all of the metrics we require are not available through the API we're using. \n",
1641 "\n",
1642 "You can use pandas' `isnull` method to identify missing data:"
1643 ]
1644 },
1645 {
1646 "cell_type": "code",
1647 "execution_count": 14,
1648 "metadata": {},
1649 "outputs": [
1650 {
1651 "data": {
1652 "text/html": [
1653 "<div>\n",
1654 "<style scoped>\n",
1655 " .dataframe tbody tr th:only-of-type {\n",
1656 " vertical-align: middle;\n",
1657 " }\n",
1658 "\n",
1659 " .dataframe tbody tr th {\n",
1660 " vertical-align: top;\n",
1661 " }\n",
1662 "\n",
1663 " .dataframe thead th {\n",
1664 " text-align: right;\n",
1665 " }\n",
1666 "</style>\n",
1667 "<table border=\"1\" class=\"dataframe\">\n",
1668 " <thead>\n",
1669 " <tr style=\"text-align: right;\">\n",
1670 " <th></th>\n",
1671 " <th>Ticker</th>\n",
1672 " <th>Price</th>\n",
1673 " <th>Number of Shares to Buy</th>\n",
1674 " <th>Price-to-Earnings Ratio</th>\n",
1675 " <th>PE Percentile</th>\n",
1676 " <th>Price-to-Book Ratio</th>\n",
1677 " <th>PB Percentile</th>\n",
1678 " <th>EV/EBITDA</th>\n",
1679 " <th>EV/EBITDA Percentile</th>\n",
1680 " <th>EV/GP</th>\n",
1681 " <th>EV/GP Percentile</th>\n",
1682 " <th>RV Score</th>\n",
1683 " </tr>\n",
1684 " </thead>\n",
1685 " <tbody>\n",
1686 " <tr>\n",
1687 " <th>17</th>\n",
1688 " <td>AFL</td>\n",
1689 " <td>39.060</td>\n",
1690 " <td>N/A</td>\n",
1691 " <td>9.7</td>\n",
1692 " <td>N/A</td>\n",
1693 " <td>0.950934</td>\n",
1694 " <td>N/A</td>\n",
1695 " <td>NaN</td>\n",
1696 " <td>N/A</td>\n",
1697 " <td>NaN</td>\n",
1698 " <td>N/A</td>\n",
1699 " <td>N/A</td>\n",
1700 " </tr>\n",
1701 " <tr>\n",
1702 " <th>18</th>\n",
1703 " <td>AIG</td>\n",
1704 " <td>31.950</td>\n",
1705 " <td>N/A</td>\n",
1706 " <td>-5.88</td>\n",
1707 " <td>N/A</td>\n",
1708 " <td>0.407454</td>\n",
1709 " <td>N/A</td>\n",
1710 " <td>NaN</td>\n",
1711 " <td>N/A</td>\n",
1712 " <td>NaN</td>\n",
1713 " <td>N/A</td>\n",
1714 " <td>N/A</td>\n",
1715 " </tr>\n",
1716 " <tr>\n",
1717 " <th>20</th>\n",
1718 " <td>AIZ</td>\n",
1719 " <td>127.680</td>\n",
1720 " <td>N/A</td>\n",
1721 " <td>20.22</td>\n",
1722 " <td>N/A</td>\n",
1723 " <td>1.360264</td>\n",
1724 " <td>N/A</td>\n",
1725 " <td>NaN</td>\n",
1726 " <td>N/A</td>\n",
1727 " <td>NaN</td>\n",
1728 " <td>N/A</td>\n",
1729 " <td>N/A</td>\n",
1730 " </tr>\n",
1731 " <tr>\n",
1732 " <th>26</th>\n",
1733 " <td>ALL</td>\n",
1734 " <td>97.880</td>\n",
1735 " <td>N/A</td>\n",
1736 " <td>7.1</td>\n",
1737 " <td>N/A</td>\n",
1738 " <td>1.173772</td>\n",
1739 " <td>N/A</td>\n",
1740 " <td>NaN</td>\n",
1741 " <td>N/A</td>\n",
1742 " <td>NaN</td>\n",
1743 " <td>N/A</td>\n",
1744 " <td>N/A</td>\n",
1745 " </tr>\n",
1746 " <tr>\n",
1747 " <th>39</th>\n",
1748 " <td>ANTM</td>\n",
1749 " <td>293.560</td>\n",
1750 " <td>N/A</td>\n",
1751 " <td>12.24</td>\n",
1752 " <td>N/A</td>\n",
1753 " <td>2.304037</td>\n",
1754 " <td>N/A</td>\n",
1755 " <td>NaN</td>\n",
1756 " <td>N/A</td>\n",
1757 " <td>NaN</td>\n",
1758 " <td>N/A</td>\n",
1759 " <td>N/A</td>\n",
1760 " </tr>\n",
1761 " <tr>\n",
1762 " <th>40</th>\n",
1763 " <td>AON</td>\n",
1764 " <td>196.350</td>\n",
1765 " <td>N/A</td>\n",
1766 " <td>26.09</td>\n",
1767 " <td>N/A</td>\n",
1768 " <td>13.486066</td>\n",
1769 " <td>N/A</td>\n",
1770 " <td>17.533688</td>\n",
1771 " <td>N/A</td>\n",
1772 " <td>NaN</td>\n",
1773 " <td>N/A</td>\n",
1774 " <td>N/A</td>\n",
1775 " </tr>\n",
1776 " <tr>\n",
1777 " <th>56</th>\n",
1778 " <td>BAC</td>\n",
1779 " <td>26.970</td>\n",
1780 " <td>N/A</td>\n",
1781 " <td>12.63</td>\n",
1782 " <td>N/A</td>\n",
1783 " <td>0.867662</td>\n",
1784 " <td>N/A</td>\n",
1785 " <td>NaN</td>\n",
1786 " <td>N/A</td>\n",
1787 " <td>NaN</td>\n",
1788 " <td>N/A</td>\n",
1789 " <td>N/A</td>\n",
1790 " </tr>\n",
1791 " <tr>\n",
1792 " <th>64</th>\n",
1793 " <td>BK</td>\n",
1794 " <td>38.160</td>\n",
1795 " <td>N/A</td>\n",
1796 " <td>8.27</td>\n",
1797 " <td>N/A</td>\n",
1798 " <td>0.804550</td>\n",
1799 " <td>N/A</td>\n",
1800 " <td>NaN</td>\n",
1801 " <td>N/A</td>\n",
1802 " <td>NaN</td>\n",
1803 " <td>N/A</td>\n",
1804 " <td>N/A</td>\n",
1805 " </tr>\n",
1806 " <tr>\n",
1807 " <th>65</th>\n",
1808 " <td>BKNG</td>\n",
1809 " <td>1866.170</td>\n",
1810 " <td>N/A</td>\n",
1811 " <td>30.78</td>\n",
1812 " <td>N/A</td>\n",
1813 " <td>12.571484</td>\n",
1814 " <td>N/A</td>\n",
1815 " <td>12.859665</td>\n",
1816 " <td>N/A</td>\n",
1817 " <td>NaN</td>\n",
1818 " <td>N/A</td>\n",
1819 " <td>N/A</td>\n",
1820 " </tr>\n",
1821 " <tr>\n",
1822 " <th>75</th>\n",
1823 " <td>C</td>\n",
1824 " <td>55.140</td>\n",
1825 " <td>N/A</td>\n",
1826 " <td>9.52</td>\n",
1827 " <td>N/A</td>\n",
1828 " <td>0.576968</td>\n",
1829 " <td>N/A</td>\n",
1830 " <td>NaN</td>\n",
1831 " <td>N/A</td>\n",
1832 " <td>NaN</td>\n",
1833 " <td>N/A</td>\n",
1834 " <td>N/A</td>\n",
1835 " </tr>\n",
1836 " <tr>\n",
1837 " <th>78</th>\n",
1838 " <td>CARR</td>\n",
1839 " <td>30.210</td>\n",
1840 " <td>N/A</td>\n",
1841 " <td>None</td>\n",
1842 " <td>N/A</td>\n",
1843 " <td>1.884398</td>\n",
1844 " <td>N/A</td>\n",
1845 " <td>9.144195</td>\n",
1846 " <td>N/A</td>\n",
1847 " <td>4.550543</td>\n",
1848 " <td>N/A</td>\n",
1849 " <td>N/A</td>\n",
1850 " </tr>\n",
1851 " <tr>\n",
1852 " <th>80</th>\n",
1853 " <td>CB</td>\n",
1854 " <td>132.400</td>\n",
1855 " <td>N/A</td>\n",
1856 " <td>27.62</td>\n",
1857 " <td>N/A</td>\n",
1858 " <td>1.066146</td>\n",
1859 " <td>N/A</td>\n",
1860 " <td>NaN</td>\n",
1861 " <td>N/A</td>\n",
1862 " <td>NaN</td>\n",
1863 " <td>N/A</td>\n",
1864 " <td>N/A</td>\n",
1865 " </tr>\n",
1866 " <tr>\n",
1867 " <th>90</th>\n",
1868 " <td>CFG</td>\n",
1869 " <td>26.840</td>\n",
1870 " <td>N/A</td>\n",
1871 " <td>10.71</td>\n",
1872 " <td>N/A</td>\n",
1873 " <td>0.501914</td>\n",
1874 " <td>N/A</td>\n",
1875 " <td>NaN</td>\n",
1876 " <td>N/A</td>\n",
1877 " <td>NaN</td>\n",
1878 " <td>N/A</td>\n",
1879 " <td>N/A</td>\n",
1880 " </tr>\n",
1881 " <tr>\n",
1882 " <th>94</th>\n",
1883 " <td>CI</td>\n",
1884 " <td>188.390</td>\n",
1885 " <td>N/A</td>\n",
1886 " <td>13.31</td>\n",
1887 " <td>N/A</td>\n",
1888 " <td>1.477180</td>\n",
1889 " <td>N/A</td>\n",
1890 " <td>NaN</td>\n",
1891 " <td>N/A</td>\n",
1892 " <td>NaN</td>\n",
1893 " <td>N/A</td>\n",
1894 " <td>N/A</td>\n",
1895 " </tr>\n",
1896 " <tr>\n",
1897 " <th>95</th>\n",
1898 " <td>CINF</td>\n",
1899 " <td>80.210</td>\n",
1900 " <td>N/A</td>\n",
1901 " <td>23.51</td>\n",
1902 " <td>N/A</td>\n",
1903 " <td>1.305219</td>\n",
1904 " <td>N/A</td>\n",
1905 " <td>NaN</td>\n",
1906 " <td>N/A</td>\n",
1907 " <td>NaN</td>\n",
1908 " <td>N/A</td>\n",
1909 " <td>N/A</td>\n",
1910 " </tr>\n",
1911 " <tr>\n",
1912 " <th>97</th>\n",
1913 " <td>CLX</td>\n",
1914 " <td>232.200</td>\n",
1915 " <td>N/A</td>\n",
1916 " <td>30.25</td>\n",
1917 " <td>N/A</td>\n",
1918 " <td>32.278899</td>\n",
1919 " <td>N/A</td>\n",
1920 " <td>NaN</td>\n",
1921 " <td>N/A</td>\n",
1922 " <td>9.790028</td>\n",
1923 " <td>N/A</td>\n",
1924 " <td>N/A</td>\n",
1925 " </tr>\n",
1926 " <tr>\n",
1927 " <th>98</th>\n",
1928 " <td>CMA</td>\n",
1929 " <td>43.270</td>\n",
1930 " <td>N/A</td>\n",
1931 " <td>10.2</td>\n",
1932 " <td>N/A</td>\n",
1933 " <td>0.801751</td>\n",
1934 " <td>N/A</td>\n",
1935 " <td>NaN</td>\n",
1936 " <td>N/A</td>\n",
1937 " <td>NaN</td>\n",
1938 " <td>N/A</td>\n",
1939 " <td>N/A</td>\n",
1940 " </tr>\n",
1941 " <tr>\n",
1942 " <th>104</th>\n",
1943 " <td>CNC</td>\n",
1944 " <td>65.780</td>\n",
1945 " <td>N/A</td>\n",
1946 " <td>22.88</td>\n",
1947 " <td>N/A</td>\n",
1948 " <td>2.982878</td>\n",
1949 " <td>N/A</td>\n",
1950 " <td>NaN</td>\n",
1951 " <td>N/A</td>\n",
1952 " <td>NaN</td>\n",
1953 " <td>N/A</td>\n",
1954 " <td>N/A</td>\n",
1955 " </tr>\n",
1956 " <tr>\n",
1957 " <th>106</th>\n",
1958 " <td>COF</td>\n",
1959 " <td>67.830</td>\n",
1960 " <td>N/A</td>\n",
1961 " <td>-195.92</td>\n",
1962 " <td>N/A</td>\n",
1963 " <td>0.534970</td>\n",
1964 " <td>N/A</td>\n",
1965 " <td>NaN</td>\n",
1966 " <td>N/A</td>\n",
1967 " <td>NaN</td>\n",
1968 " <td>N/A</td>\n",
1969 " <td>N/A</td>\n",
1970 " </tr>\n",
1971 " <tr>\n",
1972 " <th>129</th>\n",
1973 " <td>DFS</td>\n",
1974 " <td>55.920</td>\n",
1975 " <td>N/A</td>\n",
1976 " <td>17.68</td>\n",
1977 " <td>N/A</td>\n",
1978 " <td>1.456734</td>\n",
1979 " <td>N/A</td>\n",
1980 " <td>NaN</td>\n",
1981 " <td>N/A</td>\n",
1982 " <td>NaN</td>\n",
1983 " <td>N/A</td>\n",
1984 " <td>N/A</td>\n",
1985 " </tr>\n",
1986 " <tr>\n",
1987 " <th>185</th>\n",
1988 " <td>FITB</td>\n",
1989 " <td>21.043</td>\n",
1990 " <td>N/A</td>\n",
1991 " <td>10.87</td>\n",
1992 " <td>N/A</td>\n",
1993 " <td>0.717095</td>\n",
1994 " <td>N/A</td>\n",
1995 " <td>NaN</td>\n",
1996 " <td>N/A</td>\n",
1997 " <td>NaN</td>\n",
1998 " <td>N/A</td>\n",
1999 " <td>N/A</td>\n",
2000 " </tr>\n",
2001 " <tr>\n",
2002 " <th>192</th>\n",
2003 " <td>FRC</td>\n",
2004 " <td>123.410</td>\n",
2005 " <td>N/A</td>\n",
2006 " <td>22.93</td>\n",
2007 " <td>N/A</td>\n",
2008 " <td>2.163006</td>\n",
2009 " <td>N/A</td>\n",
2010 " <td>NaN</td>\n",
2011 " <td>N/A</td>\n",
2012 " <td>NaN</td>\n",
2013 " <td>N/A</td>\n",
2014 " <td>N/A</td>\n",
2015 " </tr>\n",
2016 " <tr>\n",
2017 " <th>201</th>\n",
2018 " <td>GL</td>\n",
2019 " <td>85.320</td>\n",
2020 " <td>N/A</td>\n",
2021 " <td>13.09</td>\n",
2022 " <td>N/A</td>\n",
2023 " <td>1.266177</td>\n",
2024 " <td>N/A</td>\n",
2025 " <td>NaN</td>\n",
2026 " <td>N/A</td>\n",
2027 " <td>NaN</td>\n",
2028 " <td>N/A</td>\n",
2029 " <td>N/A</td>\n",
2030 " </tr>\n",
2031 " <tr>\n",
2032 " <th>210</th>\n",
2033 " <td>GS</td>\n",
2034 " <td>211.320</td>\n",
2035 " <td>N/A</td>\n",
2036 " <td>16.21</td>\n",
2037 " <td>N/A</td>\n",
2038 " <td>0.813961</td>\n",
2039 " <td>N/A</td>\n",
2040 " <td>NaN</td>\n",
2041 " <td>N/A</td>\n",
2042 " <td>NaN</td>\n",
2043 " <td>N/A</td>\n",
2044 " <td>N/A</td>\n",
2045 " </tr>\n",
2046 " <tr>\n",
2047 " <th>214</th>\n",
2048 " <td>HBAN</td>\n",
2049 " <td>10.179</td>\n",
2050 " <td>N/A</td>\n",
2051 " <td>12.49</td>\n",
2052 " <td>N/A</td>\n",
2053 " <td>0.855431</td>\n",
2054 " <td>N/A</td>\n",
2055 " <td>NaN</td>\n",
2056 " <td>N/A</td>\n",
2057 " <td>NaN</td>\n",
2058 " <td>N/A</td>\n",
2059 " <td>N/A</td>\n",
2060 " </tr>\n",
2061 " <tr>\n",
2062 " <th>220</th>\n",
2063 " <td>HIG</td>\n",
2064 " <td>42.840</td>\n",
2065 " <td>N/A</td>\n",
2066 " <td>8.7</td>\n",
2067 " <td>N/A</td>\n",
2068 " <td>0.959808</td>\n",
2069 " <td>N/A</td>\n",
2070 " <td>NaN</td>\n",
2071 " <td>N/A</td>\n",
2072 " <td>NaN</td>\n",
2073 " <td>N/A</td>\n",
2074 " <td>N/A</td>\n",
2075 " </tr>\n",
2076 " <tr>\n",
2077 " <th>232</th>\n",
2078 " <td>HUM</td>\n",
2079 " <td>427.300</td>\n",
2080 " <td>N/A</td>\n",
2081 " <td>15.96</td>\n",
2082 " <td>N/A</td>\n",
2083 " <td>4.713176</td>\n",
2084 " <td>N/A</td>\n",
2085 " <td>NaN</td>\n",
2086 " <td>N/A</td>\n",
2087 " <td>NaN</td>\n",
2088 " <td>N/A</td>\n",
2089 " <td>N/A</td>\n",
2090 " </tr>\n",
2091 " <tr>\n",
2092 " <th>260</th>\n",
2093 " <td>JPM</td>\n",
2094 " <td>103.310</td>\n",
2095 " <td>N/A</td>\n",
2096 " <td>14.29</td>\n",
2097 " <td>N/A</td>\n",
2098 " <td>1.213231</td>\n",
2099 " <td>N/A</td>\n",
2100 " <td>NaN</td>\n",
2101 " <td>N/A</td>\n",
2102 " <td>NaN</td>\n",
2103 " <td>N/A</td>\n",
2104 " <td>N/A</td>\n",
2105 " </tr>\n",
2106 " <tr>\n",
2107 " <th>262</th>\n",
2108 " <td>KEY</td>\n",
2109 " <td>13.180</td>\n",
2110 " <td>N/A</td>\n",
2111 " <td>11.35</td>\n",
2112 " <td>N/A</td>\n",
2113 " <td>0.752496</td>\n",
2114 " <td>N/A</td>\n",
2115 " <td>NaN</td>\n",
2116 " <td>N/A</td>\n",
2117 " <td>NaN</td>\n",
2118 " <td>N/A</td>\n",
2119 " <td>N/A</td>\n",
2120 " </tr>\n",
2121 " <tr>\n",
2122 " <th>274</th>\n",
2123 " <td>L</td>\n",
2124 " <td>38.130</td>\n",
2125 " <td>N/A</td>\n",
2126 " <td>-9.39</td>\n",
2127 " <td>N/A</td>\n",
2128 " <td>0.573510</td>\n",
2129 " <td>N/A</td>\n",
2130 " <td>NaN</td>\n",
2131 " <td>N/A</td>\n",
2132 " <td>NaN</td>\n",
2133 " <td>N/A</td>\n",
2134 " <td>N/A</td>\n",
2135 " </tr>\n",
2136 " <tr>\n",
2137 " <th>285</th>\n",
2138 " <td>LNC</td>\n",
2139 " <td>39.000</td>\n",
2140 " <td>N/A</td>\n",
2141 " <td>34.14</td>\n",
2142 " <td>N/A</td>\n",
2143 " <td>0.382368</td>\n",
2144 " <td>N/A</td>\n",
2145 " <td>NaN</td>\n",
2146 " <td>N/A</td>\n",
2147 " <td>NaN</td>\n",
2148 " <td>N/A</td>\n",
2149 " <td>N/A</td>\n",
2150 " </tr>\n",
2151 " <tr>\n",
2152 " <th>294</th>\n",
2153 " <td>MA</td>\n",
2154 " <td>326.780</td>\n",
2155 " <td>N/A</td>\n",
2156 " <td>46.44</td>\n",
2157 " <td>N/A</td>\n",
2158 " <td>57.878484</td>\n",
2159 " <td>N/A</td>\n",
2160 " <td>32.240726</td>\n",
2161 " <td>N/A</td>\n",
2162 " <td>NaN</td>\n",
2163 " <td>N/A</td>\n",
2164 " <td>N/A</td>\n",
2165 " </tr>\n",
2166 " <tr>\n",
2167 " <th>304</th>\n",
2168 " <td>MET</td>\n",
2169 " <td>40.060</td>\n",
2170 " <td>N/A</td>\n",
2171 " <td>5.15</td>\n",
2172 " <td>N/A</td>\n",
2173 " <td>0.560684</td>\n",
2174 " <td>N/A</td>\n",
2175 " <td>NaN</td>\n",
2176 " <td>N/A</td>\n",
2177 " <td>NaN</td>\n",
2178 " <td>N/A</td>\n",
2179 " <td>N/A</td>\n",
2180 " </tr>\n",
2181 " <tr>\n",
2182 " <th>310</th>\n",
2183 " <td>MMC</td>\n",
2184 " <td>121.870</td>\n",
2185 " <td>N/A</td>\n",
2186 " <td>29.5</td>\n",
2187 " <td>N/A</td>\n",
2188 " <td>7.745583</td>\n",
2189 " <td>N/A</td>\n",
2190 " <td>19.929889</td>\n",
2191 " <td>N/A</td>\n",
2192 " <td>NaN</td>\n",
2193 " <td>N/A</td>\n",
2194 " <td>N/A</td>\n",
2195 " </tr>\n",
2196 " <tr>\n",
2197 " <th>318</th>\n",
2198 " <td>MS</td>\n",
2199 " <td>53.890</td>\n",
2200 " <td>N/A</td>\n",
2201 " <td>9.4</td>\n",
2202 " <td>N/A</td>\n",
2203 " <td>1.019241</td>\n",
2204 " <td>N/A</td>\n",
2205 " <td>NaN</td>\n",
2206 " <td>N/A</td>\n",
2207 " <td>NaN</td>\n",
2208 " <td>N/A</td>\n",
2209 " <td>N/A</td>\n",
2210 " </tr>\n",
2211 " <tr>\n",
2212 " <th>322</th>\n",
2213 " <td>MTB</td>\n",
2214 " <td>109.100</td>\n",
2215 " <td>N/A</td>\n",
2216 " <td>10.14</td>\n",
2217 " <td>N/A</td>\n",
2218 " <td>0.908166</td>\n",
2219 " <td>N/A</td>\n",
2220 " <td>NaN</td>\n",
2221 " <td>N/A</td>\n",
2222 " <td>NaN</td>\n",
2223 " <td>N/A</td>\n",
2224 " <td>N/A</td>\n",
2225 " </tr>\n",
2226 " <tr>\n",
2227 " <th>343</th>\n",
2228 " <td>NTRS</td>\n",
2229 " <td>84.016</td>\n",
2230 " <td>N/A</td>\n",
2231 " <td>13.11</td>\n",
2232 " <td>N/A</td>\n",
2233 " <td>1.585778</td>\n",
2234 " <td>N/A</td>\n",
2235 " <td>NaN</td>\n",
2236 " <td>N/A</td>\n",
2237 " <td>NaN</td>\n",
2238 " <td>N/A</td>\n",
2239 " <td>N/A</td>\n",
2240 " </tr>\n",
2241 " <tr>\n",
2242 " <th>356</th>\n",
2243 " <td>OTIS</td>\n",
2244 " <td>65.000</td>\n",
2245 " <td>N/A</td>\n",
2246 " <td>None</td>\n",
2247 " <td>N/A</td>\n",
2248 " <td>16.466082</td>\n",
2249 " <td>N/A</td>\n",
2250 " <td>12.978635</td>\n",
2251 " <td>N/A</td>\n",
2252 " <td>7.134814</td>\n",
2253 " <td>N/A</td>\n",
2254 " <td>N/A</td>\n",
2255 " </tr>\n",
2256 " <tr>\n",
2257 " <th>360</th>\n",
2258 " <td>PBCT</td>\n",
2259 " <td>11.413</td>\n",
2260 " <td>N/A</td>\n",
2261 " <td>9.88</td>\n",
2262 " <td>N/A</td>\n",
2263 " <td>0.611706</td>\n",
2264 " <td>N/A</td>\n",
2265 " <td>NaN</td>\n",
2266 " <td>N/A</td>\n",
2267 " <td>NaN</td>\n",
2268 " <td>N/A</td>\n",
2269 " <td>N/A</td>\n",
2270 " </tr>\n",
2271 " <tr>\n",
2272 " <th>366</th>\n",
2273 " <td>PFG</td>\n",
2274 " <td>46.400</td>\n",
2275 " <td>N/A</td>\n",
2276 " <td>10</td>\n",
2277 " <td>N/A</td>\n",
2278 " <td>0.875822</td>\n",
2279 " <td>N/A</td>\n",
2280 " <td>NaN</td>\n",
2281 " <td>N/A</td>\n",
2282 " <td>NaN</td>\n",
2283 " <td>N/A</td>\n",
2284 " <td>N/A</td>\n",
2285 " </tr>\n",
2286 " <tr>\n",
2287 " <th>368</th>\n",
2288 " <td>PGR</td>\n",
2289 " <td>91.930</td>\n",
2290 " <td>N/A</td>\n",
2291 " <td>11.96</td>\n",
2292 " <td>N/A</td>\n",
2293 " <td>3.853690</td>\n",
2294 " <td>N/A</td>\n",
2295 " <td>NaN</td>\n",
2296 " <td>N/A</td>\n",
2297 " <td>NaN</td>\n",
2298 " <td>N/A</td>\n",
2299 " <td>N/A</td>\n",
2300 " </tr>\n",
2301 " <tr>\n",
2302 " <th>375</th>\n",
2303 " <td>PNC</td>\n",
2304 " <td>114.560</td>\n",
2305 " <td>N/A</td>\n",
2306 " <td>7</td>\n",
2307 " <td>N/A</td>\n",
2308 " <td>0.968309</td>\n",
2309 " <td>N/A</td>\n",
2310 " <td>NaN</td>\n",
2311 " <td>N/A</td>\n",
2312 " <td>NaN</td>\n",
2313 " <td>N/A</td>\n",
2314 " <td>N/A</td>\n",
2315 " </tr>\n",
2316 " <tr>\n",
2317 " <th>381</th>\n",
2318 " <td>PRU</td>\n",
2319 " <td>69.800</td>\n",
2320 " <td>N/A</td>\n",
2321 " <td>-130</td>\n",
2322 " <td>N/A</td>\n",
2323 " <td>0.442811</td>\n",
2324 " <td>N/A</td>\n",
2325 " <td>NaN</td>\n",
2326 " <td>N/A</td>\n",
2327 " <td>NaN</td>\n",
2328 " <td>N/A</td>\n",
2329 " <td>N/A</td>\n",
2330 " </tr>\n",
2331 " <tr>\n",
2332 " <th>391</th>\n",
2333 " <td>RE</td>\n",
2334 " <td>228.250</td>\n",
2335 " <td>N/A</td>\n",
2336 " <td>17.75</td>\n",
2337 " <td>N/A</td>\n",
2338 " <td>1.014116</td>\n",
2339 " <td>N/A</td>\n",
2340 " <td>NaN</td>\n",
2341 " <td>N/A</td>\n",
2342 " <td>NaN</td>\n",
2343 " <td>N/A</td>\n",
2344 " <td>N/A</td>\n",
2345 " </tr>\n",
2346 " <tr>\n",
2347 " <th>394</th>\n",
2348 " <td>RF</td>\n",
2349 " <td>12.050</td>\n",
2350 " <td>N/A</td>\n",
2351 " <td>17.46</td>\n",
2352 " <td>N/A</td>\n",
2353 " <td>0.711818</td>\n",
2354 " <td>N/A</td>\n",
2355 " <td>NaN</td>\n",
2356 " <td>N/A</td>\n",
2357 " <td>NaN</td>\n",
2358 " <td>N/A</td>\n",
2359 " <td>N/A</td>\n",
2360 " </tr>\n",
2361 " <tr>\n",
2362 " <th>410</th>\n",
2363 " <td>SIVB</td>\n",
2364 " <td>257.970</td>\n",
2365 " <td>N/A</td>\n",
2366 " <td>14.96</td>\n",
2367 " <td>N/A</td>\n",
2368 " <td>2.029366</td>\n",
2369 " <td>N/A</td>\n",
2370 " <td>NaN</td>\n",
2371 " <td>N/A</td>\n",
2372 " <td>NaN</td>\n",
2373 " <td>N/A</td>\n",
2374 " <td>N/A</td>\n",
2375 " </tr>\n",
2376 " <tr>\n",
2377 " <th>421</th>\n",
2378 " <td>STT</td>\n",
2379 " <td>71.170</td>\n",
2380 " <td>N/A</td>\n",
2381 " <td>11.32</td>\n",
2382 " <td>N/A</td>\n",
2383 " <td>1.018320</td>\n",
2384 " <td>N/A</td>\n",
2385 " <td>NaN</td>\n",
2386 " <td>N/A</td>\n",
2387 " <td>NaN</td>\n",
2388 " <td>N/A</td>\n",
2389 " <td>N/A</td>\n",
2390 " </tr>\n",
2391 " <tr>\n",
2392 " <th>434</th>\n",
2393 " <td>TFC</td>\n",
2394 " <td>39.360</td>\n",
2395 " <td>N/A</td>\n",
2396 " <td>12.85</td>\n",
2397 " <td>N/A</td>\n",
2398 " <td>0.820157</td>\n",
2399 " <td>N/A</td>\n",
2400 " <td>NaN</td>\n",
2401 " <td>N/A</td>\n",
2402 " <td>NaN</td>\n",
2403 " <td>N/A</td>\n",
2404 " <td>N/A</td>\n",
2405 " </tr>\n",
2406 " <tr>\n",
2407 " <th>443</th>\n",
2408 " <td>TRV</td>\n",
2409 " <td>123.090</td>\n",
2410 " <td>N/A</td>\n",
2411 " <td>17.09</td>\n",
2412 " <td>N/A</td>\n",
2413 " <td>1.165263</td>\n",
2414 " <td>N/A</td>\n",
2415 " <td>NaN</td>\n",
2416 " <td>N/A</td>\n",
2417 " <td>NaN</td>\n",
2418 " <td>N/A</td>\n",
2419 " <td>N/A</td>\n",
2420 " </tr>\n",
2421 " <tr>\n",
2422 " <th>458</th>\n",
2423 " <td>UNH</td>\n",
2424 " <td>337.050</td>\n",
2425 " <td>N/A</td>\n",
2426 " <td>18.69</td>\n",
2427 " <td>N/A</td>\n",
2428 " <td>5.428035</td>\n",
2429 " <td>N/A</td>\n",
2430 " <td>NaN</td>\n",
2431 " <td>N/A</td>\n",
2432 " <td>NaN</td>\n",
2433 " <td>N/A</td>\n",
2434 " <td>N/A</td>\n",
2435 " </tr>\n",
2436 " <tr>\n",
2437 " <th>459</th>\n",
2438 " <td>UNM</td>\n",
2439 " <td>19.580</td>\n",
2440 " <td>N/A</td>\n",
2441 " <td>4.12</td>\n",
2442 " <td>N/A</td>\n",
2443 " <td>0.392314</td>\n",
2444 " <td>N/A</td>\n",
2445 " <td>NaN</td>\n",
2446 " <td>N/A</td>\n",
2447 " <td>NaN</td>\n",
2448 " <td>N/A</td>\n",
2449 " <td>N/A</td>\n",
2450 " </tr>\n",
2451 " <tr>\n",
2452 " <th>463</th>\n",
2453 " <td>USB</td>\n",
2454 " <td>38.150</td>\n",
2455 " <td>N/A</td>\n",
2456 " <td>12.17</td>\n",
2457 " <td>N/A</td>\n",
2458 " <td>1.099607</td>\n",
2459 " <td>N/A</td>\n",
2460 " <td>NaN</td>\n",
2461 " <td>N/A</td>\n",
2462 " <td>NaN</td>\n",
2463 " <td>N/A</td>\n",
2464 " <td>N/A</td>\n",
2465 " </tr>\n",
2466 " <tr>\n",
2467 " <th>482</th>\n",
2468 " <td>WFC</td>\n",
2469 " <td>25.670</td>\n",
2470 " <td>N/A</td>\n",
2471 " <td>29.3</td>\n",
2472 " <td>N/A</td>\n",
2473 " <td>0.566555</td>\n",
2474 " <td>N/A</td>\n",
2475 " <td>NaN</td>\n",
2476 " <td>N/A</td>\n",
2477 " <td>NaN</td>\n",
2478 " <td>N/A</td>\n",
2479 " <td>N/A</td>\n",
2480 " </tr>\n",
2481 " <tr>\n",
2482 " <th>488</th>\n",
2483 " <td>WRB</td>\n",
2484 " <td>63.440</td>\n",
2485 " <td>N/A</td>\n",
2486 " <td>34.45</td>\n",
2487 " <td>N/A</td>\n",
2488 " <td>1.877291</td>\n",
2489 " <td>N/A</td>\n",
2490 " <td>NaN</td>\n",
2491 " <td>N/A</td>\n",
2492 " <td>NaN</td>\n",
2493 " <td>N/A</td>\n",
2494 " <td>N/A</td>\n",
2495 " </tr>\n",
2496 " <tr>\n",
2497 " <th>503</th>\n",
2498 " <td>ZION</td>\n",
2499 " <td>35.770</td>\n",
2500 " <td>N/A</td>\n",
2501 " <td>13.24</td>\n",
2502 " <td>N/A</td>\n",
2503 " <td>0.766237</td>\n",
2504 " <td>N/A</td>\n",
2505 " <td>NaN</td>\n",
2506 " <td>N/A</td>\n",
2507 " <td>NaN</td>\n",
2508 " <td>N/A</td>\n",
2509 " <td>N/A</td>\n",
2510 " </tr>\n",
2511 " </tbody>\n",
2512 "</table>\n",
2513 "</div>"
2514 ],
2515 "text/plain": [
2516 " Ticker Price Number of Shares to Buy Price-to-Earnings Ratio \\\n",
2517 "17 AFL 39.060 N/A 9.7 \n",
2518 "18 AIG 31.950 N/A -5.88 \n",
2519 "20 AIZ 127.680 N/A 20.22 \n",
2520 "26 ALL 97.880 N/A 7.1 \n",
2521 "39 ANTM 293.560 N/A 12.24 \n",
2522 "40 AON 196.350 N/A 26.09 \n",
2523 "56 BAC 26.970 N/A 12.63 \n",
2524 "64 BK 38.160 N/A 8.27 \n",
2525 "65 BKNG 1866.170 N/A 30.78 \n",
2526 "75 C 55.140 N/A 9.52 \n",
2527 "78 CARR 30.210 N/A None \n",
2528 "80 CB 132.400 N/A 27.62 \n",
2529 "90 CFG 26.840 N/A 10.71 \n",
2530 "94 CI 188.390 N/A 13.31 \n",
2531 "95 CINF 80.210 N/A 23.51 \n",
2532 "97 CLX 232.200 N/A 30.25 \n",
2533 "98 CMA 43.270 N/A 10.2 \n",
2534 "104 CNC 65.780 N/A 22.88 \n",
2535 "106 COF 67.830 N/A -195.92 \n",
2536 "129 DFS 55.920 N/A 17.68 \n",
2537 "185 FITB 21.043 N/A 10.87 \n",
2538 "192 FRC 123.410 N/A 22.93 \n",
2539 "201 GL 85.320 N/A 13.09 \n",
2540 "210 GS 211.320 N/A 16.21 \n",
2541 "214 HBAN 10.179 N/A 12.49 \n",
2542 "220 HIG 42.840 N/A 8.7 \n",
2543 "232 HUM 427.300 N/A 15.96 \n",
2544 "260 JPM 103.310 N/A 14.29 \n",
2545 "262 KEY 13.180 N/A 11.35 \n",
2546 "274 L 38.130 N/A -9.39 \n",
2547 "285 LNC 39.000 N/A 34.14 \n",
2548 "294 MA 326.780 N/A 46.44 \n",
2549 "304 MET 40.060 N/A 5.15 \n",
2550 "310 MMC 121.870 N/A 29.5 \n",
2551 "318 MS 53.890 N/A 9.4 \n",
2552 "322 MTB 109.100 N/A 10.14 \n",
2553 "343 NTRS 84.016 N/A 13.11 \n",
2554 "356 OTIS 65.000 N/A None \n",
2555 "360 PBCT 11.413 N/A 9.88 \n",
2556 "366 PFG 46.400 N/A 10 \n",
2557 "368 PGR 91.930 N/A 11.96 \n",
2558 "375 PNC 114.560 N/A 7 \n",
2559 "381 PRU 69.800 N/A -130 \n",
2560 "391 RE 228.250 N/A 17.75 \n",
2561 "394 RF 12.050 N/A 17.46 \n",
2562 "410 SIVB 257.970 N/A 14.96 \n",
2563 "421 STT 71.170 N/A 11.32 \n",
2564 "434 TFC 39.360 N/A 12.85 \n",
2565 "443 TRV 123.090 N/A 17.09 \n",
2566 "458 UNH 337.050 N/A 18.69 \n",
2567 "459 UNM 19.580 N/A 4.12 \n",
2568 "463 USB 38.150 N/A 12.17 \n",
2569 "482 WFC 25.670 N/A 29.3 \n",
2570 "488 WRB 63.440 N/A 34.45 \n",
2571 "503 ZION 35.770 N/A 13.24 \n",
2572 "\n",
2573 " PE Percentile Price-to-Book Ratio PB Percentile EV/EBITDA \\\n",
2574 "17 N/A 0.950934 N/A NaN \n",
2575 "18 N/A 0.407454 N/A NaN \n",
2576 "20 N/A 1.360264 N/A NaN \n",
2577 "26 N/A 1.173772 N/A NaN \n",
2578 "39 N/A 2.304037 N/A NaN \n",
2579 "40 N/A 13.486066 N/A 17.533688 \n",
2580 "56 N/A 0.867662 N/A NaN \n",
2581 "64 N/A 0.804550 N/A NaN \n",
2582 "65 N/A 12.571484 N/A 12.859665 \n",
2583 "75 N/A 0.576968 N/A NaN \n",
2584 "78 N/A 1.884398 N/A 9.144195 \n",
2585 "80 N/A 1.066146 N/A NaN \n",
2586 "90 N/A 0.501914 N/A NaN \n",
2587 "94 N/A 1.477180 N/A NaN \n",
2588 "95 N/A 1.305219 N/A NaN \n",
2589 "97 N/A 32.278899 N/A NaN \n",
2590 "98 N/A 0.801751 N/A NaN \n",
2591 "104 N/A 2.982878 N/A NaN \n",
2592 "106 N/A 0.534970 N/A NaN \n",
2593 "129 N/A 1.456734 N/A NaN \n",
2594 "185 N/A 0.717095 N/A NaN \n",
2595 "192 N/A 2.163006 N/A NaN \n",
2596 "201 N/A 1.266177 N/A NaN \n",
2597 "210 N/A 0.813961 N/A NaN \n",
2598 "214 N/A 0.855431 N/A NaN \n",
2599 "220 N/A 0.959808 N/A NaN \n",
2600 "232 N/A 4.713176 N/A NaN \n",
2601 "260 N/A 1.213231 N/A NaN \n",
2602 "262 N/A 0.752496 N/A NaN \n",
2603 "274 N/A 0.573510 N/A NaN \n",
2604 "285 N/A 0.382368 N/A NaN \n",
2605 "294 N/A 57.878484 N/A 32.240726 \n",
2606 "304 N/A 0.560684 N/A NaN \n",
2607 "310 N/A 7.745583 N/A 19.929889 \n",
2608 "318 N/A 1.019241 N/A NaN \n",
2609 "322 N/A 0.908166 N/A NaN \n",
2610 "343 N/A 1.585778 N/A NaN \n",
2611 "356 N/A 16.466082 N/A 12.978635 \n",
2612 "360 N/A 0.611706 N/A NaN \n",
2613 "366 N/A 0.875822 N/A NaN \n",
2614 "368 N/A 3.853690 N/A NaN \n",
2615 "375 N/A 0.968309 N/A NaN \n",
2616 "381 N/A 0.442811 N/A NaN \n",
2617 "391 N/A 1.014116 N/A NaN \n",
2618 "394 N/A 0.711818 N/A NaN \n",
2619 "410 N/A 2.029366 N/A NaN \n",
2620 "421 N/A 1.018320 N/A NaN \n",
2621 "434 N/A 0.820157 N/A NaN \n",
2622 "443 N/A 1.165263 N/A NaN \n",
2623 "458 N/A 5.428035 N/A NaN \n",
2624 "459 N/A 0.392314 N/A NaN \n",
2625 "463 N/A 1.099607 N/A NaN \n",
2626 "482 N/A 0.566555 N/A NaN \n",
2627 "488 N/A 1.877291 N/A NaN \n",
2628 "503 N/A 0.766237 N/A NaN \n",
2629 "\n",
2630 " EV/EBITDA Percentile EV/GP EV/GP Percentile RV Score \n",
2631 "17 N/A NaN N/A N/A \n",
2632 "18 N/A NaN N/A N/A \n",
2633 "20 N/A NaN N/A N/A \n",
2634 "26 N/A NaN N/A N/A \n",
2635 "39 N/A NaN N/A N/A \n",
2636 "40 N/A NaN N/A N/A \n",
2637 "56 N/A NaN N/A N/A \n",
2638 "64 N/A NaN N/A N/A \n",
2639 "65 N/A NaN N/A N/A \n",
2640 "75 N/A NaN N/A N/A \n",
2641 "78 N/A 4.550543 N/A N/A \n",
2642 "80 N/A NaN N/A N/A \n",
2643 "90 N/A NaN N/A N/A \n",
2644 "94 N/A NaN N/A N/A \n",
2645 "95 N/A NaN N/A N/A \n",
2646 "97 N/A 9.790028 N/A N/A \n",
2647 "98 N/A NaN N/A N/A \n",
2648 "104 N/A NaN N/A N/A \n",
2649 "106 N/A NaN N/A N/A \n",
2650 "129 N/A NaN N/A N/A \n",
2651 "185 N/A NaN N/A N/A \n",
2652 "192 N/A NaN N/A N/A \n",
2653 "201 N/A NaN N/A N/A \n",
2654 "210 N/A NaN N/A N/A \n",
2655 "214 N/A NaN N/A N/A \n",
2656 "220 N/A NaN N/A N/A \n",
2657 "232 N/A NaN N/A N/A \n",
2658 "260 N/A NaN N/A N/A \n",
2659 "262 N/A NaN N/A N/A \n",
2660 "274 N/A NaN N/A N/A \n",
2661 "285 N/A NaN N/A N/A \n",
2662 "294 N/A NaN N/A N/A \n",
2663 "304 N/A NaN N/A N/A \n",
2664 "310 N/A NaN N/A N/A \n",
2665 "318 N/A NaN N/A N/A \n",
2666 "322 N/A NaN N/A N/A \n",
2667 "343 N/A NaN N/A N/A \n",
2668 "356 N/A 7.134814 N/A N/A \n",
2669 "360 N/A NaN N/A N/A \n",
2670 "366 N/A NaN N/A N/A \n",
2671 "368 N/A NaN N/A N/A \n",
2672 "375 N/A NaN N/A N/A \n",
2673 "381 N/A NaN N/A N/A \n",
2674 "391 N/A NaN N/A N/A \n",
2675 "394 N/A NaN N/A N/A \n",
2676 "410 N/A NaN N/A N/A \n",
2677 "421 N/A NaN N/A N/A \n",
2678 "434 N/A NaN N/A N/A \n",
2679 "443 N/A NaN N/A N/A \n",
2680 "458 N/A NaN N/A N/A \n",
2681 "459 N/A NaN N/A N/A \n",
2682 "463 N/A NaN N/A N/A \n",
2683 "482 N/A NaN N/A N/A \n",
2684 "488 N/A NaN N/A N/A \n",
2685 "503 N/A NaN N/A N/A "
2686 ]
2687 },
2688 "execution_count": 14,
2689 "metadata": {},
2690 "output_type": "execute_result"
2691 }
2692 ],
2693 "source": []
2694 },
2695 {
2696 "cell_type": "markdown",
2697 "metadata": {},
2698 "source": [
2699 "Dealing with missing data is an important topic in data science.\n",
2700 "\n",
2701 "There are two main approaches:\n",
2702 "\n",
2703 "* Drop missing data from the data set (pandas' `dropna` method is useful here)\n",
2704 "* Replace missing data with a new value (pandas' `fillna` method is useful here)\n",
2705 "\n",
2706 "In this tutorial, we will replace missing data with the average non-`NaN` data point from that column. \n",
2707 "\n",
2708 "Here is the code to do this:"
2709 ]
2710 },
2711 {
2712 "cell_type": "code",
2713 "execution_count": 15,
2714 "metadata": {},
2715 "outputs": [],
2716 "source": []
2717 },
2718 {
2719 "cell_type": "markdown",
2720 "metadata": {},
2721 "source": [
2722 "Now, if we run the statement from earlier to print rows that contain missing data, nothing should be returned:"
2723 ]
2724 },
2725 {
2726 "cell_type": "code",
2727 "execution_count": 16,
2728 "metadata": {},
2729 "outputs": [
2730 {
2731 "data": {
2732 "text/html": [
2733 "<div>\n",
2734 "<style scoped>\n",
2735 " .dataframe tbody tr th:only-of-type {\n",
2736 " vertical-align: middle;\n",
2737 " }\n",
2738 "\n",
2739 " .dataframe tbody tr th {\n",
2740 " vertical-align: top;\n",
2741 " }\n",
2742 "\n",
2743 " .dataframe thead th {\n",
2744 " text-align: right;\n",
2745 " }\n",
2746 "</style>\n",
2747 "<table border=\"1\" class=\"dataframe\">\n",
2748 " <thead>\n",
2749 " <tr style=\"text-align: right;\">\n",
2750 " <th></th>\n",
2751 " <th>Ticker</th>\n",
2752 " <th>Price</th>\n",
2753 " <th>Number of Shares to Buy</th>\n",
2754 " <th>Price-to-Earnings Ratio</th>\n",
2755 " <th>PE Percentile</th>\n",
2756 " <th>Price-to-Book Ratio</th>\n",
2757 " <th>PB Percentile</th>\n",
2758 " <th>EV/EBITDA</th>\n",
2759 " <th>EV/EBITDA Percentile</th>\n",
2760 " <th>EV/GP</th>\n",
2761 " <th>EV/GP Percentile</th>\n",
2762 " <th>RV Score</th>\n",
2763 " </tr>\n",
2764 " </thead>\n",
2765 " <tbody>\n",
2766 " </tbody>\n",
2767 "</table>\n",
2768 "</div>"
2769 ],
2770 "text/plain": [
2771 "Empty DataFrame\n",
2772 "Columns: [Ticker, Price, Number of Shares to Buy, Price-to-Earnings Ratio, PE Percentile, Price-to-Book Ratio, PB Percentile, EV/EBITDA, EV/EBITDA Percentile, EV/GP, EV/GP Percentile, RV Score]\n",
2773 "Index: []"
2774 ]
2775 },
2776 "execution_count": 16,
2777 "metadata": {},
2778 "output_type": "execute_result"
2779 }
2780 ],
2781 "source": []
2782 },
2783 {
2784 "cell_type": "markdown",
2785 "metadata": {},
2786 "source": [
2787 "## Calculating Value Percentiles\n",
2788 "\n",
2789 "We now need to calculate value score percentiles for every stock in the universe. More specifically, we need to calculate percentile scores for the following metrics for every stock:\n",
2790 "\n",
2791 "* Price-to-earnings ratio\n",
2792 "* Price-to-book ratio\n",
2793 "* Price-to-sales ratio\n",
2794 "* EV/EBITDA\n",
2795 "* EV/GP\n",
2796 "\n",
2797 "Here's how we'll do this:"
2798 ]
2799 },
2800 {
2801 "cell_type": "code",
2802 "execution_count": 17,
2803 "metadata": {},
2804 "outputs": [
2805 {
2806 "name": "stdout",
2807 "output_type": "stream",
2808 "text": [
2809 "0 0.841584\n",
2810 "1 0.112871\n",
2811 "2 0.623762\n",
2812 "3 0.740594\n",
2813 "4 0.427723\n",
2814 " ... \n",
2815 "500 0.6\n",
2816 "501 0.994059\n",
2817 "502 0.693069\n",
2818 "503 0.257426\n",
2819 "504 0.843564\n",
2820 "Name: PE Percentile, Length: 505, dtype: object\n",
2821 "0 0.752475\n",
2822 "1 0.0158416\n",
2823 "2 0.510891\n",
2824 "3 0.940594\n",
2825 "4 0.0257426\n",
2826 " ... \n",
2827 "500 0.049505\n",
2828 "501 0.415842\n",
2829 "502 0.811881\n",
2830 "503 0.132673\n",
2831 "504 0.956436\n",
2832 "Name: PB Percentile, Length: 505, dtype: object\n",
2833 "0 0.877228\n",
2834 "1 0.0732673\n",
2835 "2 0.50099\n",
2836 "3 0.861386\n",
2837 "4 0.350495\n",
2838 " ... \n",
2839 "500 0.744554\n",
2840 "501 0.572277\n",
2841 "502 0.762376\n",
2842 "503 0.69505\n",
2843 "504 0.924752\n",
2844 "Name: EV/EBITDA Percentile, Length: 505, dtype: object\n",
2845 "0 0.552475\n",
2846 "1 0.0574257\n",
2847 "2 0.0653465\n",
2848 "3 0.865347\n",
2849 "4 0.340594\n",
2850 " ... \n",
2851 "500 0.744554\n",
2852 "501 0.326733\n",
2853 "502 0.4\n",
2854 "503 0.644554\n",
2855 "504 0.869307\n",
2856 "Name: EV/GP Percentile, Length: 505, dtype: object\n"
2857 ]
2858 },
2859 {
2860 "data": {
2861 "text/html": [
2862 "<div>\n",
2863 "<style scoped>\n",
2864 " .dataframe tbody tr th:only-of-type {\n",
2865 " vertical-align: middle;\n",
2866 " }\n",
2867 "\n",
2868 " .dataframe tbody tr th {\n",
2869 " vertical-align: top;\n",
2870 " }\n",
2871 "\n",
2872 " .dataframe thead th {\n",
2873 " text-align: right;\n",
2874 " }\n",
2875 "</style>\n",
2876 "<table border=\"1\" class=\"dataframe\">\n",
2877 " <thead>\n",
2878 " <tr style=\"text-align: right;\">\n",
2879 " <th></th>\n",
2880 " <th>Ticker</th>\n",
2881 " <th>Price</th>\n",
2882 " <th>Number of Shares to Buy</th>\n",
2883 " <th>Price-to-Earnings Ratio</th>\n",
2884 " <th>PE Percentile</th>\n",
2885 " <th>Price-to-Book Ratio</th>\n",
2886 " <th>PB Percentile</th>\n",
2887 " <th>EV/EBITDA</th>\n",
2888 " <th>EV/EBITDA Percentile</th>\n",
2889 " <th>EV/GP</th>\n",
2890 " <th>EV/GP Percentile</th>\n",
2891 " <th>RV Score</th>\n",
2892 " </tr>\n",
2893 " </thead>\n",
2894 " <tbody>\n",
2895 " <tr>\n",
2896 " <th>0</th>\n",
2897 " <td>A</td>\n",
2898 " <td>100.010</td>\n",
2899 " <td>N/A</td>\n",
2900 " <td>46.95</td>\n",
2901 " <td>0.841584</td>\n",
2902 " <td>6.596140</td>\n",
2903 " <td>0.752475</td>\n",
2904 " <td>26.372976</td>\n",
2905 " <td>0.877228</td>\n",
2906 " <td>11.311629</td>\n",
2907 " <td>0.552475</td>\n",
2908 " <td>N/A</td>\n",
2909 " </tr>\n",
2910 " <tr>\n",
2911 " <th>1</th>\n",
2912 " <td>AAL</td>\n",
2913 " <td>13.360</td>\n",
2914 " <td>N/A</td>\n",
2915 " <td>-1.71</td>\n",
2916 " <td>0.112871</td>\n",
2917 " <td>-60.417952</td>\n",
2918 " <td>0.0158416</td>\n",
2919 " <td>5.952664</td>\n",
2920 " <td>0.0732673</td>\n",
2921 " <td>3.098483</td>\n",
2922 " <td>0.0574257</td>\n",
2923 " <td>N/A</td>\n",
2924 " </tr>\n",
2925 " <tr>\n",
2926 " <th>2</th>\n",
2927 " <td>AAP</td>\n",
2928 " <td>161.440</td>\n",
2929 " <td>N/A</td>\n",
2930 " <td>29.00</td>\n",
2931 " <td>0.623762</td>\n",
2932 " <td>3.123759</td>\n",
2933 " <td>0.510891</td>\n",
2934 " <td>15.086368</td>\n",
2935 " <td>0.50099</td>\n",
2936 " <td>3.208667</td>\n",
2937 " <td>0.0653465</td>\n",
2938 " <td>N/A</td>\n",
2939 " </tr>\n",
2940 " <tr>\n",
2941 " <th>3</th>\n",
2942 " <td>AAPL</td>\n",
2943 " <td>466.070</td>\n",
2944 " <td>N/A</td>\n",
2945 " <td>34.69</td>\n",
2946 " <td>0.740594</td>\n",
2947 " <td>22.373999</td>\n",
2948 " <td>0.940594</td>\n",
2949 " <td>25.708773</td>\n",
2950 " <td>0.861386</td>\n",
2951 " <td>19.428993</td>\n",
2952 " <td>0.865347</td>\n",
2953 " <td>N/A</td>\n",
2954 " </tr>\n",
2955 " <tr>\n",
2956 " <th>4</th>\n",
2957 " <td>ABBV</td>\n",
2958 " <td>96.680</td>\n",
2959 " <td>N/A</td>\n",
2960 " <td>21.00</td>\n",
2961 " <td>0.427723</td>\n",
2962 " <td>-21.463532</td>\n",
2963 " <td>0.0257426</td>\n",
2964 " <td>12.272585</td>\n",
2965 " <td>0.350495</td>\n",
2966 " <td>7.672427</td>\n",
2967 " <td>0.340594</td>\n",
2968 " <td>N/A</td>\n",
2969 " </tr>\n",
2970 " <tr>\n",
2971 " <th>...</th>\n",
2972 " <td>...</td>\n",
2973 " <td>...</td>\n",
2974 " <td>...</td>\n",
2975 " <td>...</td>\n",
2976 " <td>...</td>\n",
2977 " <td>...</td>\n",
2978 " <td>...</td>\n",
2979 " <td>...</td>\n",
2980 " <td>...</td>\n",
2981 " <td>...</td>\n",
2982 " <td>...</td>\n",
2983 " <td>...</td>\n",
2984 " </tr>\n",
2985 " <tr>\n",
2986 " <th>500</th>\n",
2987 " <td>YUM</td>\n",
2988 " <td>94.320</td>\n",
2989 " <td>N/A</td>\n",
2990 " <td>28.00</td>\n",
2991 " <td>0.6</td>\n",
2992 " <td>-3.659682</td>\n",
2993 " <td>0.049505</td>\n",
2994 " <td>18.841249</td>\n",
2995 " <td>0.744554</td>\n",
2996 " <td>13.891510</td>\n",
2997 " <td>0.744554</td>\n",
2998 " <td>N/A</td>\n",
2999 " </tr>\n",
3000 " <tr>\n",
3001 " <th>501</th>\n",
3002 " <td>ZBH</td>\n",
3003 " <td>143.470</td>\n",
3004 " <td>N/A</td>\n",
3005 " <td>718.10</td>\n",
3006 " <td>0.994059</td>\n",
3007 " <td>2.390128</td>\n",
3008 " <td>0.415842</td>\n",
3009 " <td>17.170711</td>\n",
3010 " <td>0.572277</td>\n",
3011 " <td>7.478460</td>\n",
3012 " <td>0.326733</td>\n",
3013 " <td>N/A</td>\n",
3014 " </tr>\n",
3015 " <tr>\n",
3016 " <th>502</th>\n",
3017 " <td>ZBRA</td>\n",
3018 " <td>288.222</td>\n",
3019 " <td>N/A</td>\n",
3020 " <td>31.86</td>\n",
3021 " <td>0.693069</td>\n",
3022 " <td>8.600669</td>\n",
3023 " <td>0.811881</td>\n",
3024 " <td>19.480804</td>\n",
3025 " <td>0.762376</td>\n",
3026 " <td>8.449885</td>\n",
3027 " <td>0.4</td>\n",
3028 " <td>N/A</td>\n",
3029 " </tr>\n",
3030 " <tr>\n",
3031 " <th>503</th>\n",
3032 " <td>ZION</td>\n",
3033 " <td>35.770</td>\n",
3034 " <td>N/A</td>\n",
3035 " <td>13.24</td>\n",
3036 " <td>0.257426</td>\n",
3037 " <td>0.766237</td>\n",
3038 " <td>0.132673</td>\n",
3039 " <td>18.729176</td>\n",
3040 " <td>0.69505</td>\n",
3041 " <td>12.206556</td>\n",
3042 " <td>0.644554</td>\n",
3043 " <td>N/A</td>\n",
3044 " </tr>\n",
3045 " <tr>\n",
3046 " <th>504</th>\n",
3047 " <td>ZTS</td>\n",
3048 " <td>160.920</td>\n",
3049 " <td>N/A</td>\n",
3050 " <td>47.20</td>\n",
3051 " <td>0.843564</td>\n",
3052 " <td>29.222282</td>\n",
3053 " <td>0.956436</td>\n",
3054 " <td>32.483029</td>\n",
3055 " <td>0.924752</td>\n",
3056 " <td>19.667225</td>\n",
3057 " <td>0.869307</td>\n",
3058 " <td>N/A</td>\n",
3059 " </tr>\n",
3060 " </tbody>\n",
3061 "</table>\n",
3062 "<p>505 rows × 12 columns</p>\n",
3063 "</div>"
3064 ],
3065 "text/plain": [
3066 " Ticker Price Number of Shares to Buy Price-to-Earnings Ratio \\\n",
3067 "0 A 100.010 N/A 46.95 \n",
3068 "1 AAL 13.360 N/A -1.71 \n",
3069 "2 AAP 161.440 N/A 29.00 \n",
3070 "3 AAPL 466.070 N/A 34.69 \n",
3071 "4 ABBV 96.680 N/A 21.00 \n",
3072 ".. ... ... ... ... \n",
3073 "500 YUM 94.320 N/A 28.00 \n",
3074 "501 ZBH 143.470 N/A 718.10 \n",
3075 "502 ZBRA 288.222 N/A 31.86 \n",
3076 "503 ZION 35.770 N/A 13.24 \n",
3077 "504 ZTS 160.920 N/A 47.20 \n",
3078 "\n",
3079 " PE Percentile Price-to-Book Ratio PB Percentile EV/EBITDA \\\n",
3080 "0 0.841584 6.596140 0.752475 26.372976 \n",
3081 "1 0.112871 -60.417952 0.0158416 5.952664 \n",
3082 "2 0.623762 3.123759 0.510891 15.086368 \n",
3083 "3 0.740594 22.373999 0.940594 25.708773 \n",
3084 "4 0.427723 -21.463532 0.0257426 12.272585 \n",
3085 ".. ... ... ... ... \n",
3086 "500 0.6 -3.659682 0.049505 18.841249 \n",
3087 "501 0.994059 2.390128 0.415842 17.170711 \n",
3088 "502 0.693069 8.600669 0.811881 19.480804 \n",
3089 "503 0.257426 0.766237 0.132673 18.729176 \n",
3090 "504 0.843564 29.222282 0.956436 32.483029 \n",
3091 "\n",
3092 " EV/EBITDA Percentile EV/GP EV/GP Percentile RV Score \n",
3093 "0 0.877228 11.311629 0.552475 N/A \n",
3094 "1 0.0732673 3.098483 0.0574257 N/A \n",
3095 "2 0.50099 3.208667 0.0653465 N/A \n",
3096 "3 0.861386 19.428993 0.865347 N/A \n",
3097 "4 0.350495 7.672427 0.340594 N/A \n",
3098 ".. ... ... ... ... \n",
3099 "500 0.744554 13.891510 0.744554 N/A \n",
3100 "501 0.572277 7.478460 0.326733 N/A \n",
3101 "502 0.762376 8.449885 0.4 N/A \n",
3102 "503 0.69505 12.206556 0.644554 N/A \n",
3103 "504 0.924752 19.667225 0.869307 N/A \n",
3104 "\n",
3105 "[505 rows x 12 columns]"
3106 ]
3107 },
3108 "execution_count": 17,
3109 "metadata": {},
3110 "output_type": "execute_result"
3111 }
3112 ],
3113 "source": []
3114 },
3115 {
3116 "cell_type": "markdown",
3117 "metadata": {},
3118 "source": [
3119 "## Calculating the RV Score\n",
3120 "We'll now calculate our RV Score (which stands for Robust Value), which is the value score that we'll use to filter for stocks in this investing strategy.\n",
3121 "\n",
3122 "The RV Score will be the arithmetic mean of the 4 percentile scores that we calculated in the last section.\n",
3123 "\n",
3124 "To calculate arithmetic mean, we will use the mean function from Python's built-in statistics module."
3125 ]
3126 },
3127 {
3128 "cell_type": "code",
3129 "execution_count": 18,
3130 "metadata": {},
3131 "outputs": [
3132 {
3133 "data": {
3134 "text/html": [
3135 "<div>\n",
3136 "<style scoped>\n",
3137 " .dataframe tbody tr th:only-of-type {\n",
3138 " vertical-align: middle;\n",
3139 " }\n",
3140 "\n",
3141 " .dataframe tbody tr th {\n",
3142 " vertical-align: top;\n",
3143 " }\n",
3144 "\n",
3145 " .dataframe thead th {\n",
3146 " text-align: right;\n",
3147 " }\n",
3148 "</style>\n",
3149 "<table border=\"1\" class=\"dataframe\">\n",
3150 " <thead>\n",
3151 " <tr style=\"text-align: right;\">\n",
3152 " <th></th>\n",
3153 " <th>Ticker</th>\n",
3154 " <th>Price</th>\n",
3155 " <th>Number of Shares to Buy</th>\n",
3156 " <th>Price-to-Earnings Ratio</th>\n",
3157 " <th>PE Percentile</th>\n",
3158 " <th>Price-to-Book Ratio</th>\n",
3159 " <th>PB Percentile</th>\n",
3160 " <th>EV/EBITDA</th>\n",
3161 " <th>EV/EBITDA Percentile</th>\n",
3162 " <th>EV/GP</th>\n",
3163 " <th>EV/GP Percentile</th>\n",
3164 " <th>RV Score</th>\n",
3165 " </tr>\n",
3166 " </thead>\n",
3167 " <tbody>\n",
3168 " <tr>\n",
3169 " <th>0</th>\n",
3170 " <td>A</td>\n",
3171 " <td>100.010</td>\n",
3172 " <td>N/A</td>\n",
3173 " <td>46.95</td>\n",
3174 " <td>0.841584</td>\n",
3175 " <td>6.596140</td>\n",
3176 " <td>0.752475</td>\n",
3177 " <td>26.372976</td>\n",
3178 " <td>0.877228</td>\n",
3179 " <td>11.311629</td>\n",
3180 " <td>0.552475</td>\n",
3181 " <td>0.755941</td>\n",
3182 " </tr>\n",
3183 " <tr>\n",
3184 " <th>1</th>\n",
3185 " <td>AAL</td>\n",
3186 " <td>13.360</td>\n",
3187 " <td>N/A</td>\n",
3188 " <td>-1.71</td>\n",
3189 " <td>0.112871</td>\n",
3190 " <td>-60.417952</td>\n",
3191 " <td>0.0158416</td>\n",
3192 " <td>5.952664</td>\n",
3193 " <td>0.0732673</td>\n",
3194 " <td>3.098483</td>\n",
3195 " <td>0.0574257</td>\n",
3196 " <td>0.0648515</td>\n",
3197 " </tr>\n",
3198 " <tr>\n",
3199 " <th>2</th>\n",
3200 " <td>AAP</td>\n",
3201 " <td>161.440</td>\n",
3202 " <td>N/A</td>\n",
3203 " <td>29.00</td>\n",
3204 " <td>0.623762</td>\n",
3205 " <td>3.123759</td>\n",
3206 " <td>0.510891</td>\n",
3207 " <td>15.086368</td>\n",
3208 " <td>0.50099</td>\n",
3209 " <td>3.208667</td>\n",
3210 " <td>0.0653465</td>\n",
3211 " <td>0.425248</td>\n",
3212 " </tr>\n",
3213 " <tr>\n",
3214 " <th>3</th>\n",
3215 " <td>AAPL</td>\n",
3216 " <td>466.070</td>\n",
3217 " <td>N/A</td>\n",
3218 " <td>34.69</td>\n",
3219 " <td>0.740594</td>\n",
3220 " <td>22.373999</td>\n",
3221 " <td>0.940594</td>\n",
3222 " <td>25.708773</td>\n",
3223 " <td>0.861386</td>\n",
3224 " <td>19.428993</td>\n",
3225 " <td>0.865347</td>\n",
3226 " <td>0.85198</td>\n",
3227 " </tr>\n",
3228 " <tr>\n",
3229 " <th>4</th>\n",
3230 " <td>ABBV</td>\n",
3231 " <td>96.680</td>\n",
3232 " <td>N/A</td>\n",
3233 " <td>21.00</td>\n",
3234 " <td>0.427723</td>\n",
3235 " <td>-21.463532</td>\n",
3236 " <td>0.0257426</td>\n",
3237 " <td>12.272585</td>\n",
3238 " <td>0.350495</td>\n",
3239 " <td>7.672427</td>\n",
3240 " <td>0.340594</td>\n",
3241 " <td>0.286139</td>\n",
3242 " </tr>\n",
3243 " <tr>\n",
3244 " <th>...</th>\n",
3245 " <td>...</td>\n",
3246 " <td>...</td>\n",
3247 " <td>...</td>\n",
3248 " <td>...</td>\n",
3249 " <td>...</td>\n",
3250 " <td>...</td>\n",
3251 " <td>...</td>\n",
3252 " <td>...</td>\n",
3253 " <td>...</td>\n",
3254 " <td>...</td>\n",
3255 " <td>...</td>\n",
3256 " <td>...</td>\n",
3257 " </tr>\n",
3258 " <tr>\n",
3259 " <th>500</th>\n",
3260 " <td>YUM</td>\n",
3261 " <td>94.320</td>\n",
3262 " <td>N/A</td>\n",
3263 " <td>28.00</td>\n",
3264 " <td>0.6</td>\n",
3265 " <td>-3.659682</td>\n",
3266 " <td>0.049505</td>\n",
3267 " <td>18.841249</td>\n",
3268 " <td>0.744554</td>\n",
3269 " <td>13.891510</td>\n",
3270 " <td>0.744554</td>\n",
3271 " <td>0.534653</td>\n",
3272 " </tr>\n",
3273 " <tr>\n",
3274 " <th>501</th>\n",
3275 " <td>ZBH</td>\n",
3276 " <td>143.470</td>\n",
3277 " <td>N/A</td>\n",
3278 " <td>718.10</td>\n",
3279 " <td>0.994059</td>\n",
3280 " <td>2.390128</td>\n",
3281 " <td>0.415842</td>\n",
3282 " <td>17.170711</td>\n",
3283 " <td>0.572277</td>\n",
3284 " <td>7.478460</td>\n",
3285 " <td>0.326733</td>\n",
3286 " <td>0.577228</td>\n",
3287 " </tr>\n",
3288 " <tr>\n",
3289 " <th>502</th>\n",
3290 " <td>ZBRA</td>\n",
3291 " <td>288.222</td>\n",
3292 " <td>N/A</td>\n",
3293 " <td>31.86</td>\n",
3294 " <td>0.693069</td>\n",
3295 " <td>8.600669</td>\n",
3296 " <td>0.811881</td>\n",
3297 " <td>19.480804</td>\n",
3298 " <td>0.762376</td>\n",
3299 " <td>8.449885</td>\n",
3300 " <td>0.4</td>\n",
3301 " <td>0.666832</td>\n",
3302 " </tr>\n",
3303 " <tr>\n",
3304 " <th>503</th>\n",
3305 " <td>ZION</td>\n",
3306 " <td>35.770</td>\n",
3307 " <td>N/A</td>\n",
3308 " <td>13.24</td>\n",
3309 " <td>0.257426</td>\n",
3310 " <td>0.766237</td>\n",
3311 " <td>0.132673</td>\n",
3312 " <td>18.729176</td>\n",
3313 " <td>0.69505</td>\n",
3314 " <td>12.206556</td>\n",
3315 " <td>0.644554</td>\n",
3316 " <td>0.432426</td>\n",
3317 " </tr>\n",
3318 " <tr>\n",
3319 " <th>504</th>\n",
3320 " <td>ZTS</td>\n",
3321 " <td>160.920</td>\n",
3322 " <td>N/A</td>\n",
3323 " <td>47.20</td>\n",
3324 " <td>0.843564</td>\n",
3325 " <td>29.222282</td>\n",
3326 " <td>0.956436</td>\n",
3327 " <td>32.483029</td>\n",
3328 " <td>0.924752</td>\n",
3329 " <td>19.667225</td>\n",
3330 " <td>0.869307</td>\n",
3331 " <td>0.898515</td>\n",
3332 " </tr>\n",
3333 " </tbody>\n",
3334 "</table>\n",
3335 "<p>505 rows × 12 columns</p>\n",
3336 "</div>"
3337 ],
3338 "text/plain": [
3339 " Ticker Price Number of Shares to Buy Price-to-Earnings Ratio \\\n",
3340 "0 A 100.010 N/A 46.95 \n",
3341 "1 AAL 13.360 N/A -1.71 \n",
3342 "2 AAP 161.440 N/A 29.00 \n",
3343 "3 AAPL 466.070 N/A 34.69 \n",
3344 "4 ABBV 96.680 N/A 21.00 \n",
3345 ".. ... ... ... ... \n",
3346 "500 YUM 94.320 N/A 28.00 \n",
3347 "501 ZBH 143.470 N/A 718.10 \n",
3348 "502 ZBRA 288.222 N/A 31.86 \n",
3349 "503 ZION 35.770 N/A 13.24 \n",
3350 "504 ZTS 160.920 N/A 47.20 \n",
3351 "\n",
3352 " PE Percentile Price-to-Book Ratio PB Percentile EV/EBITDA \\\n",
3353 "0 0.841584 6.596140 0.752475 26.372976 \n",
3354 "1 0.112871 -60.417952 0.0158416 5.952664 \n",
3355 "2 0.623762 3.123759 0.510891 15.086368 \n",
3356 "3 0.740594 22.373999 0.940594 25.708773 \n",
3357 "4 0.427723 -21.463532 0.0257426 12.272585 \n",
3358 ".. ... ... ... ... \n",
3359 "500 0.6 -3.659682 0.049505 18.841249 \n",
3360 "501 0.994059 2.390128 0.415842 17.170711 \n",
3361 "502 0.693069 8.600669 0.811881 19.480804 \n",
3362 "503 0.257426 0.766237 0.132673 18.729176 \n",
3363 "504 0.843564 29.222282 0.956436 32.483029 \n",
3364 "\n",
3365 " EV/EBITDA Percentile EV/GP EV/GP Percentile RV Score \n",
3366 "0 0.877228 11.311629 0.552475 0.755941 \n",
3367 "1 0.0732673 3.098483 0.0574257 0.0648515 \n",
3368 "2 0.50099 3.208667 0.0653465 0.425248 \n",
3369 "3 0.861386 19.428993 0.865347 0.85198 \n",
3370 "4 0.350495 7.672427 0.340594 0.286139 \n",
3371 ".. ... ... ... ... \n",
3372 "500 0.744554 13.891510 0.744554 0.534653 \n",
3373 "501 0.572277 7.478460 0.326733 0.577228 \n",
3374 "502 0.762376 8.449885 0.4 0.666832 \n",
3375 "503 0.69505 12.206556 0.644554 0.432426 \n",
3376 "504 0.924752 19.667225 0.869307 0.898515 \n",
3377 "\n",
3378 "[505 rows x 12 columns]"
3379 ]
3380 },
3381 "execution_count": 18,
3382 "metadata": {},
3383 "output_type": "execute_result"
3384 }
3385 ],
3386 "source": []
3387 },
3388 {
3389 "cell_type": "markdown",
3390 "metadata": {},
3391 "source": [
3392 "## Selecting the 50 Best Value Stocks¶\n",
3393 "\n",
3394 "As before, we can identify the 50 best value stocks in our universe by sorting the DataFrame on the RV Score column and dropping all but the top 50 entries."
3395 ]
3396 },
3397 {
3398 "cell_type": "code",
3399 "execution_count": 19,
3400 "metadata": {},
3401 "outputs": [],
3402 "source": []
3403 },
3404 {
3405 "cell_type": "markdown",
3406 "metadata": {},
3407 "source": [
3408 "## Calculating the Number of Shares to Buy\n",
3409 "We'll use the `portfolio_input` function that we created earlier to accept our portfolio size. Then we will use similar logic in a for loop to calculate the number of shares to buy for each stock in our investment universe."
3410 ]
3411 },
3412 {
3413 "cell_type": "code",
3414 "execution_count": 20,
3415 "metadata": {},
3416 "outputs": [
3417 {
3418 "name": "stdout",
3419 "output_type": "stream",
3420 "text": [
3421 "Enter the value of your portfolio:1000000\n"
3422 ]
3423 }
3424 ],
3425 "source": []
3426 },
3427 {
3428 "cell_type": "code",
3429 "execution_count": 21,
3430 "metadata": {},
3431 "outputs": [
3432 {
3433 "data": {
3434 "text/html": [
3435 "<div>\n",
3436 "<style scoped>\n",
3437 " .dataframe tbody tr th:only-of-type {\n",
3438 " vertical-align: middle;\n",
3439 " }\n",
3440 "\n",
3441 " .dataframe tbody tr th {\n",
3442 " vertical-align: top;\n",
3443 " }\n",
3444 "\n",
3445 " .dataframe thead th {\n",
3446 " text-align: right;\n",
3447 " }\n",
3448 "</style>\n",
3449 "<table border=\"1\" class=\"dataframe\">\n",
3450 " <thead>\n",
3451 " <tr style=\"text-align: right;\">\n",
3452 " <th></th>\n",
3453 " <th>Ticker</th>\n",
3454 " <th>Price</th>\n",
3455 " <th>Number of Shares to Buy</th>\n",
3456 " <th>Price-to-Earnings Ratio</th>\n",
3457 " <th>PE Percentile</th>\n",
3458 " <th>Price-to-Book Ratio</th>\n",
3459 " <th>PB Percentile</th>\n",
3460 " <th>EV/EBITDA</th>\n",
3461 " <th>EV/EBITDA Percentile</th>\n",
3462 " <th>EV/GP</th>\n",
3463 " <th>EV/GP Percentile</th>\n",
3464 " <th>RV Score</th>\n",
3465 " </tr>\n",
3466 " </thead>\n",
3467 " <tbody>\n",
3468 " <tr>\n",
3469 " <th>0</th>\n",
3470 " <td>HPE</td>\n",
3471 " <td>9.830</td>\n",
3472 " <td>1994</td>\n",
3473 " <td>-293.68</td>\n",
3474 " <td>0.0118812</td>\n",
3475 " <td>0.768699</td>\n",
3476 " <td>0.134653</td>\n",
3477 " <td>4.757379</td>\n",
3478 " <td>0.0455446</td>\n",
3479 " <td>2.575722</td>\n",
3480 " <td>0.039604</td>\n",
3481 " <td>0.0579208</td>\n",
3482 " </tr>\n",
3483 " <tr>\n",
3484 " <th>1</th>\n",
3485 " <td>FTI</td>\n",
3486 " <td>8.870</td>\n",
3487 " <td>2210</td>\n",
3488 " <td>-0.68</td>\n",
3489 " <td>0.134653</td>\n",
3490 " <td>0.526579</td>\n",
3491 " <td>0.0732673</td>\n",
3492 " <td>2.722313</td>\n",
3493 " <td>0.00792079</td>\n",
3494 " <td>1.745265</td>\n",
3495 " <td>0.0178218</td>\n",
3496 " <td>0.0584158</td>\n",
3497 " </tr>\n",
3498 " <tr>\n",
3499 " <th>2</th>\n",
3500 " <td>AAL</td>\n",
3501 " <td>13.360</td>\n",
3502 " <td>1467</td>\n",
3503 " <td>-1.71</td>\n",
3504 " <td>0.112871</td>\n",
3505 " <td>-60.417952</td>\n",
3506 " <td>0.0158416</td>\n",
3507 " <td>5.952664</td>\n",
3508 " <td>0.0732673</td>\n",
3509 " <td>3.098483</td>\n",
3510 " <td>0.0574257</td>\n",
3511 " <td>0.0648515</td>\n",
3512 " </tr>\n",
3513 " <tr>\n",
3514 " <th>3</th>\n",
3515 " <td>CCL</td>\n",
3516 " <td>15.610</td>\n",
3517 " <td>1256</td>\n",
3518 " <td>-3.90</td>\n",
3519 " <td>0.10297</td>\n",
3520 " <td>0.380999</td>\n",
3521 " <td>0.0554455</td>\n",
3522 " <td>3.751649</td>\n",
3523 " <td>0.0237624</td>\n",
3524 " <td>3.458441</td>\n",
3525 " <td>0.0811881</td>\n",
3526 " <td>0.0658416</td>\n",
3527 " </tr>\n",
3528 " <tr>\n",
3529 " <th>4</th>\n",
3530 " <td>HFC</td>\n",
3531 " <td>25.660</td>\n",
3532 " <td>764</td>\n",
3533 " <td>-26.18</td>\n",
3534 " <td>0.0435644</td>\n",
3535 " <td>0.716944</td>\n",
3536 " <td>0.120792</td>\n",
3537 " <td>3.301222</td>\n",
3538 " <td>0.0118812</td>\n",
3539 " <td>3.693071</td>\n",
3540 " <td>0.0891089</td>\n",
3541 " <td>0.0663366</td>\n",
3542 " </tr>\n",
3543 " <tr>\n",
3544 " <th>5</th>\n",
3545 " <td>HPQ</td>\n",
3546 " <td>19.140</td>\n",
3547 " <td>1024</td>\n",
3548 " <td>9.17</td>\n",
3549 " <td>0.172277</td>\n",
3550 " <td>-23.323972</td>\n",
3551 " <td>0.0237624</td>\n",
3552 " <td>5.822424</td>\n",
3553 " <td>0.0673267</td>\n",
3554 " <td>2.516859</td>\n",
3555 " <td>0.0356436</td>\n",
3556 " <td>0.0747525</td>\n",
3557 " </tr>\n",
3558 " <tr>\n",
3559 " <th>6</th>\n",
3560 " <td>XRX</td>\n",
3561 " <td>17.800</td>\n",
3562 " <td>1101</td>\n",
3563 " <td>9.35</td>\n",
3564 " <td>0.174257</td>\n",
3565 " <td>0.640297</td>\n",
3566 " <td>0.0990099</td>\n",
3567 " <td>3.620185</td>\n",
3568 " <td>0.019802</td>\n",
3569 " <td>1.604068</td>\n",
3570 " <td>0.0138614</td>\n",
3571 " <td>0.0767327</td>\n",
3572 " </tr>\n",
3573 " <tr>\n",
3574 " <th>7</th>\n",
3575 " <td>TPR</td>\n",
3576 " <td>16.010</td>\n",
3577 " <td>1224</td>\n",
3578 " <td>-20.58</td>\n",
3579 " <td>0.049505</td>\n",
3580 " <td>1.200922</td>\n",
3581 " <td>0.231683</td>\n",
3582 " <td>3.870569</td>\n",
3583 " <td>0.029703</td>\n",
3584 " <td>1.149885</td>\n",
3585 " <td>0.0019802</td>\n",
3586 " <td>0.0782178</td>\n",
3587 " </tr>\n",
3588 " <tr>\n",
3589 " <th>8</th>\n",
3590 " <td>LB</td>\n",
3591 " <td>27.330</td>\n",
3592 " <td>717</td>\n",
3593 " <td>-10.49</td>\n",
3594 " <td>0.0633663</td>\n",
3595 " <td>-5.047485</td>\n",
3596 " <td>0.0455446</td>\n",
3597 " <td>8.144139</td>\n",
3598 " <td>0.170297</td>\n",
3599 " <td>3.119623</td>\n",
3600 " <td>0.0613861</td>\n",
3601 " <td>0.0851485</td>\n",
3602 " </tr>\n",
3603 " <tr>\n",
3604 " <th>9</th>\n",
3605 " <td>SYF</td>\n",
3606 " <td>25.300</td>\n",
3607 " <td>775</td>\n",
3608 " <td>7.77</td>\n",
3609 " <td>0.152475</td>\n",
3610 " <td>0.971730</td>\n",
3611 " <td>0.180198</td>\n",
3612 " <td>2.129599</td>\n",
3613 " <td>0.0039604</td>\n",
3614 " <td>1.604512</td>\n",
3615 " <td>0.0158416</td>\n",
3616 " <td>0.0881188</td>\n",
3617 " </tr>\n",
3618 " <tr>\n",
3619 " <th>10</th>\n",
3620 " <td>TAP</td>\n",
3621 " <td>39.340</td>\n",
3622 " <td>498</td>\n",
3623 " <td>-52.36</td>\n",
3624 " <td>0.0356436</td>\n",
3625 " <td>0.578118</td>\n",
3626 " <td>0.0891089</td>\n",
3627 " <td>7.089363</td>\n",
3628 " <td>0.108911</td>\n",
3629 " <td>4.272303</td>\n",
3630 " <td>0.120792</td>\n",
3631 " <td>0.0886139</td>\n",
3632 " </tr>\n",
3633 " <tr>\n",
3634 " <th>11</th>\n",
3635 " <td>NWS</td>\n",
3636 " <td>15.981</td>\n",
3637 " <td>1226</td>\n",
3638 " <td>-7.49</td>\n",
3639 " <td>0.0752475</td>\n",
3640 " <td>0.414744</td>\n",
3641 " <td>0.0653465</td>\n",
3642 " <td>8.449938</td>\n",
3643 " <td>0.190099</td>\n",
3644 " <td>2.998177</td>\n",
3645 " <td>0.0514851</td>\n",
3646 " <td>0.0955446</td>\n",
3647 " </tr>\n",
3648 " <tr>\n",
3649 " <th>12</th>\n",
3650 " <td>UAL</td>\n",
3651 " <td>36.500</td>\n",
3652 " <td>537</td>\n",
3653 " <td>-5.93</td>\n",
3654 " <td>0.0891089</td>\n",
3655 " <td>0.931935</td>\n",
3656 " <td>0.170297</td>\n",
3657 " <td>3.812066</td>\n",
3658 " <td>0.0277228</td>\n",
3659 " <td>4.040411</td>\n",
3660 " <td>0.10495</td>\n",
3661 " <td>0.0980198</td>\n",
3662 " </tr>\n",
3663 " <tr>\n",
3664 " <th>13</th>\n",
3665 " <td>IVZ</td>\n",
3666 " <td>10.900</td>\n",
3667 " <td>1798</td>\n",
3668 " <td>10.63</td>\n",
3669 " <td>0.19802</td>\n",
3670 " <td>0.371514</td>\n",
3671 " <td>0.0534653</td>\n",
3672 " <td>6.906037</td>\n",
3673 " <td>0.10297</td>\n",
3674 " <td>2.917683</td>\n",
3675 " <td>0.0475248</td>\n",
3676 " <td>0.100495</td>\n",
3677 " </tr>\n",
3678 " <tr>\n",
3679 " <th>14</th>\n",
3680 " <td>COTY</td>\n",
3681 " <td>4.270</td>\n",
3682 " <td>4592</td>\n",
3683 " <td>-1.07</td>\n",
3684 " <td>0.122772</td>\n",
3685 " <td>0.699648</td>\n",
3686 " <td>0.112871</td>\n",
3687 " <td>7.926827</td>\n",
3688 " <td>0.148515</td>\n",
3689 " <td>2.045210</td>\n",
3690 " <td>0.0277228</td>\n",
3691 " <td>0.10297</td>\n",
3692 " </tr>\n",
3693 " <tr>\n",
3694 " <th>15</th>\n",
3695 " <td>DAL</td>\n",
3696 " <td>29.300</td>\n",
3697 " <td>669</td>\n",
3698 " <td>-5.14</td>\n",
3699 " <td>0.0970297</td>\n",
3700 " <td>1.266128</td>\n",
3701 " <td>0.243564</td>\n",
3702 " <td>3.522233</td>\n",
3703 " <td>0.0178218</td>\n",
3704 " <td>3.119418</td>\n",
3705 " <td>0.0594059</td>\n",
3706 " <td>0.104455</td>\n",
3707 " </tr>\n",
3708 " <tr>\n",
3709 " <th>16</th>\n",
3710 " <td>DISCA</td>\n",
3711 " <td>22.700</td>\n",
3712 " <td>863</td>\n",
3713 " <td>9.60</td>\n",
3714 " <td>0.180198</td>\n",
3715 " <td>0.363484</td>\n",
3716 " <td>0.0514851</td>\n",
3717 " <td>5.844247</td>\n",
3718 " <td>0.0693069</td>\n",
3719 " <td>4.354043</td>\n",
3720 " <td>0.124752</td>\n",
3721 " <td>0.106436</td>\n",
3722 " </tr>\n",
3723 " <tr>\n",
3724 " <th>17</th>\n",
3725 " <td>PVH</td>\n",
3726 " <td>56.280</td>\n",
3727 " <td>348</td>\n",
3728 " <td>-5.12</td>\n",
3729 " <td>0.0990099</td>\n",
3730 " <td>0.664241</td>\n",
3731 " <td>0.10297</td>\n",
3732 " <td>9.261763</td>\n",
3733 " <td>0.223762</td>\n",
3734 " <td>1.476319</td>\n",
3735 " <td>0.0118812</td>\n",
3736 " <td>0.109406</td>\n",
3737 " </tr>\n",
3738 " <tr>\n",
3739 " <th>18</th>\n",
3740 " <td>BKR</td>\n",
3741 " <td>17.780</td>\n",
3742 " <td>1102</td>\n",
3743 " <td>-1.10</td>\n",
3744 " <td>0.120792</td>\n",
3745 " <td>0.537604</td>\n",
3746 " <td>0.0792079</td>\n",
3747 " <td>7.481882</td>\n",
3748 " <td>0.122772</td>\n",
3749 " <td>4.347533</td>\n",
3750 " <td>0.122772</td>\n",
3751 " <td>0.111386</td>\n",
3752 " </tr>\n",
3753 " <tr>\n",
3754 " <th>19</th>\n",
3755 " <td>BEN</td>\n",
3756 " <td>22.480</td>\n",
3757 " <td>872</td>\n",
3758 " <td>10.95</td>\n",
3759 " <td>0.205941</td>\n",
3760 " <td>1.127782</td>\n",
3761 " <td>0.217822</td>\n",
3762 " <td>3.458549</td>\n",
3763 " <td>0.0138614</td>\n",
3764 " <td>1.475177</td>\n",
3765 " <td>0.00990099</td>\n",
3766 " <td>0.111881</td>\n",
3767 " </tr>\n",
3768 " <tr>\n",
3769 " <th>20</th>\n",
3770 " <td>NWSA</td>\n",
3771 " <td>15.300</td>\n",
3772 " <td>1281</td>\n",
3773 " <td>-7.31</td>\n",
3774 " <td>0.0772277</td>\n",
3775 " <td>0.802438</td>\n",
3776 " <td>0.140594</td>\n",
3777 " <td>8.385668</td>\n",
3778 " <td>0.186139</td>\n",
3779 " <td>2.917670</td>\n",
3780 " <td>0.0455446</td>\n",
3781 " <td>0.112376</td>\n",
3782 " </tr>\n",
3783 " <tr>\n",
3784 " <th>21</th>\n",
3785 " <td>DISCK</td>\n",
3786 " <td>21.080</td>\n",
3787 " <td>930</td>\n",
3788 " <td>9.11</td>\n",
3789 " <td>0.168317</td>\n",
3790 " <td>0.706494</td>\n",
3791 " <td>0.116832</td>\n",
3792 " <td>5.620235</td>\n",
3793 " <td>0.0594059</td>\n",
3794 " <td>4.154303</td>\n",
3795 " <td>0.112871</td>\n",
3796 " <td>0.114356</td>\n",
3797 " </tr>\n",
3798 " <tr>\n",
3799 " <th>22</th>\n",
3800 " <td>NCLH</td>\n",
3801 " <td>15.590</td>\n",
3802 " <td>1257</td>\n",
3803 " <td>-1.68</td>\n",
3804 " <td>0.114851</td>\n",
3805 " <td>0.660699</td>\n",
3806 " <td>0.10099</td>\n",
3807 " <td>6.134222</td>\n",
3808 " <td>0.0851485</td>\n",
3809 " <td>5.089065</td>\n",
3810 " <td>0.182178</td>\n",
3811 " <td>0.120792</td>\n",
3812 " </tr>\n",
3813 " <tr>\n",
3814 " <th>23</th>\n",
3815 " <td>MRO</td>\n",
3816 " <td>6.030</td>\n",
3817 " <td>3251</td>\n",
3818 " <td>-7.26</td>\n",
3819 " <td>0.0792079</td>\n",
3820 " <td>0.386172</td>\n",
3821 " <td>0.0594059</td>\n",
3822 " <td>3.135953</td>\n",
3823 " <td>0.00990099</td>\n",
3824 " <td>7.809283</td>\n",
3825 " <td>0.346535</td>\n",
3826 " <td>0.123762</td>\n",
3827 " </tr>\n",
3828 " <tr>\n",
3829 " <th>24</th>\n",
3830 " <td>MPC</td>\n",
3831 " <td>37.350</td>\n",
3832 " <td>524</td>\n",
3833 " <td>-3.23</td>\n",
3834 " <td>0.106931</td>\n",
3835 " <td>0.733937</td>\n",
3836 " <td>0.126733</td>\n",
3837 " <td>5.509754</td>\n",
3838 " <td>0.0554455</td>\n",
3839 " <td>5.622738</td>\n",
3840 " <td>0.215842</td>\n",
3841 " <td>0.126238</td>\n",
3842 " </tr>\n",
3843 " <tr>\n",
3844 " <th>25</th>\n",
3845 " <td>DXC</td>\n",
3846 " <td>20.160</td>\n",
3847 " <td>972</td>\n",
3848 " <td>-0.87</td>\n",
3849 " <td>0.130693</td>\n",
3850 " <td>1.088626</td>\n",
3851 " <td>0.205941</td>\n",
3852 " <td>4.093135</td>\n",
3853 " <td>0.0356436</td>\n",
3854 " <td>4.734496</td>\n",
3855 " <td>0.158416</td>\n",
3856 " <td>0.132673</td>\n",
3857 " </tr>\n",
3858 " <tr>\n",
3859 " <th>26</th>\n",
3860 " <td>MHK</td>\n",
3861 " <td>92.450</td>\n",
3862 " <td>212</td>\n",
3863 " <td>13.45</td>\n",
3864 " <td>0.265347</td>\n",
3865 " <td>0.787058</td>\n",
3866 " <td>0.136634</td>\n",
3867 " <td>6.000217</td>\n",
3868 " <td>0.0772277</td>\n",
3869 " <td>3.333651</td>\n",
3870 " <td>0.0693069</td>\n",
3871 " <td>0.137129</td>\n",
3872 " </tr>\n",
3873 " <tr>\n",
3874 " <th>27</th>\n",
3875 " <td>GPS</td>\n",
3876 " <td>15.440</td>\n",
3877 " <td>1269</td>\n",
3878 " <td>-7.10</td>\n",
3879 " <td>0.0831683</td>\n",
3880 " <td>1.721678</td>\n",
3881 " <td>0.316832</td>\n",
3882 " <td>7.537870</td>\n",
3883 " <td>0.128713</td>\n",
3884 " <td>1.919594</td>\n",
3885 " <td>0.0257426</td>\n",
3886 " <td>0.138614</td>\n",
3887 " </tr>\n",
3888 " <tr>\n",
3889 " <th>28</th>\n",
3890 " <td>VIAC</td>\n",
3891 " <td>27.563</td>\n",
3892 " <td>711</td>\n",
3893 " <td>13.15</td>\n",
3894 " <td>0.255446</td>\n",
3895 " <td>1.126636</td>\n",
3896 " <td>0.215842</td>\n",
3897 " <td>2.049573</td>\n",
3898 " <td>0.0019802</td>\n",
3899 " <td>3.621115</td>\n",
3900 " <td>0.0871287</td>\n",
3901 " <td>0.140099</td>\n",
3902 " </tr>\n",
3903 " <tr>\n",
3904 " <th>29</th>\n",
3905 " <td>FANG</td>\n",
3906 " <td>45.280</td>\n",
3907 " <td>433</td>\n",
3908 " <td>-2.64</td>\n",
3909 " <td>0.108911</td>\n",
3910 " <td>0.532947</td>\n",
3911 " <td>0.0752475</td>\n",
3912 " <td>4.236347</td>\n",
3913 " <td>0.0415842</td>\n",
3914 " <td>7.856301</td>\n",
3915 " <td>0.350495</td>\n",
3916 " <td>0.144059</td>\n",
3917 " </tr>\n",
3918 " <tr>\n",
3919 " <th>30</th>\n",
3920 " <td>WDC</td>\n",
3921 " <td>36.370</td>\n",
3922 " <td>539</td>\n",
3923 " <td>-43.31</td>\n",
3924 " <td>0.0376238</td>\n",
3925 " <td>1.190996</td>\n",
3926 " <td>0.227723</td>\n",
3927 " <td>8.742497</td>\n",
3928 " <td>0.19802</td>\n",
3929 " <td>4.502085</td>\n",
3930 " <td>0.134653</td>\n",
3931 " <td>0.149505</td>\n",
3932 " </tr>\n",
3933 " <tr>\n",
3934 " <th>31</th>\n",
3935 " <td>WRK</td>\n",
3936 " <td>30.710</td>\n",
3937 " <td>638</td>\n",
3938 " <td>10.03</td>\n",
3939 " <td>0.190099</td>\n",
3940 " <td>0.690004</td>\n",
3941 " <td>0.108911</td>\n",
3942 " <td>6.021276</td>\n",
3943 " <td>0.0831683</td>\n",
3944 " <td>5.745581</td>\n",
3945 " <td>0.219802</td>\n",
3946 " <td>0.150495</td>\n",
3947 " </tr>\n",
3948 " <tr>\n",
3949 " <th>32</th>\n",
3950 " <td>CTL</td>\n",
3951 " <td>11.220</td>\n",
3952 " <td>1747</td>\n",
3953 " <td>9.80</td>\n",
3954 " <td>0.184158</td>\n",
3955 " <td>0.912656</td>\n",
3956 " <td>0.168317</td>\n",
3957 " <td>5.277040</td>\n",
3958 " <td>0.0534653</td>\n",
3959 " <td>6.042985</td>\n",
3960 " <td>0.239604</td>\n",
3961 " <td>0.161386</td>\n",
3962 " </tr>\n",
3963 " <tr>\n",
3964 " <th>33</th>\n",
3965 " <td>FOX</td>\n",
3966 " <td>26.460</td>\n",
3967 " <td>741</td>\n",
3968 " <td>16.41</td>\n",
3969 " <td>0.328713</td>\n",
3970 " <td>0.676120</td>\n",
3971 " <td>0.10495</td>\n",
3972 " <td>6.950444</td>\n",
3973 " <td>0.10495</td>\n",
3974 " <td>4.414420</td>\n",
3975 " <td>0.126733</td>\n",
3976 " <td>0.166337</td>\n",
3977 " </tr>\n",
3978 " <tr>\n",
3979 " <th>34</th>\n",
3980 " <td>RCL</td>\n",
3981 " <td>60.600</td>\n",
3982 " <td>323</td>\n",
3983 " <td>-6.41</td>\n",
3984 " <td>0.0871287</td>\n",
3985 " <td>1.033061</td>\n",
3986 " <td>0.194059</td>\n",
3987 " <td>7.174071</td>\n",
3988 " <td>0.110891</td>\n",
3989 " <td>6.567250</td>\n",
3990 " <td>0.275248</td>\n",
3991 " <td>0.166832</td>\n",
3992 " </tr>\n",
3993 " <tr>\n",
3994 " <th>35</th>\n",
3995 " <td>UA</td>\n",
3996 " <td>9.830</td>\n",
3997 " <td>1994</td>\n",
3998 " <td>-6.49</td>\n",
3999 " <td>0.0851485</td>\n",
4000 " <td>1.060941</td>\n",
4001 " <td>0.19604</td>\n",
4002 " <td>12.701717</td>\n",
4003 " <td>0.362376</td>\n",
4004 " <td>2.100650</td>\n",
4005 " <td>0.029703</td>\n",
4006 " <td>0.168317</td>\n",
4007 " </tr>\n",
4008 " <tr>\n",
4009 " <th>36</th>\n",
4010 " <td>SCHW</td>\n",
4011 " <td>36.250</td>\n",
4012 " <td>540</td>\n",
4013 " <td>15.11</td>\n",
4014 " <td>0.306931</td>\n",
4015 " <td>2.069167</td>\n",
4016 " <td>0.372277</td>\n",
4017 " <td>2.325805</td>\n",
4018 " <td>0.00594059</td>\n",
4019 " <td>1.220535</td>\n",
4020 " <td>0.0039604</td>\n",
4021 " <td>0.172277</td>\n",
4022 " </tr>\n",
4023 " <tr>\n",
4024 " <th>37</th>\n",
4025 " <td>EXPE</td>\n",
4026 " <td>88.450</td>\n",
4027 " <td>221</td>\n",
4028 " <td>-8.06</td>\n",
4029 " <td>0.0712871</td>\n",
4030 " <td>3.056182</td>\n",
4031 " <td>0.50297</td>\n",
4032 " <td>7.267947</td>\n",
4033 " <td>0.114851</td>\n",
4034 " <td>1.456282</td>\n",
4035 " <td>0.00792079</td>\n",
4036 " <td>0.174257</td>\n",
4037 " </tr>\n",
4038 " <tr>\n",
4039 " <th>38</th>\n",
4040 " <td>UAA</td>\n",
4041 " <td>11.140</td>\n",
4042 " <td>1760</td>\n",
4043 " <td>-7.52</td>\n",
4044 " <td>0.0732673</td>\n",
4045 " <td>0.988515</td>\n",
4046 " <td>0.184158</td>\n",
4047 " <td>13.812802</td>\n",
4048 " <td>0.433663</td>\n",
4049 " <td>2.184035</td>\n",
4050 " <td>0.0316832</td>\n",
4051 " <td>0.180693</td>\n",
4052 " </tr>\n",
4053 " <tr>\n",
4054 " <th>39</th>\n",
4055 " <td>FOXA</td>\n",
4056 " <td>25.740</td>\n",
4057 " <td>761</td>\n",
4058 " <td>16.35</td>\n",
4059 " <td>0.326733</td>\n",
4060 " <td>0.880273</td>\n",
4061 " <td>0.164356</td>\n",
4062 " <td>6.900888</td>\n",
4063 " <td>0.10099</td>\n",
4064 " <td>4.540753</td>\n",
4065 " <td>0.136634</td>\n",
4066 " <td>0.182178</td>\n",
4067 " </tr>\n",
4068 " <tr>\n",
4069 " <th>40</th>\n",
4070 " <td>VNO</td>\n",
4071 " <td>35.870</td>\n",
4072 " <td>546</td>\n",
4073 " <td>21.49</td>\n",
4074 " <td>0.431683</td>\n",
4075 " <td>1.072895</td>\n",
4076 " <td>0.20396</td>\n",
4077 " <td>3.485153</td>\n",
4078 " <td>0.0158416</td>\n",
4079 " <td>3.603223</td>\n",
4080 " <td>0.0831683</td>\n",
4081 " <td>0.183663</td>\n",
4082 " </tr>\n",
4083 " <tr>\n",
4084 " <th>41</th>\n",
4085 " <td>DVN</td>\n",
4086 " <td>12.040</td>\n",
4087 " <td>1628</td>\n",
4088 " <td>-1.49</td>\n",
4089 " <td>0.116832</td>\n",
4090 " <td>0.820986</td>\n",
4091 " <td>0.148515</td>\n",
4092 " <td>4.098153</td>\n",
4093 " <td>0.0376238</td>\n",
4094 " <td>9.447806</td>\n",
4095 " <td>0.455446</td>\n",
4096 " <td>0.189604</td>\n",
4097 " </tr>\n",
4098 " <tr>\n",
4099 " <th>42</th>\n",
4100 " <td>NWL</td>\n",
4101 " <td>17.834</td>\n",
4102 " <td>1099</td>\n",
4103 " <td>-7.13</td>\n",
4104 " <td>0.0811881</td>\n",
4105 " <td>1.484674</td>\n",
4106 " <td>0.285149</td>\n",
4107 " <td>10.817287</td>\n",
4108 " <td>0.277228</td>\n",
4109 " <td>4.190990</td>\n",
4110 " <td>0.114851</td>\n",
4111 " <td>0.189604</td>\n",
4112 " </tr>\n",
4113 " <tr>\n",
4114 " <th>43</th>\n",
4115 " <td>WU</td>\n",
4116 " <td>24.380</td>\n",
4117 " <td>804</td>\n",
4118 " <td>16.04</td>\n",
4119 " <td>0.316832</td>\n",
4120 " <td>-244.906130</td>\n",
4121 " <td>0.00792079</td>\n",
4122 " <td>9.080150</td>\n",
4123 " <td>0.213861</td>\n",
4124 " <td>6.028085</td>\n",
4125 " <td>0.237624</td>\n",
4126 " <td>0.194059</td>\n",
4127 " </tr>\n",
4128 " <tr>\n",
4129 " <th>44</th>\n",
4130 " <td>CVS</td>\n",
4131 " <td>66.200</td>\n",
4132 " <td>296</td>\n",
4133 " <td>10.61</td>\n",
4134 " <td>0.19604</td>\n",
4135 " <td>1.353402</td>\n",
4136 " <td>0.263366</td>\n",
4137 " <td>9.882833</td>\n",
4138 " <td>0.241584</td>\n",
4139 " <td>3.620672</td>\n",
4140 " <td>0.0851485</td>\n",
4141 " <td>0.196535</td>\n",
4142 " </tr>\n",
4143 " <tr>\n",
4144 " <th>45</th>\n",
4145 " <td>MGM</td>\n",
4146 " <td>22.160</td>\n",
4147 " <td>884</td>\n",
4148 " <td>5.59</td>\n",
4149 " <td>0.146535</td>\n",
4150 " <td>1.406820</td>\n",
4151 " <td>0.275248</td>\n",
4152 " <td>8.075014</td>\n",
4153 " <td>0.162376</td>\n",
4154 " <td>5.754476</td>\n",
4155 " <td>0.221782</td>\n",
4156 " <td>0.201485</td>\n",
4157 " </tr>\n",
4158 " <tr>\n",
4159 " <th>46</th>\n",
4160 " <td>PSX</td>\n",
4161 " <td>64.660</td>\n",
4162 " <td>303</td>\n",
4163 " <td>-23.44</td>\n",
4164 " <td>0.0475248</td>\n",
4165 " <td>1.148756</td>\n",
4166 " <td>0.219802</td>\n",
4167 " <td>8.790870</td>\n",
4168 " <td>0.20198</td>\n",
4169 " <td>7.691650</td>\n",
4170 " <td>0.342574</td>\n",
4171 " <td>0.20297</td>\n",
4172 " </tr>\n",
4173 " <tr>\n",
4174 " <th>47</th>\n",
4175 " <td>NI</td>\n",
4176 " <td>24.830</td>\n",
4177 " <td>789</td>\n",
4178 " <td>-80.23</td>\n",
4179 " <td>0.0316832</td>\n",
4180 " <td>1.587958</td>\n",
4181 " <td>0.30099</td>\n",
4182 " <td>9.177249</td>\n",
4183 " <td>0.219802</td>\n",
4184 " <td>6.421577</td>\n",
4185 " <td>0.267327</td>\n",
4186 " <td>0.20495</td>\n",
4187 " </tr>\n",
4188 " <tr>\n",
4189 " <th>48</th>\n",
4190 " <td>CXO</td>\n",
4191 " <td>52.680</td>\n",
4192 " <td>372</td>\n",
4193 " <td>-1.06</td>\n",
4194 " <td>0.125743</td>\n",
4195 " <td>0.582959</td>\n",
4196 " <td>0.0910891</td>\n",
4197 " <td>5.069334</td>\n",
4198 " <td>0.0514851</td>\n",
4199 " <td>11.573139</td>\n",
4200 " <td>0.566337</td>\n",
4201 " <td>0.208663</td>\n",
4202 " </tr>\n",
4203 " <tr>\n",
4204 " <th>49</th>\n",
4205 " <td>NLSN</td>\n",
4206 " <td>16.140</td>\n",
4207 " <td>1214</td>\n",
4208 " <td>-9.03</td>\n",
4209 " <td>0.0673267</td>\n",
4210 " <td>2.590361</td>\n",
4211 " <td>0.457426</td>\n",
4212 " <td>8.050020</td>\n",
4213 " <td>0.160396</td>\n",
4214 " <td>4.710304</td>\n",
4215 " <td>0.152475</td>\n",
4216 " <td>0.209406</td>\n",
4217 " </tr>\n",
4218 " <tr>\n",
4219 " <th>50</th>\n",
4220 " <td>HWM</td>\n",
4221 " <td>17.680</td>\n",
4222 " <td>N/A</td>\n",
4223 " <td>14.73</td>\n",
4224 " <td>0.29901</td>\n",
4225 " <td>1.738266</td>\n",
4226 " <td>0.320792</td>\n",
4227 " <td>5.696284</td>\n",
4228 " <td>0.0613861</td>\n",
4229 " <td>5.228678</td>\n",
4230 " <td>0.192079</td>\n",
4231 " <td>0.218317</td>\n",
4232 " </tr>\n",
4233 " </tbody>\n",
4234 "</table>\n",
4235 "</div>"
4236 ],
4237 "text/plain": [
4238 " Ticker Price Number of Shares to Buy Price-to-Earnings Ratio \\\n",
4239 "0 HPE 9.830 1994 -293.68 \n",
4240 "1 FTI 8.870 2210 -0.68 \n",
4241 "2 AAL 13.360 1467 -1.71 \n",
4242 "3 CCL 15.610 1256 -3.90 \n",
4243 "4 HFC 25.660 764 -26.18 \n",
4244 "5 HPQ 19.140 1024 9.17 \n",
4245 "6 XRX 17.800 1101 9.35 \n",
4246 "7 TPR 16.010 1224 -20.58 \n",
4247 "8 LB 27.330 717 -10.49 \n",
4248 "9 SYF 25.300 775 7.77 \n",
4249 "10 TAP 39.340 498 -52.36 \n",
4250 "11 NWS 15.981 1226 -7.49 \n",
4251 "12 UAL 36.500 537 -5.93 \n",
4252 "13 IVZ 10.900 1798 10.63 \n",
4253 "14 COTY 4.270 4592 -1.07 \n",
4254 "15 DAL 29.300 669 -5.14 \n",
4255 "16 DISCA 22.700 863 9.60 \n",
4256 "17 PVH 56.280 348 -5.12 \n",
4257 "18 BKR 17.780 1102 -1.10 \n",
4258 "19 BEN 22.480 872 10.95 \n",
4259 "20 NWSA 15.300 1281 -7.31 \n",
4260 "21 DISCK 21.080 930 9.11 \n",
4261 "22 NCLH 15.590 1257 -1.68 \n",
4262 "23 MRO 6.030 3251 -7.26 \n",
4263 "24 MPC 37.350 524 -3.23 \n",
4264 "25 DXC 20.160 972 -0.87 \n",
4265 "26 MHK 92.450 212 13.45 \n",
4266 "27 GPS 15.440 1269 -7.10 \n",
4267 "28 VIAC 27.563 711 13.15 \n",
4268 "29 FANG 45.280 433 -2.64 \n",
4269 "30 WDC 36.370 539 -43.31 \n",
4270 "31 WRK 30.710 638 10.03 \n",
4271 "32 CTL 11.220 1747 9.80 \n",
4272 "33 FOX 26.460 741 16.41 \n",
4273 "34 RCL 60.600 323 -6.41 \n",
4274 "35 UA 9.830 1994 -6.49 \n",
4275 "36 SCHW 36.250 540 15.11 \n",
4276 "37 EXPE 88.450 221 -8.06 \n",
4277 "38 UAA 11.140 1760 -7.52 \n",
4278 "39 FOXA 25.740 761 16.35 \n",
4279 "40 VNO 35.870 546 21.49 \n",
4280 "41 DVN 12.040 1628 -1.49 \n",
4281 "42 NWL 17.834 1099 -7.13 \n",
4282 "43 WU 24.380 804 16.04 \n",
4283 "44 CVS 66.200 296 10.61 \n",
4284 "45 MGM 22.160 884 5.59 \n",
4285 "46 PSX 64.660 303 -23.44 \n",
4286 "47 NI 24.830 789 -80.23 \n",
4287 "48 CXO 52.680 372 -1.06 \n",
4288 "49 NLSN 16.140 1214 -9.03 \n",
4289 "50 HWM 17.680 N/A 14.73 \n",
4290 "\n",
4291 " PE Percentile Price-to-Book Ratio PB Percentile EV/EBITDA \\\n",
4292 "0 0.0118812 0.768699 0.134653 4.757379 \n",
4293 "1 0.134653 0.526579 0.0732673 2.722313 \n",
4294 "2 0.112871 -60.417952 0.0158416 5.952664 \n",
4295 "3 0.10297 0.380999 0.0554455 3.751649 \n",
4296 "4 0.0435644 0.716944 0.120792 3.301222 \n",
4297 "5 0.172277 -23.323972 0.0237624 5.822424 \n",
4298 "6 0.174257 0.640297 0.0990099 3.620185 \n",
4299 "7 0.049505 1.200922 0.231683 3.870569 \n",
4300 "8 0.0633663 -5.047485 0.0455446 8.144139 \n",
4301 "9 0.152475 0.971730 0.180198 2.129599 \n",
4302 "10 0.0356436 0.578118 0.0891089 7.089363 \n",
4303 "11 0.0752475 0.414744 0.0653465 8.449938 \n",
4304 "12 0.0891089 0.931935 0.170297 3.812066 \n",
4305 "13 0.19802 0.371514 0.0534653 6.906037 \n",
4306 "14 0.122772 0.699648 0.112871 7.926827 \n",
4307 "15 0.0970297 1.266128 0.243564 3.522233 \n",
4308 "16 0.180198 0.363484 0.0514851 5.844247 \n",
4309 "17 0.0990099 0.664241 0.10297 9.261763 \n",
4310 "18 0.120792 0.537604 0.0792079 7.481882 \n",
4311 "19 0.205941 1.127782 0.217822 3.458549 \n",
4312 "20 0.0772277 0.802438 0.140594 8.385668 \n",
4313 "21 0.168317 0.706494 0.116832 5.620235 \n",
4314 "22 0.114851 0.660699 0.10099 6.134222 \n",
4315 "23 0.0792079 0.386172 0.0594059 3.135953 \n",
4316 "24 0.106931 0.733937 0.126733 5.509754 \n",
4317 "25 0.130693 1.088626 0.205941 4.093135 \n",
4318 "26 0.265347 0.787058 0.136634 6.000217 \n",
4319 "27 0.0831683 1.721678 0.316832 7.537870 \n",
4320 "28 0.255446 1.126636 0.215842 2.049573 \n",
4321 "29 0.108911 0.532947 0.0752475 4.236347 \n",
4322 "30 0.0376238 1.190996 0.227723 8.742497 \n",
4323 "31 0.190099 0.690004 0.108911 6.021276 \n",
4324 "32 0.184158 0.912656 0.168317 5.277040 \n",
4325 "33 0.328713 0.676120 0.10495 6.950444 \n",
4326 "34 0.0871287 1.033061 0.194059 7.174071 \n",
4327 "35 0.0851485 1.060941 0.19604 12.701717 \n",
4328 "36 0.306931 2.069167 0.372277 2.325805 \n",
4329 "37 0.0712871 3.056182 0.50297 7.267947 \n",
4330 "38 0.0732673 0.988515 0.184158 13.812802 \n",
4331 "39 0.326733 0.880273 0.164356 6.900888 \n",
4332 "40 0.431683 1.072895 0.20396 3.485153 \n",
4333 "41 0.116832 0.820986 0.148515 4.098153 \n",
4334 "42 0.0811881 1.484674 0.285149 10.817287 \n",
4335 "43 0.316832 -244.906130 0.00792079 9.080150 \n",
4336 "44 0.19604 1.353402 0.263366 9.882833 \n",
4337 "45 0.146535 1.406820 0.275248 8.075014 \n",
4338 "46 0.0475248 1.148756 0.219802 8.790870 \n",
4339 "47 0.0316832 1.587958 0.30099 9.177249 \n",
4340 "48 0.125743 0.582959 0.0910891 5.069334 \n",
4341 "49 0.0673267 2.590361 0.457426 8.050020 \n",
4342 "50 0.29901 1.738266 0.320792 5.696284 \n",
4343 "\n",
4344 " EV/EBITDA Percentile EV/GP EV/GP Percentile RV Score \n",
4345 "0 0.0455446 2.575722 0.039604 0.0579208 \n",
4346 "1 0.00792079 1.745265 0.0178218 0.0584158 \n",
4347 "2 0.0732673 3.098483 0.0574257 0.0648515 \n",
4348 "3 0.0237624 3.458441 0.0811881 0.0658416 \n",
4349 "4 0.0118812 3.693071 0.0891089 0.0663366 \n",
4350 "5 0.0673267 2.516859 0.0356436 0.0747525 \n",
4351 "6 0.019802 1.604068 0.0138614 0.0767327 \n",
4352 "7 0.029703 1.149885 0.0019802 0.0782178 \n",
4353 "8 0.170297 3.119623 0.0613861 0.0851485 \n",
4354 "9 0.0039604 1.604512 0.0158416 0.0881188 \n",
4355 "10 0.108911 4.272303 0.120792 0.0886139 \n",
4356 "11 0.190099 2.998177 0.0514851 0.0955446 \n",
4357 "12 0.0277228 4.040411 0.10495 0.0980198 \n",
4358 "13 0.10297 2.917683 0.0475248 0.100495 \n",
4359 "14 0.148515 2.045210 0.0277228 0.10297 \n",
4360 "15 0.0178218 3.119418 0.0594059 0.104455 \n",
4361 "16 0.0693069 4.354043 0.124752 0.106436 \n",
4362 "17 0.223762 1.476319 0.0118812 0.109406 \n",
4363 "18 0.122772 4.347533 0.122772 0.111386 \n",
4364 "19 0.0138614 1.475177 0.00990099 0.111881 \n",
4365 "20 0.186139 2.917670 0.0455446 0.112376 \n",
4366 "21 0.0594059 4.154303 0.112871 0.114356 \n",
4367 "22 0.0851485 5.089065 0.182178 0.120792 \n",
4368 "23 0.00990099 7.809283 0.346535 0.123762 \n",
4369 "24 0.0554455 5.622738 0.215842 0.126238 \n",
4370 "25 0.0356436 4.734496 0.158416 0.132673 \n",
4371 "26 0.0772277 3.333651 0.0693069 0.137129 \n",
4372 "27 0.128713 1.919594 0.0257426 0.138614 \n",
4373 "28 0.0019802 3.621115 0.0871287 0.140099 \n",
4374 "29 0.0415842 7.856301 0.350495 0.144059 \n",
4375 "30 0.19802 4.502085 0.134653 0.149505 \n",
4376 "31 0.0831683 5.745581 0.219802 0.150495 \n",
4377 "32 0.0534653 6.042985 0.239604 0.161386 \n",
4378 "33 0.10495 4.414420 0.126733 0.166337 \n",
4379 "34 0.110891 6.567250 0.275248 0.166832 \n",
4380 "35 0.362376 2.100650 0.029703 0.168317 \n",
4381 "36 0.00594059 1.220535 0.0039604 0.172277 \n",
4382 "37 0.114851 1.456282 0.00792079 0.174257 \n",
4383 "38 0.433663 2.184035 0.0316832 0.180693 \n",
4384 "39 0.10099 4.540753 0.136634 0.182178 \n",
4385 "40 0.0158416 3.603223 0.0831683 0.183663 \n",
4386 "41 0.0376238 9.447806 0.455446 0.189604 \n",
4387 "42 0.277228 4.190990 0.114851 0.189604 \n",
4388 "43 0.213861 6.028085 0.237624 0.194059 \n",
4389 "44 0.241584 3.620672 0.0851485 0.196535 \n",
4390 "45 0.162376 5.754476 0.221782 0.201485 \n",
4391 "46 0.20198 7.691650 0.342574 0.20297 \n",
4392 "47 0.219802 6.421577 0.267327 0.20495 \n",
4393 "48 0.0514851 11.573139 0.566337 0.208663 \n",
4394 "49 0.160396 4.710304 0.152475 0.209406 \n",
4395 "50 0.0613861 5.228678 0.192079 0.218317 "
4396 ]
4397 },
4398 "execution_count": 21,
4399 "metadata": {},
4400 "output_type": "execute_result"
4401 }
4402 ],
4403 "source": []
4404 },
4405 {
4406 "cell_type": "markdown",
4407 "metadata": {},
4408 "source": [
4409 "## Formatting Our Excel Output\n",
4410 "\n",
4411 "We will be using the XlsxWriter library for Python to create nicely-formatted Excel files.\n",
4412 "\n",
4413 "XlsxWriter is an excellent package and offers tons of customization. However, the tradeoff for this is that the library can seem very complicated to new users. Accordingly, this section will be fairly long because I want to do a good job of explaining how XlsxWriter works."
4414 ]
4415 },
4416 {
4417 "cell_type": "code",
4418 "execution_count": 22,
4419 "metadata": {},
4420 "outputs": [],
4421 "source": []
4422 },
4423 {
4424 "cell_type": "markdown",
4425 "metadata": {},
4426 "source": [
4427 "## Creating the Formats We'll Need For Our .xlsx File\n",
4428 "You'll recall from our first project that formats include colors, fonts, and also symbols like % and $. We'll need four main formats for our Excel document:\n",
4429 "\n",
4430 "* String format for tickers\n",
4431 "* \\$XX.XX format for stock prices\n",
4432 "* \\$XX,XXX format for market capitalization\n",
4433 "* Integer format for the number of shares to purchase\n",
4434 "* Float formats with 1 decimal for each valuation metric\n",
4435 "\n",
4436 "Since we already built some formats in past sections of this course, I've included them below for you. Run this code cell before proceeding."
4437 ]
4438 },
4439 {
4440 "cell_type": "code",
4441 "execution_count": 23,
4442 "metadata": {},
4443 "outputs": [],
4444 "source": []
4445 },
4446 {
4447 "cell_type": "code",
4448 "execution_count": 24,
4449 "metadata": {},
4450 "outputs": [],
4451 "source": []
4452 },
4453 {
4454 "cell_type": "markdown",
4455 "metadata": {},
4456 "source": [
4457 "## Saving Our Excel Output\n",
4458 "As before, saving our Excel output is very easy:"
4459 ]
4460 },
4461 {
4462 "cell_type": "code",
4463 "execution_count": 25,
4464 "metadata": {},
4465 "outputs": [],
4466 "source": []
4467 }
4468 ],
4469 "metadata": {
4470 "kernelspec": {
4471 "display_name": "Python 3",
4472 "language": "python",
4473 "name": "python3"
4474 },
4475 "language_info": {
4476 "codemirror_mode": {
4477 "name": "ipython",
4478 "version": 3
4479 },
4480 "file_extension": ".py",
4481 "mimetype": "text/x-python",
4482 "name": "python",
4483 "nbconvert_exporter": "python",
4484 "pygments_lexer": "ipython3",
4485 "version": "3.8.5"
4486 }
4487 },
4488 "nbformat": 4,
4489 "nbformat_minor": 4
4490 }