高級目標是選擇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