选了combobox里的选项后没激发change事件_stata 事件分析法

前言:

因为一些原因,国庆节期间学的。学习过程很酸爽,自己并没有很多统计学及其相关软件的经验,网上相关资料也不是很多。我在微信公众号、知网、经管之家、B站、百度文库等很多平台找了各式的资料来学(花了70大洋去买代码,本学生穷得叮当响),最终有了一个简单的成果(当然,在数据的处理上还比较粗糙,没有剔除ST,事件窗口也只有一个)。进一步的成果涉及到一些东西,就无法发出了。

希望能给像我一样的小白一些帮助(本来想写一个教程,但原谅我太懒了)。另外,请大佬们多多指导!

正文:

事件分析法:见百度 https://baike.baidu.com/item/事件分析法/2871756

1. 定义事件:上海自贸区成立
2. 样本选取范围:2013年8月22日前位于上海的上市公司的所有A股
3. 考察:2013年8月22日上海自贸区成立当日,位于上海上市公司的短期市场反应
4. 数据来源:CSMAR
5. 事件窗口:以2013年8月22日为事件日,(-5,+5)为研究期间
6. 估计窗口:(-155,-6)
7. 估计模型:市场模型
8. 估计正常表现
9. 异常表现和累计超额回报
10. 显著性检验
11. 全部事件交叉检验
12. 结论:上海自贸区成立对位于上海的上市公司的所有A股有显著的市场效应

1.导入数据

/*首先在CSMAR下载(2013.03.20-2013.8.22)(上海市)(所有A股)的股票代码、交易日期、考虑了现金分红的日收益率,和(2013.03.20-2013.8.22)(沪深300指数)的交易日期、考虑了现金分红的日收益率,下载数据类型为excel类型;

然后,用vlookup函数处理两个excel表格,根据交易日期,把沪深300指数的日收益率对应到上海市A股日收益率后;

接着,增加event_date这一列;

接着,把股票代码由文本类型转换成常规类型。*/

a7ab027e6cf525cdd0da798bed40b562.png

/*将处理好的excel复制到Data Editor里,保存到路径里(查看路径用pwd),保存为event_study.dta。*/

//调用时:

use event_study.dta 

52ad503e268e0a8a657dab944f1a0841.png

2.数据处理

//将日期从字符串型转换为数值型:

set matsize 500
cap gen event_date1=date(event_date,"YMD")
drop event_date
rename event_date1 event_date
format event_date %dCY-N-D
set matsize 500
cap gen trade_date1=date(trade_date,"YMD")
drop trade_date
rename trade_date1 trade_date
format trade_date %dCY-N-D

//关闭more选项,使一次全部输出:

set more off

3.估计正常收益

sort stk_id trade_date //按股票代码、交易日进行排序 
by stk_id:gen datenum=_n //对每一股票按交易日从1开始计数:1、2、3、4……用来计算每一个股票有多少行数据
by stk_id:gen target=datenum if trade_date==event_date //针对每只股票,生成target变量,并且如果交易日=事件日,对target变量赋值上datenum变量的数值
by stk_id: replace target=datenum if trade_date-event_date<=1 & trade_date-event_date>=-1 //针对每只股票,对发行公告日前后1天有交易的行数据,用datenum变量的数值覆盖target变量的数值
egen td1=mean(target),by(stk_id) //针对每只股票生成变量td1,并赋值target的均值
gen td2=round(td1) //生成td2变量并赋值td1的四舍五入数值
gen dif=datenum-td2 //生成dif变量,并赋值datenum-td2,该数值代表以事件日为起点,向前/后开始计数的天数
by stk_id: gen event_window=1 if dif>=-5 & dif<=5 //针对每只股票,生成事件窗口变量并赋值“1”,dif变量大于-5小于5表示事件窗口为(-5,5)
egen count_event_obs=count(event_window), by(stk_id) //针对每只股票生成计算事件窗口天数的变量
by stk_id:gen estimation_window=1 if dif>=-155 & dif<-6 //针对每只股票,生成估计窗口变量并赋值“1”,dif变量大于-155小于-6表示估计窗口为(-155,-6)
egen count_est_obs=count(estimation_window), by(stk_id) //针对每只股票生成计算估计窗口天数的变量
replace event_window=0 if event_window==. //如果事件窗口为空值,则赋值“0”
replace estimation_window=0 if estimation_window==. //如果估计窗口为空值,则赋值“0”
gen predicted_return=. //生成估计收益变量并赋值空值
egen id=group(stk_id) //重新定义公司代码为1,2,3...,便于执行循环
forvalues id=1(1)194 {
reg stk_chg zs_chg if id==i & estimation_window==1 //得到全样本范围内的正常回报率
predict p if id==i //在事件窗口内计算正常回报率
replace predicted_return = p if id==i & event_window==1
drop p
}

/*通过上述id,可知共194个样本股票,对1-194个股票的估计窗口内的数据进行回归,股票涨跌幅为因变量,指数涨跌幅为自变量,并对每只股票用回归方程结果计算其预期收益。

对每只股票的事件窗口(-5,5),用预期收益覆盖predicted_return变量的空值。该方法为用市场模型计算事件窗口期内的预期收益。*/

