2020年2月2日日曜日

EPS 2020FEB02


1. the current eps record.

> eps_year_xts["2019::"]
             [,1]
2019-01-01 134.39
2019-04-01 135.27
2019-07-01 132.90
2019-10-01 140.45
2020-01-01 142.40
2020-04-01 147.35
2020-07-01 156.01
2020-10-01 161.87

2. Download data from S&P and create file "eps.txt" as below.

Downloads$ tac eps.txt
3/31/2019 2834.40 $37.99 $35.02 18.52 21.09 $153.05 $134.39
6/30/2019 2941.76 $40.14 $34.93 19.04 21.75 $154.54 $135.27
9/30/2019  2976.74 $39.81 $33.99 19.46 22.40 $152.97 $132.90
12/31/2019 (21.9%) 3230.78 $39.50 $35.45 21.12 23.86 $157.44 $139.39
3/31/2020 $40.06 $37.74 20.85 23.40 $159.51 $142.11
6/30/2020 $43.36 $40.32 20.44 22.55 $162.73 $147.50
9/30/2020 $45.70 $43.33 19.72 21.20 $168.62 $156.85
12/31/2020 $45.97 $41.54 18.99 20.41 $175.09 $162.94
3/31/2021 $44.28 $41.45 18.55 19.96 $179.31 $166.64
6/30/2021 $47.43 $43.21 18.13 19.62 $183.38 $169.53
9/30/2021 $49.44 $45.07 17.77 19.42 $187.12 $171.27
12/31/2021 $50.07 $44.29 17.39 19.11 $191.22 $174.02

4. Edit them for R command sequence.

Downloads$ tac eps.txt | awk '{gsub("\\$","",$NF);print "eps_year_xts[\"2019::\"]["NR"] <- "$NF}'
eps_year_xts["2019::"][1] <- 134.39
eps_year_xts["2019::"][2] <- 135.27
eps_year_xts["2019::"][3] <- 132.90
eps_year_xts["2019::"][4] <- 139.39
eps_year_xts["2019::"][5] <- 142.11
eps_year_xts["2019::"][6] <- 147.50
eps_year_xts["2019::"][7] <- 156.85
eps_year_xts["2019::"][8] <- 162.94
eps_year_xts["2019::"][9] <- 166.64
eps_year_xts["2019::"][10] <- 169.53
eps_year_xts["2019::"][11] <- 171.27
eps_year_xts["2019::"][12] <- 174.02

5. Append other 4 records for year 2011.

eps_year_xts <- append(eps_year_xts,as.xts(seq(1,4,1),seq(as.Date("2021-01-01"),as.Date("2021-10-01"),by='quarters')))

6. update eps_year_xts

eps_year_xts["2019::"][1] <- 134.39
eps_year_xts["2019::"][2] <- 135.27
eps_year_xts["2019::"][3] <- 132.90
eps_year_xts["2019::"][4] <- 139.39
eps_year_xts["2019::"][5] <- 142.11
eps_year_xts["2019::"][6] <- 147.50
eps_year_xts["2019::"][7] <- 156.85
eps_year_xts["2019::"][8] <- 162.94
eps_year_xts["2019::"][9] <- 166.64
eps_year_xts["2019::"][10] <- 169.53
eps_year_xts["2019::"][11] <- 171.27
eps_year_xts["2019::"][12] <- 174.02