2014-10-14 2 views
3

재무 도구 상자에서 'tomonthly'기능을 사용할 수 있다는 것을 알고 있지만 매월 마지막 영업일 기준으로 기본 월별 데이터를 반환합니다.월별 금융 시계열을 추출하는 방법

대신 매월 첫 영업일을 원하면 어떻게해야합니까?

ftsFuture = fints (matlabDate, lnPrice); 
monthlyFuture = tomonthly(ftsFuture,'ED',1); 

하지만이 달의 1 일 작업 일 경우, 그것은 확실히한다는 의미에서 부분적으로 만 성공 : 나는 'ED'는 다음과 같은 방식으로 1로 설정하여 시도

, 근무일이 아니면 이전 근무일이됩니다.

나는 또한 다음과 같은 방식으로 0으로 설정하여 'BusDays'를 사용하여 시도했다 :

ftsFuture = fints (matlabDate, lnPrice); 
monthlyFuture = tomonthly(ftsFuture,'ED',1, 'BusDays',0); 

이 성공적으로 매월 첫째로 모든 항목을 강제하지만, 분명히 몇 가지로 정확하지 않을 수 있습니다 이 날짜는 분명히 근무일이 아닙니다!

모든 도움을 주시면 대단히 감사하겠습니다.

답변

0

매월 첫 번째 영업일에 시작하는 월별 기간으로 일별 재무 시간 시리즈에서 데이터를 추출하는 방법이 있습니다. 우리는 일련의 중간에 tomonthlybusdate 함수를 사용하여 날짜를 얻을 수 있습니다.

데이터가 특정 월의 시작 부분에서 시작되어 특정 월이 끝나는 것으로 가정하면 첫 번째 날짜를 추가하고 작업 후 마지막으로 얻게 될 날짜를 제거합니다.

ftsFuture = fints (matlabDate, lnPrice); 
monthlyFuture = tomonthly(ftsFuture); 
eomDates = monthlyFuture.dates ; % getting end of month business days) 
fomDates = busdate(eomDates) ; % getting first month bussines days) 
fomDates(end)=[] ; % deleting the last date in the array (out of range otherwise). 
firstday = ftsFuture.dates(1); % adding the first date of the series. 
fomDates = [firstday ; fomDates]; 
fomDates = datestr(fomDates); 
fomftsFuture = ftsFuture(fomDates); 
관련 문제