{
"cells": [
{
"cell_type": "markdown",
"id": "4d93de54-a657-457f-be8a-0338dff30509",
"metadata": {},
"source": [
"These are screens are those that I follow from: *What Works on Wall Street, Fourth Edition: The Classic Guide to the Best-Performing Investment Strategies of All Time.* \n",
"\n",
"This is just my interpretation of the books material."
]
},
{
"cell_type": "markdown",
"id": "aa1387d9-005f-46be-a394-0c27444f50ae",
"metadata": {},
"source": [
"**This material is not intended to be relied upon as a forecast, research or investment advice, and is not a recommendation. Past performance is not always indicative of future returns. I may or may not own stocks listed**"
]
},
{
"cell_type": "markdown",
"id": "83546207-6daf-4bf2-b76d-973d45370bd8",
"metadata": {},
"source": [
"# R System Prep\n",
"\n",
"Data was downloaded the day that I run this notebook. Data should be 1 market day old.\n",
"\n",
"This sheet was run on: "
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "cb586e2d-dea9-4d3a-a308-09e983c8346f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[1] \"2022-08-01 11:46:36 PDT\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"Sys.time()"
]
},
{
"cell_type": "markdown",
"id": "466f5342-44d8-4c17-acf4-6444e00fceb6",
"metadata": {},
"source": [
"First initialize R environment:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "cb9abedd-6227-4edb-ab37-940e9a942735",
"metadata": {},
"outputs": [],
"source": [
"suppressPackageStartupMessages(library(tidyverse))\n",
"suppressPackageStartupMessages(library(tidyquant))\n",
"suppressPackageStartupMessages(library(rio))\n",
"suppressPackageStartupMessages(library(knitr))\n",
"suppressPackageStartupMessages(library(kableExtra))\n",
"suppressPackageStartupMessages(library(IRdisplay))\n",
"#library(kableExtra)"
]
},
{
"cell_type": "markdown",
"id": "af67e5fc-8958-4e3a-9f32-584375de51c7",
"metadata": {},
"source": [
"\n",
"Read Data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "dbea6edc-7a16-4530-991c-2c6d4a7c89ca",
"metadata": {},
"outputs": [],
"source": [
"#setwd(\"D:/OneDrive/SITES/www.michaelghens.com/Rdocs\")\n",
"universe <-\n",
" read.csv(\n",
" \"STOCKS.TXT\",\n",
" header = FALSE,\n",
" stringsAsFactors = FALSE,\n",
" na.strings = '-9999999999.990'\n",
" )\n",
"\n",
"universe_names <-\n",
" read.csv(\n",
" \"STOCKS_KEY.TXT\",\n",
" header = FALSE,\n",
" stringsAsFactors = FALSE,\n",
" na.strings = '-9999999999.990'\n",
" )\n",
"\n",
"names(universe) <- universe_names[, 2]\n",
"count1 <- nrow(universe)[1]"
]
},
{
"cell_type": "markdown",
"id": "8ccc282b-6051-4d1e-ad50-95177d8c9ecb",
"metadata": {},
"source": [
"Fields imported:"
]
},
{
"cell_type": "raw",
"id": "b1212b6d-d6e5-4c18-b939-ce137a30fd4d",
"metadata": {},
"source": [
"%%html\n",
""
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "764d8e98-c2e5-4495-9696-742c0d7f9fc2",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
" \n",
" \n",
" x | \n",
"
\n",
" \n",
"\n",
" \n",
" Ticker | \n",
"
\n",
" \n",
" Company name | \n",
"
\n",
" \n",
" Price Change 52 week | \n",
"
\n",
" \n",
" Yield | \n",
"
\n",
" \n",
" Sector | \n",
"
\n",
" \n",
" Industry | \n",
"
\n",
" \n",
" Exchange | \n",
"
\n",
" \n",
" ADR/ADS Stock | \n",
"
\n",
" \n",
" Market Cap Q1 | \n",
"
\n",
" \n",
" Price Change 13 week | \n",
"
\n",
" \n",
" Price Change 26 week | \n",
"
\n",
" \n",
" Cash flow/share 12m | \n",
"
\n",
" \n",
" Shares Average Q1 | \n",
"
\n",
" \n",
" Sales 12m | \n",
"
\n",
" \n",
" Buyback Yield | \n",
"
\n",
" \n",
" Price/Book | \n",
"
\n",
" \n",
" PE | \n",
"
\n",
" \n",
" Price/Sales | \n",
"
\n",
" \n",
" Enterprise Value/EBITDA | \n",
"
\n",
" \n",
" Price/CFPS | \n",
"
\n",
" \n",
" Shareholder Yield | \n",
"
\n",
" \n",
" 1yr chg debt | \n",
"
\n",
" \n",
" External Financing | \n",
"
\n",
" \n",
" LT Debt/equity Q1 | \n",
"
\n",
" \n",
" LT debt/free cash flow 12m | \n",
"
\n",
" \n",
" EarningsQuality | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"universe_names[, 2] %>%\n",
" kbl(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "markdown",
"id": "cc665d83-2403-4ff4-a93d-29a9afe27166",
"metadata": {},
"source": [
"Fields:\n",
"\n",
"* EarningsQuality: ([Cash from operations 12m]-[Net income 12m])/[Market Cap Q1]\n",
"* 1yr chg debt: [Long-term debt Q1]-[Long-term debt Q5])/[Long-term debt Q5]\n",
"* External Financing: [Cash from financing Q1]/[Total assets Q1]\n",
"\n",
"Are caculated fields\n",
"\n",
"\n",
"To clean up the universe of stocks, they must:\n",
"\n",
"* have a ticker\n",
"* market cap\n",
"* ~~13,26,52 week price change~~\n",
"* not be over the counter\n",
"* ~~not an ADR stock~~\n",
"* ~~not be a reit stock.~~\n",
"* ~~not be a closed end fund (TBA)~~"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1aa58585-a13a-4c96-bcec-367920889911",
"metadata": {},
"outputs": [],
"source": [
"universe <- universe[complete.cases(universe$Ticker),]\n",
"universe <- universe[complete.cases(universe$`Market Cap Q1`),]\n",
"#universe <- universe[complete.cases(universe$`Price Change 13 week`),]\n",
"#universe <- universe[complete.cases(universe$`Price Change 26 week`),]\n",
"#universe <- universe[complete.cases(universe$`Price Change 52 week`),]\n",
"#exchanges\n",
"condition <- c(\"N - New York\", \"A - American\", \"M - Nasdaq\")\n",
"universe <- filter(universe, Exchange %in% condition)\n",
"#universe <- filter(universe,`ADR/ADS Stock` == 'FALSE')\n",
"#universe <- filter(universe,!grepl('REITs',Industry))\n",
"count2 <- nrow(universe)[1]"
]
},