查看原文
其他

hk系列命令(3)—— hktrade

爬虫俱乐部 Stata and Python数据分析 2023-10-24

本文作者:罗天尧,新疆大学商学院

本文编辑:郭泽源

技术总编:方一卓

Stata and Python 数据分析

     由李春涛教授团队成员司海涛薛原编写的《Stata正则表达式及其在财务数据中的应用》终于和大家见面啦!爬虫俱乐部特此为大家准备了100本,即日起购买爬虫俱乐部课程,可赠送本书一本,先到先得!


购书链接:

爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~

 


01引言

最近,爬虫俱乐部又开发了hk系列命令,由李春涛教授、新疆大学商学院罗天尧共同编写而成。该系列命令由hkstock、hktrade和hkar组成,主要用于在Stata中直接生成港股相关信息。本次介绍的是hktrade命令,该命令可以用来获取港交所上市股票的历史交易信息。对于这个新命令,大家还是陌生的,下面就一起来了解hktrade的使用方法吧。


02工作原理hktrade需要命令使用者输入一个港交所股票代码,随后Stata软件会自动从云端获取该股在港交所的历史交易信息,并保存在dta文件中。

03hktrade使用语法


 hktrade code, path(foldername)

注:确保hkar在Stata 17.0以上的版本运行,否则会报错:



code是查询的港交所股票代码(五位数);使用者也可以使用简写输入,代码会被0补齐至五位数(如1,即代表目标代码为00001)。

path(foldername) 为可选项,是设置文件的保存路径。默认设置会自动将.dta文件保存在当前工作路径下。


04案例


在使用之前,我们需要安装该命令:

ssc install hktrade

如果我们想获取00035(远东发展)的历史交易数据,可以在stata的命令栏输入hktrade 加上港股代码,回车,即可获取历史交易信息:

hktrade 00035

此时输出信息:

说明已经获取了对应的数据集,打开stata左上角数据集查看。从左到右的变量分别是:股票代码、交易时间、开盘价、收盘价、最高价、最低价、交易量。

同样,hktrade支持简写输入,代码会被0补齐至五位数:

hktrade 35hktrade 0035

上述两种命令写法,都能获取00035的交易数据。

港股的代码均为五位数,如果输入了超过五位数的代码,命令会报错:


如果输入的股票代码不存在,也会报错:

同时,hktrade支持指定位置的数据集保存。当没有指定时,数据集会自动保存在stata默认工作路径下:



我们可以通过path的可选项执行命令:

hktrade 9, path(D:/temp/)

如此,数据就会保存在指定文件夹下:



可以直接在当前数据集查看生成的数据,也可以通过命令调用该数据集,方法为:use+存储路径+代码.dta:

use "D:\temp\00009.dta"
05hk系列命令交互


如果我们想获得港交所前五只股票的历史收益率,可以先通过hkstock获取股票代码;再通过循环的方式,获取这五只股票的历史交易数据。

clear allhkstock Stocklist stknm stkcd in 1/5

我们可以先查看这五只股票的数据。

再通过循环的方式,将这五只股票的代码分别放入宏中。

forvalues i = 1/5{ local code`i'=stkcd[`i']}

进一步循环,保存这五只股票的历史交易记录。

forvalues i = 1/5{ hktrade `code`i'', path(D:/temp/) clear}

可以看到,输出结果提示文件已生成。

指定文件夹中,生成了对应文件。

以此类推,我们可以搭配使用hkstock与hktrade获得所有港股的历史交易数据。

同样,我们也可以抓取、合并前五只港股的财报数据。

先抓取前五只港股的财报数据。

clear allhkstock Stockforvalues i = 1/5{ local code`i'=stkcd[`i']}forvalues i = 1/5{ hkar `code`i'', path(D:/temp2/) clear}

结果窗口显示,已经生成相应的财报数据。

随后使用append命令,将生成的dta文件纵向合并:

clearcd "D:/temp2/"local files: dir . files "*.dta"foreach file in `files' {append using `"`file'"'}

最后,可以用describe命令来查看数据集的情况。

describe

可以看到,数据已经完全合并。

至此,hk系列命令介绍完毕,通过最近三篇推文的介绍,相信大家已经对hk系列命令有了初步的了解,希望我们的hk系列命令可以方便大家进行港股的研究。

(END)重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:

最后,我们为大家揭秘雪球网(https://xueqiu.com/)最新所展示的沪深证券和港股关注人数增长Top10。



对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!






往期推文推荐       hk系列命令(2)—— hkar
   hk系列命令(1)—— hkstock
  超好用的字符串方法  基于Python的假设检验实现  Stata与MySQL交互--基础操作       Jupyter Notebook中的魔术命令 《Stata正则表达式》由中国金融出版社出版发行      匿名函数lambda到底怎么用?  Stata绘图系列—NBER Working paper仿图   Camelot:从PDF中提取表格数据   Stata之计算财务指标——融资约束   列表生成式|让你的代码更简洁  Stata绘图系列——玩转绘图通用选项之坐标轴

玩转地图的好帮手--pyecharts

  爬虫俱乐部又又又输送了一位研究助理!!! 【数据分析】一文教你玩转DataFrame  震惊,爬虫俱乐部竟是这样运营答疑群的?! 【数据分析-入门】一看就会!Numpy的创建、索引、切片与更新  带你玩转Stata编码  一言不合就teamviewer【基础篇】循环语句的continue与break







     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。






     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。






您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存