0

高级目标是从 50 只股票中选择 10 只相互关联度最低的股票,这样我就可以拥有一个多元化的投资组合。

我设法编写了一些 VBA 宏来从 Yahoo Finance 下载过去 3 年的每日价格数据,然后使用每日收盘价作为数据计算 50x50 相关矩阵(使用 Correl 函数)。

到目前为止,我所尝试的只是一些局部最大启发式:

  • 对于彼此相关性最高的两只股票,删除其中一只。在两者之间,删除与所有其他股票具有较高平均相关性的那只。
  • 当我从池中删除股票时,我只删除相应的行和列,以提供更小的矩阵。
  • 重复直到我只剩下 10 只股票(10x10 矩阵)。

我想知道是否有一些算法已经解决了这样的问题并给出了最佳解决方案?

4

2 回答 2

0

从您的描述中我不能完全确定,但我认为您想查看 STDEV 功能的帮助。更多信息也在这里

大多数人使用它来筛选异常,而您将筛选出非异常(这也是一个非常常见的用途,例如批量识别“问题案例”)。

于 2010-04-15T17:42:57.507 回答
0

MATRIX包有一些有用的功能,可以让您对主成分分析 (PCA) 甚至独立成分分析 (ICA) 进行更通用和更有原则的方法。

于 2010-08-17T14:20:21.893 回答