
{
"cell_type": "markdown",
"id": "cb16d169-e950-405a-bcb9-ffea4f111090",
"metadata": {},
"source": [
"# Market Cap Variables\n",
"\n",
"Screens need some market cap and momentom constants\n",
"\n",
"* Minimum deflated Market Cap all cap universe\n",
"* Mediam 13 and 26 Momentom for bear trap\n",
"* Average Market cap for large cap universe\n",
"\n",
"Calculating deflator, mins, means and medians."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "b76d48c3-e400-44ef-b765-063ea3a2076b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"'CPIAUCSL'"
],
"text/latex": [
"'CPIAUCSL'"
],
"text/markdown": [
"'CPIAUCSL'"
],
"text/plain": [
"[1] \"CPIAUCSL\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"options(\"getSymbols.warning4.0\"=FALSE)\n",
"#find inflation Market Cap 150 @ 1995\n",
"getSymbols(\"CPIAUCSL\", src = \"FRED\", auto.assign=getOption('getSymbols.auto.assign',TRUE))\n",
"deflator <-\n",
" last(Cl(to.yearly(CPIAUCSL)))[[1]] / Cl(to.yearly(CPIAUCSL))['1995'][[1]]\n",
"mincap <- 150 * deflator\n",
"median13w <- median(universe$`Price Change 13 week`, na.rm = TRUE)\n",
"median26w <- median(universe$`Price Change 26 week`, na.rm = TRUE)\n",
"avgmcap <- mean(universe$`Market Cap Q1`, na.rm = TRUE)\n",
"avgshares <- mean(universe$`Shares Average Q1`, na.rm = TRUE)\n",
"avgcashflowshares <- mean(universe$`Cash flow/share 12m`, na.rm = TRUE)\n",
"avgsales15 <- mean(universe$`Sales 12m`, na.rm = TRUE) * 1.5"
]
},
{
"cell_type": "markdown",
"id": "7038573d-9e1d-423a-bf43-d68f31b088a0",
"metadata": {},
"source": [
"# Create stock unverses\n",
"\n",
"Screens are based on thre inverses of stocks \n",
"\n",
"* smallstocks\n",
"* allstocks\n",
"* largestocks\n",
"* marketleaders\n",
"\n",
"## Create means and medians "
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "7c2b1ee2-338f-4625-b547-eca04ca19207",
"metadata": {},
"outputs": [],
"source": [
"smallstocks <- filter(universe, `Market Cap Q1` <= avgmcap & `Market Cap Q1` >= mincap)\n",
"\n",
"allstocks <- filter(universe, `Market Cap Q1` >= mincap)\n",
"\n",
"largestocks <- filter(universe, `Market Cap Q1` >= avgmcap)\n",
"\n",
"marketleaders <- allstocks %>% filter(Sector != \"59 - Utilities\") %>% \n",
" filter(`Shares Average Q1` > avgshares) %>%\n",
" filter(`Cash flow/share 12m` > avgcashflowshares) %>%\n",
" filter(`Sales 12m` > avgsales15)"
]
},
{
"cell_type": "markdown",
"id": "2dd05296-3e49-4cfa-8359-a0967628afff",
"metadata": {},
"source": [
"Function to add rankings"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "a23c2bf9-fa87-4162-a0dc-20c67c46b31a",
"metadata": {},
"outputs": [],
"source": [
"calcvc2 <- function(x) {\n",
" #Calculate VC2\n",
" #subtract ntile from 101 to reverse (correct) Order. So Small is big\n",
" x$`Price/Book.Rank` <-\n",
" 100 - round(percent_rank(x$`Price/Book`) * 100, 1)\n",
" x$PE.Rank <- 100 - round(percent_rank(x$PE) * 100, 1)\n",
" x$`Price/Sales.Rank` <-\n",
" 100 - round(percent_rank(x$`Price/Sales`) * 100, 1)\n",
" x$`Enterprise Value/EBITDA.Rank` <-\n",
" 100 - round(percent_rank(x$`Enterprise Value/EBITDA`) * 100, 1)\n",
" x$`Price/CFPS.Rank` <-\n",
" 100 - round(percent_rank(x$`Price/CFPS`) * 100, 1)\n",
" x$`Shareholder Yield.Rank` <-\n",
" round(percent_rank(x$`Shareholder Yield`) * 100, 1)\n",
" \n",
" #Stocks with no rank get 50\n",
" x$`Price/Book.Rank`[is.na(x$`Price/Book.Rank`)] <- 50\n",
" x$PE.Rank[is.na(x$PE.Rank)] <- 50\n",
" x$`Price/Sales.Rank`[is.na(x$`Price/Sales.Rank`)] <- 50\n",
" x$`Enterprise Value/EBITDA.Rank`[is.na(x$`Enterprise Value/EBITDA.Rank`)] <-\n",
" 50\n",
" x$`Price/CFPS.Rank`[is.na(x$`Price/CFPS.Rank`)] <- 50\n",
" x$`Shareholder Yield.Rank`[is.na(x$`Shareholder Yield.Rank`)] <- 50\n",
" #Sum the Ranks\n",
" x$SumRank <-\n",
" x$`Price/Book.Rank` + x$PE.Rank + x$`Price/Sales.Rank` + x$`Enterprise Value/EBITDA.Rank` + x$`Price/CFPS.Rank` + x$`Shareholder Yield.Rank`\n",
" x$VC2 <- round(percent_rank(x$SumRank) * 100, 1)\n",
" return(x)\n",
"}\n",
"\n",
"allstocks <- calcvc2(allstocks)\n",
"largestocks <- calcvc2(largestocks)\n",
"marketleaders <- calcvc2(marketleaders)"
]
},