Data

financial_ratios_raw <- read.csv("/home/hhs/hongyixu/web_query_output/eraxsfk71ambqx3m.csv") %>% 
  mutate(sale_equity = sale_invcap / equity_invcap , 
         rd_equity = rd_sale * sale_equity, 
         adv_equity = adv_sale * sale_equity
         ) %>% 
  select(-public_date) %>% 
  unique() %>% 
  mutate(q_ym = as.yearmon(ifelse(str_length(qdate) != 10, adate, qdate)), 
         a_ym = as.yearmon(ifelse(str_length(adate) != 10, qdate, adate))
         ) %>% 
  na.omit() 
names(financial_ratios_raw) 
##  [1] "gvkey"          "permno"         "adate"          "qdate"         
##  [5] "bm"             "evm"            "roa"            "roe"           
##  [9] "aftret_invcapx" "equity_invcap"  "debt_invcap"    "totdebt_invcap"
## [13] "capital_ratio"  "debt_at"        "debt_assets"    "debt_capital"  
## [17] "de_ratio"       "intcov"         "intcov_ratio"   "at_turn"       
## [21] "sale_invcap"    "sale_equity"    "rd_sale"        "adv_sale"      
## [25] "TICKER"         "cusip"          "rd_equity"      "adv_equity"    
## [29] "q_ym"           "a_ym"
# as_tibble(financial_ratios_raw)

financial_ratios <- financial_ratios_raw %>% 
  as_tibble() %>% 
  group_by(q_ym) %>% 
  mutate(n = n()) %>% 
  mutate(roa_median = median(roa), 
         bm_median = median(bm), 
         bm_highq = quantile(bm, probs = 0.75), 
         # quantile5 = ifelse(n < 2, NA, as.numeric(quantcut(bm, q = 2))),
         roic_median = median(aftret_invcapx)
         ) %>% 
  ungroup() %>% 
  mutate(# quantile5 = as.factor(quantile5), 
         Lroa = (roa <= roa_median), 
         Hbm = (bm > bm_median), # value firms 
         Lbm = (bm <= bm_median), # growth firms 
         Hbmq = (bm > bm_highq), 
         Lbmq = (bm <= bm_highq), 
         Hroic = (aftret_invcapx > roic_median)
         ) %>% 
  mutate(decade = paste((year(q_ym) %/% 10)*10, "s", sep = ""), 
         rd_assets = rd_sale * at_turn, # sales / average assets 
         adv_assets = adv_sale * at_turn
         ) 
names(financial_ratios)
##  [1] "gvkey"          "permno"         "adate"          "qdate"         
##  [5] "bm"             "evm"            "roa"            "roe"           
##  [9] "aftret_invcapx" "equity_invcap"  "debt_invcap"    "totdebt_invcap"
## [13] "capital_ratio"  "debt_at"        "debt_assets"    "debt_capital"  
## [17] "de_ratio"       "intcov"         "intcov_ratio"   "at_turn"       
## [21] "sale_invcap"    "sale_equity"    "rd_sale"        "adv_sale"      
## [25] "TICKER"         "cusip"          "rd_equity"      "adv_equity"    
## [29] "q_ym"           "a_ym"           "n"              "roa_median"    
## [33] "bm_median"      "bm_highq"       "roic_median"    "Lroa"          
## [37] "Hbm"            "Lbm"            "Hbmq"           "Lbmq"          
## [41] "Hroic"          "decade"         "rd_assets"      "adv_assets"

Results

# determinants of leverage: 
cat("# determinants of leverage: ")
## # determinants of leverage:
cat("/n")
## /n
# summary(lm(debt_assets ~ rd_equity + adv_equity, data = financial_ratios))
## upadted March 29, 2024: 
feols(fml = debt_assets ~ rd_assets + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = (financial_ratios), cluster = c('TICKER')) 
## OLS estimation, Dep. Var.: debt_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##            Estimate Std. Error  t value Pr(>|t|) 
## rd_assets  0.054137   0.070620 0.766593  0.44333 
## adv_assets 0.004636   0.007637 0.606994  0.54386 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.049551     Adj. R2: 0.917268
##                  Within R2: 7.957e-4
feols(fml = debt_assets ~ rd_assets * Hbm + adv_assets | TICKER + yearqtr(q_ym) + TICKER^year(q_ym), 
      data = (financial_ratios), cluster = c('TICKER')) 
