거래소가 열리는 날은 공휴일과 특별한 일자를 제외한 주중입니다. 자동 매매 로직 중 어제 정보를 활용하는 경우가 있습니다. 이때 어제 값을 받을 수 있는 함수가 있으면 편리할 것 같습니다.

 

그래서 거래소 관점에서의 어제를 구하는 파이썬 함수를 만들었습니다.

 

어제 일자를 구하는 방법은 다음과 같습니다.

 

현재 시각의 time_t 값을 구합니다. time_t값으로 현지 시각을 구합니다.

이때 현지 시각은 아래 구조를 가집니다. 여기에서 관심이 있는 값은 tm_wday 입니다. 월요일이 0으로 시작해서 일요일은 6의 값을 갖습니다.

우리가 구하고 싶은 어제는 86400초(하루)  값을 뺀 후 다시 아래 구조 값을 받으면 됩니다. 만약 월요일(tm_wday 값이 0)인 경우에는 토/일을 빼야하기  86400*3초(사흘) 값을 빼면 됩니다.

 

0

tm_year

(for example, 1993)

1

tm_mon

range [1, 12]

2

tm_mday

range [1, 31]

3

tm_hour

range [0, 23]

4

tm_min

range [0, 59]

5

tm_sec

range [0, 61]; see (2) in strftime() description

6

tm_wday

range [0, 6], Monday is 0

7

tm_yday

range [1, 366]

8

tm_isdst

0, 1 or -1; see below

N/A

tm_zone

abbreviation of timezone name

N/A

tm_gmtoff

offset east of UTC in seconds

이렇게 얻은 값에서 년,월,일로 원하는 형태를 만들어서 돌려주면 됩니다.

 

주식 시장 관점에서 어제를 구하는 함수는 아래 github에 있습니다. 추가로 해야할 일은 주식 시장이 열리지 않는 공휴일과 몇몇 특별한 날도 제외하는 부분을 추가하는 것입니다.

 

 

https://github.com/multizone-quant/system-trading/blob/master/get_yesterday

 

multizone-quant/system-trading

logics for system trading. Contribute to multizone-quant/system-trading development by creating an account on GitHub.

github.com

 

 

반응형

설정

트랙백

댓글