1
我有以下的數據/套(簡化版使例子清晰):如何在matlab中循環多個期間的投資組合回報計算?
3*10
矩陣由多個在一定期間內確定股票(3股(我的投資組合)的行*通過10天(列)命名indexBest。回報的每個時期在我命名dailyret宇宙的每個安全10*10
矩陣(我的股票的宇宙是10)。
我想創建一個循環,我能計算每個時期每個投資組合的總和回報爲一個馬理想情況下爲trix 1*10
或10*1
(返回*日期,反之亦然)。
我已經爲投資組合完成了一個單一期間,請參閱下面的內容:但我希望能夠自動執行此過程,而不是在每個期間爲每個投資組合完成所有這些操作10*
。請幫忙!
Portfolio_1_L= indexBest(:,1); %helps me get the portfolio constituents for period one (3 stocks basically).
Returns_1_L= dailyret(Portfolio_1(:,1));%to calculate returns of the portfolio for period 1 I have referenced the extraction of returns to the portfolio constituents.
Sum_ret_Port_1_L=sum(Returns_1_L); %sum return of the portfolio for period one
我如何循環這個過程的所有其他9個時期?
當我爲我Sum_ret_Port_最終soultion輸入以下代碼的第一個組合的收益率是正確的,那麼第二個是一個奇怪的號碼,三是對於第二個應該是什麼等等......任何想法是正確的答案爲什麼? for day = 1:10 Portfolio_ = indexBest(:, :): Returns_ = dailyret(Portfolio_(:, :)); Sum_ret_Port_ = sum(Returns_); 結束 – 2013-02-11 15:57:22
您沒有在代碼中的任何位置使用'day'變量。您應該使用它來索引輸入和輸出。 – shoelzer 2013-02-11 16:23:16
你是指這個嗎? insteda的一天我使用我在這裏和M = 10。但我仍然沒有得到正確的結果...請糾正我或澄清....對於我= 1:M Portfolio_ = indexBest(i); Returns_ = dailyret(Portfolio_(i)); Sum_ret_Port_ = sum(Returns_(i)); 結束 – 2013-02-11 16:52:40