1

我有以下数据/集(简化版本以使示例清晰):

  • 3*10由给定时期的数字标识的股票矩阵(3 只股票(我的投资组合),行 * 10 天(列),命名为 indexBest。
  • 10*10我的宇宙中每个证券的每个时期的回报矩阵,名为dailyret(我的股票宇宙是10)。

我想创建一个循环,在该循环中,我能够将每个投资组合的每个时期的总回报计算到一个理想的矩阵中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 个时段循环此过程?

4

1 回答 1

3

使用for循环并使用索引变量代替1示例代码中的硬编码。还索引输出以存储每天的结果。

for day = 1:10
    Portfolio_1_L = indexBest(:,day);
    Returns_1_L = dailyret(Portfolio_1_L);
    Sum_ret_Port_1_L(day) = sum(Returns_1_L);
end
于 2013-02-11T15:39:53.680 回答