フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Help on creating a comma-separated list of financial time series objects

1 回表示 (過去 30 日間)
dave
dave 2013 年 12 月 14 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
I'm trying to create a list of comma-separated financial time series objects (fints), in order to pass it to the financial toolbox function merge(). I currently have a 500x1 cell array, where each cell contains one fints. Now I'd like to merge the closing prices (of each fints) into a final fints while keeping only the data points whose dates intersect. I've tried numerous ways to do that, but in the end all of them resulted in errors which said that somehing's wrong with the comma-separated list. This is my latest (ugly and non-working) attempt:
for i = 1:length(cellarray),
list{i} = strcat('cellarray{',num2str(i),'}.Close');
end
finalFints = merge(list{:},'DateSetMethod','Intersection');
Any help would be greatly appreciated...

回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 12 月 14 日
T = {cellarray.Close};
finalFints = merge(T{:}, 'DataSetMethod', 'Intersection');
You might need
T = cellfun( @(F) F.close, cellarray, 'Uniform', 0);
finalFints = merge(T{:}, 'DataSetMethod', 'Intersection');
  1 件のコメント
dave
dave 2013 年 12 月 14 日
編集済み: dave 2013 年 12 月 14 日
Thanks Walter, your second solution gives me the desired comma-separated list. However, due to the fact that the closing price series all have the same names , the merge () function obviously just collapses all of them into a single series. But since I would like to have all of the series in the final fints, I'm now trying to give each of the closing price series a unique name using the function chfield (). Is there a way to make your code solution work also with different series names?

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by