본문 바로가기

Quant16

백테스팅 - 보유 기간이 길어지면서 MeanBarsToHit가 커지는 현상에 대하여 안녕하세요. 주식 투자 관련 지식을 공유하는 인천고래입니다. 오늘은 이전 글에 이어서 백테스팅에 대해 알아볼 텐데요~그중에 보유기간에 따른 통계 데이터가 왜곡현상을 일으키는지에 대해 알아보는 시간을 가져보도록 하겠습니다.[Quant] - 백테스팅 - 보유 기간에 따른 수익 극대화(MeanRet & E-Ratio & MeanBarsToHit) 이전 글에서 MeanBarsToHit에 대해 언급이 되었었는데 60일을 보유할 경우 25가 나왔습니다.이는 평균적으로 25일 안에 목표 수익률에 도달했다는 의미입니다.즉, 25일 이내에 청산을 해야 좋다는 의미로 해석될 수 있습니다.맞나요? 반은 맞고 반은 틀린 상황입니다. 왜 그럴까요?예를 들어 확률상으로는 15일 이내에 목표가에 도달하는 경우가 50% 이상이라 하..
백테스팅 - 보유 기간에 따른 수익 극대화(MeanRet & E-Ratio & MeanBarsToHit) 안녕하세요. 투자 관련 지식을 공유하는 인천고래입니다.매매 타점은 동일하지만 보유 기간에 따라 수익률이 달라질 수 있는데이러한 경우에 보유하는 것이 좋을지? 단기간에 매도하는 것이 좋을지 모르는 경우가 많은데요. 오늘은 같은 진입 신호를 쓰더라도 최적의 보유 기간을 찾아서 수익을 극대화할 수 있는 방법에 대해 알아보도록 하겠습니다. 이번 글에서는 통계·수학 지식이 없어도 이해할 수 있도록 예제와 직관적 해석을 곁들여 차근차근 설명을 해 드리도록 하겠습니다. 1. 백테스팅(back-testing) 항목으로 어떤 것을 사용해야 할까?1-1. WinRate, PartialHit특정 로직에 의해서 특정 시점에 매수를 한 후 목표가(목표 수익)에 도달했는지를 체크하기 위해 두 가지가 필요합니다.첫 번째 목표 수..
백테스팅 필수 지표 완전 정복 — MFE·MAE부터 E-Ratio까지 한 번에 이해하기 안녕하세요. 투자관련 지식을 공유하는 인천고래입니다.자신만의 기법이 있는 분은 한 번쯤은 이러한 고민을 해 본적이 있을 것 같네요. “이 전략, 실제 시장에서도 통할까?”특히나 트레이더라면 한 번쯤은 고민해 보셨을 질문입니다. 백테스팅(back-testing)은 과거 데이터를 통해 전략의 성과를 미리 검증하는 과정인데요, 여기서 MFE·MAE·E-Ratio·BarsToHit·RangeReturn 같은 통계 지표들이 등장합니다. 문제는 이름만 봐서는 감이 안 잡힌다는 것! 이번 글에서는 통계·수학 지식이 없어도 이해할 수 있도록 예제와 직관적 해석을 곁들여 차근차근 설명합니다.1. 왜 ‘숫자’보다 ‘의미’가 먼저일까?‘수익률’ 한 줄만으론 위험과 기회를 동시에 보기 어렵다 – 같은 10% 수익이라도 최대 ..
자동매매 TLine 백테스팅 리포트(필터 단계별 성능·위험 분석) TLine 보조지표를 활용한 자동매매 기법에 대한 백테스팅 기록을 남깁니다. 1. TLine 2번 계열 보조지표 설정값필터 항목2-①2-②2-③2-④T2_DIR----curr_group_gain_rate+n -40 -35 prev_group_gain_rate++++ 2. TLine 2번 계열 4가지 변형 비교 (필터 단계별 성능·위험 분석) 구분 Signals Partial Hit % Win Rate % Mean ret % Avg MFE % Avg MAE % Mean Bars→Hit 특징 2-① (2109건)210958.5163.06+0.2213.82-9.7741.16기본 레퍼런스2-② (843건)84363.1165.60+0.7516.07-10.6236.29강한 필터 ①2-③ (832건)..
키움 openAPI 한글 깨짐 문제 해결 안녕하세요. 주식 투자 관련 지식을 공유하는 인천고래입니다. 금일 갑작스럽게 자동매매가 실행이 안되어서 확인을 해 보니 openAPI 모듈이 실행될 때 아래와 같이 한글이 깨지는 경우가 발생해서 아무리 재 부팅하고 API 모듈을 삭제 & 재 설치를 해 봐도 안 되더라고요.  그래서 키움증권에 문의한 결과 아래와 같의 순서를 따라하는 답변을 받았고 따라하니 한글 깨짐 문제가 해결이 되었습니다. 저와 같은 이러한 문제로 어려움을 겪을 수 있기 때문에 공유해 드립니다.감사합니다. windows 시작 버튼 옆 > ‘intl.cpl’ 입력 후 엔터2.Region > ‘Administrative’ tab > ‘Change system locale’ 클릭3.Current system locale > ‘Korea’ 선..
키움 API를 통해 분봉 데이터 가져오기 - kiwoom.block_request 안녕하세요. 주식 투자 관련 지식을 공유하는 인천고래입니다.오늘은 분봉 데이터를 연속적으로 가져오기 위해 꼭 알아야만 하는 block_request() 메서드에 대해 작성하도록 하겠습니다. 키움증권에서는 분봉 데이터를 API를 통해서 제공을 하고 있고 1년 치의 데이터를 보유하고 있습니다.즉, 1년 전의 데이터를 얻을 수 없으니 지속적인 업데이트를 해야 자기만의 주식 데이터를 만들 수 있습니다. 그리고 또 하나의 문제점은 Kiwoom API에서는 분봉 데이터를 요청할 때, 특정 기간을 명시적으로 지정하여 데이터를 요청하는 기능을 제공하지 않습니다. 올해의 데이터만 필요해서 2024년 1월 1일부터 2024년 6월 26일까지의 데이터를 요청할 수 없다는 것이죠. 대신, Kiwoom API는 최신 데이터부터..
키움API로 분봉 데이터 가져오기 (주식 데이터 수집 및 분석 , python 소스 코드 포함 안녕하세요. 주식 투자 관련 프로그램을 공유하는 인천고래입니다.금일은 일봉 차트가 아닌 분봉 차트 데이터를 키움 API를 이용해서 가져오는 소스 코드를 공유하고자 합니다. 퀀트 투자를 하기 위해서는 우선 데이터를 취합을 하는게 우선입니다.일봉 데이터는 쉽게 구할 수 있는 반면 분봉 데이터는 분 단위로 데이터가 발생되기 때문에 취합하는데 많은 시간을 할애를 해야 합니다. 일봉 하루치가 1분 봉 하나와 동일한 데이터이니 하루(6시간 30분간)의 1분 봉 데이터를 계산하면... 일봉 1년 치보다 많은 것 같네요.  그리고 퀀트 투자를 하고는 싶어도 데이터가 저장이 되는 데이터베이스를 잘 모르는 사람들이 대부분인데 이를 쉽게 활용할 수 있도록 많은 사람들이 사용하는 엑셀 파일로 저장하여 언제든지 쉽게 접근가능하..
자동매매 프레임워크를 Flask서버에서 FastAPI로 변경할 예정입니다. 안녕하세요. 주식 자동매매 프로그램을 개발 & 연구중에 있는 인천고래입니다.현재의 버전은 Flask서버에서 키움API를 연계하고 클라이언트 측에서는 HTML & Javascript로 UI를 구현하여 자동매매 프로그램이 구동되는 형식입니다. 다만, Flask 서버에서의 단점이 될 수 있는 동기식 방식이 키움API와 데이터를 요청 주고 받는 과정에서 시간이 지체되는 경우가 발생을 하고 비동기처리에 있어서 지연되는 부분이 존재하기 때문에 기본적으로 비동적 처리를 기본으로 지원하며 자동화된 문서 생성 기능을 제공하는 FastAPI 프레임웍으로 변경 예정에 있습니다. 이에 FastAPI와 Flask와의 장단점에 대해 기록해봅니다.  우선 Flask와 FastAPI는 둘 다 Python으로 작성된 웹 프레임워크이지..