Excel VBA-使用字典并遍历日期

时间:2018-07-14 13:39:53

标签: arrays excel vba dictionary

我创建了一个excel,可以查看许多股票的历史每日数据,如果它们满足各种要求,则电子表格会创建一个信号,指示何时买卖该股票。我正在工作,输出的一个小示例如下所示(1是买入,-1是卖出):

           AAPL   ABBV   ABMD   GOOG    AMZN
11/07/2015            1     1       
12/07/2015    1                            1
13/07/2015           -1            1      -1
14/07/2015   -1            -1     -1    

我现在想设计一种分配资金给每笔交易的方法,每笔股票分配不大于$ 3,总投资组合不超过$ 9,所以分配给每只股票的方式为“ = min( 3,9 / n)“,其中n是投资组合中的股票数量。

例如,在上面的11/07中,将为ABBV和ABMD分配$ 3。然后在12/07,投资组合中现在有四只股票,因此将为每个AAPL和AMZN加$ 2.25(= 9/4),并且需要卖出$ 0.75的每个ABBV和ABMD,因此投资组合中的总金额为$ 9。在13/07,现在投资组合中将有两只股票,卖出2.25美元的ABBV和AMZN并购买3美元的GOOG。

第一行的股票数量会有所不同。我一直在研究解决此问题的最佳方法,并认为使用字典可能是最佳方法,在该方法中,我将股票名称指定为关键字。密钥的值将是分配给该股票的钱。然后,我可以遍历每个日期以检查是否需要进行交易。我是使用字典的新手,过去只使用过更多基本的vba,因此只想检查这种方法是否有意义,或者是否有更简单的方法?

希望我已经清楚要实现的目标。非常感谢!

1 个答案:

答案 0 :(得分:0)

我绝对喜欢词典,但在这里它们可能并不适合您。缺点:(i)每行都需要一个新字典。 (ii)您将如何保留数据?

我会随心所欲地处理数据表。当然,使用词典存储每个股票的列位置,这样就不会像在E列中那样硬编码GOOG。然后,只需保存工作簿,就可以将模拟持久保存到磁盘。

相关问题