# load packages
library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
library(tidyr)
library(ggplot2)
# view dataset
View(financialanalysis)
#summary of dataset
summary(financialanalysis)
gvkey datadate conm act ap at
Length:1632 Min. :1997-01-31 Length:1632 Min. : 0.07 Min. : 0.12 Min. : 0.24
Class :character 1st Qu.:2000-08-31 Class :character 1st Qu.: 132.01 1st Qu.: 24.41 1st Qu.: 230.10
Mode :character Median :2005-01-31 Mode :character Median : 366.32 Median : 78.30 Median : 642.70
Mean :2005-11-07 Mean : 1972.03 Mean : 757.92 Mean : 4749.65
3rd Qu.:2011-01-31 3rd Qu.: 1142.68 3rd Qu.: 277.23 3rd Qu.: 2288.80
Max. :2017-08-31 Max. :63278.00 Max. :41433.00 Max. :204751.00
ceq che cogs csho dlc dltt
Min. :-3824.0 Min. : 0.00 Min. : 0.0 Min. : 0.001 Min. : 0.000 Min. : 0.00
1st Qu.: 101.8 1st Qu.: 17.14 1st Qu.: 289.6 1st Qu.: 17.328 1st Qu.: 0.000 1st Qu.: 0.00
Median : 313.7 Median : 78.77 Median : 787.0 Median : 42.855 Median : 1.283 Median : 25.41
Mean : 1860.1 Mean : 393.85 Mean : 6936.2 Mean : 153.360 Mean : 173.963 Mean : 1031.90
3rd Qu.: 1121.4 3rd Qu.: 249.47 3rd Qu.: 2753.6 3rd Qu.: 115.092 3rd Qu.: 17.525 3rd Qu.: 265.96
Max. :81394.0 Max. :9135.00 Max. :355913.0 Max. :4470.000 Max. :12719.000 Max. :47079.00
dv ebit invt lct lt mrc1
Min. : 0.00 Min. :-1877.00 Min. : 0.00 Min. : 0.15 Min. : 0.00 Min. : 0.00
1st Qu.: 0.00 1st Qu.: 10.56 1st Qu.: 67.96 1st Qu.: 56.64 1st Qu.: 85.72 1st Qu.: 25.49
Median : 0.00 Median : 63.18 Median : 194.77 Median : 160.81 Median : 259.83 Median : 64.29
Mean : 95.78 Mean : 539.93 Mean : 1164.16 Mean : 1460.92 Mean : 2839.03 Mean : 148.95
3rd Qu.: 17.66 3rd Qu.: 264.06 3rd Qu.: 760.34 3rd Qu.: 618.96 3rd Qu.: 1188.13 3rd Qu.: 164.57
Max. :6294.00 Max. :26027.00 Max. :45141.00 Max. :71818.00 Max. :121921.00 Max. :2270.00
mrc2 mrc3 mrc4 mrc5 mrcta ni
Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. : 0.00 Min. :-4803.000
1st Qu.: 23.15 1st Qu.: 20.95 1st Qu.: 17.75 1st Qu.: 13.43 1st Qu.: 28.41 1st Qu.: 2.667
Median : 59.27 Median : 54.08 Median : 47.72 Median : 40.87 Median : 122.86 Median : 32.086
Mean : 137.04 Mean : 123.00 Mean : 108.45 Mean : 93.62 Mean : 530.85 Mean : 299.073
3rd Qu.: 155.44 3rd Qu.: 138.06 3rd Qu.: 119.08 3rd Qu.: 103.88 3rd Qu.: 386.41 3rd Qu.: 143.500
Max. :1989.00 Max. :1794.00 Max. :1697.00 Max. :1530.00 Max. :12438.00 Max. :16999.000
oancf ppent re rect revt txc
Min. :-2167.00 Min. : 0.00 Min. :-7064.00 Min. : 0.000 Min. : 0.0 Min. :-133.000
1st Qu.: 16.36 1st Qu.: 65.94 1st Qu.: 22.57 1st Qu.: 1.389 1st Qu.: 456.7 1st Qu.: 0.084
Median : 72.84 Median : 187.24 Median : 190.78 Median : 10.007 Median : 1270.1 Median : 14.540
Mean : 572.52 Mean : 2218.62 Mean : 1532.31 Mean : 305.465 Mean : 9655.8 Mean : 165.049
3rd Qu.: 289.32 3rd Qu.: 809.78 3rd Qu.: 775.93 3rd Qu.: 55.071 3rd Qu.: 4252.7 3rd Qu.: 73.585
Max. :31530.00 Max. :117907.00 Max. :78609.00 Max. :31622.000 Max. :483521.0 Max. :8619.000
xint sich prcc_c year
Min. : 0.0000 Min. :5311 Min. : 0.0026 Min. :1997
1st Qu.: 0.2815 1st Qu.:5331 1st Qu.: 7.7300 1st Qu.:2000
Median : 3.4155 Median :5621 Median : 18.2250 Median :2005
Mean : 71.4836 Mean :5521 Mean : 23.3104 Mean :2006
3rd Qu.: 27.5822 3rd Qu.:5651 3rd Qu.: 31.4331 3rd Qu.:2011
Max. :2587.0000 Max. :5661 Max. :186.1200 Max. :2017
# compute variables
ratios<-financialanalysis %>%
group_by(gvkey)%>%
mutate(mrc6=mrcta/5,
mrc7=mrcta/5,
mrc8=mrcta/5,
mrc9=mrcta/5,
mrc10=mrcta/5,
pv_mrc1=mrc1/1.06,
pv_mrc2=mrc2/1.06^2,
pv_mrc3=mrc3/1.06^3,
pv_mrc4=mrc4/1.06^4,
pv_mrc5=mrc5/1.06^5,
pv_mrc6=mrc6/1.06^6,
pv_mrc7=mrc7/1.06^7,
pv_mrc8=mrc8/1.06^8,
pv_mrc9=mrc9/1.06^9,
pv_mrc10=mrc10/1.06^10,
total_pv=pv_mrc1+pv_mrc2+pv_mrc3+pv_mrc4+pv_mrc5+pv_mrc6+pv_mrc7+pv_mrc8+pv_mrc9+pv_mrc10,
adj_assets=at+total_pv,
roa=ni/lag(adj_assets),
roe=ni/lag(ceq),
ros=ni/revt)
# compute median of valuation ratios by year
medians_by_year<-ratios %>% group_by(year)%>% summarize (median_roa=median(roa, na.rm=TRUE ),
median_roe=median(roe, na.rm=TRUE ),
median_ros=median(ros, na.rm=TRUE ))
# create dataframe containing only data for your company
dsw_ratios<-ratios %>% filter(gvkey=="024171")
# merge dataframe for your company with dataframe containing year medians. merge by year.
firm_with_year_medians <- merge(dsw_ratios,medians_by_year,by="year")
# for each valuation ratio create a barplot of median by year with a line graph for your company's ratio by year
ggplot(firm_with_year_medians)+geom_bar(aes(x =year, y=median_roa), stat="identity") +
geom_line(aes(x = year, y = roa))

