stata小技巧备忘.docx_第1页
stata小技巧备忘.docx_第2页
stata小技巧备忘.docx_第3页
stata小技巧备忘.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【问题】如果快速、免费、小批量下载股票交易数据呢?【方法】调用cntrade命令*作者是:李春涛老师(/univfarmer)和张璇老师。* Chuntao Li, Ph.D. , Zhongnan Univ. of Econ. & Law ()* Xuan Zhang, Ph.D., Zhongnan Univ. of Econ. & Law ()*源数据是网易财经,/。*大家可以借鉴下程序的思路,也可以从其他网站下载其他数据。*时间,默认为19910101到现在if start= local start 19910101if end= local year = year(date(c(current_date),DMY)local month= month(date(c(current_date),DMY)local day = day(date(c(current_date),DMY)local end year*10000+month*100+day*定义路径if path= capture mkdir pathif path= local path c(pwd)disp path*开头为0的,数值型就没有0了,所以需要补上0,不过网易财经应该是自动补齐。foreach name in tickers while length(name)6 disp as error invalid stock code exit *下载数据,网易里面600以后的code有变化。黄色部分是核心内容。if name=600000 tempname csvfilequi copy address?code=0name&start=start&end=end&fields=fieldname.csv csvfile.csv, replaceelse qui copy address?code=1name&start=start&end=end&fields=fieldname.csv csvfile.csv, replace*导入数据,清理数据insheet using csvfile.csv, clear【例子】cntrade 600000 000001 600810, path(d:temp) start(19990101) end(20121231)另外,如果需要国外的数据,可以参考fetchyahooquotes和fetchyahookeystats还有,如果版本不能使用cntrade,可以找到cntrade的ado改一下version。还有,可以考虑下用R, Python等从网页中抓取各种数据。【问题】:如何删除确实值【方法】:egen m=rowmiss(_all)drop if m0【问题】:如何剔除st股【方法】:regexm()函数 和 indexnot()函数sungmoo介绍的indexnot(s1,s2)函数:英文直翻就是return the (position) INDEX of the (1st) character in s1 that does NOT appear in s2反馈s1字串中第一个没有在s2字串中出现的字符(在s1中)的位置,例如:. display indexnot(xxab,ysxb) s1里第一个没出现的是a,所以反馈a在s1中的位置. display indexnot(xxab,ysxt) 虽然b也没出现在s2里,但是s1里第一个没出现的是a,所以反馈a在s1中的位置如果s1字串中的全部字符都出现在s2中(不管在s2中的位置和顺序,只要有就成),那么反馈0。. display indexnot(ab,tab) 全出现了 也就是说 index not appear = FALSE 所以 回馈0. display indexnot(ab, carribean) 全出现了 ,不管在s2中的顺序. display indexnot(ab,tt) 都没出现,所以反馈第一个字符的位置,11如果不好理解的话,也可以用regexm(s,re) 这个函数help file里的例子挺多的:s: string; re: regular expression, 如果re在s里面,或是以某种形式存在,则回馈1,否则0 . display regexm(carribean,car)1. display regexm(carribean,ab)0所以此例可以这么办,生成个st-dummy:gen st=regexm(stockname,ST) / ST出现在名字中任何地方都回馈1,否则0。. display regexm(adfsST,ST)1另外如果强调是在字串头部出现,加号,即:. display regexm(adfsST,ST)0.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论