library(readxl)
## Warning: 程辑包'readxl'是用R版本4.3.3 来建造的
library(lmtest)
## 载入需要的程辑包:zoo
## 
## 载入程辑包:'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(sandwich)
library(psych)
library(plm)
library(tidyverse)
## Warning: 程辑包'tidyverse'是用R版本4.3.3 来建造的
## Warning: 程辑包'forcats'是用R版本4.3.3 来建造的
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.3     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ ggplot2::%+%()   masks psych::%+%()
## ✖ ggplot2::alpha() masks psych::alpha()
## ✖ dplyr::between() masks plm::between()
## ✖ dplyr::filter()  masks stats::filter()
## ✖ dplyr::lag()     masks plm::lag(), stats::lag()
## ✖ dplyr::lead()    masks plm::lead()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
#data <- read_xlsx("panel.xlsx")
#统计性描述
#vars <- data[, c("中长期资金持股比例", "分红比例","ROA","净资产负债率","Log_MV","固定资产比例","流动比率","国企","Log_Firmage")]
#describe(vars)

#设置面板数据
panel_data = read_xlsx("panel.xlsx")%>%pdata.frame(index =  c("证券代码","Year"))

#调整数据
panel_data = panel_data[panel_data$分红比例 < 1, ]
panel_data$Log_分红比例 = log(1+panel_data$分红比例)

#统计性描述
vars <- panel_data[, c("中长期资金持股比例", "分红比例","Log_分红比例","ROA","净资产负债率","Log_MV","固定资产比例","流动比率","国企","Log_Firmage")]
describe(vars)
##                    vars     n mean   sd median trimmed  mad   min   max range
## 中长期资金持股比例    1 30505 0.07 0.10   0.03    0.05 0.05  0.00  0.95  0.95
## 分红比例              2 30505 0.34 0.20   0.30    0.31 0.18  0.04  1.00  0.95
## Log_分红比例          3 30505 0.28 0.14   0.26    0.27 0.14  0.04  0.69  0.65
## ROA                   4 30505 0.06 0.05   0.05    0.05 0.04 -0.63  1.28  1.91
## 净资产负债率          5 30505 0.01 0.02   0.01    0.01 0.01 -0.09  0.38  0.47
## Log_MV                6 30505 4.12 1.59   3.83    3.95 1.32  0.79 13.10 12.31
## 固定资产比例          7 30485 0.20 0.16   0.16    0.18 0.14  0.00  0.97  0.97
## 流动比率              8 29939 0.03 0.04   0.02    0.02 0.01  0.00  1.91  1.91
## 国企                  9 30505 0.34 0.47   0.00    0.30 0.00  0.00  1.00  1.00
## Log_Firmage          10 30505 3.30 0.22   3.32    3.32 0.20  1.83  4.27  2.44
##                     skew kurtosis   se
## 中长期资金持股比例  2.41     8.12 0.00
## 分红比例            0.99     0.59 0.00
## Log_分红比例        0.66    -0.10 0.00
## ROA                 3.17    36.42 0.00
## 净资产负债率        5.09    37.85 0.00
## Log_MV              1.41     3.24 0.01
## 固定资产比例        1.10     1.22 0.00
## 流动比率           12.85   417.05 0.00
## 国企                0.66    -1.57 0.00
## Log_Firmage        -0.55     1.54 0.00
summary(vars)
##  中长期资金持股比例    分红比例        Log_分红比例          ROA          
##  Min.   :0.000000   Min.   :0.04493   Min.   :0.04395   Min.   :-0.62725  
##  1st Qu.:0.006024   1st Qu.:0.18260   1st Qu.:0.16772   1st Qu.: 0.02690  
##  Median :0.032351   Median :0.29702   Median :0.26007   Median : 0.04901  
##  Mean   :0.072303   Mean   :0.33570   Mean   :0.27867   Mean   : 0.05948  
##  3rd Qu.:0.099596   3rd Qu.:0.43941   3rd Qu.:0.36423   3rd Qu.: 0.07940  
##  Max.   :0.951998   Max.   :0.99989   Max.   :0.69309   Max.   : 1.28476  
##                                                                           
##   净资产负债率           Log_MV         固定资产比例         流动比率     
##  Min.   :-0.090234   Min.   : 0.7863   Min.   :0.000056   Min.   :0.0004  
##  1st Qu.: 0.003366   1st Qu.: 3.0286   1st Qu.:0.077940   1st Qu.:0.0128  
##  Median : 0.006938   Median : 3.8276   Median :0.164555   Median :0.0183  
##  Mean   : 0.012392   Mean   : 4.1236   Mean   :0.196518   Mean   :0.0277  
##  3rd Qu.: 0.013487   3rd Qu.: 4.8806   3rd Qu.:0.279835   3rd Qu.:0.0299  
##  Max.   : 0.380574   Max.   :13.0985   Max.   :0.970921   Max.   :1.9087  
##                                        NA's   :20         NA's   :566     
##       国企         Log_Firmage   
##  Min.   :0.0000   Min.   :1.826  
##  1st Qu.:0.0000   1st Qu.:3.184  
##  Median :0.0000   Median :3.322  
##  Mean   :0.3436   Mean   :3.303  
##  3rd Qu.:1.0000   3rd Qu.:3.459  
##  Max.   :1.0000   Max.   :4.266  
## 
#混合回归
pooled = plm(中长期资金持股比例~ 分红比例+Log_分红比例+ROA+净资产负债率+Log_MV+固定资产比例+流动比率+国企+Log_Firmage, data = panel_data, 
             model = "pooling")
