2020 Dow Strategies

2020 has been an interesting year. Over the years, I have become a fan of stock picking in the Peter Lynch view: Good companies with good management that you understand. However, it requires time and awareness. I am also getting to the age where I need to be more conservative with my money and savings.

I have been gravitating towards Dog of Dow in my Roths in my fight not to use ETFs. Check once a year, rebalance, forget till next year. Mostly safe.

In this post, I am going to compare, in a reproducible way. VFINX will be the proxy for the market benchmark.

What I am going to look at is:

  • Dogs of Dow
    • After the stock market closes on the last day of the year, of the 30 stocks that make up the Dow Jones Industrial Average, select the ten stocks which have the highest dividend yield
  • Small Dogs of Dow
    • Five lowest priced Dogs of Dow
  • Mad Dogs of the Dow
    • After the stock market closes on the last day of the year, of the 30 stocks that make up the Dow Jones Industrial Average, select the ten stocks which have the highest shareholders yield
  • Dobermans Of The Dow
    • Rank Dow constituents by Return on Equity (ROE), keeping the top 20.
    • Rank remaining names by Free Cash Flow Yield, keeping the top 10.

All offer a subset of the Dow Industrial. What is different is how you subset then sort.

Yes, I know they all offer returns. I just like to verify and show how I came to my results.

Read more…

I believe in science

While bord, I read about scientists questioning Einstein's theory of relativity. I found it interesting. I am not smart enough to question such things. I have to accept some subjects to get by.

To scientist, science is not so fragile that they don't question it.

Questioning Einstein excited me because something that I have grown up as settled and accepted science was challanged. I cannot find the article today, but I found something that had a great quote:

"Einstein's right, at least for now," [1]

This leads into the list that scientist once believed from another article titled "Let's Follow the History of Science Instead." [2] [3] The list was a basis for the statement that science and scientist are fallable.

  1. That the earth is a flat disk, not a sphere, and that it resides at the center of the solar system and even the entire universe.

  2. Said earth was created like 6,000 years ago.

  3. Complex life forms spontaneously arise from inanimate matter.

  4. Species evolve by inheriting acquired characteristics.

  5. That sickness arises from an imbalance of the bodily humors or bad air (miasma!) and in either case is best restored by draining the afflicted person of blood and/or applying massive doses of mercury.

  6. Maternal thoughts cause birth defects.

  7. Human beings are not all equal but rather composed of races, some of which are superior to others. Just measure their skulls for proof!

  8. Phlogiston and caloric exist and explain combustion.

  9. If you cultivate an area, rainfall in that area will increase. “Rain follows the plow.”

  10. Another ice age was upon us in the 1970s.

I can't entirely agree with everything stated in the article; however, the main point is correct. Science is not always right. Scientists are not monolithic. What makes science less fragile is to have a theory beaten to an inch of it's life and still stand.

Now, for my statement of faith: I believe in currently accepted science, till proven otherwise. I am not willing to treat science as a religion.

References

Mime encoded HMAC_SH256 in Oracle

Just going to say, mime encoding is almost as old as the Internet and is very used.

At work, we have a problem with vendor code. They are using java in Oracle. It works in TEST, but not in PROD. It is a permissions problem. I am no DBA right now.

What I enjoy about Oracle docs, is that there is amost no simple snippets of code to help or give ideas how to do things. AskTom is more the rule than the exception.

This is an example on doing an mime encoded hmac sha256 in oracle.

Pleasae note: dbms_crypt requires permissions.

select UTL_RAW.CAST_TO_VARCHAR2 (UTL_ENCODE.base64_encode(
dbms_crypto.mac(UTL_I18N.string_to_raw('MESSAGE', 'UTF8'),3,
utl_i18n.string_to_raw('KEY', 'UTF8')))) from dual;

Returns:

b41G4Q69boaNfRfITrxdIjoytRhjQ+mAou643eDJ9Ow=

The number 3 the same as: DBMS_CRYPTO.HMAC_SH256. Just that if you use DBMS_CRYPTO.HMAC_SH256 you get:

ORA-06553: PLS-221: 'HMAC_SH256' is not a procedure or is undefined
06553. 00000 -  "PLS-%s: %s"

The code above should work in Oracle 12c and above.

