본문 바로가기

시스템 트레이딩/트레이딩 이야기

(29)
[주식투자] 2021년 증권 거래세 인하 - 백테스트로 알아보는 증권 거래세 인하의 영향 안녕하세요 이노도리입니다. 새해를 맞아 주식시장에는 큰 변화가 생겼는데요, 바로 증권 거래세의 인하입니다. 정말 말도 많고 탈도 많은 거래세입니다. (양도소득세와 거래세 때문에 정말 말들이 많은 2020년이었습니다.) 오늘은 이 거래세가 장기적으로 트레이딩 전략에 얼마나 큰 영향을 주는지 알아보려고 합니다. 사실 0.02%라고 하면 별로 크게 생각하지 않을 사람도 많다고 생각합니다. 0.25%에서 0.02%니까 겨우(?) 10%도 안 되는 값이니까요. 하지만 정말 그럴까요? 한번 그동안 많이 돌려봤던 백테스트를 통해 이 거래세 인하가 장기적으로 우리에게 어떤 영향을 끼칠 수 있는지 알아보도록 하겠습니다. 먼저 거래세는 거래 횟수가 많을수록 그 영향이 커질 것이기 때문에 많은 데이터를 가진 삼성전자 주가에..
[주식투자] 키움 OpenAPI 서버 문제 발생(?) - TR 조회 응답이 없을 경우에 대한 대응 처리 안녕하세요. 이노도리입니다. 오늘은 새해 첫 출근날이었습니다 ㅎㅎ 출근하니 사람들이 많이 없더라구요. 다들 휴가를 가서 돌아오지 않았었습니다. 출근한 동료는 웰링턴에서 로토루아, 오클랜드까지 운전하고 어제 도착했다고 합니다. ㅎㅎ 정말 엄청난 운전을 한 것 같더라구요. 피곤함이 저절로 느껴졌습니다. 그리고 오늘은 장이 10시에 시작하는 관계로 회사에서 조금 일찍 퇴근하고 트레이딩봇이 제대로 동작하는지 지켜보고 있었습니다. 그리고 장이 시작하자마자 OpenAPI의 TR 조회가 실행되었는데 황당하게도 조회 명령은 보내졌는데 서버에서 응답이 없었습니다. 아마도 장 극초반에 주문이 폭증하다 보니 서버에 부하가 걸린 것 같았습니다. 이렇게 또 하나의 버그를 발견하고 만 걸까요? 실제로 OpenAPI의 로그를 분석..
[암호화폐] 비트코인 백테스트 도구들(정리) - 웹에서 직접 돌려보는 백테스트 안녕하세요 이노도리입니다. 오늘은 정말 많은 포스팅을 작성했는데요, 모두 요즘 엄청난 상승으로 화제가 되고 있는 비트코인의 백테스트와 관련된 도구입니다. 이 블로그에 놀러 오시는 분들이 간단하게 백테스트를 돌려볼 수 있으면 어떨까 하고 만들어보기 시작했는데 이 작은 개인 프로젝트가 오랜만에 제 개발자의 혼을 깨우네요 ㅎㅎ 앞으로도 다양한 전략의 백테스트를 올릴 생각이랍니다. 혹시 요청하고 싶은 전략의 백테스트가 있으면 댓글에 남겨주시면 최대한 만들어서 올리도록 해보겠습니다. 먼저 오늘 올린 백테스트 도구들은 모두 4개입니다. 추세추종, RSI, RSI(2), 볼린저밴드입니다. 모두 매우 유명한 트레이딩 전략들입니다. 비트코인에 적용해봤을때는 아쉽게도 추세추종만이 그나마 쓸만한 결과를 보여주었습니다. 하지..
[주식투자] 삼성전자주식이 2002년 이후 트레이딩전략이 통하지 않게 된 이유 안녕하세요 이노도리입니다. 이전 포스팅에서는 삼성전자 주식에 변동성돌파를 적용해봤었는데요, 2002년 이후 갑자기 전략이 무너지면서 원금을 다 날려먹는 나쁜전략이(Evil strategy!!) 되고 말았습니다. 그 이유에 대해서 잘 몰랐기때문에 2002년 삼성전자에 무슨일이 있었는지 찾아봤답니다. (항상 공부하고 연구하는 이노도리입니다!) 그리고 이 뉴스를 발견하였습니다. 옵션은 내가 어떤 가격에 살 수 있는 권리를 말하는데 아무래도 이 콜옵션, 풋옵션이 주가 움직임에 영향을 준것 같습니다. 한번 머리속으로 시뮬레이션을 해보면 콜옵션과 풋옵션이 있으면 아무래도 옵션이 있으니 주가 변동에 제한이 있지 않을까 싶었습니다. 그래서 한번 주가의 표준편차/가격평균을 한번 구해봤습니다. 보이시나요? 2002년 1월..
[주식투자] 삼성전자 주가에 변동성돌파를 적용하면 어떻게 될까? (거래세가 폐지되면 좋은 이유..) + 양도소득세에 대한 생각 안녕하세요 이노도리입니다 :) 오늘은 요즘 매우 핫한 삼성전자 주가에 변동성 돌파를 적용해보려고 합니다. 먼저 삼성전자 데이터를 구해야겠죠? 저는 키움 영웅문의 차트를 통해 데이터를 구했습니다 ㅎㅎ 이 데이터에 변동성돌파를 적용해 볼 건데요, 변동성 돌파에 대한 설명은 이전 포스트에 설명해 두었으니 참고해 주세요 ㅎㅎ -> [주식투자] 엑셀로 간단한 변동성돌파 백테스트 해보기 - KODEX KOSPI ETF (tistory.com) 그럼 빠르게 결과를 보여드리도록 하겠습니다. 변동성돌파의 k값은 무난하게 0.5를 주었고 수수료는 0.3% 슬리피지는 양방향으로 0.1%를 주었습니다. 결과를 볼까요? 네 저도 놀랐습니다. 2002년까지 상승하던 이 전략은 이후 끝없는 하락을 거치면서 결국 자금을 0에 수렴하..
[주식투자] 볼린저밴드 백테스트 해보기 안녕하세요. 이노도리입니다. 오늘도 역시 보조지표로 백테스트를 해보려고 합니다. 아마 많은 분들이 들어보셨을 텐데요. 오늘의 보조지표는 바로 볼린저밴드입니다. 볼린저밴드는 평균값을 기준으로 표준편차만큼의 채널을 만들어 시세가 과도하게 상승하는지 과도하게 하락하는지를 판단하게 됩니다. 20일 기준 볼린저밴드는 다음과 같이 구합니다. 이동평균선 = 20일 종가 평균 상한선 = 이동평균선 + 20일 종가 표준편차 x 2 하한선 = 이동평균선 - 20일 종가 표준편차 x 2 이렇게 구한 상한선과 하한선을 이용하면 매수신호와 매도신호를 구해낼 수 있습니다. 매매신호는 많이 알려져있는 방식으로 정해보겠습니다. 매수신호 : 종가 상한선 이렇게 했을 때 백테스트 결과는 어떻게 나오는지 ..
[주식투자] 보조지표 RSI를 활용한 전략 백테스트 해보기 안녕하세요. 이노도리입니다. 오늘은 보조지표를 활용한 매매전략의 백테스트를 해보려고 합니다. 사용할 보조지표는 바로 Relative Strength Index(RSI) 지표입니다. RSI 지표는 주식투자를 하시는 분들이라면 아마도 한 번쯤은 들어보셨을 거라고 생각하는데요, 이 보조지표를 활용한 매매전략 역시 상당히 잘 알려져 있습니다. 그러면 백테스트를 통해 이 전략이 정말로 수익을 만들어내는지 한번 확인해보도록 하겠습니다. 먼저 RSI의 계산은 다음과 같이 이루어지게 됩니다. 평균은 14일 평균을 사용하였습니다. RSI = AU / (AU + AD) AU = 14일간의 상승 평균, (상승이 없으면 0) AD = 14일간의 하락 평균, (하락이 없으면 0) RSI 전략의 매매신호는 다음과 같습니다. 매수..
[주식투자] 20일선돌파(추세추종)는 정말 수익을 안겨줄까요? - 파이썬 백테스트 안녕하세요 이노도리입니다. 오늘은 한번 백테스트를 통해 기존에 많이 알려진 전략을 테스트해보려고 합니다. 아마 많은 분들이 주식 공부하다가 들어 보셨을 것 같은데요, 바로 20일선 돌파매매입니다. 보통 5일선이 20일선을 상향 돌파할 때 매수하고 5일선이 20일선을 하향 돌파할 때 매도하는 방법입니다. 많이 알려진 만큼 과연 이 전략의 성능은 얼마나 나올까요? 한번 코스피 200 ETF를 통해 살펴보도록 하겠습니다. 이 전략의 백테스트는 엑셀로 하기에는 조금 까다로운 부분이 있어서 파이썬으로 진행해보도록 하겠습니다. 짠! 코스피 데이터가 있다면 이 코드를 통해 쉽게 테스트가 가능할 것입니다. with open("data/kospi200.csv") as f: lines = f.readlines() # 코스..