Excel (Excel 통합 문서의 시트 5 ~ 19에 포함 된) 시계열 데이터를 읽을 수있는 다음 코드가 있습니다. 각 워크 시트의 제목은 "TS"이고 그 뒤에 시계열 번호가옵니다. 이 프로세스는 한 가지를 제외하고는 훌륭하게 작동합니다. 모든 시계열이 5로 시프트된다는 것을 알면 반환 값을 연구합니다. 즉 TS 6은 "반환"데이터의 11 번째 열이되고 TS 19는 5 번째 열이됩니다. TS 15 첫 번째 열 등이됩니다. 나는 TS1이 첫 번째 열에 있고, TS2가 두 번째 등의 순서로 존재해야합니다. 이것은 워크 시트 ("자산 목록")는 후속 코드 전체에서 실제 주문을 유지합니다. 그러므로 내가 타이틀과 리턴을 재결합 할 때 그들은 일치하지 않는다는 것을 알게된다. 예를 들어 4 열에 "TS 4"라는 제목이 있지만 실제로 TS 18의 데이터가 포함되어있을 때 더 복잡한 조작이 필요합니다. 이 코드에 뭔가 잘못된 점이 있습니까? 매수 통해Matlab의 Excel 시계열 읽기 및 결합 - 주문 유지
FirstSheet=5;
[~,AssetList] = xlsfinfo(XL);
lngth=size(AssetList,2);
AssetList(:,1:FirstSheet-1)=[];
% 루프 VALUES에게
merge_count = 1;
for I=FirstSheet:lngth
[FundValues, ~, FundSheet] = xlsread(XL,I);
퍼센트 추출물과 날짜 데이터를 검색하고 결합하기 :
XL='TimeSeries.xlsx';
formatIn = 'dd/mm/yyyy';
formatOut = 'mmm-dd-yyyy';
Bounds=3;
[Bounds,~] = xlsread(XL,Bounds);
퍼센트는 XLS 파일의 워크 시트의 수를 결정 % (1에서 4까지 행의 불확도를 제거하려면)
Fund_dates_data = FundSheet(4:end,1:2);
FundDates = cellstr(datestr(datevec(Fund_dates_data(:,1),...
formatIn),formatOut));
FundData = cell2mat(Fund_dates_data(:,2));
% CREATE TIME SERIES FOR EACH FUND
Fundts{I}=fints(FundDates,FundData,['Fund',num2str(I)]);
if merge_count == 2
Port = merge(Fundts{I-1},Fundts{I},'DateSetMethod','Intersection');
end
if merge_count > 2
Port = merge(Port,Fundts{I},'DateSetMethod','Intersection');
end
merge_count = merge_count + 1;
end
퍼센트이 아마 merge
때문이다 포트폴리오를
Returns=tick2ret(Port);
q = Portfolio;
q = q.estimateAssetMoments(Returns)
[qassetmean, qassetcovar] = q.getAssetMoments
을 : 또는 0으로 SortColumns를 설정하여 데이터를 병합 읽기/순서를 유지하기 위해 강제? 또한 Matlab 2013b에 액세스 할 수 있습니까? 왜냐하면 새로운 [readtable'] (http://blogs.mathworks.com/loren/2013/09/10/introduction-to-the-new-matlab-data-types-in-r2013b/)을 확인해야하기 때문입니다. # fe5c445a-1e68-4a44-ab40-d9cc90438539) 명령을 사용할 수 있습니다. – Dan
2011 년 있습니다. 날짜 행과 시계열을 올바르게 정렬합니다. 그러나 단지 기둥을 따라 이동합니다. 너무 많은 문제는 아니지만 "경계"시트에는 통합 문서의 워크 시트 순서대로 데이터 만 포함될 수 있습니다. 이로 인해 잘못된 상한/하한이 잘못된 시계열에 지정됩니다 (예 : TS 1에 대한 경계가 TS 5에 적용되는 식으로 계속됩니다. – Mary
이 정렬 오류가 발생하는 곳을 정확히 따르는 것은 여전히 어렵습니다. 아마도 당신이 당신의 코드에서 사용하는 변수 이름의 용어에서 잘못 정렬 된 것이 무엇인지 질문에 추가 할 수 있습니까? – Dan