这是一个在Excel表格内使用的module,我不知道是不是格式错了还是哪里缺少条件,运行不起来
Public Function EWData(ADate As Date, Data As Range, EstWindSize As Integer, PreEventDays As Integer, PostEventDays As Integer)
Dim nRows, nCols, EventWindowSize, EstWindowStartPos, ADatePosition, EDay As Integer
Dim EventWindowData() As Double
nRows = Data.Row.Count
nCols = Data.Column.Count
EventWindowSize = EstWindSize + PreEventDays + PostEventDays
ReDim EventWindowData(1 To EventWindowSize, 1 To nCols + 1)
For i = i To nRow
If ADate = Data(1, i) Then
ADatePosition = i
Exit For
Next i
EDay = EstWindSize + PreEventDays
For j = 1 To nRows
If j = ADatePosition Then
j = j + 1
Exit For
End If
Next j
EstWindowStartPos = ADatePosition - EDay
For i = 1 To EventWindowSize
EventWindowData(i, 1) = -EDay
For j = 2 To nCols
EventWindowData(j, i) = Data(EstWindowStartPos, j - 1)
Next i
EstWindowStartPos = EstWindowStartPos + 1
EDay = EDay - 1
Next j
EWData = EventWindowData()
End Function
在这里我已经在表格里创建了功能:
UDF:EWData(ADate、Data、EstWindSize、PreEventDays、PostEventDays)
• ADate 是指为每个目标提供给您的公告/事件日期公司。
• 数据是指“日期到 Rm”列中的原始数据,相关的必须根据计划的事件研究期提取数据。
• EstWindSize 是指在估计期窗口中的天数之前事件周期窗口。
• PreEventDays 是指在活动期间的 Event-Day 之前的天数窗户。
• PostEventDays 是指事件日之后的天数。 在事件期间窗户。
最终效果:
事件研究的过程需要识别“估计期”和“事件期”周围的消息传来。
估计期是事件日期之前某些交易日的窗口。 它是用于确定给定股票收益通常如何使用回归的时期功能。 由此获得的统计数据进一步用于估计事件中的预期回报时期。 事件周期是事件日期周围某些交易日的窗口,以捕捉公司的实际回报。 事件中实际回报与预期回报之间的差异期间称为异常收益 (AR)。 AR 被解释为事件的影响,并且是事件研究的重点。窗户经过专门设计,可确保没有重叠否则会污染分析。
麻烦帮忙修改一下我的代码,谢谢各位了!
有几个语法错误
第11行少了end if
第21到28行的嵌套循环混乱,里面是j,外面是i,但next却相反