Site Loader
오산시 슈아빌 , 오산시 모던하우스

날짜 계산방법

계산
계산

안녕하세요. Money Spec 입니다.

( 의외로 날짜계산 방법을 검색해서 이 곳을 보시는 분들이 많아서, 조금 더 보기 쉽게 내용을 수정했습니다. )

 

날짜계산법
no 계산법
1 ACT/ACT_ISDA 2 ACT/365 3 ACT/360 4 30/360 5 30E/360 6 360E_ISDA

 

날짜를 계산하는 방식은 중요합니다.

이자가 지급될 때, 날짜 계산 방식에 따라 차이가 생기기 때문입니다.

‘날짜계산’ 필요한지 이해하기 위해서 여러 가지 방법이 있습니다.

 

[상황1]

보통 은행 이자는 한달을 단위로 이자가 지급된다고 합시다.
그렇다면 31일이 한달인 경우와 30일이 한달인 경우, 그리고 28일이 
한달인 경우 은행은 이자를 어떻게 지급할까요?
사람마다 생각이 다를 수 있죠? 31일/30일/28일 이든 
모두 30일로 생각해서 30일치의 이자를 줄 수 도 있고, 
모두 해당 일수만큼 이자를 줄 수 도 있죠?

 

[상황2]

초등학생들에게 1년은 몇일 일까요? 라고 질문했을 때, 
99%는 365일 이라고 대답합니다.
저는 이 학생들에게 2017-01-01일에 100만원을 저에게 빌려주면, 
1년 뒤, 5%의 이자를 주겠다고 했습니다. 
물론 언제든지 자신이 100만원을 원하면 빌린 날짜 
만큼의 이자를 주겠다고 했습니다.
즉, 하루마다 이자가 계산이 됩니다.

하루마다 지급되야하는 이자(Coupon) =  (100만원) X ( 5% ) X (1/365)

그러면, A학생이 10일뒤 100만원을 찾아간다고 하면, 
저는 얼마를 줘야 하나요? 원금 100만원을 포함하여 
아래만큼의 이자를 추가로 지급하면 됩니다.

Coupon : 5% * ( 10일 / 365일 ) 
 
매우 상식적이요? 보통 365일에서 빌려준 일수 만큼의 이자가 계산됩니다. 
그런데, 보통 윤년인 해는 2월 29일 즉, 하루가 증가된 366일이 1년이 됩니다. 
2016년 1월 1일 에 100만원을 빌리고, 1년 이자를 5%를 주겠다고 했습니다.
  2017년 1월 11일에 이자는 얼마일까요?
Coupon : 5% * ( 10일 / 366일 )
 
즉, 어찌 되었던 해당 년도에서 지나간 날짜만큼을 해당
이자에 포함시키는 것이 매우 일반적이고 상식적인 생각입니다. 

하지만 모두 위와 같이 생각한다면, 우리는 날짜 계산 방법을 공부할 필요가 없습니다.

도시마다, 나라마다, 사람마다 날짜를 계산하는 기준이 다르다면?

양쪽에서 주고 받는 이자금액이 달라 질 수 있습니다.

때문에 날짜 계산에 대한 기준을 마련하고, 이번 계약의 이자지급은 이렇게 계산하자! 라고 정하는 것이 Day Count Convention 입니다.

 

그러면, Day Count Convention에 종류에 따라서, 어떻게 계산하는지 알면?

그걸로 끝입니다.

보통 Day Count Convetion의 방법은 무한합니다.

냐면 사람마다 정의하기 나름이죠.

하지만, 일반적으로 채권이나, 예금, 대출이자, 보통 금융거래에서 사용하는 날짜계산방법 중 일부를 알아보도록 하겠습니다.

덧붙여서 좀 고급지게 표현하면 “이자에 대한 일년 단위 길이“라는 표현도 있습니다.

 

  1. ACT/ACT_ISDA


제가 검색해보고, 이러한 뜻이 아닐까? 라는 생각으로 적습니다.

Act는 우리나라말로 “실제”일수를 말합니다.

즉 365일 중 몇 일 + 366일 중 몇 일 이것을 평년과 윤년을 나누어 적용 하겠다는 의미로 해석됩니다.

또한 뒤에 ISDA는 (International Swaps and Derivatives Association) 국제스왑파생상품협회를 의미합니다.

당연히, ACT/ACT 를 사용하는데 ISDA에서 사용하는 방법을 의미 하는 것 같습니다.

Excel VBA로 만들기 위해 조금 단계별로 설명하면, 아래와 같습니다.

( Excel VBA 는 함수를 자신이 정의 해서 사용할 수 있습니다.; 제가 VBA나 기타 금융상품 통계 분석 시 필요한 컴퓨터 코드 및 응용프로그램은 따로 카테고리에서 설명하도록 하겠습니다. )

모든 일자 계산에는 시작일부터 종료일이 존재합니다.

 