summary(pooled)
## Pooling Model
## 
## Call:
## plm(formula = 中长期资金持股比例 ~ 分红比例 + Log_分红比例 + 
##     ROA + 净资产负债率 + Log_MV + 固定资产比例 + 
##     流动比率 + 国企 + Log_Firmage, data = panel_data, model = "pooling")
## 
## Unbalanced Panel: n = 4961, T = 1-15, N = 29919
## 
## Residuals:
##      Min.   1st Qu.    Median   3rd Qu.      Max. 
## -0.770392 -0.053223 -0.028411  0.022778  0.720281 
## 
## Coefficients:
##                 Estimate  Std. Error  t-value  Pr(>|t|)    
## (Intercept)   0.09618596  0.00846766  11.3592 < 2.2e-16 ***
## 分红比例     -0.07966820  0.02949358  -2.7012  0.006913 ** 
## Log_分红比例  0.06355059  0.04145293   1.5331  0.125267    
## ROA           0.56818273  0.01114124  50.9982 < 2.2e-16 ***
## 净资产负债率 -0.02052269  0.04950695  -0.4145  0.678480    
## Log_MV        0.00991584  0.00047539  20.8582 < 2.2e-16 ***
## 固定资产比例 -0.03080479  0.00356091  -8.6508 < 2.2e-16 ***
## 流动比率      0.01091483  0.01595169   0.6842  0.493827    
## 国企         -0.02081590  0.00125797 -16.5472 < 2.2e-16 ***
## Log_Firmage  -0.02326872  0.00245472  -9.4792 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    282.41
## Residual Sum of Squares: 249.52
## R-Squared:      0.11646
## Adj. R-Squared: 0.11619
## F-statistic: 438.02 on 9 and 29909 DF, p-value: < 2.22e-16
#双时点固定效应
fe = plm(中长期资金持股比例~ 分红比例+Log_分红比例+ROA+净资产负债率+Log_MV+固定资产比例+流动比率+国企, data = panel_data, 
             effect = "twoways", model = "within")
summary(fe)
## Twoways effects Within Model
## 
## Call:
## plm(formula = 中长期资金持股比例 ~ 分红比例 + Log_分红比例 + 
##     ROA + 净资产负债率 + Log_MV + 固定资产比例 + 
##     流动比率 + 国企, data = panel_data, effect = "twoways", 
##     model = "within")
## 
## Unbalanced Panel: n = 4961, T = 1-15, N = 29919
## 
## Residuals:
##       Min.    1st Qu.     Median    3rd Qu.       Max. 
## -0.4079247 -0.0299794 -0.0034039  0.0196881  0.5540047 
## 
## Coefficients:
##                Estimate Std. Error t-value  Pr(>|t|)    
## 分红比例     -0.0942973  0.0273008 -3.4540 0.0005532 ***
## Log_分红比例  0.1165350  0.0386548  3.0148 0.0025744 ** 
## ROA           0.3905545  0.0122931 31.7702 < 2.2e-16 ***
## 净资产负债率  0.0601133  0.0688878  0.8726 0.3828753    
## Log_MV        0.0059233  0.0013513  4.3833 1.174e-05 ***
## 固定资产比例 -0.0444832  0.0071089 -6.2574 3.979e-10 ***
## 流动比率     -0.0418033  0.0179532 -2.3285 0.0198955 *  
## 国企         -0.0189168  0.0036048 -5.2477 1.552e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    123.7
## Residual Sum of Squares: 117.82
## R-Squared:      0.047543
## Adj. R-Squared: -0.14275
## F-statistic: 155.587 on 8 and 24936 DF, p-value: < 2.22e-16
#随机效应
re = plm(中长期资金持股比例~ 分红比例+Log_分红比例+ROA+净资产负债率+Log_MV+固定资产比例+流动比率+国企+Log_Firmage, 
         data = panel_data, effect = "twoways", model = "random")