75 hard (my version) 7/16 start

Well, this did not go far. Visit to my folks and a 500+ mile round trip road trip in one day does not help with bladder and steps.


Just a daily completion logs. I might not update this daily, but the activity must be.

My rules from 75 hard (my version):

  • Exercise: Complete 10,000 steps day. My normal excercise regiment is more than sufficient. My weekly exercise is more than sufficient. Just check my Strava page.

  • Drink 12 cups of water or more based on Garmin's hydration with auto increase turned on (today I am expected to drink 18 cups). Only clear water or drinks for the purpose of hydration count.

  • going to skip the reading

  • Diet: Record food on myfitnesspal and complete entry every day. No food prohibitions. A cheat is not honestly logging comleting the entry.

  • Take a progress picture.

  • Day ends when I go to bed.

Day

Date

Completed

1

16-Jul-2020

white_check_mark

2

17-Jul-2020

white_check_mark

3

18-Jul-2020

white_check_mark

4

19-Jul-2020

white_check_mark

5

20-Jul-2020

white_check_mark

6

21-Jul-2020

white_check_mark

7

22-Jul-2020

white_check_mark

8

23-Jul-2020

white_check_mark

9

24-Jul-2020

white_check_mark

10

25-Jul-2020

white_check_mark

11

26-Jul-2020

x End of road - start over

12

27-Jul-2020

13

28-Jul-2020

14

29-Jul-2020

15

30-Jul-2020

16

31-Jul-2020

17

1-Aug-2020

18

2-Aug-2020

19

3-Aug-2020

20

4-Aug-2020

21

5-Aug-2020

22

6-Aug-2020

23

7-Aug-2020

24

8-Aug-2020

25

9-Aug-2020

26

10-Aug-2020

27

11-Aug-2020

28

12-Aug-2020

29

13-Aug-2020

30

14-Aug-2020

31

15-Aug-2020

32

16-Aug-2020

33

17-Aug-2020

34

18-Aug-2020

35

19-Aug-2020

36

20-Aug-2020

37

21-Aug-2020

38

22-Aug-2020

39

23-Aug-2020

40

24-Aug-2020

41

25-Aug-2020

42

26-Aug-2020

43

27-Aug-2020

44

28-Aug-2020

45

29-Aug-2020

46

30-Aug-2020

47

31-Aug-2020

48

1-Sep-2020

49

2-Sep-2020

50

3-Sep-2020

51

4-Sep-2020

52

5-Sep-2020

53

6-Sep-2020

54

7-Sep-2020

55

8-Sep-2020

56

9-Sep-2020

57

10-Sep-2020

58

11-Sep-2020

59

12-Sep-2020

60

13-Sep-2020

61

14-Sep-2020

62

15-Sep-2020

63

16-Sep-2020

64

17-Sep-2020

65

18-Sep-2020

66

19-Sep-2020

67

20-Sep-2020

68

21-Sep-2020

69

22-Sep-2020

70

23-Sep-2020

71

24-Sep-2020

72

25-Sep-2020

73

26-Sep-2020

74

27-Sep-2020

75

28-Sep-2020

75 hard (my version)

My year in exercise defines the phrase that one cannot out-exercise a body diet or habits. This week on a bloated day, I hit 198 pounds. I have been trying to reboot my diet for the last two years. I am not a big fan of fat acceptance.

I am going to challenge myself to a modified 75 hard.

First off what is 75 hard:

The 75 Hard challenge was created by called Andy Frisella and goes along the lines out of 'challenging' yourself because it will help you figure out who you really are and how mentally tough you are.

The challenge consists of the following tasks, which must be completed every day without exception:

  • Two 45-minute workouts (you define what the workouts are)

  • Drink 1 gallon of water

  • Read 10 pages of a personal development/business/self-help book

  • Stick to a diet (you define the diet)

  • No alcohol or cheat meals

  • Take a progress picture

There are also a few rules:

  • You must complete all 75 days in a row; if you miss a single day you fail. Failure means any deviation from your plan, in the strictest sense. No substitutions, no catch-up days, no excuses.

  • If you fail, you must start over on day 1

  • One of the daily workouts must be outside, no matter what the weather conditions are

  • Audiobooks do not count toward the reading goal

  • The day ends when you go to bed