cb0fa57c12e7cafbed1c128ecbcc9feb.png

4.超额收益和累计超额收益

sort id trade_date //按id、交易日排序
gen AR=stk_chg-predicted_return if event_window==1 //计算每个公司在事件期内的日非正常报酬率
by id:egen car=sum(AR) //计算每个公司在事件窗口内的累计非正常报酬率(固定值)
gen car_date=.
forvalues id=1(1)194 {
replace car_date=sum(AR) if (id==i & event_window==1)
} //每个公司在事件窗口内逐日累加得到的累积回报率

5.显著性检验

/*其中AR是超额收益,ar_sd是超额收益的标准差。如果test的绝对值大于1.96,则每只股票的平均超额收益在5%的显著性水平上异于0。*/

sort id trade_date //按id、交易日排序
by id:egen ar_sd=sd(AR) //对每个公司求超额收益的标准差
gen test=(1/sqrt(11))*(car/ar_sd) //生成test统计量
list stk_id car test if dif==0 //列出发生事件的公司代码,累计超额收益,test统计量

//输出excel表格:

outsheet stk_id trade_date car test using car_test.csv if dif==0,comma names

6.在整个事件期内进行稳健性检验

reg car if dif==0, robust

61cb11d54d86aa4152ff3dc87fbcfa8f.png

/*由p值可知,我们可以在1%水平上拒绝这194家公司的累积超常回报率为0的原假设(在1%的显著性水平下显著,car在整个事件期内稳健)。*/

7.事件期内car的走势图(看两点之差)

//注:这一步是我乱加的。

preserve
keep if event_window==1
bysort dif:egen car_t=mean(car_date)
keep dif car_t //计算每天的平均累积超常回报率
duplicates drop //仅保留事件期的观察值
twoway connect car_t dif //绘制时序图
restore

de9b5d8d8206c520b1257be6aa37afd5.png
平均累计超常回报率时序图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RHCE 学习笔记(24) - LVM 逻辑卷

这一节学习了如何创建LVM&#xff0c;LVM的快照以及RAID的相关配置。对于普通的分区&#xff0c;扩展度不高&#xff0c;一旦分区格式化完成&#xff0c;很难灵活的再增加或者减少分区大小。为了解决这个问题&#xff0c;可以使用LVM&#xff08;逻辑卷&#xff09;。基本过程是…

13个圆可以画什么?数学与艺术完美邂逅!原来数学也可以这么美

全世界只有3.14 % 的人关注了爆炸吧知识你知道吗&#xff1f;Twitter logo 原来是13个圆画出来的&#xff0c;果然设计师们都是牛逼的存在&#xff01;受到 Twitter logo 设计方式的启发&#xff0c;加拿大艺术家多洛塔潘科夫斯卡决定尝试挑战自我&#xff1a;利用同样的方式&a…

温故知新,.Net Core遇见WinForms客户端窗体框架,在DotNet Core大一统基础上老树发芽...

什么是WinFormhttps://docs.microsoft.com/zh-cn/dotnet/desktop/winformsWindows窗体(Windows Form)&#xff0c;简称WinForms&#xff0c;是一个可创建适用于Windows的丰富桌面客户端应用的UI框架。Windows窗体开发平台支持广泛的应用开发功能&#xff0c;包括控件、图形、数…

a 寻路算法 java_A*(也叫A star, A星)寻路算法Java版 | 学步园

寻路首先要理解什么是A*寻路算法&#xff0c;可以参考这三篇文章&#xff1a;下面为测试地图&#xff0c;0表示可以通行&#xff0c;1表示障碍物&#xff1a;要从点(5, 1)到点(5, 5)&#xff0c;通过A*寻路算法找到以路径为所示&#xff1a;在代码中可以修改障碍物&#xff0c;…

看到喜欢的人时的心跳​

1 第一次和女孩子约会的猫咪.......好羞涩啊2 我要吃蛋糕&#xff01;不给买我就不走了~3 感觉自己活得都没小螃蟹精致4 完美的过程5 漫画真人6 哈哈哈哈哈哈真实合理慌的一批7 人最大的烦恼就是记性太好&#xff01;你点的每个赞&#xff0c;我都认真当成了喜欢

ARM公版架构迭代迅速 国产ARM架构落伍

近年来&#xff0c;ARM CPU性能可谓是突飞猛进&#xff0c;根据ARM官方消息&#xff0c;Cortex A78 CPU最高性能比5年前推出的Cortex A73 CPU提升2.5倍。ARM下一代的Matterhorn架构及Makalu架构会相对于X1/A78这一代保持30%以上的IPC性能提升&#xff0c;如果ARM的PPT不注水&am…

java 匿名初始化_关于java匿名内部类初始化法

最近无意间发现一种对象的初始化方法&#xff1a;匿名内部类初始化法List list new ArrayList(){{add("爱飘de小子");add("flyingkid");}};Map map new HashMap(){{put("name","爱飘de小子");put("age",24);}};还有这种操…

MemoryCache 使用不当导致的一个 BUG

