2021年7月30日金曜日

EPS 2021JUL30


goto https://www.spglobal.com/ → Documents → Additional Info → Index Earnings

MacBook-Pro-16:~/Downloads$ cat eps.txt 
12/31/2022 $56.05 $52.78 20.65 21.96 $211.18 $198.50
9/30/2022 $53.89 $50.61 21.33 22.71 $204.41 $191.96
6/30/2022 $51.20 $48.23 22.07 23.49 $197.58 $185.62
3/31/2022 $50.04 $46.87 22.65 24.12 $192.46 $180.74
12/31/2021 $49.28 $46.24 22.97 24.25 $189.83 $179.81
9/30/2021 $47.06 $44.27 24.39 26.42   $178.73 $165.01
6/30/2021 (9.8%) 4297.50 $46.08 $43.35 25.71 28.36   $169.57 $153.72
3/31/2021 3972.89 $47.41 $45.95 26.44 30.99 $150.28 $128.20
12/31/2020 3756.07 $38.18 $31.44 30.69 39.90   $122.37 $94.13
9/30/2020 3363.00 $37.90 $32.98 27.26 34.24   $123.37 $98.22
6/30/2020 3100.29 $26.79 $17.83 24.75 31.24   $125.28 $99.23
3/31/2020 2584.59 $19.50 $11.88 18.64 22.22   $138.63 $116.33
12/31/2019 3230.78 $39.18 $35.53 20.56 23.16   $157.12 $139.47
9/30/2019  2976.74 $39.81 $33.99 19.46 22.40   $152.97 $132.90
6/30/2019 2941.76 $40.14 $34.93 19.04 21.75   $154.54 $135.27
3/31/2019 2834.40 $37.99 $35.02 18.52 21.09   $153.05 $134.39


> eps_year_xts["2020::"]
             [,1]
2020-01-01 116.33
2020-04-01  99.23
2020-07-01  98.22
2020-10-01  94.13
2021-01-01 122.64
2021-04-01 144.14
2021-07-01 153.96
2021-10-01 166.77
2022-01-01 170.06
2022-04-01 176.48
2022-07-01 182.75
2022-10-01 188.97


MacBook-Pro-16:~/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.47
eps_year_xts["2019::"][5] <- 116.33
eps_year_xts["2019::"][6] <- 99.23
eps_year_xts["2019::"][7] <- 98.22
eps_year_xts["2019::"][8] <- 94.13
eps_year_xts["2019::"][9] <- 128.20
eps_year_xts["2019::"][10] <- 153.72
eps_year_xts["2019::"][11] <- 165.01
eps_year_xts["2019::"][12] <- 179.81
eps_year_xts["2019::"][13] <- 180.74
eps_year_xts["2019::"][14] <- 185.62
eps_year_xts["2019::"][15] <- 191.96
eps_year_xts["2019::"][16] <- 198.50

2021年7月16日金曜日

dplyr filter group_by summarise

 


 df.melt[1:10,]

            t variable value
1  2020-10-01       10    13
2  2020-10-02       10    18
3  2020-10-03       10    11
4  2020-10-04       10     7
5  2020-10-05       10     5
6  2020-10-06       10    16
7  2020-10-07       10     3
8  2020-10-08       10    12
9  2020-10-09       10    20
10 2020-10-10       10    29

 df.melt[289:299,]

             t variable value
289 2020-10-01       20    60
290 2020-10-02       20    48
291 2020-10-03       20    60
292 2020-10-04       20    31
293 2020-10-05       20    17
294 2020-10-06       20    44
295 2020-10-07       20    28
296 2020-10-08       20    49
297 2020-10-09       20    60
298 2020-10-10       20    64
299 2020-10-11       20    38

dplyr::filter(df.melt,variable>=10 & variable < 21) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value))

# A tibble: 288 x 2
   t          `sum(value)`
   <date>            <dbl>
 1 2020-10-01           73
 2 2020-10-02           66
 3 2020-10-03           71
 4 2020-10-04           38
 5 2020-10-05           22
 6 2020-10-06           60
 7 2020-10-07           31
 8 2020-10-08           61
 9 2020-10-09           80
10 2020-10-10           93
# ... with 278 more rows

 dplyr::filter(df.melt,variable>=10 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value))

# A tibble: 289 x 2
   t          `sum(value)`
   <date>            <dbl>
 1 2020-10-01          234
 2 2020-10-02          196
 3 2020-10-03          205
 4 2020-10-04          107
 5 2020-10-05           65
 6 2020-10-06          176
 7 2020-10-07          140
 8 2020-10-08          248
 9 2020-10-09          203
10 2020-10-10          248
# ... with 279 more rows

dplyr::filter(df.melt,variable>=70 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value))

# A tibble: 289 x 2
   t          `sum(value)`
   <date>            <dbl>
 1 2020-10-01           31
 2 2020-10-02           20
 3 2020-10-03           21
 4 2020-10-04           13
 5 2020-10-05            6
 6 2020-10-06           20
 7 2020-10-07           22
 8 2020-10-08           25
 9 2020-10-09           17
10 2020-10-10           33
# ... with 279 more rows

(dplyr::filter(df.melt,variable>=70 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2] / as.vector(dplyr::filter(df.melt,variable>=10 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2]

    sum(value)
1   0.13247863
2   0.10204082
3   0.10243902
4   0.12149533
5   0.09230769
6   0.11363636
7   0.15714286
8   0.10080645
9   0.08374384
10  0.13306452
<Skip>
282 0.02311436
283 0.04105263
284 0.03094463
285 0.02589641
286 0.03855422
287 0.02872063
288 0.02675841
289 0.02281668

plot(as.xts( (dplyr::filter(df.melt,variable>=70 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2] / as.vector(dplyr::filter(df.melt,variable>=10 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2],df.melt$t[1:289]))

OR


plot(as.xts( (dplyr::filter(df.melt,variable>=70 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2] / as.vector(dplyr::filter(df.melt,variable>=10 ) %>% dplyr::group_by(t) %>% dplyr::summarise(.,sum(value)))[,2],unique(df.melt$t)))