## OLS estimation, Dep. Var.: debt_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  yearqtr(q_ym): 220,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                    Estimate Std. Error   t value   Pr(>|t|)    
## rd_assets          0.057086   0.072296  0.789624 4.2976e-01    
## HbmTRUE           -0.012771   0.002644 -4.829962 1.3762e-06 ***
## adv_assets         0.001782   0.009491  0.187781 8.5105e-01    
## rd_assets:HbmTRUE -0.049421   0.009946 -4.969105 6.7844e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.049609     Adj. R2: 0.917149
##                  Within R2: 0.004542
feols(fml = debt_assets ~ rd_assets * I(intcov_ratio < 10) + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = (financial_ratios), cluster = c('TICKER')) 
## OLS estimation, Dep. Var.: debt_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                                 Estimate Std. Error   t value   Pr(>|t|)    
## rd_assets                      -0.005519   0.074458 -0.074120 9.4092e-01    
## I(intcov_ratio < 10)            0.046677   0.016067  2.905212 3.6743e-03 ** 
## adv_assets                      0.007027   0.005225  1.344992 1.7864e-01    
## rd_assets:I(intcov_ratio < 10)  0.066490   0.013516  4.919416 8.7524e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.049027     Adj. R2: 0.919007
##                  Within R2: 0.021804
feols(fml = debt_assets ~ rd_assets * Lbm + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = (financial_ratios), cluster = c('TICKER')) 
## OLS estimation, Dep. Var.: debt_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                   Estimate Std. Error  t value   Pr(>|t|)    
## rd_assets         0.007441   0.079433 0.093674 9.2537e-01    
## LbmTRUE           0.012706   0.002544 4.995264 5.9274e-07 ***
## adv_assets        0.003657   0.008238 0.443968 6.5707e-01    
## rd_assets:LbmTRUE 0.050071   0.010333 4.845585 1.2723e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.049457     Adj. R2: 0.917579
##                  Within R2: 0.004558
# determinants of R&D:
cat("# determinants of R&D: ")
## # determinants of R&D:
cat("/n")
## /n
feols(fml = rd_assets ~ debt_assets + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##             Estimate Std. Error  t value Pr(>|t|)    
## debt_assets 0.014596   0.019917 0.732820 0.463677    
## adv_assets  0.013574   0.006024 2.253239 0.024255 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.025729     Adj. R2: 0.881447
##                  Within R2: 9.219e-4
feols(fml = rd_assets ~ debt_assets * Lroa + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                       Estimate Std. Error   t value   Pr(>|t|)    
## debt_assets           0.005627   0.020365  0.276318 7.8231e-01    
## LroaTRUE             -0.006473   0.001332 -4.859905 1.1837e-06 ***
## adv_assets            0.013562   0.006069  2.234627 2.5453e-02 *  
## debt_assets:LroaTRUE  0.014619   0.001646  8.883772  < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.02572     Adj. R2: 0.881523
##                 Within R2: 0.00157
feols(fml = rd_assets ~ debt_assets * Lbm + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                      Estimate Std. Error   t value  Pr(>|t|)    
## debt_assets          0.009727   0.019141  0.508180 0.6113330    
## LbmTRUE             -0.001404   0.002918 -0.481081 0.6304644    
## adv_assets           0.013414   0.005886  2.278822 0.0226886 *  
## debt_assets:LbmTRUE  0.006611   0.002326  2.842407 0.0044822 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.025724     Adj. R2: 0.881494
##                  Within R2: 0.001322
feols(fml = rd_assets ~ debt_assets * Lbmq + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                       Estimate Std. Error   t value Pr(>|t|)    
## debt_assets           0.010297   0.018339  0.561491 0.574470    
## LbmqTRUE             -0.001263   0.002662 -0.474533 0.635126    
## adv_assets            0.013490   0.005962  2.262479 0.023679 *  
## debt_assets:LbmqTRUE  0.005137   0.002587  1.985970 0.047051 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.025727     Adj. R2: 0.881468
##                  Within R2: 0.001102
feols(fml = rd_assets ~ debt_assets * I(intcov_ratio > 5) + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                                  Estimate Std. Error   t value Pr(>|t|)    
## debt_assets                      0.015808   0.021413  0.738225 0.460387    
## I(intcov_ratio > 5)              0.001886   0.002569  0.734168 0.462856    
## adv_assets                       0.013648   0.006059  2.252550 0.024299 *  
## debt_assets:I(intcov_ratio > 5) -0.004956   0.004614 -1.074132 0.282777    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.025728     Adj. R2: 0.881453
##                  Within R2: 9.789e-4
feols(fml = rd_assets ~ lag(debt_assets) + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                  Estimate Std. Error  t value Pr(>|t|)    
## lag(debt_assets) 0.014596   0.019917 0.732820 0.463677    
## adv_assets       0.013574   0.006024 2.253239 0.024255 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.025729     Adj. R2: 0.881447
##                  Within R2: 9.219e-4
feols(fml = rd_assets ~ lag(debt_assets) * Lroa + adv_assets | TICKER + q_ym + TICKER^year(q_ym), 
      data = financial_ratios, cluster = c('TICKER'))
## OLS estimation, Dep. Var.: rd_assets
## Observations: 700,882 
## Fixed-effects: TICKER: 19,107,  q_ym: 655,  TICKER^year(q_ym): 197,810
## Standard-errors: Clustered (TICKER) 
##                            Estimate Std. Error   t value   Pr(>|t|)    
## lag(debt_assets)           0.005627   0.020365  0.276318 7.8231e-01    
## LroaTRUE                  -0.006473   0.001332 -4.859905 1.1837e-06 ***
## adv_assets                 0.013562   0.006069  2.234627 2.5453e-02 *  
## lag(debt_assets):LroaTRUE  0.014619   0.001646  8.883772  < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.02572     Adj. R2: 0.881523
##                 Within R2: 0.00157