我有两个1x345阵列,包含历史价格和存储数据。虽然我可以手动计算整个阵列的相关系数,但我想计算不同时间偏移的多个相关系数。 (基本上,如果我延迟一个阵列1周,2周等,系数是多少)为了达到这个目的,我写了一个简单的VBA脚本(希望!)将“滞后”B列与静态A列相关联。目前,宏只返回0,1或-1的值,这显然是不正确的。
关于为什么CORREL功能正在推出这些圆形答案的任何想法?
Sub cor()
Dim i As Long, Astart As Long, Aend As Long
Dim Bstart As Long, Bend As Long
Dim cor As Long, offset As Long
For i = 2 To 346
offset = Cells(i, 3).Value
Astart = 2
Aend = 346 - offset
Bstart = 2 + offset
Bend = 346
If Astart >= Aend Then
Exit For
End If
Set arng = Range("A" & Astart & ":A" & Aend)
Set brng = Range("B" & Bstart & ":B" & Bend)
cor = WorksheetFunction.Correl(arng, brng)
Cells(i, 4).Value = co
Next i
End Sub