全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4851 6
2009-12-15
几个问题,关于日期和虚拟变量(更新了数据片断再问)

2,如果我的日期变量是从04年开始的所有交易日(假定已经是数值不是str了,可以被stata接受),由于节假日的关系,中间会有gap。如何设置虚拟变量prjr,使prjr=1 if 之前有gap, otherwise 0? 这里的gap 的意思是说,日期是间断的。如:
date            intcclose        intcvolume
11-Nov-09  19.84        61342282
10-Nov-09  19.5        59517776
9-Nov-09           19.46        51383090
6-Nov-09           18.93        44168539
5-Nov-09           18.89        66146505


(这里还没有颠倒日期顺序,实际上是顺日期下来的不过问题不大)。意思是说在11月九号的地方设置虚拟变量值prjr=1,而在11日,10日,6日和5日都是0。(当时它说有309多个gap,用的就是这个词我就问了,也没想到会与”缺失值“有歧义)



4,日期变量同上,已经生成了日对数收益率的序列intcret, 如何快速生成一个月对数收益率的序列intcmsret?还是说是要在别的地方比如excel 自己整理(我就是这么做了1个小时,感觉好像还是只能这么做)


附件是这个stata文件。
intc.rar
大小:(42.52 KB)

 马上下载

本附件包括:

  • intc.dta


Merci mille fois!!!==============================
已解答的问题 先说声谢谢!!
1,1-aug-02 格式的日期(前面没有修平,所以长度不一样,比如10-aug-02比1-aug-02多一个字节)怎么转换成可识别的日期变量用于时间序列? 日期相关的内容在手册哪里我找不到?(因为已经两次有时间设置的问题,所以想自己看看)
3,日期变量同上,如何设置虚拟变量monday使monday=1 if 日期是周一? stata可以直接从日期变量序列判断出星期几吗?还是要先到excel去弄?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-12-16 12:10:40
cortex112 发表于 2009-12-15 22:21 1,1-aug-02 格式的日期(前面没有修平,所以长度不一样,比如10-aug-02比1-aug-02多一个字节)怎么转换成可识别的日期变量用于时间序列?
*设变量x是字符型,且格式是"1-aug-02"(未经修平)

g d=date(x,"DM20Y")
form d %td
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-16 12:13:22
cortex112 发表于 2009-12-15 22:21 2,如果我的日期变量是从04年开始的所有交易日(假定已经是数值不是str了,可以被stata接受),由于节假日的关系,中间会有gap。如何设置虚拟变量prjr,使prjr=1 if 之前有gap, otherwise 0?
最好贴出一个数据片段,并说明你想要的结果在数据库中是什么样的。

(比如,gap的意义是什么,缺失值还是别的?)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-16 12:23:44
cortex112 发表于 2009-12-15 22:21 3,日期变量同上,如何设置虚拟变量monday使monday=1 if 日期是周一? stata可以直接从日期变量序列判断出星期几吗?
*设变量d是日期型

g monday=(mod(d,7)==3)

或者

g monday=(dow(d)==1)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-16 12:26:32
cortex112 发表于 2009-12-15 22:21 4,日期变量同上,已经生成了日对数收益率的序列intcret, 如何快速生成一个月对数收益率的序列intcmsret?还是说是要在别的地方比如excel 自己整理(我就是这么做了1个小时,感觉好像还是只能这么做)
*月对数收益率可以(绕过日对数收益率)直接计算吧?

g d=date(date,"DM19Y") if substr(date,-2,1)=="9"
replace d=date(date,"DM20Y") if substr(date,-2,1)=="0"
g month=year(d)*100+month(d)
bys month (d): g intn=intcclose[_N]
g intcmsret=ln(intn/intn[_n-1]) if month!=month[_n-1]
keep if intcmsret<.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-16 12:28:18
cortex112 发表于 2009-12-15 22:21 stata可以直接从日期变量序列判断出星期几吗?
*设d是日期型变量(表达日期),显示d是星期几。

form d %tdDAYNAME
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群