
{
"cell_type": "markdown",
"id": "6763deb6-ebea-4a70-bbaa-6d794169e0fe",
"metadata": {
"tags": []
},
"source": [
"## Market Cap discriptive"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "816f5e75-29b9-4920-8e3d-dd472ee2689d",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
" Price Change 52 week Yield Market Cap Q1 Price Change 13 week\n",
" Min. :-94.52 Min. : 0.000 Min. : 287.9 Min. :-84.400 \n",
" 1st Qu.:-33.94 1st Qu.: 0.000 1st Qu.: 659.5 1st Qu.:-13.035 \n",
" Median :-10.52 Median : 0.000 Median : 1936.4 Median : -1.800 \n",
" Mean :-10.96 Mean : 1.513 Mean : 13989.6 Mean : -2.610 \n",
" 3rd Qu.: 4.97 3rd Qu.: 2.200 3rd Qu.: 6838.9 3rd Qu.: 5.125 \n",
" Max. :424.85 Max. :44.900 Max. :2537675.0 Max. :392.050 \n",
" NA's :213 NA's :11 \n",
" Price Change 26 week Cash flow/share 12m Shares Average Q1 \n",
" Min. :-87.570 Min. :-181.0900 Min. : 0.452 \n",
" 1st Qu.:-17.800 1st Qu.: -1.0300 1st Qu.: 39.902 \n",
" Median : -3.730 Median : -0.0200 Median : 81.250 \n",
" Mean : -2.579 Mean : 0.3502 Mean : 276.675 \n",
" 3rd Qu.: 7.225 3rd Qu.: 0.6100 3rd Qu.: 202.629 \n",
" Max. :377.430 Max. : 301.6500 Max. :17548.000 \n",
" NA's :43 NA's :448 NA's :49 \n",
" Sales 12m Buyback Yield Price/Book PE \n",
" Min. : 0.2 Min. :-981.200 Min. : 0.140 Min. : 0.40 \n",
" 1st Qu.: 355.2 1st Qu.: -4.400 1st Qu.: 1.300 1st Qu.: 10.10 \n",
" Median : 1248.5 Median : -0.500 Median : 2.030 Median : 18.30 \n",
" Mean : 7922.7 Mean : -9.076 Mean : 5.015 Mean : 34.88 \n",
" 3rd Qu.: 4748.0 3rd Qu.: 0.700 3rd Qu.: 3.835 3rd Qu.: 33.52 \n",
" Max. :576013.0 Max. : 90.000 Max. :386.820 Max. :985.40 \n",
" NA's :525 NA's :273 NA's :211 NA's :1314 \n",
" Price/Sales Enterprise Value/EBITDA Price/CFPS Shareholder Yield \n",
" Min. : 0.02 Min. : 0.1 Min. : 0.20 Min. :-981.200 \n",
" 1st Qu.: 1.06 1st Qu.: 7.4 1st Qu.: 8.70 1st Qu.: -3.600 \n",
" Median : 2.47 Median : 11.8 Median : 26.90 Median : 0.000 \n",
" Mean : 9.28 Mean : 21.7 Mean : 99.22 Mean : -7.505 \n",
" 3rd Qu.: 5.16 3rd Qu.: 19.6 3rd Qu.: 99.40 3rd Qu.: 3.300 \n",
" Max. :982.86 Max. :925.7 Max. :983.10 Max. : 90.000 \n",
" NA's :563 NA's :1196 NA's :2461 NA's :273 \n",
" 1yr chg debt External Financing LT Debt/equity Q1\n",
" Min. : -1.000 Min. :-2.07000 Min. : 0.00 \n",
" 1st Qu.: -0.110 1st Qu.:-0.01000 1st Qu.: 0.00 \n",
" Median : 0.000 Median : 0.00000 Median : 32.40 \n",
" Mean : 6.497 Mean : 0.00275 Mean : 74.17 \n",
" 3rd Qu.: 0.240 3rd Qu.: 0.00000 3rd Qu.: 91.67 \n",
" Max. :7293.000 Max. : 1.03000 Max. :981.00 \n",
" NA's :1085 NA's :79 NA's :240 \n",
" LT debt/free cash flow 12m EarningsQuality Price/Book.Rank PE.Rank \n",
" Min. : 0.00 Min. :-5.8500 Min. : 0.00 Min. : 0.00 \n",
" 1st Qu.: 1.00 1st Qu.:-0.0100 1st Qu.: 26.50 1st Qu.: 37.90 \n",
" Median : 3.80 Median : 0.0200 Median : 50.00 Median : 50.00 \n",
" Mean : 17.49 Mean : 0.0401 Mean : 50.14 Mean : 50.07 \n",
" 3rd Qu.: 9.60 3rd Qu.: 0.0600 3rd Qu.: 75.10 3rd Qu.: 62.30 \n",
" Max. :4064.50 Max. : 7.8000 Max. :100.00 Max. :100.00 \n",
" NA's :1907 NA's :447 \n",
" Price/Sales.Rank Enterprise Value/EBITDA.Rank Price/CFPS.Rank \n",
" Min. : 0.00 Min. : 0.00 Min. : 0.00 \n",
" 1st Qu.: 29.30 1st Qu.: 36.20 1st Qu.: 50.00 \n",
" Median : 50.00 Median : 50.00 Median : 50.00 \n",
" Mean : 50.06 Mean : 50.12 Mean : 50.02 \n",
" 3rd Qu.: 70.80 3rd Qu.: 64.10 3rd Qu.: 50.00 \n",
" Max. :100.00 Max. :100.00 Max. :100.00 \n",
" \n",
" Shareholder Yield.Rank SumRank VC2 \n",
" Min. : 0.0 Min. : 40.2 Min. : 0.00 \n",
" 1st Qu.: 26.7 1st Qu.:236.9 1st Qu.: 24.93 \n",
" Median : 50.0 Median :294.1 Median : 50.00 \n",
" Mean : 49.7 Mean :300.1 Mean : 49.99 \n",
" 3rd Qu.: 72.7 3rd Qu.:361.4 3rd Qu.: 75.00 \n",
" Max. :100.0 Max. :584.7 Max. :100.00 \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"summary(select_if(allstocks,is.numeric))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4ee41119-467e-49c8-999a-ee5570553197",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
" Min. 1st Qu. Median Mean 3rd Qu. Max. \n",
" 8980 14914 26322 58619 51320 2537675 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"summary(largestocks$`Market Cap Q1`)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "cd2a706d-8681-4fb2-93c2-0c065a3b569b",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
" Min. 1st Qu. Median Mean 3rd Qu. Max. \n",
" 2692 24175 46469 81451 97384 861140 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"summary(marketleaders$`Market Cap Q1`)"
]
},