根据Stata的每日价格计算每周回报和波动率

时间:2015-02-27 17:46:36

标签: stata

我需要为S& P500公司计算每周回报和每日价格的波动率并保持结果。

数据:

ticker     Date          Price
A          03jan2011     41.88
A          04jan2011     42.00
...
AAPL

我使用一个看起来像这样的表达式(以相同的方式表示波动性):

gen return = log(price[_n] / price[1]), by(ticker)
collapse return, by(ticker)

但我不确定什么是正确的形式,因为有些星期有4天,有些则有5天。

1 个答案:

答案 0 :(得分:0)

你说你想要每周回报,所以我会这样做:

gen weeknumber=wofd(date) //this gives you the week number starting from jan1960
sort ticker date
bysort ticker weeknumber:gen temp=_n
bysort ticker weeknumber:gen temp2=_N
drop if temp!=temp2
drop temp temp2
***Now you have only weekly returns***
gen return = log(price[_n] / price[_n-1]), by(ticker)
相关问题