Cool, the problem for me, is that most likely I will not be able to get my other tasks done. I have tasks that I falling behind in. I have no plans of doing another 45-minute exercise session if I bike 60 miles to Faria Beach, jog 8 miles, or bike to Gibraltar peak (extreme example). I am in reading burnout from work (more than 10 pages of manuals). Besides, for the most part, metal toughness is not what I need. I need to get back into a routine. I plan to modify the goals along the line of this entry from Hoyle's Fitness.

  • Dietary Discipline – Eating well. Only drinking on social occasions, not at home

  • Train Every Day – 75 days without a day off. Active recovery counts

  • Drink 3 liters of Water per Day – Nothing but clear, plain water counts

  • Read 10 Pages per Day – From a non-fiction self-help book or business book

  • Take a Progress Picture Every Day – So you can see the progress at the end

  • Complete a full 10,000 steps per day

My Version

  • Exercise: Complete 10,000 steps day. My normal excercise regiment is more than sufficient. My weekly exercise is more than sufficient. Just check my Strava page.

  • Drink 12 cups of water or more based on Garmin's hydration with auto increase turned on (today I am expected to drink 18 cups). Only clear water or drinks for the purpose of hydration count.

  • going to skip the reading

  • Diet: Record food on myfitnesspal and complete entry every day. No food prohibitions. A cheat is not honestly logging comleting the entry.

  • Take a progress picture.

  • Day ends when I go to bed.

It is going to be interesting to see if I can maintain the discipline.

Not exactly the original, but it is a good plan for me.

Verba Connect Integration

I think it would not hurt to start posting some of the work I do for my employer. Nothing will be company confidential. There is almost nothing company confidential when you work for a public institution with a few exceptions of FERPA, PII, student records, etc.

One of the tasks that I was asked to do is to integrate data from the SBCC BANNER ERP system with Verba's Inclusive Access system. The project was simple.

  • Create a population-based on student enrolment

  • Create a sample file

  • Create key file for sftp

  • automate

Currently, I have to do is automate in ISE. This will have to wait till next week when the move Banner to Oracle Cloud project is done.

This is the code that I create (in a procedure for work, this so I can run it manually).

BTW, should this be in a GitHub gist or this good enough? I like GitHub, but there is a part of me that prefers to keep things local.

declare
        --set up output parameters

        gbcn_outfilepath   CONSTANT VARCHAR2(64) := 'SBCC_OUTGOING';
        v_file_name_s      VARCHAR2(64) := 'ia_enrollment' || '.csv';
        v_fh_s             utl_file.file_type;
        v_outbuf           VARCHAR2(4000);
        v_cat_count        INT(2) := 0;


        CURSOR c_students IS SELECT
                sfrstcr_term_code catalog_name,
                ssbsect_subj_code department_name,
                ssbsect_crse_numb course_number,
                sfrstcr_crn section_code,
                gzf_get_id(sfrstcr_pidm) student_identifier,
                gzf_format_name(sfrstcr_pidm,'PREFF') student_first_name,
                gzf_format_name(sfrstcr_pidm,'L') student_last_name,
                gzf_email_addr(sfrstcr_pidm,'SBCC') student_email_address
                                                 FROM
                sfrstcr
                INNER JOIN stvrsts ON sfrstcr_rsts_code = stvrsts_code
                LEFT OUTER JOIN ssbsect ON ( ssbsect_term_code = sfrstcr_term_code
                                                                         AND ssbsect_crn = sfrstcr_crn )
                                                 WHERE
                sfrstcr_term_code IN (
                        SELECT
                                stvterm_code
                        FROM
                                stvterm
                        WHERE
                                stvterm_code <> '999999'
                                AND stvterm_end_date > SYSDATE
                        INTERSECT
                        SELECT
                                goriccr_value
                        FROM
                                goriccr
                        WHERE
                                goriccr_icsn_code = 'ACTIVE_TERM'
                );

