본문 바로가기
반응형

전체 글98

Python Script 최대한 빠르게 실행하는 방법 파이썬 스크립트를 실행하고나서 실제 매매까지 어느정도 지연이 발생한다. 파이썬 런타임도 메모리에 올라와야하고, 라이브러리 로드도 해야하기 때문이다. 필자는 기존 매매시에 5초이상 딜레이가 발생했다. 그래서 AWS 인스턴스 스펙을 늘려서 이를 극복하려고 했는데 굳이 그럴필요없이 특정시간에 매매하고 싶으면 그 전에 파이썬 스크립트를 돌리고, sleep을 하면 간단하게 해결 된다. current_time = time.time() time_to_sleep = (60 - (current_time % 60)) time.sleep(time_to_sleep) 만약 내가 10시에 정확히 매수를 하고 싶을 경우, 9시 59분에 스크립트를 실행해서 라이브러리 로딩 및 기타 시간에 관계없는 API 등을 미리 호출하고 바로 위.. 2021. 1. 17.
nginx reload와 keep-alive (부제: zero-downtime은 사기일까?) * 분석내용이 틀릴 수도 있습니다. 지적해주시면 감사하겠습니다. 해당 이슈를 얘기하기 전에 Ingress 리소스정보 변경에 따른 Ingress-nginx controller 의 config reload flow를 먼저 설명한다.예를 들어, Ingress의 host를 변경한다고 가정하자. 변경이 되면 Ingress 리소스를 watch하는 Ingress-nginx controller(nginx가 아니다!)에서 Ingress를 읽어 nginx.conf를 새로 만든다. 그리고나서 nginx -s reload 명령을 날리게 된다. 이 때, nginx 에서는 어떤 방식으로 config을 반영할까? 구글링으로 reload 시 내부적으로 일어나는 구체적인 flow를 찾을 수 있었다.serverfault.com/ques.. 2021. 1. 16.
증시 휴장일 API github.com/sharebook-kr/pykrx pip install pykrx from pykrx.website.krx.market import core core.MKD01023().fetch('2021')['calnd_dd'].tolist() 아래와 같은 포맷으로 나온다. ['2021-01-01', '2021-02-11', '2021-02-12', '2021-03-01', '2021-05-05', '2021-05-19', '2021-09-20', '2021-09-21', '2021-09-22', '2021-12-31'] 자주 호출하면 IP 블락을 당할 수 있다고 한다. (이럴때 클라우드가 좋긴하다. 껐다켜면 IP바뀜 ㅋ) 2021. 1. 10.
2020 하반기 및 전체 손익 결산 아래 링크는 상반기 손익결산devthomas.tistory.com/37?category=768642 하반기에도 엄청나게 지수가 폭등을 했지만(레버리지 기준 70%이상), 트레이딩은 완전 죽쑨 기간이었다. 실제 하반기 수익률은 2.5%를 기록했다. 상반기와 합쳐서 총 수익률은 20.2%였다.(기준지수는 1월대비 40%상승) 하반기 분석을 해보면, 7월 같은 경우는 전략과는 다르게 마이너스가 났다. 백테스트와 비교해보니 중간에 내가 뭔가 조건식을 바꾼듯하다.(앞으로는 한달마다 확인을 해봐야겠다)8월은 반대로 전략을 조금 일찍바꿔서 손해를 메꿨다. 백테스트상 마이너스인데 +로 마감했다.9월은 백테스트와 실제결과 모두 마이너스였다. 과최적 전략을 사용한게 되려 독이었다.10월에는 원래 전략으로 돌아왔지만 10월.. 2020. 12. 31.
시스템 트레이딩 윈도우서버 공짜로 운영하기 시스템 트레이딩을 위해서는 윈도우 서버를 이용할수 밖에 없는데(몇년 안에 리눅스 REST API가 지원되면 좋겠다. 공인인증서 안녕~) 집에서 간단하게 미니PC를 이용할수도 있지만, 몇가지 단점이 존재한다. - 불안정한 전원, 네트워크 공급: 이게 말이 되냐라고 생각할 수 있지만, 집에 있는한 누가 멀티탭을 끌수도 있고 네트웍이 안될수 있다. - 노후화: 시간이 지남에 따라 예상치 못하게 뻗을수 있다. - 해킹취약: 계속 켜놓고, IP가 고정되기 때문에(요건 경우에 따라 달라질 수도 있긴하다) 해킹에 취약해질 수 있다. 이에 비해 클라우드로 옮기면 위 단점들을 극복할 수 있다. 클라우드는 기본적으로 SLA(99.xxx %로 가용성을 보장)가 있기 때문에 장애가 거의 없다. IP는 계속 바꿀수 있으므로(껐.. 2020. 12. 12.
SW설계 시 고려해야 하는 사항 SW설계 방법론에서 다루는 얘기와는 다르다. 굳이 범주를 말하자면 Architectural Concerns 에 가깝다고 할 수 있다. 실제 개발시에 마주할수 있는 여러가지 이슈들을 최소화 하기 위한 나의 경험만으로 정의되는 사항들이다. 이 점을 참고하여 읽으면 좋겠다. 배포&롤백 SW를 배포할때 어떠한 방법으로 배포할 것인지를 수립해야한다. Blue-Green인지 canary인지 그로인한 기존 시스템 영향도는 어떻게 되는지, 배포시간이 얼마나 예상되는지, 그리고 배포하다 문제가 생겼을때 어떻게 피해를 최소화 하면서 롤백을 할 것인지 그에 따른 전략을 세워야 한다. 버전 업그레이드 이 SW가 나중에 업그레이드를 할때 어떻게 쉽고 빠르고 문제 없이 할것인가, 하위 버전과의 호환성도 고려해야 한다. 또한 데이.. 2020. 11. 18.
반응형