使用100个股票Matlab的每日数据计算月度回报

时间:2014-04-25 22:05:28

标签: matlab stocks

我正在处理1970年至2012年期间100只股票的每日回报。问题是我想计算每年每只股票的月回报率。我拥有的数据是一个单元阵列1x100股票,对于每个股票单元格,我有另一个包含日期的单元格数组,一个带有每个日期的股票回报的双精度向量和带有股票的股票代码的单元格数组。 为了解决这个问题,我正在考虑做以下事情:

for r=1:1:100 

    name=res.ticker{1,r};
    for t=1:1:length(res{1,r}.dates)

        for j=1970:1:2012

              fecha=datestr(res{1,r}.dates(t),'yyyy/mm/dd');
              year =fecha(1:4);
              month = fecha(6:7);
              anio= num2str(j);

              if (strcmp(anio,year)==1)

                  switch month 

                      case '01'
                          if (isnan(res{1,r}.cs(t))~=1)
                              return1=[return1;res{1,r}.cs(t)];
                          end
                      case '02'
                          if (isnan(res{1,r}.cs(t))~=1)
                              return2=[return2;res{1,r}.cs(t)];
                          end
                           .
                           .
                           .
                      case '12'
                          if (isnan(res{1,r}.cs(t))~=1)
                              return12=[return12;res{1,r}.cs(t)];
                          end 
                    end

             else

                    prom1=mean(return1);
                    prom2=mean(return2);
                    .
                    .
                    .
                    prom12=mean(return12);

                    ansyear=[prom1;prom2;...;prom11;prom12];

             end

        end

    end    

end

我想要的结果是一个单元阵列1x100,其中每个单元格有1x42(这些是我拥有的42年数据),在这42个单元格中有12x1向量,每个月的回报均值。我希望我能让自己明确,提前非常感谢你。 最好,汤姆。

0 个答案:

没有答案