파이썬 6

[트레이딩] Optuna로 변동성 돌파 전략 Foward walk testing 구현하기

안녕하세요. 최근 많은 블로거들이 백테스트 결과와 전략을 공유하고 있어 많은 시스템 트레이더 분들이 관심을 갖고 계실 것입니다. 그중에서도 백석꾼님의 '직장인 전략'과 퀀스택스님의 '슈퍼 ETF 전략'은 특히 유명한 전략 중 하나입니다. ETF 시스템 트레이딩 연구소 : 네이버 블로그 ETF 트레이딩 연구 결과 기록을 위한 블로그입니다. 공지의 네비게이션 페이지를 이용하면 보다 쉽게 연구결과를 찾을 수 있습니다. since 2022-08-08 blog.naver.com Get the money : 네이버 블로그 Bill Staxx through Quant Quant + Bill Staxx = Quanstaxx blog.naver.com 오늘은 이러한 ETF 전략의 효과를 극대화하기 위해 활용할 수 있는 ..

Sysmetic trading 2023.05.22

[트레이딩] 클러스터링 기법을 이용한 롱숏 시스템 트레이딩(1)

이번 포스팅에서는 머신러닝 기법중 비지도학습인 클러스터링을 이용한 롱숏트레이딩에 대해 적어보겠습니다. 이 연구를 하게된 계기는 아래 논문때문인데요. 논문의 방법론은 아래와 같습니다. 1. 클러스터링 기법으로 KOSPI200 개별종목을 군집화 2. 군집 내에서 수익률 순위로 페어를 결정 3. 페어간 수익률 차이(spread)를 표준편차로 나타내 임계값을 넘으면 롱숏 전략 수행 백테스트결과는 아래와 같은데 훌륭해 보이죠? :: Journal of Korean Society of Industrial and Systems Engineering :: 1. 서 론 페어 트레이딩은 유사한 가격흐름을 지닌 두 종목 간의 스프레드를 활용하는 투자전략으로 주로 기업의 펀더멘털 보다는 주식 시계열 특성에 기반 한 통계적 차..

Sysmetic trading 2023.04.27

[트레이딩] Optuna를 이용한 시스템 트레이딩 전략 최적화

최근 네이버블로거 백석꾼님께서 직장인 트레이딩 전략을 올려주시고 계시는데요. 다른 시스템트레이딩 블로거님들도 검증을 해주시고 계시는데, 놀랍게도 백테스팅 하시는 분마다 우상향 그래프를 뽑아내고 계시네요. 전략이 상당히 robustness한 것 같습니다. 저도 같은 전략을 백테스팅을 해봤는데요, 파이썬에 Optuna라는 라이브러리를 이용하여 전략의 파라미터를 최적화하는 과정도 추가하였습니다. 우선 백석꾼님이 올려주신 로직 그대로 백테스팅을 진행해봤습니다. 조건은 아래와 같습니다. 매수 조건 (1 or 2) and (3 or 4) 1번 조건: 당일 저가가 전일 저가보다 높음 2번 조건: 당일 거래량이 최근 3일의 거래량 이동평균보다 낮음 3번 조건: 이동평균선과 현재 가격의 이격도(20일 이동평균 사용)가 ..

Sysmetic trading 2023.04.26

[Python] 업비트API로 비트코인 1분봉 가져오기

오늘은 업비트에서 비트코인 1분봉 데이터를 가져오는 코드를 작성해 보도록 하겠습니다. 조대표님이 만드신 pyupbit을 이용할 예정입니다. 관련 깃허브는 아래 링크 참고하세요. GitHub - sharebook-kr/pyupbit: python wrapper for upbit API python wrapper for upbit API . Contribute to sharebook-kr/pyupbit development by creating an account on GitHub. github.com 우선 데이터를 받기 위해 필요한 모듈입니다. from datetime import timedelta import pandas as pd import pyupbit import datetime as dt fro..

[Python] 삼성전자 PER, PBR 웹크롤링

이번 포스팅에서는 주식 종목의 PER, PBR을 웹에서 크롤링하는 법을 알아보겠습니다. 웹크롤링 주의사항 웹크롤링할때는 주의할 점이 몇 가지 있는데, 아래와 같습니다. 1. 반복문 적용시 Sleep을 걸어주어 웹서버에 부하가 걸리지 않도록 해야 함(block 방지) 2. 사전에 허락을 받은 것이 아니라면, 수집한 데이터를 상업용목적으로 쓰지 않아야 한다. 오늘 크롤링할 데이터가 있는 에프엔가이드(http://comp.fnguide.com/)에는 아래와 같은 경고문구가 있으니 참고하세요. 사이트의 웹크롤링 허용 범위를 보려면 홈페이지 url 맨 뒤에 /robots.txt 를 붙여보면 되는데요, 확인 결과 특정 페이지만 네거티브하게 Disallow를 하고 있네요. 자세한 설명은 유대표님이 쓰신 파이썬으로 배..

[Python] 정규표현식(regular expression)

정규표현식(regular expression) 정규표현식은 문자열에 대한 패턴을 분석하는데 쓰이는 문법입니다. 예를 들어서 뉴스를 크롤링할 경우 뉴스 내용과 필요없는 기자의 이메일주소를 삭제하는데 정규표현식이 쓰일 수 있습니다. 정규표현식은 '메타문자' 때문에 헷갈리고 어려운 경우가 많은데요, 메타문자는 문자가 그 뜻이아니라 특별한 용도로 사용되는 문자를 뜻합니다. 정규표현식에서 사용되는 메타문자의 예는 다음과 같습니다. r은 뒤 문자열을 그대로 반환 [ ]는 문자들의 범위 [abc]의 의미는 ‘a,b,c’중 하나의 문자와 매치 [0-5]는 [012345]와 동일한 의미 [0-9] : 모든 숫자 [a-z] : 모든 소문자 [A-Z] : 모든 대문자 [a-zA-Z0-9] : 모든 알파벳 문자 및 숫자 \d..