高级目标是选择10只彼此具有最低相关性的股票, ,这样我可以有一个多元化的投资组合。使用Excel VBA,考虑到50只股票的每日价格,选择10只股票以使它们具有最小相关性
我已经设法编写了一些VBA宏从雅虎财务下载过去3年的每日价格数据,然后使用每日收盘数据计算50x50相关矩阵(使用Correl函数)。
我迄今试图只是一些局部的最大启发:
- 对于具有相互的相关性最高的两只股票,删除其中的一个。在两者之间,删除与所有其他股票的平均相关性更高的股票。
- 当我从池中删除一个股票,我只是删除相应的行和列,给一个更小的矩阵。
- 重复,直到我剩下10个股票(10x10矩阵)。
我想知道是否有一些算法,已经解决了这样的问题,并给出了最佳的解决方案?
没有什么比用你的储蓄信任VBA脚本... – 2010-04-15 15:55:36
好吧,嘿,VBA确实使用银行家的舍入...... :) – 2010-04-15 16:01:22