
{
"cell_type": "markdown",
"id": "b778a4d6-6048-4b92-882e-2db186ba35e8",
"metadata": {},
"source": [
"# Portfolios\n",
"\n",
"## Trending Value"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "dfd287dd-f769-4c68-9d5c-4409648dfae2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" Ticker | \n",
" Company name | \n",
" Sector | \n",
" Industry | \n",
"
\n",
" \n",
"\n",
" \n",
" PBF | \n",
" PBF Energy Inc | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" VHI | \n",
" Valhi, Inc. | \n",
" 51 - Basic Materials | \n",
" 51101030 - Chemicals - Specialty | \n",
"
\n",
" \n",
" CVLG | \n",
" Covenant Logistics Group Inc | \n",
" 52 - Industrials | \n",
" 52405030 - Freight & Logistics - Ground | \n",
"
\n",
" \n",
" RFP | \n",
" Resolute Forest Products Inc | \n",
" 51 - Basic Materials | \n",
" 51301020 - Paper Products | \n",
"
\n",
" \n",
" DSX | \n",
" Diana Shipping Inc | \n",
" 52 - Industrials | \n",
" 52405020 - Freight & Logistics - Marine | \n",
"
\n",
" \n",
" LPG | \n",
" Dorian LPG Ltd | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" BTE | \n",
" Baytex Energy Corp | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" MERC | \n",
" Mercer International Inc. | \n",
" 51 - Basic Materials | \n",
" 51301020 - Paper Products | \n",
"
\n",
" \n",
" STLD | \n",
" Steel Dynamics, Inc. | \n",
" 51 - Basic Materials | \n",
" 51201020 - Metals & Mining - Iron & Steel | \n",
"
\n",
" \n",
" ZEUS | \n",
" Olympic Steel, Inc. | \n",
" 51 - Basic Materials | \n",
" 51201020 - Metals & Mining - Iron & Steel | \n",
"
\n",
" \n",
" TMST | \n",
" Timkensteel Corp | \n",
" 51 - Basic Materials | \n",
" 51201020 - Metals & Mining - Iron & Steel | \n",
"
\n",
" \n",
" NUE | \n",
" Nucor Corporation | \n",
" 51 - Basic Materials | \n",
" 51201020 - Metals & Mining - Iron & Steel | \n",
"
\n",
" \n",
" EQNR | \n",
" Equinor ASA (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" UFCS | \n",
" United Fire Group, Inc. | \n",
" 55 - Financials | \n",
" 55301020 - Insurance - Property & Casualty | \n",
"
\n",
" \n",
" VLO | \n",
" Valero Energy Corporation | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" TGL | \n",
" TransGlobe Energy Corporation | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" CVE | \n",
" Cenovus Energy Inc (US) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" TGS | \n",
" Transportadora de Gas del Sur | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" WIRE | \n",
" Encore Wire Corporation | \n",
" 52 - Industrials | \n",
" 52102030 - Electrical Components & Equipment | \n",
"
\n",
" \n",
" KELYA | \n",
" Kelly Services, Inc. | \n",
" 52 - Industrials | \n",
" 52203030 - Employment Services | \n",
"
\n",
" \n",
" SANM | \n",
" Sanmina Corp | \n",
" 57 - Technology | \n",
" 57101010 - Semiconductors | \n",
"
\n",
" \n",
" SENEA | \n",
" Seneca Foods Corp | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" X | \n",
" United States Steel Corporatio | \n",
" 51 - Basic Materials | \n",
" 51201020 - Metals & Mining - Iron & Steel | \n",
"
\n",
" \n",
" PRDO | \n",
" Perdoceo Education Corp | \n",
" 63 - Academic & Educational Services | \n",
" 63101010 - Miscellaneous Educational Service Providers | \n",
"
\n",
" \n",
" UNM | \n",
" Unum Group | \n",
" 55 - Financials | \n",
" 55301030 - Insurance - Life & Health | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"TrendingValue <- allstocks %>% filter(VC2 >= 90) %>% arrange(desc(`Price Change 26 week`)) %>% slice_head(n = 25) %>% select(Ticker, `Company name`,Sector,Industry)\n",
"\n",
"TrendingValue %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "markdown",
"id": "50cbe52b-5208-43fa-8e12-a43ba34aa5b7",
"metadata": {},
"source": [
"## Cheap Stocks on the mend"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "5f17737d-073b-4cb0-b0b5-5e079b0e5360",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" Ticker | \n",
" Company name | \n",
"
\n",
" \n",
"\n",
" \n",
" CEIX | \n",
" Consol Energy Inc | \n",
"
\n",
" \n",
" TEDU | \n",
" Tarena International Inc(ADR) | \n",
"
\n",
" \n",
" ASC | \n",
" Ardmore Shipping Corp | \n",
"
\n",
" \n",
" HMLP | \n",
" Hoegh LNG Partners LP | \n",
"
\n",
" \n",
" AR | \n",
" Antero Resources Corp | \n",
"
\n",
" \n",
" TAL | \n",
" TAL Education Group (ADR) | \n",
"
\n",
" \n",
" PBF | \n",
" PBF Energy Inc | \n",
"
\n",
" \n",
" VHI | \n",
" Valhi, Inc. | \n",
"
\n",
" \n",
" ULH | \n",
" Universal Logistics Holdings I | \n",
"
\n",
" \n",
" ARIS | \n",
" Aris Water Solutions Inc | \n",
"
\n",
" \n",
" DQ | \n",
" Daqo New Energy Corp (ADR) | \n",
"
\n",
" \n",
" OXY | \n",
" Occidental Petroleum Corporati | \n",
"
\n",
" \n",
" SD | \n",
" SandRidge Energy Inc. | \n",
"
\n",
" \n",
" CVI | \n",
" CVR Energy, Inc. | \n",
"
\n",
" \n",
" DK | \n",
" Delek US Holdings Inc | \n",
"
\n",
" \n",
" VET | \n",
" Vermilion Energy Inc | \n",
"
\n",
" \n",
" BMEA | \n",
" Biomea Fusion Inc | \n",
"
\n",
" \n",
" CVLG | \n",
" Covenant Logistics Group Inc | \n",
"
\n",
" \n",
" MTOR | \n",
" Meritor Inc | \n",
"
\n",
" \n",
" RFP | \n",
" Resolute Forest Products Inc | \n",
"
\n",
" \n",
" AAV | \n",
" Advantage Energy Ltd | \n",
"
\n",
" \n",
" DSX | \n",
" Diana Shipping Inc | \n",
"
\n",
" \n",
" LPG | \n",
" Dorian LPG Ltd | \n",
"
\n",
" \n",
" BTE | \n",
" Baytex Energy Corp | \n",
"
\n",
" \n",
" QURE | \n",
" Uniqure NV | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cheapmend <-\n",
" allstocks %>% filter(VC2 >= 70) %>% filter(`Price Change 13 week` > median13w) %>% filter(`Price Change 26 week` >\n",
" median26w) %>% arrange(desc(`Price Change 26 week`)) %>% \n",
" slice_head(n = 25) %>% select(Ticker, `Company name`)\n",
"\n",
"cheapmend %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "markdown",
"id": "7178781f-b091-4952-afd7-a056f1b33367",
"metadata": {},
"source": [
"## Market Leaders\n",
"\n",
"### Price Appreciation"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "28b26672-5330-42f0-bcb8-a8e0aab9ff06",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" Ticker | \n",
" Company name | \n",
" Sector | \n",
" Industry | \n",
"
\n",
" \n",
"\n",
" \n",
" PBR | \n",
" Petroleo Brasileiro SA Petrobr | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" MPC | \n",
" Marathon Petroleum Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" BP | \n",
" BP plc (ADR) | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" AMGN | \n",
" Amgen, Inc. | \n",
" 56 - Healthcare | \n",
" 56201040 - Pharmaceuticals | \n",
"
\n",
" \n",
" SHEL | \n",
" Shell PLC (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" PAGP | \n",
" Plains GP Holdings LP | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" DVN | \n",
" Devon Energy Corp | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" AMCR | \n",
" Amcor PLC | \n",
" 51 - Basic Materials | \n",
" 51302010 - Non-Paper Containers & Packaging | \n",
"
\n",
" \n",
" ENB | \n",
" Enbridge Inc (USA) | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" T | \n",
" AT&T Inc. | \n",
" 57 - Technology | \n",
" 57401020 - Telecommunications Services - Wireless | \n",
"
\n",
" \n",
" NXPI | \n",
" NXP Semiconductors NV | \n",
" 57 - Technology | \n",
" 57101010 - Semiconductors | \n",
"
\n",
" \n",
" EQNR | \n",
" Equinor ASA (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" CF | \n",
" CF Industries Holdings, Inc. | \n",
" 51 - Basic Materials | \n",
" 51101020 - Chemicals - Agricultural | \n",
"
\n",
" \n",
" GS | \n",
" Goldman Sachs Group Inc | \n",
" 55 - Financials | \n",
" 55102010 - Investment Banking & Brokerage Services | \n",
"
\n",
" \n",
" CVE | \n",
" Cenovus Energy Inc (US) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" ADP | \n",
" Automatic Data Processing Inc | \n",
" 57 - Technology | \n",
" 57201010 - IT Services & Consulting | \n",
"
\n",
" \n",
" NTES | \n",
" NetEase Inc (ADR) | \n",
" 57 - Technology | \n",
" 57201030 - Online Services | \n",
"
\n",
" \n",
" EMR | \n",
" Emerson Electric Co. | \n",
" 52 - Industrials | \n",
" 52102030 - Electrical Components & Equipment | \n",
"
\n",
" \n",
" WM | \n",
" Waste Management, Inc. | \n",
" 52 - Industrials | \n",
" 52203010 - Environmental Services & Equipment | \n",
"
\n",
" \n",
" COP | \n",
" ConocoPhillips | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" FIS | \n",
" Fidelity National Information | \n",
" 57 - Technology | \n",
" 57301010 - Fintech | \n",
"
\n",
" \n",
" OVV | \n",
" Ovintiv Inc | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" XOM | \n",
" Exxon Mobil Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" UPS | \n",
" United Parcel Service, Inc. | \n",
" 52 - Industrials | \n",
" 52405010 - Freight & Logistics - Courier, Postal, Air Freight & L | \n",
"
\n",
" \n",
" FISV | \n",
" Fiserv Inc | \n",
" 52 - Industrials | \n",
" 52203040 - Business Support Services | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mlsy <- marketleaders %>% filter(`Price Change 13 week` > median13w) %>% \n",
" filter(`Price Change 26 week` >median26w) %>% \n",
" arrange(desc(`Shareholder Yield`)) %>%\n",
" slice_head(n = 25) %>% \n",
" select(Ticker, `Company name`,Sector,Industry)\n",
"mlsy %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "2a5b9fc5-cb28-4bf7-ad87-c35d76d82082",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" Ticker | \n",
" Company name | \n",
" Sector | \n",
" Industry | \n",
"
\n",
" \n",
"\n",
" \n",
" PBR | \n",
" Petroleo Brasileiro SA Petrobr | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" SHEL | \n",
" Shell PLC (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" T | \n",
" AT&T Inc. | \n",
" 57 - Technology | \n",
" 57401020 - Telecommunications Services - Wireless | \n",
"
\n",
" \n",
" BP | \n",
" BP plc (ADR) | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" EQNR | \n",
" Equinor ASA (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" MPC | \n",
" Marathon Petroleum Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" CVE | \n",
" Cenovus Energy Inc (US) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" BNTX | \n",
" BioNTech SE - ADR | \n",
" 56 - Healthcare | \n",
" 56202010 - Biotechnology & Medical Research | \n",
"
\n",
" \n",
" GS | \n",
" Goldman Sachs Group Inc | \n",
" 55 - Financials | \n",
" 55102010 - Investment Banking & Brokerage Services | \n",
"
\n",
" \n",
" PPC | \n",
" Pilgrim's Pride Corporation | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" PAGP | \n",
" Plains GP Holdings LP | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" CF | \n",
" CF Industries Holdings, Inc. | \n",
" 51 - Basic Materials | \n",
" 51101020 - Chemicals - Agricultural | \n",
"
\n",
" \n",
" ET | \n",
" Energy Transfer LP | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" COP | \n",
" ConocoPhillips | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" CEA | \n",
" China Eastern Airlines Corp. L | \n",
" 52 - Industrials | \n",
" 52406010 - Airlines | \n",
"
\n",
" \n",
" CNC | \n",
" Centene Corp | \n",
" 56 - Healthcare | \n",
" 56102020 - Managed Health care | \n",
"
\n",
" \n",
" DVN | \n",
" Devon Energy Corp | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" PSX | \n",
" Phillips 66 | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" OVV | \n",
" Ovintiv Inc | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" AMCR | \n",
" Amcor PLC | \n",
" 51 - Basic Materials | \n",
" 51302010 - Non-Paper Containers & Packaging | \n",
"
\n",
" \n",
" XOM | \n",
" Exxon Mobil Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" PXD | \n",
" Pioneer Natural Resources Co | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" LNG | \n",
" Cheniere Energy, Inc. | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" EMR | \n",
" Emerson Electric Co. | \n",
" 52 - Industrials | \n",
" 52102030 - Electrical Components & Equipment | \n",
"
\n",
" \n",
" UPS | \n",
" United Parcel Service, Inc. | \n",
" 52 - Industrials | \n",
" 52405010 - Freight & Logistics - Courier, Postal, Air Freight & L | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mlvc2 <- marketleaders %>% filter(`Price Change 13 week` > median13w) %>% \n",
" filter(`Price Change 26 week` >median26w) %>% \n",
" arrange(desc(VC2)) %>%\n",
" slice_head(n = 25) %>% \n",
" select(Ticker, `Company name`,Sector,Industry)\n",
"mlvc2 %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "2932fc38-490c-4ff6-b094-f3adc861ae67",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" | \n",
" Ticker | \n",
" Company name | \n",
" Sector | \n",
" Industry | \n",
"
\n",
" \n",
"\n",
" \n",
" 1 | \n",
" ADP | \n",
" Automatic Data Processing Inc | \n",
" 57 - Technology | \n",
" 57201010 - IT Services & Consulting | \n",
"
\n",
" \n",
" 2 | \n",
" AMCR | \n",
" Amcor PLC | \n",
" 51 - Basic Materials | \n",
" 51302010 - Non-Paper Containers & Packaging | \n",
"
\n",
" \n",
" 4 | \n",
" AMGN | \n",
" Amgen, Inc. | \n",
" 56 - Healthcare | \n",
" 56201040 - Pharmaceuticals | \n",
"
\n",
" \n",
" 5 | \n",
" BNTX | \n",
" BioNTech SE - ADR | \n",
" 56 - Healthcare | \n",
" 56202010 - Biotechnology & Medical Research | \n",
"
\n",
" \n",
" 6 | \n",
" BP | \n",
" BP plc (ADR) | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" 8 | \n",
" CEA | \n",
" China Eastern Airlines Corp. L | \n",
" 52 - Industrials | \n",
" 52406010 - Airlines | \n",
"
\n",
" \n",
" 9 | \n",
" CF | \n",
" CF Industries Holdings, Inc. | \n",
" 51 - Basic Materials | \n",
" 51101020 - Chemicals - Agricultural | \n",
"
\n",
" \n",
" 11 | \n",
" CNC | \n",
" Centene Corp | \n",
" 56 - Healthcare | \n",
" 56102020 - Managed Health care | \n",
"
\n",
" \n",
" 12 | \n",
" COP | \n",
" ConocoPhillips | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" 14 | \n",
" CVE | \n",
" Cenovus Energy Inc (US) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" 16 | \n",
" DVN | \n",
" Devon Energy Corp | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" 18 | \n",
" EMR | \n",
" Emerson Electric Co. | \n",
" 52 - Industrials | \n",
" 52102030 - Electrical Components & Equipment | \n",
"
\n",
" \n",
" 20 | \n",
" ENB | \n",
" Enbridge Inc (USA) | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" 21 | \n",
" EQNR | \n",
" Equinor ASA (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" 23 | \n",
" ET | \n",
" Energy Transfer LP | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" 24 | \n",
" FIS | \n",
" Fidelity National Information | \n",
" 57 - Technology | \n",
" 57301010 - Fintech | \n",
"
\n",
" \n",
" 25 | \n",
" FISV | \n",
" Fiserv Inc | \n",
" 52 - Industrials | \n",
" 52203040 - Business Support Services | \n",
"
\n",
" \n",
" 26 | \n",
" GS | \n",
" Goldman Sachs Group Inc | \n",
" 55 - Financials | \n",
" 55102010 - Investment Banking & Brokerage Services | \n",
"
\n",
" \n",
" 28 | \n",
" LNG | \n",
" Cheniere Energy, Inc. | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" 29 | \n",
" MPC | \n",
" Marathon Petroleum Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" 31 | \n",
" NTES | \n",
" NetEase Inc (ADR) | \n",
" 57 - Technology | \n",
" 57201030 - Online Services | \n",
"
\n",
" \n",
" 32 | \n",
" NXPI | \n",
" NXP Semiconductors NV | \n",
" 57 - Technology | \n",
" 57101010 - Semiconductors | \n",
"
\n",
" \n",
" 33 | \n",
" OVV | \n",
" Ovintiv Inc | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" 35 | \n",
" PAGP | \n",
" Plains GP Holdings LP | \n",
" 50 - Energy | \n",
" 50103030 - Oil & Gas - Transportation Services | \n",
"
\n",
" \n",
" 37 | \n",
" PBR | \n",
" Petroleo Brasileiro SA Petrobr | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" 39 | \n",
" PPC | \n",
" Pilgrim's Pride Corporation | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" 40 | \n",
" PSX | \n",
" Phillips 66 | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
" \n",
" 41 | \n",
" PXD | \n",
" Pioneer Natural Resources Co | \n",
" 50 - Energy | \n",
" 50102020 - Oil & Gas - Exploration and Production | \n",
"
\n",
" \n",
" 42 | \n",
" SHEL | \n",
" Shell PLC (ADR) | \n",
" 50 - Energy | \n",
" 50102010 - Oil & Gas - Integrated | \n",
"
\n",
" \n",
" 44 | \n",
" T | \n",
" AT&T Inc. | \n",
" 57 - Technology | \n",
" 57401020 - Telecommunications Services - Wireless | \n",
"
\n",
" \n",
" 46 | \n",
" UPS | \n",
" United Parcel Service, Inc. | \n",
" 52 - Industrials | \n",
" 52405010 - Freight & Logistics - Courier, Postal, Air Freight & L | \n",
"
\n",
" \n",
" 48 | \n",
" WM | \n",
" Waste Management, Inc. | \n",
" 52 - Industrials | \n",
" 52203010 - Environmental Services & Equipment | \n",
"
\n",
" \n",
" 49 | \n",
" XOM | \n",
" Exxon Mobil Corp | \n",
" 50 - Energy | \n",
" 50102030 - Oil & Gas - Refining and Marketing | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"unique(arrange(rbind(mlvc2,mlsy),Ticker)) %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "0d2afcb9-55df-4238-ae06-9f080859ba13",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" \n",
" Ticker | \n",
" Company name | \n",
" Sector | \n",
" Industry | \n",
"
\n",
" \n",
"\n",
" \n",
" ABEV | \n",
" Ambev SA (ADR) | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54101010 - Brewers | \n",
"
\n",
" \n",
" AGRO | \n",
" Adecoagro SA | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" ALE | \n",
" ALLETE Inc | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" AVA | \n",
" Avista Corp | \n",
" 59 - Utilities | \n",
" 59104010 - Utilities - Multiline | \n",
"
\n",
" \n",
" BTI | \n",
" British American Tobacco PLC ( | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" CAH | \n",
" Cardinal Health Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54301010 - Retailers - Drug | \n",
"
\n",
" \n",
" CCU | \n",
" Compania Cervecerias Unidas S. | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54101010 - Brewers | \n",
"
\n",
" \n",
" CIG | \n",
" Energy of Minas Gerais Co | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" COKE | \n",
" Coca-Cola Consolidated Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54101030 - Non-Alcoholic Beverages | \n",
"
\n",
" \n",
" CSV | \n",
" Carriage Services, Inc. | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54201030 - Personal Services | \n",
"
\n",
" \n",
" ENIC | \n",
" Enel Chile SA - ADR | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" ETR | \n",
" Entergy Corporation | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" EVRG | \n",
" Evergy Inc | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" EXC | \n",
" Exelon Corporation | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" FTS | \n",
" Fortis Inc | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" HAIN | \n",
" Hain Celestial Group Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" HLF | \n",
" Herbalife Nutrition Ltd | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" HRB | \n",
" H & R Block Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54201030 - Personal Services | \n",
"
\n",
" \n",
" KEN | \n",
" Kenon Holdings Ltd | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" KEP | \n",
" Korea Electric Power Corporati | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" KR | \n",
" Kroger Co | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54301020 - Food Retail & Distribution | \n",
"
\n",
" \n",
" MCK | \n",
" McKesson Corporation | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54301010 - Retailers - Drug | \n",
"
\n",
" \n",
" MDU | \n",
" Mdu Resources Group Inc | \n",
" 59 - Utilities | \n",
" 59104010 - Utilities - Multiline | \n",
"
\n",
" \n",
" MED | \n",
" Medifast Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" MMM | \n",
" 3M Co | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54401010 - Consumer Goods Conglomerates | \n",
"
\n",
" \n",
" MO | \n",
" Altria Group Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" NRG | \n",
" NRG Energy Inc | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" OGE | \n",
" OGE Energy Corp. | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" OTTR | \n",
" Otter Tail Corporation | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" PAM | \n",
" Pampa Energia S.A. (ADR) | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" PCG | \n",
" PG&E Corporation | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" PM | \n",
" Philip Morris International In | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" PNM | \n",
" PNM Resources Inc | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" PNW | \n",
" Pinnacle West Capital Corporat | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" POR | \n",
" Portland General Electric Comp | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
" \n",
" PPL | \n",
" PPL Corp | \n",
" 59 - Utilities | \n",
" 59104010 - Utilities - Multiline | \n",
"
\n",
" \n",
" PRG | \n",
" PROG Holdings Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54201030 - Personal Services | \n",
"
\n",
" \n",
" RLX | \n",
" RLX Technology Inc - ADR | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" SBS | \n",
" Companhia de Saneamento Bsc DE | \n",
" 59 - Utilities | \n",
" 59103010 - Utilities - Water & Related | \n",
"
\n",
" \n",
" SCI | \n",
" Service Corporation Internatio | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54201030 - Personal Services | \n",
"
\n",
" \n",
" SENEA | \n",
" Seneca Foods Corp | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" SFM | \n",
" Sprouts Farmers Market Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54301020 - Food Retail & Distribution | \n",
"
\n",
" \n",
" SR | \n",
" Spire Inc | \n",
" 59 - Utilities | \n",
" 59102010 - Utilities - Natural Gas | \n",
"
\n",
" \n",
" TAC | \n",
" TransAlta Corporation (USA) | \n",
" 59 - Utilities | \n",
" 59101020 - Utilities - Independent Power Producers | \n",
"
\n",
" \n",
" TPB | \n",
" Turning Point Brands Inc | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" UGI | \n",
" UGI Corp | \n",
" 59 - Utilities | \n",
" 59102010 - Utilities - Natural Gas | \n",
"
\n",
" \n",
" UL | \n",
" Unilever plc (ADR) | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54201020 - Personal Products | \n",
"
\n",
" \n",
" USNA | \n",
" USANA Health Sciences, Inc. | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102020 - Food Processing | \n",
"
\n",
" \n",
" VGR | \n",
" Vector Group Ltd | \n",
" 54 - Consumer Non-Cyclicals | \n",
" 54102030 - Tobacco | \n",
"
\n",
" \n",
" VST | \n",
" Vistra Corp | \n",
" 59 - Utilities | \n",
" 59101010 - Utilities - Electric | \n",
"
\n",
"\n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"utilities <- allstocks %>%\n",
" filter(Sector == \"59 - Utilities\") %>%\n",
" arrange(desc(VC2)) %>%\n",
" slice_head(n =25) %>% \n",
" select(Ticker, `Company name`,Sector,Industry)\n",
" \n",
"noncyc <- filter(allstocks,Sector == \"54 - Consumer Non-Cyclicals\") %>%\n",
" arrange(desc(`Shareholder Yield`)) %>%\n",
" slice_head(n = 25) %>% \n",
" select(Ticker, `Company name`,Sector,Industry)\n",
" \n",
"arrange(rbind(utilities,noncyc),Ticker) %>%\n",
" kable(\"html\") %>%\n",
" as.character() %>%\n",
" display_html()\n",
"\n",
"constap <- rbind(slice_head(noncyc,n=3),slice_head(utilities,n=3))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "4.1.3"
},
"nikola": {
"category": "",
"date": "2022-08-01 11:48:05 UTC-07:00",
"description": "",
"link": "",
"slug": "wow-ports-that-i-am-following-august-2022",
"tags": "wow,investing,r,stocks",
"title": "WOW Ports that I am following August 2022",
"type": "text"
}
},
"nbformat": 4,
"nbformat_minor": 5
}