【发布时间】:2015-01-20 01:54:48
【问题描述】:
11/24/14 - 如下......
仍在尝试解决这个问题 - 通过创建一个可以滚动通过较大数组的较小数组是否会更容易? ...然后可以对整个小阵列进行任何必要的计算。
我无法弄清楚如何仅隔离数组的(滚动)子集。滚动子集可用于移动平均线、标准开发、最大/最小等。
11/21/14 - 我做了几次尝试,这是最新的迭代。在循环通过最小周期 (stdev_periods = 10) 之前,它不应该产生有意义的输出。
--pct_chg_array() 是一个数组,其中包含来自i=2 to i = 2541...的百分比变化数据,声明为变量
--stdev_periods = 10 ...声明为整数
--i 是一个计数器...声明为整数
--stdev_array() 是一个空数组,我希望用滚动 n 周期范围的标准差计算来填充它...声明为变量
--Option Base 1 和 Option Explicit 开启
For i = 2 To 2541
If IsNumeric(i) And i <> 0 Then
stdev_array(i, 1) = Application.WorksheetFunction.stdev(Range(pct_chg_array(i, 1).Offset(-stdev_periods, 0), pct_chg_array(i, 0)))
Else
stdev_array(i, 1) = 0
End If
Next i
任何指导将不胜感激。谢谢!
----编辑----
为了简化,这就是我在工作表公式中的表达方式...
=IF(ISNUMBER(OFFSET($E3,-stdev_periods+1,0)),STDEV(OFFSET($E3,0,0,-stdev_periods)),0)
..."stdev_periods" = 10 和 E 列保存 1 个周期 %chg 数据 (ie =$E3/$E2-1)。
【问题讨论】:
-
您认为您可以更改变量名称以反映它们在标准偏差公式中所起的作用吗?这可能对我们有帮助。谢谢。
-
好建议 - 希望它现在更容易阅读。泰。
-
更大的图景 - 我正在尝试分析股票的价格时间序列数据,并被建议收集和操作 3D 数组中的数据。我是 VBA 的新手,所以我只是想一次接一个。再次感谢。
标签: arrays vba for-loop offset