MemoryCache 使用不当导致的一个 BUGIntro前几天发现代码里的一个 BUG&#xff0c;原因是 MemoryCache 使用不当&#xff0c;可以对于很多人来说可能都知道&#xff0c;但还是想分享记录一下&#xff0c;避免以后写出同样的 BUGSample直接来看下面的示例吧await using var serv…

22岁少年破解史上最严重网络攻击,拯救全球互联网,三个月后却被FBI逮捕

转自&#xff1a;大数据文摘编译&#xff1a;牛婉杨2017年&#xff0c;一位名叫Marcus Hutchins的少年从有史以来最严重的网络攻击事件“WannaCry 勒索病毒”中拯救了互联网。如果你是个geek&#xff0c;那么你对WannaCry这个名字一定不陌生&#xff0c; 这是一种可以自行传播的…

使用 Git Extensions 简单入门 Git

使用 Git Extensions 简单入门 Git—— 独立观察员 2015.11.25前言关于这个主题&#xff0c;之前我录了段视频教程&#xff0c;在本地看清晰度还可以&#xff0c;但传到优酷上就很不清晰了&#xff0c;即使是后来重制后还是一样不清晰&#xff0c;所以现在想整理成文字版。当然…

各省地图都像些什么?

全世界只有3.14 % 的人关注了爆炸吧知识人们常说中国地图的形状像一只雄鸡&#xff0c;但具体到每一个省区则并没有一个明确的说法。看看下面这一套省区地图对应的有趣的想象&#xff0c;你觉得像还是不像&#xff1f;★安徽有人说安徽像一只斜倒挂着的蝙蝠&#xff0c;你能看出…

Silverlight中摄像头的运用—part2

Silverlight 4 中摄像头的运用—part1将跟踪颜色视作输入 好了&#xff0c;我们能够跟踪到这个颜色了&#xff0c;那这么做的意义是什么呢&#xff1f;实际上&#xff0c;我们可以根据它的位置来移动东西。接下来的例子中&#xff0c;创建的一个球会跟随这个颜色一起移动。你可…

同学,解决下这个 Bug!

一些解决 Bug 的小技巧大家好&#xff0c;我是鱼皮。学编程的过程中&#xff0c;我们会遇到各式各样的 Bug&#xff0c;也常常因为它们而感到头秃。但随着你不断解决 Bug、积累经验&#xff0c;就会发现其实解决 Bug 也是有套路的。今天分享下鱼皮自己总结的解决 Bug 套路&…

如果给你一个亿,你想去干嘛?各专业的科研狗是这样回答的……

全世界只有3.14 % 的人关注了爆炸吧知识“如果现在给你一个亿&#xff0c;你想去做什么&#xff1f;”每天都被穷醒的小天一看到&#xff0c;立马展开了丰富的想象力&#xff1a;首先&#xff0c;当然少不了买买买&#xff0c;将一切之前想要的、不想要的&#xff0c;贵的、更贵…

头文件定义全局变量_5.2 C++局部变量与全局变量 | 输出局部全局变量

C局部变量C局部变量是指&#xff1a;在一个函数内部定义的变量&#xff0c;它只在本函数范围内有效&#xff0c;也就是说只有在本函数内才能使用它&#xff0c;在此函数以外是不能使用这些变量的。同样&#xff0c;在复合语句中定义的变量只在本复合语句范围内有效&#xff0c;…

java float转换成long_在Java中如何将float转换为long或int数据类型?

float f1.2f;double dDouble.parseDouble(String.valueOf(f));System.out.println(d);直接转换会设计到精度问题&#xff0c;所以需要借助字符串 保证不丢失数据www.shufadashi.com防采集。楼主您好&#xff0c;如果float是个整数&#xff0c;强制转换即可&#xff0c;可以捕捉…

Spark 1.2 发布,开源集群计算系统

2019独角兽企业重金招聘Python工程师标准>>> Spark 1.2 发布&#xff0c;此版本包括 172 位贡献者和超过 1000 个 commits。 此版本包括 Spark 核心操作和性能改进&#xff1b;添加新的网络传输子系统&#xff0c;进行了较大的改进&#xff1b;Spark SQL 引入了一个…

[转载].SSRAM、SDRAM和Flash简要介绍

转CalmBright兄的博文&#xff1a;http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.html Abstract 在用NIos II 调试sdram遇到了其容量计算的问题&#xff0c;现介绍如下 Introduction 问题1&#xff1a;什么是DRAM、SRAM、SDRAM&#xff1f; 答&#xff1a;名词…

调整 Docker 中 nginx 的日志级别

调整 Docker 中 nginx 的日志级别Intro最近发现我们的一个应用产生了很多日志&#xff0c;而这些日志大多都是 nginx 的 access_log&#xff0c;我们默认会把标准输出收集到 es 里分析应用日志&#xff0c;但是很多都是 access_log 就可能会掩盖掉真实的错误日志&#xff0c;所…

Oracle B-Tree Index 原理

一. B-Tree Index 原理 官网说明&#xff1a; No index structure can satisfy all needs, but the self-balancing B-tree index comes closest to optimizing the performance of searches on large sets of data. Each B-tree node holds multiple keys and pointers. The m…