BEGIN
        -- open file
        v_fh_s := utl_file.fopen(gbcn_outfilepath,v_file_name_s,'w');

        --header record
        utl_file.put_line(v_fh_s,'"catalog_name","department_name","course_number","section_code","student_identifier","student_first_name","student_last_name","student_email_address"');

        --write data
        FOR v_students IN c_students LOOP
                v_outbuf := '"'
                                        || v_students.catalog_name
                                        || '",'
                                        || '"'
                                        || v_students.department_name
                                        || '",'
                                        || '"'
                                        || v_students.course_number
                                        || '",'
                                        || '"'
                                        || v_students.section_code
                                        || '",'
                                        || '"'
                                        || v_students.student_identifier
                                        || '",'
                                        || '"'
                                        || v_students.student_first_name
                                        || '",'
                                        || '"'
                                        || v_students.student_last_name
                                        || '",'
                                        || '"'
                                        || v_students.student_email_address
                                        || '"';

                utl_file.put_line(v_fh_s,v_outbuf);
        END LOOP;

        --close file
        utl_file.fclose(v_fh_s);
end;

SBYC 2020 Wet Wednesday Summer Series #6

Sail Log

Date

Vessel Name/Type/Model

Escape/ J/70

Course/Sea Miles

Sailed dock to dock: mi

Course: nm

Notes

Who sailed or my position on the vessel

Weather

FZUS56 KLOX 081547
CWFLOX
Expires:202007082230;;521637

Coastal Waters Forecast
National Weather Service Los Angeles/Oxnard CA
847 AM PDT Wed Jul 8 2020

Point Piedras Blancas to San Mateo Point CA out 60 NM including the
Channel Islands National Marine Sanctuary


PZZ650-082230-
East Santa Barbara Channel from Pt. Conception to Pt. Mugu CA
including Santa Cruz Island-
847 AM PDT Wed Jul 8 2020

.TODAY...Winds variable 10 kt or less, becoming SW 10 to 15 kt in
the afternoon. Wind waves 2 ft or less. W swell 3 to 5 ft at
9 seconds.
.TONIGHT...W winds 10 to 15 kt, becoming 5 to 10 kt after midnight.
Wind waves 2 ft or less. W swell 2 to 4 ft at 9 seconds.
.THU...Winds variable 10 kt or less, becoming SW 10 to 15 kt in the
afternoon. Wind waves 2 ft or less. W swell 2 to 4 ft at 9 seconds.
Patchy fog in the morning.

Sail Trace (Strava)

Video/Pictures

SBYC 2020 Margarita Series #2

Sail Log

Date

Vessel Name/Type/Model

Escape/ J/70

Course/Sea Miles

Sailed dock to dock: mi

Course: nm

Notes

Who sailed or my position on the vessel

  1. Boat Owner/Skipper
    1. Me

  2. Crew
    1. Jenny

    2. Max

Weather

Santa Barbara to Leo: Weak winds unless the eddy fails to fully develop.

FZUS56 KLOX 051602
CWFLOX

PZZ650-052230-
East Santa Barbara Channel from Pt. Conception to Pt. Mugu CA
including Santa Cruz Island-
902 AM PDT Sun Jul 5 2020

...SMALL CRAFT ADVISORY IN EFFECT FROM 3 PM PDT THIS AFTERNOON
THROUGH LATE TONIGHT...

.TODAY...Winds variable 10 kt or less, becoming W 15 to 20 kt with
local gusts to 25 kt in the afternoon. Combined seas 2 to 4 ft
dominant period 9 seconds, building to 5 to 7 ft dominant period 9
seconds in the afternoon.
.TONIGHT...Western portion, NW winds 15 to 25 kt. Eastern portion, W
winds 5 to 10 kt. Combined seas 6 to 8 ft dominant period 9 seconds.

Sail Trace

Video/Pictures

SBYC Wet Wednesday 2020 Summer 5

Sail Log

Date

Vessel Name/Type/Model

Escape/ J/70

Course/Sea Miles

Sailed dock to dock: 12.94 mi

Course: A-10 5.63 nm

Notes

Who sailed or my position on the vessel

  1. Boat Owner/Skipper
    1. Me

  2. Crew
    1. Erik

    2. Max

Weather

Start: Mostly cloudy, 68°F, Feels like 67°F, Humidity 67%, Wind 8mph from WSW
End: Partly sunny, 67°F, Feels like 67°F, Humidity 70%, Wind 10mph from WSW - by Klimat.app

Sail Trace (Strava)

Race Qs for WetWednesday

Video/Pictures