[Step 1]. 시작일과 종료일의 년도가 윤년인지 확인해야 합니다.  

             1)  [ 년도/4의 나머지가 0 이면 ] 윤년입니다.

             2) 하지만, [ 년도/100의 나머지가 0 이면] 평년입니다.

             3) 최종적으로, [ 년도/400 나머지가 0 이면 ] 윤년입니다.

             즉, 1)을 만족하면서, 2)를 만족하지 않고, 3)을 만족하면 윤년입니다.

             (이걸 그대로 자신이 할 수 있는 컴퓨터 언어로 코딩 하면 됩니다.)

            

[Step 2]. 시작일과 종료일의 윤년을 포함하는지 확인하여 각각 적용 합니다.

  • 평년이면 ( 실제 지난 일수 ) / ( 365 ) 로 계산합니다.
  • 윤년이면 ( 실제 지난 일수 ) / ( 366 ) 로 계산합니다.

조금 설명이 부족한데요, 예를들면 2016-01-02 부터 2019-03-01 까지의 날짜계산을 한다고 했을 때,

[1] 구간 : 2016-01-02 ~ 2017-01-01 일까지의 일수 / 366 (윤년이므로)

[2] 구간 : 2017-01-01 ~ 2018-01-01 일까지의 일수 / 365 (평년이므로)

[3] 구간 : 2018-01-01 ~ 2019-01-01 일까지의 일수 / 365 (평년이므로)

[4] 구간 : 2019-01-01 ~ 2019-03-01 일까지의 일수 / 365 (평년이므로)

[1]구간 + [2]구간 + [3]구간 + [4]구간 = 전체 년 단위 길이가 됩니다.

( 이건 제가 코딩 하기 위해서 나름대로 규칙을 정한 것 입니다. 제 규칙에 연연하시지 마시고, 여러분들이 다른 방식으로 계산을 하고 싶을 때, 그렇게 하시는 것이 도움이 됩니다. )

 

  1. ACT/365


날짜계산 방법 중 ACT/3650 에 대한 계산은 일수는 실제 일수를 활용하고, 이를 년 단위로 환산 시 모두 365일로 나눈다.

즉, 일년은 무조건 365일로 계산하고, 경과한 일수가 얼만큼이지? 라고 계산하는 방법이다.

위에서 계산한 방법보다 깔끔하죠? 왜 1번에 어려운걸 설명? 했냐 하면, 이 밑은 그냥 읽으면 바로 이해가 갑니다.

 

  1. ACT/360


날짜계산 방법의 ACT/360에 대한 계산은 아래와 같습니다.

일수는 실제 일수를 활용하고, 이를 년 단위로 환산 시 모두 360일로 나눈다.

즉, 일년은 무조건 360일로 계산하고, 경과한 일수가 얼만큼이지? 라고 계산하는 방법이다.

 

  1. 30/360


날짜계산 방법 중 30/360 인 경우, 아래의 식을 통해서만 일수를 계산한다.   

시작일 : Y_S년 M_S월 D_S일

종료일 : Y_E년 M_E월 D_E일

         

일수 = (Y_E – Y_S)*360 + (M_E – M_S)*30 + (D_E – D_S)

( 단, D_S = 31일 이면, D_S = 30 으로 계산합니다.

단, D_E = 31일 이고 D_S가 30 이거나 31 이면, D_E = 30 으로 계산합니다. )

이렇게 계산한 일수를 360으로 나눠주면 끝           

 

 

 

 

  1. 30E/360


날짜계산 방법 중 30E/260 인 경우 아래의 식을 통해서만 일수를 계산한다.   

시작일 : Y_S년 M_S월 D_S일

종료일 : Y_E년 M_E월 D_E일

         

일수 = (Y_E – Y_S)*360 + (M_E – M_S)*30 + (D_E – D_S)

( 단, D_S = 31일 이면, D_S = 30 으로 계산합니다.

단, D_E = 31일 이면, D_E = 30 으로 계산합니다. )

         

이렇게 계산한 일수를 360으로 나눠주면 끝           

 

  1. 360E_ISDA


날짜계산 방법 중 360E_ISDA 는아래의 식을 통해서만 일수를 계산한다.    

시작일 : Y_S년, M_S월, D_S일

종료일 : Y_E년, M_E월, D_E일

          

일수 = (Y_E – Y_S)*360 + (M_E – M_S)*30 + (D_E – D_S)

( 단, D_S = 31일 이거나 2월이 마지막날 이면, D_S = 30 으로 계산합니다.

단, D_E = 31일 이거나 2월의 마지막날 이면, D_E = 30 으로 계산합니다. )

이렇게 계산한 일수를 360으로 나눠주면 끝 

 

 

 

마치며,


‘날짜계산 방법’ 에 대해서 알아 보았습니다.

날짜 계산은 실질적으로 Coupon 주기에 따라서 달라지는 것도 있으며, 이러한 계산은 채권에서 사용하게 됩니다.

이부분은 채권을 다루게 될때, 다시 설명하는것으로 하겠습니다.

오늘 알아본 날짜 계산은 금융이 아니여도 다른 모든 분야에 적용이 가능하기 때문에, 알고 계시면 많은 도움이 될것 같습니다.

 

Post Author: smkim

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

Top