Trong khi đa số các nghiên cứu về ảnh hưởng của hành vi điều chỉnh lợi nhuận đến tính thông tin của giá cổ phiếu trước đây được thực hiện tại các nước phát triển có môi trường thể chế tố
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG KT PHAN THỊ ĐỖ QUYÊN sĩ NGHIÊN CỨU ẢNH HƯỞNG CỦA HÀNH VI n ĐIỀU CHỈNH LỢI NHUẬN ĐẾN TÍNH THÔNG TIN Lu ận án tiế CỦA GIÁ CỔ PHIẾU TẠI VIỆT NAM LUẬN ÁN TIẾN SĨ KINH TẾ Đà Nẵng, 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG PHAN THỊ ĐỖ QUYÊN KT NGHIÊN CỨU ẢNH HƯỞNG CỦA HÀNH VI sĩ ĐIỀU CHỈNH LỢI NHUẬN ĐẾN TÍNH THƠNG TIN tiế n CỦA GIÁ CỔ PHIẾU TẠI VIỆT NAM án Chuyên ngành : Kế toán : 62.34.03.01 Lu ận Mã số LUẬN ÁN TIẾN SĨ KINH TẾ NGƯỜI HƯỚNG DẪN: PGS.TS Nguyễn Mạnh Toàn TS Đặng Tùng Lâm Đà Nẵng, 2018 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu độc lập riêng tôi, liệu, lập luận, phân tích, đánh giá kết luận án trung thực Tơi hồn tồn chịu trách nhiệm nội dung trình bày luận án KT Tác giả luận án Lu ận án tiế n sĩ PHAN THỊ ĐỖ QUYÊN MỤC LỤC MỞ ĐẦU 1 Tính cấp thiết luận án Mục tiêu nghiên cứu Câu hỏi nghiên cứu Đối tượng phạm vi nghiên cứu Cách tiếp cận phương pháp nghiên cứu Khung nghiên cứu luận án ………… .…………………………….8 KT Đóng góp luận án .9 sĩ Kết cấu luận án 10 CHƯƠNG TỔNG QUAN NGHIÊN CỨU VÀ CƠ SỞ LÝ LUẬN VỀ MỐI tiế n QUAN HỆ GIỮA HÀNH VI ĐIỀU CHỈNH LỢI NHUẬN VÀ TÍNH THÔNG TIN CỦA GIÁ CỔ PHIẾU 11 án 1.1 Tổng quan tính thơng tin giá cổ phiếu 11 1.1.1 Khái niệm tính thơng tin giá cổ phiếu 11 ận 1.1.2 Ý nghĩa tính thơng tin giá cổ phiếu 12 Lu 1.1.3 Đo lường tính thơng tin giá cổ phiếu 13 1.1.4 Các nhân tố ảnh hưởng đến tính thơng tin giá cổ phiếu 15 1.2 Tổng quan hành vi điều chỉnh lợi nhuận 24 1.2.1 Định nghĩa hành vi điều chỉnh lợi nhuận 25 1.2.2 Động hành vi điều chỉnh lợi nhuận 26 1.2.3 Các lý thuyết giải thích cho hành vi điều chỉnh lợi nhuận 29 1.2.4 Cơ sở hành vi điều chỉnh lợi nhuận 32 1.2.5 Các khuynh hướng kỹ thuật điều chỉnh lợi nhuận 34 1.2.6 Các mơ hình biến dồn tích đo lường hành vi điều chỉnh lợi nhuận 39 1.3 Các nghiên cứu ảnh hưởng hành vi điều chỉnh lợi nhuận đến tính thơng tin giá cổ phiếu 49 1.4 Kết luận chung cơng trình nghiên cứu thực nghiệm tính thơng tin giá cổ phiếu & khoảng trống nghiên cứu .53 1.5 Kết luận 55 CHƯƠNG THIẾT KẾ NGHIÊN CỨU 57 2.1 Giả thuyết ảnh hưởng hành vi điều chỉnh lợi nhuận đến tính thơng tin giá cổ phiếu .57 2.2 Mơ hình nghiên cứu 61 2.3 Đo lường biến nghiên cứu 61 2.3.1 Tính thông tin giá cổ phiếu 61 2.3.2 Hành vi điều chỉnh lợi nhuận 64 KT 2.3.3 Biến kiểm soát 66 2.4 Dữ liệu nghiên cứu 68 sĩ 2.5 Xử lý liệu nghiên cứu .70 n 2.6 Kết luận 71 tiế CHƯƠNG KẾT QUẢ NGHIÊN CỨU VÀ THẢO LUẬN 73 3.1 Kết đo lường tính thơng tin giá cổ phiếu công ty niêm yết thị án trường chứng khoán Việt Nam giai đoạn 2007-2014 73 ận 3.1.1 Đặc trưng tính thông tin giá cổ phiếu công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007-2014 .73 Lu 3.1.2 Phân tích biến động tính thơng tin giá cổ phiếu công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007-2014 77 3.2 Kết đo lường hành vi điều chỉnh lợi nhuận công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007-2014 84 3.2.1 Đặc trưng hành vi điều chỉnh lợi nhuận công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007-2014 84 3.2.2 Phân tích biến động hành vi điều chỉnh lợi nhuận cơng ty niêm yết thị trường chứng khốn Việt Nam giai đoạn 2007 - 2014 .85 3.3 Kiểm định ảnh hưởng hành vi điều chỉnh lợi nhuận đến tính thơng tin giá cổ phiếu công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007 - 2014 .98 3.3.1 Thống kê mô tả biến nghiên cứu mơ hình kiểm định ảnh hưởng hành vi điều chỉnh lợi nhuận đến tính thơng tin giá cổ phiếu 98 3.3.2 Ảnh hưởng hành vi điều chỉnh lợi nhuận đến tính thông tin giá cổ phiếu 100 3.3.3 Kiểm định bền vững kết nghiên cứu 103 3.4 Kết luận 108 CHƯƠNG MỘT SỐ KHUYẾN NGHỊ ĐỐI VỚI CÁC BÊN LIÊN QUAN 4.1 Khuyến nghị quan quản lý nhà nước 110 4.2 Khuyến nghị nhà quản trị công ty ……………………… 113 KT 4.3 Khuyến nghị nhà đầu tư………………………… …………………114 KẾT LUẬN 116 sĩ DANH MỤC CƠNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ Lu ận án tiế PHỤ LỤC n TÀI LIỆU THAM KHẢO DANH MỤC CÁC CHỮ VIẾT TẮT Biến dồn tích tùy ý ĐCLN Điều chỉnh lợi nhuận ĐLC Độ lệch chuẩn GTTB Giá trị trung bình HNX Sở Giao dịch Chứng khoán Hà Nội HOSE Sở Giao dịch Chứng khoán TP Hồ Chí Minh NDA Biến dồn tích khơng tùy ý Non_syn Tính thơng tin giá cổ phiếu SL Số lượng TP Thành phố Lu ận án tiế n sĩ KT DA DANH MỤC CÁC BẢNG Số Tên bảng hiệu Trang Số lượng công ty theo ngành năm nghiên cứu công 2.1 ty niêm yết hai Sở Giao dịch Chứng khốn TP Hồ Chí Minh Sở Giao dịch Chứng khoán Hà Nội khoảng thời 68 gian 2007-2014 Số lượng quan sát biến nghiên cứu công ty niêm yết hai Sở Giao dịch Chứng khốn TP Hồ Chí Minh Sở Giao dịch Chứng khoán Hà Nội khoảng thời gian 69 KT 2.2 2007-2014 niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007- n 3.1 sĩ Thống kê mơ tả tính thơng tin giá cổ phiếu công ty Tổng hợp giá trị trung bình tính thơng tin giá cổ phiếu nước phát triển án 3.2 tiế 2014 73 74 3.3 ận Bảng phân vị cho biến đo lường tính thơng tin giá cổ phiếu cơng ty niêm yết thị trường chứng khoán 76 Lu Việt Nam giai đoạn 2007-2014 Tổng hợp tính thơng tin giá cổ phiếu theo năm nghiên cứu 3.4 cơng ty niêm yết thị trường chứng khốn Việt Nam 77 giai đoạn 2007-2014 3.5 3.6 Tổng hợp tính thơng tin giá cổ phiếu theo Sở Giao dịch chứng khốn cơng ty niêm yết giai đoạn 2007-2014 Tổng hợp tính thơng tin giá cổ phiếu theo ngành công ty niêm yết thị trường chứng khoán Việt Nam 79 81 Bảng phân vị cho biến dồn tích tùy ý (DA) đo lường hành vi 3.7 điều chỉnh lợi nhuận công ty niêm yết thị trường chứng khoán Việt Nam 84 Số Tên bảng hiệu Trang Tổng hợp biến dồn tích tùy ý đo lường hành vi điều chỉnh lợi 3.8 nhuận công ty niêm yết thị trường chứng khoán 87 Việt Nam 3.9 Tổng hợp biến dồn tích tùy ý đo lường hành vi điều chỉnh lợi nhuận theo ngành 89 Tổng hợp biến dồn tích tùy ý đo lường hành vi điều chỉnh lợi nhuận công ty niêm yết hai Sở Giao dịch chứng khoán Hà Nội (HNX) Sở Giao dịch chứng khốn TP Hồ Chí 93 KT 3.10 Minh (HOSE) Thống kê mô tả biến nghiên cứu 98 3.12 Ma trận hệ số tương quan 99 3.13 Hành vi điều chỉnh lợi nhuận tính thơng tin giá cổ phiếu 3.16 n tiế án (Kiểm soát biến trễ phụ thuộc mơ hình) Hành vi điều chỉnh lợi nhuận tính thơng tin giá cổ phiếu ận 3.15 Hành vi điều chỉnh lợi nhuận tính thơng tin giá cổ phiếu (Kiểm soát ảnh hưởng cố định Sở Giao dịch) Hành vi điều chỉnh lợi nhuận tính thơng tin giá cổ phiếu Lu 3.14 sĩ 3.11 (Kiểm sốt ảnh hưởng cố định cơng ty) 102 104 105 107 DANH MỤC CÁC HÌNH Số Tên hình hiệu 3.1 Trang Khung nghiên cứu luận án Biến động tính thơng tin giá cổ phiếu công ty niêm yết thị trường chứng khoán Việt Nam giai đoạn 2007-2014 78 Biến động tính thơng tin giá cổ phiếu cơng ty niêm yết Sở Giao dịch Chứng khoán TP Hồ Chí Minh Sở Giao dịch Chứng khốn Hà Nội KT 3.2 80 Số lượng công ty niêm yết điều chỉnh lợi nhuận 86 3.4 Mức độ điều chỉnh lợi nhuận công ty niêm yết 86 sĩ 3.3 khoán Hà Nội (HNX) Sở Giao dịch Chứng khoán TP Hồ 3.8 3.9 dịch Chứng khoán Hà Nội ận 3.7 Số lượng công ty niêm yết điều chỉnh lợi nhuận Sở Giao Mức độ điều chỉnh lợi nhuận công ty niêm yết Sở Giao dịch Chứng khốn Hà Nội Lu 3.6 án Chí Minh (HOSE) tiế 3.5 n Mức độ điều chỉnh lợi nhuận hai Sở Giao dịch Chứng Số lượng công ty niêm yết điều chỉnh lợi nhuận Sở Giao dịch Chứng khốn TP Hồ Chí Minh Mức độ điều chỉnh lợi nhuận công ty niêm yết Sở Giao dịch Chứng khốn TP Hồ Chí Minh 95 96 96 97 97 KT Ngành tài sĩ Hình 07: Số lượng công ty niêm yết thuộc ngành tài điều chỉnh lợi nhuận Lu ận án tiế n thị trường chứng khoán Việt Nam giai đoạn 2007-2014 Hình 08: Mức độ điều chỉnh lợi nhuận cơng ty niêm yết thuộc thuộc ngành tài thị trường chứng khoán Việt Nam giai đoạn 2007-2014 KT Ngành chăm sóc sức khỏe sĩ Hình 09: Số lượng cơng ty niêm yết thuộc ngành chăm sóc sức khỏe điều chỉnh lợi Lu ận án tiế n nhuận thị trường chứng khoán Việt Nam giai đoạn 2007-2014 Hình 10: Mức độ điều chỉnh lợi nhuận cơng ty niêm yết thuộc thuộc ngành chăm sóc sức khỏe thị trường chứng khoán Việt Nam giai đoạn 2007-2014 KT Ngành cơng nghiệp sĩ Hình 11: Số lượng công ty niêm yết thuộc ngành công nghiệp điều chỉnh lợi nhuận Lu ận án tiế n thị trường chứng khốn Việt Nam giai đoạn 2007-2014 Hình 12: Mức độ điều chỉnh lợi nhuận công ty niêm yết thuộc thuộc ngành công nghiệp thị trường chứng khoán Việt Nam giai đoạn 2007-2014 KT Ngành cơng nghệ sĩ Hình 13: Số lượng cơng ty niêm yết thuộc ngành công nghệ điều chỉnh lợi nhuận Lu ận án tiế n thị trường chứng khoán Việt Nam giai đoạn 2007-2014 Hình 14: Mức độ điều chỉnh lợi nhuận công ty niêm yết thuộc thuộc ngành cơng nghệ thị trường chứng khốn Việt Nam giai đoạn 2007-2014 KT Ngành tiện ích sĩ Hình 15: Số lượng công ty niêm yết thuộc ngành tiện ích điều chỉnh lợi nhuận Lu ận án tiế n thị trường chứng khoán Việt Nam giai đoạn 2007-2014 Hình 16: Mức độ điều chỉnh lợi nhuận cơng ty niêm yết thuộc thuộc ngành tiện ích thị trường chứng khoán Việt Nam giai đoạn 2007-2014 PHỤ LỤC 06 Code phần mềm SAS ước lượng biến mơ hình: + Đo lường tính thơng tin giá cổ phiếu Non_syn: /************************************************************************ */ /**************** SAS codes for estimating informativeness ***************/ /************************************************************************ */ /****** Weekly return *****/ Libname RV "C:\Quyen\SASData"; Lu ận án tiế n sĩ KT Data price0515 (keep=ticker date clsprice week weekday year); set RV.price0515; week=week(Date); weekday=weekday(date); year=year(Date); run; procsortdata=price0515; by ticker year week weekday; run; Data Begin_RET End_RET; set price0515; by ticker year week weekday; if first.week thenoutput Begin_RET; if last.week thenoutput End_RET; run; Procsql; droptable price0515; quit; Data Begin_RET (rename=(clsprice=clsprice_B)); set Begin_RET; run; Data End_RET (rename=(clsprice=clsprice_E)); set End_RET; run; Procsqlnoprint; createtable Merged_B_E asselecta.*, b.clsprice_E from Begin_RET a leftjoin End_RET b on a.ticker=b.ticker and a.Year=b.Year and a.week=b.week orderby ticker, year, week;quit; Procsql; droptable Begin_RET; quit; Procsql; droptable End_RET; quit; Data Merged_B_E (drop=Date weekday); set Merged_B_E; weekly_RET=(clsprice_E-clsprice_B)/clsprice_B; run; Data Merged_B_E; set Merged_B_E; if weekly_RET=-1then weekly_RET=.; run; /****************************************************/ /***** Variables for estimating informativeness *****/ Libname RV "C:\Quyen\SASData"; Data weekly_RET (drop=clsprice_E clsprice_B); set RV.weekly_RET; Lu ận án tiế n sĩ KT run; /*** Weekly Market Portfolio ***/ Procsqlnoprint; createtable MarketPortfolio as select Year, week, Sum(weekly_RET) as RET_SMr, Count(weekly_RET) as Nobs_RET from weekly_RET groupby Year, week;quit; /*** Setting RET of market portfolio to missing in those weeks with No of stocks less than 10 ***/ Data MarketPortfolio; set MarketPortfolio; if Nobs_RET=15then Se_RET_W=1; else Se_RET_W=0; run; Procsqlnoprint; createtable for_est_comm asselecta.*, b.Se_RET_W from for_est_comm a leftjoin count_obs_year b on a.ticker=b.ticker and a.Year=b.Year orderby ticker, year;quit; Data For_Se_RET_W ; set for_est_comm; if Se_RET_W=1; run; Procsql;droptable for_est_comm;quit; Procsql;droptable count_obs_year;quit; /** Comovement in returns - MYY (2000) **/ Procregdata =For_Se_RET_W outest =RET_COM rsquarenoprint ; By ticker year; M1: model weekly_RET=RET_WMr; run;quit; Procsql;droptable For_Se_RET_W;quit; Procsqlnoprint; createtable Comovement_RET asselect ticker, year, RET_WMr as COV_RET, _RSQ_ as Rsq_COV_RET Label=" " from RET_COM orderby ticker, year;quit; Procsql;droptable RET_COM;quit; Lu ận án /*** Transform ***/ data Comovement_RET; set Comovement_RET; Non_syn=log((1-Rsq_COV_RET)/Rsq_COV_RET); run; Libname COV "C:\Quyen\SASData"; Data COV.Comovement_RET; set Comovement_RET; run; /*** End ***/ + Đo lường biến dồn tích tùy ý (hành vi điều chỉnh lợi nhuận) theo mô hình Modified Jones (1995): /**********************************************/ /*** Estimating earning management ************/ /**********************************************/ Libname EM "C:\Quyen\SASData"; Lu ận án tiế n sĩ KT Data Depre_RD1; infile"C:\NCKH\Data\Depre_RD1.csv"delimiter = ','MISSOVERDSDlrecl=32767firstobs=2; %let _EFIERR_ = 0; /* set the ERROR detection macro variable */ inFormat ticker $10.; inFormat Listing $10.; inFormat Industry $20.; Format ticker $10.; Format Listing $10.; Format Industry $20.; Input ticker $ Listing $ Industry $; if _ERROR_ thencall symputx('_EFIERR_',1); /* set ERROR detection macro variable */ run; /***/ Data Depre_RD2; infile"C:\NCKH\Data\Depre_RD2.csv"delimiter = ','MISSOVERDSDlrecl=32767firstobs=2; %let _EFIERR_ = 0; /* set the ERROR detection macro variable */ inFormat Year best5.; inFormat ticker $10.; inFormat Listing $10.; inFormat depreciation1 best17.; inFormat depreciation2 best17.; inFormat depreciation3 best17.; Format Year best5.; Format ticker $10.; Format Listing $10.; Format depreciation1 best17.; Format depreciation2 best17.; Format depreciation3 best17.; Input Year ticker $ Listing $ depreciation1 depreciation2 depreciation3 depreciation4; if _ERROR_ thencall symputx('_EFIERR_',1); /* set ERROR detection macro variable */ run; /***/ data Depre_RD2 (keep=year ticker listing dep); set Depre_RD2; if missing(depreciation1) then depreciation1=0; if missing(depreciation2) then depreciation2=0; if missing(depreciation3) then depreciation3=0; dep=depreciation1+depreciation2+depreciation3; dep=abs(dep); run; Procsqlnoprint; createtable depr asselecta.*, b.Industry from Depre_RD2 a leftjoin Depre_RD1 b Lu ận án tiế n sĩ KT on a.ticker=b.ticker orderby ticker, year;quit; Procsql; droptable Depre_RD2; quit; Procsql; droptable Depre_RD1; quit; /***/ Data Quyen; infile"C:\NCKH\Data\Quyen.csv"delimiter = ','MISSOVERDSDlrecl=32767firstobs=2; %let _EFIERR_ = 0; /* set the ERROR detection macro variable */ inFormat Year best5.; inFormat ticker $10.; inFormat Listing $10.; inFormat rec best17.; inFormat cost_tangasset best17.; inFormat cost_finasset best17.; inFormat cost_invest best17.; inFormat ta best17.; inFormat rev best17.; inFormat npat best17.; inFormat ncfoa best17.; Format Year best5.; Format ticker $10.; Format Listing $10.; Format rec best17.; Format cost_tangasset best17.; Format cost_finasset best17.; Format cost_invest best17.; Format ta best17.; Format rev best17.; Format npat best17.; Format ncfoa best17.; Input Year ticker $ Listing $ rec cost_tangasset cost_finasset cost_invest ta rev npat ncfoa; if _ERROR_ thencall symputx('_EFIERR_',1); /* set ERROR detection macro variable */ run; /***/ Procsqlnoprint; createtable EaringManagement asselecta.*, b.* from Quyen a leftjoin depr b on a.ticker=b.ticker and a.year=b.year orderby ticker, year;quit; Procsql; droptable Quyen; quit; Procsql; droptable depr; quit; /***/ Data EaringManagement; set EaringManagement; where (listing="HOSE" or listing="HNX"); if missing(cost_tangasset) then cost_tangasset=0; if missing(cost_finasset) then cost_finasset=0; if missing(cost_invest) then cost_invest=0; run; procsortdata=EaringManagement; by ticker year; run; /****/ Data EaringManagement; set EaringManagement; accr=npat-ncfoa; drev=rev-lag(rev); Lu ận án tiế n sĩ KT if ticker^=lag(ticker) then drev=.; ppe=cost_tangasset+cost_finasset+cost_invest; accr1=accr/lag(ta); ta1=1/lag(ta); drev1=drev/lag(ta); ppe1=ppe/lag(ta); dep1=dep/lag(ta); if ticker^=lag(ticker) thendo; accr1=.; ta1=.; drev1=.; ppe1=.; dep1=.; end; run; /****/ Procsqlnoprint; createtable Nobs_Industry as select industry, year, Count(ticker) as Nobs from EaringManagement where ^missing(accr1) groupby industry, year;quit; data Nobs_Industry; set Nobs_Industry; where ^missing(industry); if Nobs>=10then DNobs=1; else DNobs=0; run; Procsqlnoprint; createtable EaringManagement asselecta.*, b.DNobs from EaringManagement a leftjoin Nobs_Industry b on a.industry=b.industry and a.year=b.year orderby industry, year;quit; Procsql;droptable Nobs_Industry;quit; Procregdata=EaringManagement outest=ACC rsquarenoprint ; By industry year; where DNobs=1; M1: model accr1=ta1 drev1 ppe1; run;quit; Procsqlnoprint; createtable ACC asselect industry, year, ta1 as a1, drev1 as a2, ppe1 as a3 from ACC orderby industry, year;quit; Procsqlnoprint; createtable EaringManagement asselecta.*, b.* from EaringManagement a leftjoin ACC b on a.industry=b.industry and a.year=b.year orderby industry, year;quit; Procsql;droptable ACC;quit; /******/ procsortdata=EaringManagement; by ticker year; run; data EaringManagement; set EaringManagement; drec=rec-lag(rec); if ticker^=lag(ticker) then drec=.; cashrev=drev-lag(drec); if ticker^=lag(ticker) then cashrev=.; cashrev1=cashrev/lag(ta); if ticker^=lag(ticker) then cashrev1=.; tiế n sĩ KT nda = a1*ta1 + a2*cashrev1 + a3*ppe1; da=accr1-nda; run; /************/ data EaringManagement (keep=year ticker ppe1 dep1 nda da); set EaringManagement; run; procsortdata=EaringManagement; by ticker year; run; data EaringManagement; set EaringManagement; l_ppe1=lag(ppe1); l_dep1=lag(dep1); l_nda=lag(nda); l_da=lag(da); if ticker^=lag(ticker) thendo; l_ppe1=.; l_dep1=.; l_nda=.; l_da=.; end; run; /******/ Procsqlnoprint; createtable EM.quyen_data asselecta.*, b.* from EM.quyen_data a leftjoin EaringManagement b on a.ticker=b.ticker and a.year=b.year orderby ticker, year;quit; Procsql; droptable EaringManagement; quit; Lu ận án /***** End *****/ + Đo lường biến kiểm soát: /***************************************************/ /*********** Calculating firm-specific vars ********/ /***************************************************/ Lu ận án tiế n sĩ KT Libname VAR "C:\Quyen\SASData"; /** Accounting data **/ data financials; set VAR.financials; Bookvalue=AvOutSh*bv; run; /*** Scale 1000000000000 ***/ data financials; set financials; TotalAsset=TotalAsset/1000000000000; LTLia=LTLia/1000000000000; NPAT=NPAT/1000000000000; MarketCaop=MarketCaop/1000000000000; Bookvalue=Bookvalue/1000000000000; run; /***/ Procsqlnoprint; createtable Firmvars as select year, ticker, listing, log(TotalAsset) as logta, log(MarketCaop) as logmv, log(MarketCaop/Bookvalue) as logmb, LTLia/TotalAsset as lev, NPAT/TotalAsset as roa, NPAT/Bookvalue as roe, DivYield as DivYield, DivPayout as DivPayout from financials orderby ticker, year;quit; /*** Stock prices ***/ data Price0515; set VAR.Price0515; year=year(date); month=month(date); run; procsortdata=Price0515; by ticker date; run; data Price0515; set Price0515; lag_clsprice=lag(clsprice); if ticker^=lag(ticker) thendo; lag_clsprice=.; end; run; data Price0515 (drop=lag_clsprice); set Price0515; ret=log(clsprice/lag_clsprice); run; Procsqlnoprint; createtable Returnvars as select ticker, year, month, sum(tradingvolume) as tradingvolume, sum(ret) as ret from Price0515 groupby ticker, year, month;quit; Lu ận án tiế n sĩ KT Procsql; droptable Price0515; quit; Procsqlnoprint; createtable Returnvars asselecta.*, b.AvOutSh from Returnvars a leftjoin financials b on a.ticker=b.ticker and a.year=b.year orderby ticker, year;quit; Procsql; droptable financials; quit; Procsqlnoprint; createtable Year_Returnvars as select ticker, year, mean(tradingvolume)/mean(AvOutSh) as turnover, std(ret) as stdret, sum(ret) as ret12 from Returnvars groupby ticker, year;quit; Procsql; droptable Returnvars; quit; Procsqlnoprint; createtable Firmvars asselecta.*, b.* from Firmvars a leftjoin Year_Returnvars b on a.ticker=b.ticker and a.year=b.year orderby ticker, year;quit; Procsql; droptable Year_Returnvars; quit; /***** Add informativeness *****/ Procsqlnoprint; createtable Firmvars asselecta.*, b.* from Firmvars a leftjoin VAR.comovement_ret b on a.ticker=b.ticker and a.year=b.year orderby ticker, year;quit; /**** Lag and difference ****/ procsortdata=Firmvars; by ticker year; run; data Firmvars; set Firmvars; l_logta=lag(logta); l_logmv=lag(logmv); l_logmb=lag(logmb); l_lev=lag(lev); l_roa=lag(roa); l_roe=lag(roe); l_DivYield=lag(DivYield); l_DivPayout=lag(DivPayout); l_turnover=lag(turnover); l_stdret=lag(stdret); l_ret12=lag(ret12); if ticker^=lag(ticker) thendo; l_logta=.; l_logmv=.; l_logmb=.; l_lev=.; l_roa=.; l_roe=.; l_DivYield=.; l_DivPayout=.; l_turnover=.; l_stdret=.; l_ret12=.; end; run; /*** Export ***/ data VAR.Firmvars; set Firmvars; run; /***/ ận Lu án n tiế sĩ KT