Loop through tables in a cell array

4 ビュー (過去 30 日間)
Fabian Niederreiter
Fabian Niederreiter 2021 年 4 月 6 日
コメント済み: Star Strider 2021 年 4 月 6 日
I have two 41x1 cell arrays 'DS_10B' and 'DS_10T' containing 41 different tables each. The tables contain stock return data from column 4 onwards. (find the data attached)
First I want to loop through all tables of the array 'DS_10B' and calculate the mean stock return. I don't care about the mean return per table or column but only need the overall mean return of all the combined data in the array.
Then I want to repeat the exact same procedure for the other array 'DS_10T'.
I already managed to calculate the mean of one single table's stock return data with this:
% Extract test table
t = DS_10B{1,1};
% Extract relevant columns of test table
% Get all columns with stock return data of table as a column vectors of doubles
lastColumns = t{:,4:end};
% Reshape into one single column in order to calculate mean
lastCo = reshape(lastColumns,[],1);
% Mean the last column but use omitnan
mean_table = mean(lastCo,'omitnan');
Would be delighted if someone could help me with the for loop.
Thanks a lot in advance!

採用された回答

Fabian Niederreiter
Fabian Niederreiter 2021 年 4 月 6 日
Managed to solve it myself! :)
Here's my solution for everyone with a similar problem:
%% Mean Bottom Portfolio
meanDS_10B = NaN(1,numel(DS_10B));
for k =1:numel(DS_10B)
t = DS_10B{k,:};
% Extract stock data columns of every table
lastColumn = t{:, 4:end}; % Get all columns with stock return data of table as column vectors of doubles
%reshape into one single column in order to calculate mean
lastCo = reshape(lastColumn,[],1);
% mean the last column but use omitnan
mean_column = mean(lastCo,'omitnan');
meanDS_10B(k) = mean_column;
end
% Average all Means
avgRET_Bottom = mean(meanDS_10B,'omitnan');
  3 件のコメント
Fabian Niederreiter
Fabian Niederreiter 2021 年 4 月 6 日
No problem man! You helped me with a lot of my previous steps. I appreciate that a lot.
And once again apologies for the misunderstandings. I honestly did my best in describing my problem, but with english not being my native language and me not being that familiar with Matlab yet, I understand that it can be a bit difficult to understand at times... :)
Star Strider
Star Strider 2021 年 4 月 6 日
No worries!
My problem is that although I was active in the U.S. stock market many years ago (out for more than a decade), I never did any technical analysis, and since economics and such is far from my areas of expertise, had no idea what you wanted. The MATLAB-related stuff was straightforward, everything else, not so much.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by