Bài giảng Sử dụng stata cơ bản
Tạo biến mới
■ tab Gioitinh
■ tab Nganh
■ gen D_Nam = 1 if Gioitinh==“Nam”
■ replace D_Nam=0 if Gioitinh!=“Nam”
■ gen D_NganhKT = 1 if Nganh==“Kinh te”
■ replace D_NganhKT=0 if D_NganhKT == .
■ encode Gioitinh, gen(D_Gioitinh)
■ encode Nganh, gen(D_Nganh)
■ tab D_Gioitinh
■ tab D_Nganh
■ save "Diem tot nghiep va luong khoi diem.dta"
Mô tả tổng kết dữ liệu
■ Mô tả: sum Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT
■ Mô tả chi tiết: summarize Luongkhoidiem, d
■ Mô tả theo nhóm: bysort Gioitinh: sum Luongkhoidiem
■ Bảng mô tả: table Gioitinh Nganh, contents(mean Luongkhoidiem median
Diemtotnghiep max Diemhoatdong )
■ Tương quan: pwcorr Diemtotnghiep Diemhoatdong Luongkhoidiem D_Nam
D_NganhKT, sig star(5)
■ Biểu đồ: twoway (scatter Luongkhoidiem Diemtotnghiep, sort)

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Bài giảng Sử dụng stata cơ bản
SỬ DỤNG STATA
CƠ BẢN
Phan Hoàng Long – Khoa QTKD - DUE
STATA, SAS, SPSS và R
SPSS SAS Stata R
Điểm mạnh • Dễ học và sử dụng • Rất mạnh và • Mạnh và toàn diện • Rất mạnh và toàn
• Biểu đồ tốt toàn diện hơn SPSS diện
• Rất hiệu quả khi chạy • Thông dụng cho • Rất hiệu quả khi • Miễn phí
các mô hình hồi quy cơ việc xử lý dữ chạy các mô hình
bản liệu khối lượng hồi quy nâng cao
lớn
Điểm yếu • Khó sử dụng cho các mô • Chủ yếu dùng • Khó học và sử dụng • Dùng code, khó học
hình hồi quy nâng cao code nên khó hơn SPSS nhưng dễ và sử dụng hơn
• Chủ yếu phù hợp cho các học và sử dụng hơn SAS và R SAS, SPSS và Stata.
phương pháp nghiên cứu hơn SPSS và • Khả năng xử lý dữ • Cho người có trình
trong lĩnh vực khoa học Stata liệu khối lượng lớn độ lập trình nhất
xã hội, nghiên cứu thị yếu hơn SAS và R định
trường hay tâm lý học
Sử dụng Stata
■ Câu lệnh
■ Menu
Phần I: Cross-sectional OLS
■ File dữ liệu: “1 - Diem tot nghiep va luong khoi diem.xlsx”
Thay đổi thư mục làm việc, import dữ
liệu
cd "C:\Users\Admin\Dropbox\STATA tutorial"
import excel "1 - Diem tot nghiep va luong khoi diem.xlsx", sheet("Sheet1") firstrow
Kiểm tra dữ liệu
Quản lý các biến
drop STT MasoSV
rename Ngaythangnamsinh DoB
sort Diemtotnghiep
Format của dữ liệu
Numerical
%fmt Description Example
right-justified
%#.#g general %9.0g
%#.#f fixed %9.2f
%#.#e exponential %10.7e
%21x hexadecimal %21x
%16H binary, hilo %16H
%16L binary, lohi %16L
%8H binary, hilo %8H
%8L binary, lohi %8L
right-justified with commas
%#.#gc general %9.0gc
%#.#fc fixed %9.2fc
right-justified with leading zeros
%0#.#f fixed %09.2f
left-justified
%-#.#g general %-9.0g
%-#.#f fixed %-9.2f
%-#.#e exponential %-10.7e
left-justified with commas
%-#.#gc general %-9.0gc
%-#.#fc fixed %-9.2fc
You may substitute comma (,) for period (.) in any of
the above formats to make comma the decimal point. In
%9,2fc, 1000.03 is 1.000,03. Or you can set dp comma.
Format của dữ liệu
date string
%fmt Description Example %fmt Description Example
right-justified right-justified
%tc date/time %tc %#s string %15s
%tC date/time %tC
%td date %td left-justified
%tw week %tw %-#s string %-20s
%tm month %tm
%tq quarter %tq centered
%th half-year %th %~#s string %~12s
%ty year %ty
%tg generic %tg
left-justified
%-tc date/time %-tc
%-tC date/time %-tC
%-td date %-td
etc.
Mô hình hồi quy OLS
■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + ɛ
Các phép toán trong stata
Tạo biến mới
■ tab Gioitinh
■ tab Nganh
■ gen D_Nam = 1 if Gioitinh==“Nam”
■ replace D_Nam=0 if Gioitinh!=“Nam”
■ gen D_NganhKT = 1 if Nganh==“Kinh te”
■ replace D_NganhKT=0 if D_NganhKT == .
■ encode Gioitinh, gen(D_Gioitinh)
■ encode Nganh, gen(D_Nganh)
■ tab D_Gioitinh
■ tab D_Nganh
■ save "Diem tot nghiep va luong khoi diem.dta"
Mô tả tổng kết dữ liệu
Mô tả tổng kết dữ liệu
■ Mô tả: sum Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT
■ Mô tả chi tiết: summarize Luongkhoidiem, d
■ Mô tả theo nhóm: bysort Gioitinh: sum Luongkhoidiem
■ Bảng mô tả: table Gioitinh Nganh, contents(mean Luongkhoidiem median
Diemtotnghiep max Diemhoatdong )
■ Tương quan: pwcorr Diemtotnghiep Diemhoatdong Luongkhoidiem D_Nam
D_NganhKT, sig star(5)
■ Biểu đồ: twoway (scatter Luongkhoidiem Diemtotnghiep, sort)
T-test
ttest Luongkhoidiem, by(Gioitinh)
ttest Luongkhoidiem, by(Nganh)
ttest Luongkhoidiem if Dantoc == "Kinh", by(Nganh)
Chạy hồi quy
■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + ɛ
regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT
regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT, vce(robust)
regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT if Dantoc =="Kinh", vce(hc2)
regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT, cformat(%6.3f) sformat(%4.1f)
pformat(%4.2f)
Phân tích sau hồi quy
■ Breusch-Pagan / Cook-Weisberg test for heteroskedasticity: estat hettest
■ Residual: predict RES, resid
■ Fitted values: predict fitted_Luong_khoi_diem
Mô hình hồi quy mở rộng
■ Lương khởi điểm = Điểm tốt nghiệp + Điểm hoạt động + Ngành + Giới tính + Tuổi
+ Tháng sinh + Dân tộc + ɛ
■ gen ThangSinh=month(DoB)
■ gen NamSinh=year(DoB)
■ gen Tuoi=2018-NamSinh
■ Replace Dantoc=trim(Dantoc)
■ xi: reg Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT Tuoi
i.ThangSinh i.Dantoc
Mô hình hồi quy mở rộng với biến
tương tác
■ Lương khởi điểm = NgànhKT x Điểm tốt nghiệp + Điểm hoạt động + Giới tính +
Tuổi + Tháng sinh + Dân tộc + ɛ
■ xi: regress Luongkhoidiem D_NganhKT##c.Diemtotnghiep Diemhoatdong D_Nam
Tuoi i.ThangSinh i.Dantoc
■ Lương khởi điểm = Điểm tốt nghiệp + NgànhKT x Điểm hoạt động + Giới tính +
Tuổi + Tháng sinh + Dân tộc + ɛ
■ xi: regress Luongkhoidiem Diemtotnghiep D_NganhKT##c.Diemhoatdong D_Nam
Tuoi i.ThangSinh i.Dantoc
■ Lương khởi điểm = NgànhKT x Điểm tốt nghiệp + NgànhKT x Điểm hoạt động +
Giới tính + Tuổi + Tháng sinh + Dân tộc + ɛ
■ xi: regress Luongkhoidiem D_NganhKT##c.Diemtotnghiep
D_NganhKT##c.Diemhoatdong D_Nam Tuoi i.ThangSinh i.Dantoc
Xuất bảng kết quả
■ ssc install estout
■ eststo: regress Luongkhoidiem Diemtotnghiep Diemhoatdong
■ eststo: regress Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT
■ eststo: xi: reg Luongkhoidiem Diemtotnghiep Diemhoatdong D_Nam D_NganhKT
Tuoi i.ThangSinh i.Dantoc
■ esttab est1 est2 est3
Tạo các biến quantile, chuỗi con,
winsorized
■ egen Q_Diemhoatdong = xtile(Diemhoatdong), n(4)
■ egen Q_Diemhoatdong = xtile(Diemhoatdong), by(Gioitinh) n(4)
■ split Hovaten, p(" ")
■ ssc install winsor2
■ winsor2 Luongkhoidiem, cut (1 99)
Thực hành
■ Summarize các biến quantile và winsorized, summize theo biến factor
■ Chạy hồi quy dùng các biến quantile, winsorize và factor mới
Phần II: Time-series OLS
■ File dữ liệu: “2 – VNINDEX.xlsx”
■ import excel "2 - VNINDEX.xlsx", sheet("VNINDEX") firstrow
■ save "VNINDEX.dta“
■ import excel "2 - VNINDEX.xlsx", sheet("Foreign trading") firstrow
■ save “Foreign Trading.dta“
■ merge 1:1 Date using "VNINDEX.dta“
■ save ”VNINDEX-FOREIGNTRADING.dta”
Mô hình hồi quy time-series
푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 = 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 휺풕
Setup time-series
tsset Date, daily
sort Date
gen timeid=_n
tsset timeid
Tạo các biến
destring Open High Low Close ForeignBuyValue ForeignBuyVolume ForeignSaleValue ForeignSaleVolume TradingVolume
TradingValue NegotiatedTradingValue NegotiatedTradingVolume, replace ignore(" ,")
gen ln_VNI_Ret=ln(Close/Close[_n-1])
gen Foreign_Gross_Volume=(ForeignBuyVolume+ForeignSaleVolume)/10^9
gen Foreign_Net_Volume=(ForeignBuyVolume-ForeignSaleVolume)/10^9
Thực hành
■ Tạo biến quartile cho Foreign_Gross_Volume, Foreign_Net_Volume
■ Lập bảng mô tả tổng kết các biến, mô tả theo quartile
■ Tạo biến D_High_Foreign_Gross_Volume, D_High_Foreign_Net_Volume
■ t-test ln_VNI_Ret theo D_High_Foreign_Gross_Volume, D_High_Foreign_Net_Volume
Stationary test
dfuller ln_VNI_Ret, lags(4)
pperron Foreign_Gross_Volume, lags(4)
Chạy hồi quy Newey-west
■ newey ln_VNI_Ret Foreign_Gross_Volume, lag(3)
■ gen Month=month(Date)
■ newey ln_VNI_Ret Foreign_Gross_Volume i.Month, lag(3)
■ newey ln_VNI_Ret Foreign_Net_Volume, lag(3)
■ newey ln_VNI_Ret Foreign_Net_Volume i.Month, lag(3)
■ reg ln_VNI_Ret Foreign_Net_Volume i.Month, lag(3) (để có R-square)
Thực hành
■ Tạo các biến Foreign_Gross_Value, Foreign_Net_Value
■ Tạo biến Day_of_Week: gen DoW=dow(Date)
■ Summarize các biến
■ Test unit-root của các biến mới
■ Chạy hồi quy sử dụng các biến mới
Mô hình hồi quy VAR
푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 = 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 + 휺풕
푭풐풓풆풊품풏_푻풓 풅풊풏품풕 = 푽푵푰푵푫푬푿_푹풆풕풖풓풏풕 + 푭풐풓풆풊품풏_푻풓 풅풊풏품풕 + 휺풕
Chạy hồi quy VAR
var ln_VNI_Ret Foreign_Gross_Volume, lags(1/1)
varsoc ln_VNI_Ret Foreign_Gross_Volume, maxlag(5)
var ln_VNI_Ret Foreign_Gross_Volume, lags(1/5)
Thực hành
■ Chạy hồi quy VAR bằng các biến Foreign_Net_Volume, Foreign_Gross_Value,
Foreign_Net_Value
■ Tạo các biến Netgotitate_trading, chạy hồi quy Newey West và VAR (với các lag khác
nhau) bằng các biến này
Phần III: Hồi quy Panel
■ File dữ liệu “US firms quarterly.dta”
■ Mô hình: 푹풆풕풖풓풏풊,풕 = 푵풆풕 풊풏 풐 풆풊,풕 + 푪 풔풉풊,풕 + 푫풊풗풊풅풆풏풅풊,풕 +
푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕 + 휺풊,풕
Tạo biến thời gian và biến ID
■ gen timequarter=quarterly(datacqtr, "YQ")
■ format timequarter %tq
■ gen timeid_q=qofd(datadate)
■ format timeid_q %tq
Setup panel data
xtset companyID timequarter, quarterly
Tạo các biến cần thiết cho hồi quy
■ gen ln_Return=ln(prchq/prchq[_n-1])
■ gen ln_MV=gen ln_MV=ln(mkvaltq)
■ gen ln_Asset=ln(atq)
■ gen Industry=substr(sic,1,1)
Chạy hồi quy với time fixed effect và firm
fixed effect
xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe
xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe vce(cluster Industry)
Chạy hồi quy với time fixed effect và
industry fixed effect
■ encode Industry, gen (Industry_ID)
■ xtset Industry_ID
■ xtreg ln_Return niq chq dvpspq ln_MV ln_Asset i.year, fe
Chạy hồi quy với biến trễ và biến thay
đổi
푹풆풕풖풓풏풊,풕
= 푵풆풕 풊풏 풐 풆풊,풕 + 푪 풔풉풊,풕 + 푫풊풗풊풅풆풏풅풊,풕 + 푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕
+ 휺풊,풕
푹풆풕풖풓풏풊,풕
=∆풕푵풆풕 풊풏 풐 풆풊 +∆풕푪 풔풉풊 +∆풕푫풊풗풊풅풆풏풅풊 + 푴 풓풌풆풕 풗 풍풖풆풊,풕 + 푻풐풕 풍 풔풔풆풕풔풊,풕 + 휺풊,풕
Thank you
■ phanhoanglong@due.edu.vnFile đính kèm:
bai_giang_su_dung_stata_co_ban.pdf

