Stata 初试

选取云南白药(000538),基于深成指对云南白药2015-2017年股票进行估计

cntrade 000538

use "000538.dta",clear

global id="000538"

cntrade $id

global nn=stknme[1]

use "$id.dta",clear

tsset date

tsline clsprc,xlabel(,angle(60)) subtitle("$nn $id")

foreach i in "399001" "000001" "000300"{

cntrade `i',index

rename rmt retmkt_`i'

save index_`i'.dta,replace

erase `i'.dta

}

use "index_399001.dta",clear

merge 1:1 date using "$id.dta",nogen

gen year=year(date)

order date year index* stk* ret*

save "merge_$id.dta",replace

use "merge_$id.dta",clear

global yr_1=2014

global yr_2=2018

reg rit retmkt if year<$yr_2 & year>$yr_1  //对2015-2017年进行回归

aaplot rit retmkt if e(sample), xline(0,lp(dash) lc(red)) ///

            yline(0,lp(dash) lc(red)) msize(*0.6) /// 

            title("$nn ($id) 的 Beta 系数, 2015-2017") ///

            xtitle("市场指数收益率(深成指)")

#graph export "估计贝塔.png"  //做出各年贝塔值

bysort year: reg rit retmkt,noheader

statsby _b[retmkt], by(year) saving("beta_data.dta", replace): ///

          reg rit retmkt if year<$yr_2 & year>$yr_1  //对2015-2017年进行逐年回归

preserve

    use "beta_data.dta", clear

    keep if _stat!=.

    qui sum year

    local byr = r(min)

    local eyr = r(max)

    list

    #d ;

    twoway connect _stat year, 

          yline(1, lpattern(dash) lcolor(red*0.3))

        xlabel(`byr'(2)`eyr')

        ylabel(,angle(0) format(%2.1f))

        subtitle("$nn ($id) 的Beta系数")

        ytitle("beta") xtitle("");

    #d cr

    graph export "$out\beta $nn $id.png", replace

  restore

引用:Stata: 实时估计个股贝塔(beta)系数

你可能感兴趣的:(Stata 初试)