LS0tCnRpdGxlOiAiV2VlayA1IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpgYGB7cn0KIyBsb2FkIHBhY2thZ2VzCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkodGlkeXIpCmxpYnJhcnkoZ2dwbG90MikKYGBgCgoKYGBge3J9CiMgdmlldyBkYXRhc2V0ClZpZXcoZmluYW5jaWFsYW5hbHlzaXMpCmBgYAoKYGBge3J9CiNzdW1tYXJ5IG9mIGRhdGFzZXQKc3VtbWFyeShmaW5hbmNpYWxhbmFseXNpcykKYGBgCgpgYGB7cn0KIyBjb21wdXRlIHZhcmlhYmxlcwpyYXRpb3M8LWZpbmFuY2lhbGFuYWx5c2lzICU+JQogIGdyb3VwX2J5KGd2a2V5KSU+JQogIG11dGF0ZShtcmM2PW1yY3RhLzUsCiAgICAgICAgIG1yYzc9bXJjdGEvNSwKICAgICAgICAgbXJjOD1tcmN0YS81LAogICAgICAgICBtcmM5PW1yY3RhLzUsCiAgICAgICAgIG1yYzEwPW1yY3RhLzUsCiAgICAgICAgIHB2X21yYzE9bXJjMS8xLjA2LAogICAgICAgICBwdl9tcmMyPW1yYzIvMS4wNl4yLAogICAgICAgICBwdl9tcmMzPW1yYzMvMS4wNl4zLAogICAgICAgICBwdl9tcmM0PW1yYzQvMS4wNl40LAogICAgICAgICBwdl9tcmM1PW1yYzUvMS4wNl41LAogICAgICAgICBwdl9tcmM2PW1yYzYvMS4wNl42LAogICAgICAgICBwdl9tcmM3PW1yYzcvMS4wNl43LAogICAgICAgICBwdl9tcmM4PW1yYzgvMS4wNl44LAogICAgICAgICBwdl9tcmM5PW1yYzkvMS4wNl45LAogICAgICAgICBwdl9tcmMxMD1tcmMxMC8xLjA2XjEwLAogICAgICAgICB0b3RhbF9wdj1wdl9tcmMxK3B2X21yYzIrcHZfbXJjMytwdl9tcmM0K3B2X21yYzUrcHZfbXJjNitwdl9tcmM3K3B2X21yYzgrcHZfbXJjOStwdl9tcmMxMCwKICAgICAgICAgCiAgICAgICAgIGFkal9hc3NldHM9YXQrdG90YWxfcHYsCiAgICAgICAgIAogICAgICAgICByb2E9bmkvbGFnKGFkal9hc3NldHMpLAogICAgICAgICByb2U9bmkvbGFnKGNlcSksCiAgICAgICAgIHJvcz1uaS9yZXZ0KQpgYGAKCmBgYHtyfQojIGNvbXB1dGUgbWVkaWFuIG9mIHZhbHVhdGlvbiByYXRpb3MgYnkgeWVhcgptZWRpYW5zX2J5X3llYXI8LXJhdGlvcyAlPiUgZ3JvdXBfYnkoeWVhciklPiUgc3VtbWFyaXplIChtZWRpYW5fcm9hPW1lZGlhbihyb2EsIG5hLnJtPVRSVUUgICksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhbl9yb2U9bWVkaWFuKHJvZSwgbmEucm09VFJVRSAgKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWFuX3Jvcz1tZWRpYW4ocm9zLCBuYS5ybT1UUlVFICApKQpgYGAKCmBgYHtyfQojIGNyZWF0ZSBkYXRhZnJhbWUgY29udGFpbmluZyBvbmx5IGRhdGEgZm9yIHlvdXIgY29tcGFueQpkc3dfcmF0aW9zPC1yYXRpb3MgJT4lIGZpbHRlcihndmtleT09IjAyNDE3MSIpCmBgYAoKYGBge3J9CiMgbWVyZ2UgZGF0YWZyYW1lIGZvciB5b3VyIGNvbXBhbnkgd2l0aCBkYXRhZnJhbWUgY29udGFpbmluZyB5ZWFyIG1lZGlhbnMuICBtZXJnZSBieSB5ZWFyLgpmaXJtX3dpdGhfeWVhcl9tZWRpYW5zIDwtIG1lcmdlKGRzd19yYXRpb3MsbWVkaWFuc19ieV95ZWFyLGJ5PSJ5ZWFyIikKYGBgCgpgYGB7cn0KIyBmb3IgZWFjaCB2YWx1YXRpb24gcmF0aW8gY3JlYXRlIGEgYmFycGxvdCBvZiBtZWRpYW4gYnkgeWVhciB3aXRoIGEgbGluZSBncmFwaCBmb3IgeW91ciBjb21wYW55J3MgcmF0aW8gYnkgeWVhcgpnZ3Bsb3QoZmlybV93aXRoX3llYXJfbWVkaWFucykrZ2VvbV9iYXIoYWVzKHggPXllYXIsIHk9bWVkaWFuX3JvYSksIHN0YXQ9ImlkZW50aXR5IikgKwogIGdlb21fbGluZShhZXMoeCA9IHllYXIsIHkgPSByb2EpKQpgYGAKCg==