글
[파이썬] 요일 찾기에서 주말 건너뛰기
거래소가 열리는 날은 공휴일과 특별한 일자를 제외한 주중입니다. 자동 매매 로직 중 어제 정보를 활용하는 경우가 있습니다. 이때 어제 값을 받을 수 있는 함수가 있으면 편리할 것 같습니다.
그래서 거래소 관점에서의 어제를 구하는 파이썬 함수를 만들었습니다.
어제 일자를 구하는 방법은 다음과 같습니다.
현재 시각의 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
'시스템트레이딩' 카테고리의 다른 글
차트 그릴 때 진입 위치를 표시하는 방법 (2) | 2020.07.22 |
---|---|
웹크롤링으로 관리종목, 거래중지 종목 구하기 (0) | 2020.06.05 |
[파이썬] Dart 공시정보 API를 이용한 실시간 공시정보 활용 (2) | 2020.05.24 |
웹크롤링 네이버 주식 상장기업 주가 (0) | 2020.05.23 |
웹크롤링 네이버 주식 오늘의 상승종목 (0) | 2020.05.23 |