summary(re)
## Twoways effects Random Effect Model 
##    (Swamy-Arora's transformation)
## 
## Call:
## plm(formula = 中长期资金持股比例 ~ 分红比例 + Log_分红比例 + 
##     ROA + 净资产负债率 + Log_MV + 固定资产比例 + 
##     流动比率 + 国企 + Log_Firmage, data = panel_data, effect = "twoways", 
##     model = "random")
## 
## Unbalanced Panel: n = 4961, T = 1-15, N = 29919
## 
## Effects:
##                     var   std.dev share
## idiosyncratic 0.0047248 0.0687375 0.591
## individual    0.0031488 0.0561143 0.394
## time          0.0001204 0.0109740 0.015
## theta:
##            Min.   1st Qu.    Median      Mean   3rd Qu.      Max.
## id    0.2253502 0.5527250 0.6219799 0.5889302 0.6783168 0.6984416
## time  0.7937437 0.8461828 0.8673667 0.8628402 0.8799051 0.8862138
## total 0.2224871 0.5456226 0.6136277 0.5812520 0.6609496 0.6917235
## 
## Residuals:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.60331 -0.05997 -0.03426 -0.00513  0.01760  0.72248 
## 
## Coefficients:
##               Estimate Std. Error z-value Pr(>|z|)   
## (Intercept)   0.169229   0.194063  0.8720 0.383191   
## 分红比例     -0.099316   0.374849 -0.2649 0.791049   
## Log_分红比例  0.116709   0.530127  0.2202 0.825752   
## ROA           0.432684   0.159444  2.7137 0.006654 **
## 净资产负债率 -0.142140   0.839801 -0.1693 0.865597   
## Log_MV        0.011949   0.010485  1.1396 0.254435   
## 固定资产比例 -0.039814   0.072386 -0.5500 0.582305   
## 流动比率     -0.018698   0.228966 -0.0817 0.934916   
## 国企         -0.024981   0.029306 -0.8524 0.393985   
## Log_Firmage  -0.044730   0.057823 -0.7736 0.439186   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    282.41
## Residual Sum of Squares: 252.74
## R-Squared:      0.10814
## Adj. R-Squared: 0.10787
## Chisq: 11.2397 on 9 DF, p-value: 0.25964
pFtest(fe,pooled)
## 
##  F test for twoways effects
## 
## data:  中长期资金持股比例 ~ 分红比例 + Log_分红比例 +  ...
## F = 5.6053, df1 = 4973, df2 = 24936, p-value < 2.2e-16
## alternative hypothesis: significant effects
plmtest(pooled,effect = "twoways")
## 
##  Lagrange Multiplier Test - two-ways effects (Honda)
## 
## data:  中长期资金持股比例 ~ 分红比例 + Log_分红比例 +  ...
## normal = 239.33, p-value < 2.2e-16
## alternative hypothesis: significant effects
#霍斯曼检验
phtest(fe,re)
## 
##  Hausman Test
## 
## data:  中长期资金持股比例 ~ 分红比例 + Log_分红比例 +  ...
## chisq = 0.45439, df = 8, p-value = 0.9999
## alternative hypothesis: one model is inconsistent
#使用稳健聚类标准误
re_vcov <- vcovHC(
  re,
  type    = "HC1",
  cluster = "group"
)

coeftest(re, vcov = re_vcov)
## 
## t test of coefficients:
## 
##                 Estimate  Std. Error t value  Pr(>|t|)    
## (Intercept)   0.16922942  0.01684346 10.0472 < 2.2e-16 ***
## 分红比例     -0.09931559  0.03521172 -2.8205  0.004798 ** 
## Log_分红比例  0.11670945  0.05102677  2.2872  0.022190 *  
## ROA           0.43268450  0.02784005 15.5418 < 2.2e-16 ***
## 净资产负债率 -0.14213956  0.08262274 -1.7203  0.085380 .  
## Log_MV        0.01194928  0.00098206 12.1676 < 2.2e-16 ***
## 固定资产比例 -0.03981377  0.00633472 -6.2850 3.324e-10 ***
## 流动比率     -0.01869779  0.02079082 -0.8993  0.368485    
## 国企         -0.02498074  0.00252739 -9.8840 < 2.2e-16 ***
## Log_Firmage  -0.04473011  0.00494327 -9.0487 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1