분류 전체보기226 백테스트 PC추가 계획 월말이 되면 기존 전략들의 최적 파라미터를 찾고 매매내역을 분석하려고 백테스트를 돌려보는데 거래 단위의 Timeframe을 10분에서 5분으로 2배로 늘렸더니 백테스트 시간도 고스란히 2배가 되었다. 결국 기존 포트들의 결과물, 변수 확인하고 다시 돌리고 또 확인한다음 다시 돌리고 거의 하루가 꼬박 걸렸다. 특히 해외선물은 비슷한 기간이라 하더라도 하루가 23시간이다 보니 국내 선물 대비 거의 3배가 걸린다. 아직 기존 해외선물 전략들 중 1개만 5분봉으로 컨버전(?)을 완료했는데 엄청난 소요시간에 머리에 쥐가 날 것 같다. 애초에 파이썬 자체가 느린 문제도 분명 있을 건데 이제와서 새로운 플랫폼을 쓰는 건 싫고, 내 능력으로는 할 수 있는 만큼 코드를 최적화해서 더 이상의 속도 개선은 무리가 있다. 멀.. 2021. 8. 28. 코스닥ETF전략 변경 및 8월 성과 8월 마지막주부터 국내선물 포트폴리오와 마찬가지로 모두 10분봉에서 5분봉으로 변경해서 운영했다. 바꾸는 과정에서 K1의 백테스트 성과가 크게 감소했는데 MDD를 줄여볼려고 바둥바둥대다보니 이런 결과가 나왔다. 그과정에 대기중이던 K5는 기존 로직을 폐기하고 다른 대안을 찾고 있는 중이다. 고로 아래 백테스트 결과 및 단리투자 가정의 자본그래프는 모두 변경 후의 전략 기반이고 실제 성과는 8월 마지막주만 변경된 전략을 반영한 결과이다. 변경전후로 추적해볼려다가 귀찮아서 덮어두었다. 계좌 상태가 그럭저럭 괜찮으면 어김없이 게을러진다. 지수가 크게 하락 이후 반등했기 때문에 큰 변동성 안에 먹을 것도 풍부했던 8월이었다. 예전처럼 인버스와 동시에 운영했다면 수익은 더 컸을 것 같은 아쉬움이 있다. 2021. 8. 28. 변화하는 시장 내 포트들은 전부 10분으로 설정해둔 Timeframe에서 움직인다. 10분마다 새롭게 전략위치를 계산하고 주문가격대를 결정한다. 왜 10분을 택하게 되었을까 너무 느리지도 빠르지도 않은 백테스트 속도와 슬리피지와 거래비용을 추가하면 할수록 망가지지 않는 적당한 거래회수, 보여주는 시간대에 이 정도인 것 같다고 생각했다. 지난 주 내내 데이터베이스를 새롭게 구축했고 좀 더 높은 정밀도와 오랜 기간의 데이터를 토대로 백테스트가 가능해졌다. 그래서 현재의 Timeframe보다 2배으로 정밀한(?) 5분봉을 가지고 새로운 코스피200 선물 Break-Out전략을 만들어봤다. 1. 전기간 최적화 (2011.06.17 ~ 2021.08.13) 대충 찍어낸 것치고는 괜찮은 흐름으로 보인다. 그런데 매수 및 매도 포.. 2021. 8. 16. 시장에서의 소음과 생각의 근원 아침에 일어나면 습관적으로 핸드폰을 열어 간밤의 환율과 해외증시 그리고 포털사이트에서 상위에 노출된 주식 관련 기사들을 확인한다. 그러나 나는 정말 궁금한 일부 기사를 제외하고는 절대 본문을 읽어보지 않는다. 그렇게 오늘은 어떤 기사들이 올라왔는지 확인하고 출근하면 거의 예외없이 그날 그 어떤 누군가는 그 기사 내용을 이야기하고, 단체 카톡방에는 그 기사의 링크가 올라온다. 심한 경우에는 만 하루도 되지 않는 시간 동안에 어떤 사람들은 기사의 내용을 그대로 온전히 본인의 사고로 받아들여서 마치 본인의 생각인 것처럼 주변에 이야기하고 그 이야기는 다시 주변 사람들에 의해서 확산된다. 이런 상황을 심심찮게 많이 보아왔다. 작년엔 대주주 양도소득세때문에 3/4분기부터 연말까지 주식이 폭락할 것이라는 괴담을 대.. 2021. 8. 6. 코스닥ETF전략 백테스트 및 7월 성과 7월 중순부터 계좌를 나누어서 테스트해봤는데 백테스트 시 매도 및 매수 시 5원씩 슬리피지가 생긴다고 가정한 것보다 양호하게 나오는 것 같다. 다섯 번째 전략은 최근 성과가 꺼림칙해서 보류 중이었는데 7월 성과 또한 가장 최악이었다. 구분 최종자본 MDD 승률 거래회수 최대수익 최대손실 7월성과 K1 1023% 6.57% 47.27% 1064 8.46% -1.86% -1.16% K2 1142% 7.16% 45.56% 799 9.27% -1.82% 1.32% K3 390% 6.61% 52.11% 568 6.11% -1.86% -1.12% K4 517% 6.26% 55.39% 399 8.44% -2.41% -0.54% K5 521% 6.64% 58.29% 410 13.02% -2.89% -1.80% 복리투자.. 2021. 8. 1. 7월 끝 2021년 7월... 가장 많은 비중을 차지하고 있는 국내선물전략들은 중반까지 순조로운 흐름이었으나 후반부에 무너져서 아쉽게도 수익금을 그대로 다 내주게 되어 결국 약간의 손실로 7월을 마감하게 될 것 같다. 제일 큰 문제는 코스피 선물 전략들이다. 작년 3/4분기부터 올해초까지 큰 수익을 안겨준 전략들의 수익곡선이 3월부터는 고점을 찍고 서서히 하락하는 패턴들을 보이고 있었다. MDD와 손실을 줄이기 위해 거래시간, 필터, 변수 최적화 등등 다 조절해봤지만 그럴 때마다 전략들이 번호표를 뽑고 기다렸다는 듯이 돌아가며 순차적으로 망가지고 있었다. 오늘도 가장 오래된 두 개의 전략은 사이좋게 MDD를 갱신했다. 고민을 하다가 미니 코스피로 상품을 변경하고 몇개 포트의 비중을 감소시켰는데, 최적화를 다시 해.. 2021. 7. 29. TA-Lib을 이용한 캔들스틱의 패턴인식 매번 이리저리 변수들을 바꿔서 백테스트를 하다 대충 우상향 하는 곡선을 뽑아내고 나온 결과물들을 곰곰히 살펴보면 결국엔 기존 전략들과 별반 차이가 없는 구조를 발견하게 되는 일이 많았다. 결국 어떤 스토리, 철학을 가지고 진입을 하느냐가 중요한 것 같은데 그런 측면에서 그동안 미루어왔던 캔들 유형에 따른 투자방법을 한번 생각해보기로 했다. 캔들 유형이 매우 다양해서 그 유형들의 특성들을 다 공부하고 이를 수식화하는 것은 단기간에 어려울 것같고 그냥 데이터베이스에 담긴 OHLC 자료를 TA-Lib을 이용해서 어떤 캔들 유형인지 판단, 해당 유형의 캔들이 출현하였을 때 단기적으로 투자한다고 가정할 경우 유형별 수익성, 복리투자를 가정한 자본, MDD 등을 산출해볼 것이다. 그런데 생각할수록 '패턴인식'이라니.. 2021. 7. 17. 주문사고 어제 오후 9시 반 그 시간대에 CPI지표가 발표가 있어 시장이 순간적으로 급락 중이었다. 곧 MNQU21 매수 4계약의 청산신호가 떠서 확인했더니 주문이 거부되었다는 SMS가 도착해있었고 프로그램은 종료상태...... 고객센터에 문의해서 상황을 파악해보니 시장가 주문이라 하더라도 주문접수시점과 실제 체결시점 간의 가격이 24틱 (MNQ의 경우) 이 넘게 차이날 경우 주문접수가 취소된다고 한다. 전혀 예상하지 못하던 상황이었다. 실시간으로 보유포트들의 손익을 계산하는 함수가 ZeroDivisionError를 뱉어내고 프로그램이 종료되어 버렸고 덕분에 코드를 일일이 다 찾아서 전부다 ZeroDivisionError 예외처리를 해주었다. 조금 이해가 안되는 점은 시스템 상의 손절가격은 14894이었고 로그에.. 2021. 7. 15. QEventloop QEventloop에 대한 이해가 부족해서 간단한 예시를 만들어 보았다. timer0, timer1, timer2를 순차적으로 등록 실행하고 1초마다 실행한다. timer0은 check변수를 1씩 더하고 10이 되면 QEventloop를 종료시킨다. timer1은 무조건 실행 timer2는 eventloop가 실행되고 있지 않을때만 print create_event_loop함수를 통해 QEventloop를 실행하고 이 이벤트루프가 timer0에 의해 종료되는 시점까지 create_event_loop함수는 대기하고 있다가 '이벤트루프종료'라는 메세지를 출력한다. run_other함수는 create_event_loop함수 내에서 이벤트루프가 종료되기 전에 실행되지 않는다. 1 2 3 4 5 6 7 8 9 1.. 2021. 7. 14. 이전 1 ··· 22 23 24 25 26 다음