분류 전체보기 160

[주식시황](1월 첫째주) 건설, 은행, 코로나 테마 성과 상위

1. 국내외 주요 인덱스 이번 주에는 천연가스가 11.92%나 올랐군요. 최근 몇 년간 금융시장에 영향을 많이 미친 러시아-우크라이나 전쟁 때문이지 아닐까 추측해 봅니다. 지난달 국내외 증시들이 모두 급락했던 것과 달리 전체적으로 상승 기조를 보였네요. 특히 홍콩지수는 6.33%로 국가별 지수중 최상위에 올랐습니다. 코스피 2.4%, 코스닥 1.42% 오르며 우리나라도 상승분위기에 동참했네요. 암호화폐도 이더리움이 4.9%, 비트코인이 1.87%가 올라 올해 기대감을 가지게 합니다. 2. 코스피 코스피에서 이번 주 상승률 1위는 삼성중공업 우선주가 차지했습니다. 우선주는 보통주보다 배당을 많이 받는 대신 의결권이 없는 주식이죠. 유통주가 별로 없기 때문에 보통주와 우선주간의 괴리가 크다고 알려져 있는데(..

Market 2023.01.08

[주식논문] 고빈도 자료를 이용한 머신러닝 모형의 예측력 비교 분석

이번에 리뷰할 논문은 고빈도 자료를 이용한 머신러닝 모형의 예측력 비교분석 이라는 논문입니다. 본 논문의 저자는 Lopez pe Prado의 Advanced Financial Machine Learning의 내용을 국내데이터에 적용하여 머신러닝 모형에 학습을 시킨 후 예측력을 평가했습니다. 특히, 주문흐름(order flow)를 통해 새로운 정보가 들어왔음을 확인하고, 이를 이용해 VIB(volume imbalanced bar)를 만들어 학습했네요. VIB가 미시구조상에서 갖게되는 의미는 아래와 같습니다. 주문 흐름은 매수주도 주문 거래량에서 매도주도 주문 거래량을 뺀 것이다. 매수주도 거래는 시장가 주문을 통한 매수 주문, 매도주도 거래는 시장가 주문을 통한 매도 주문이다. 정보를 가지지 않은 거래자들..

Read 2023.01.01

[연간결산] 2022년에는 어떤 주식이 올랐을까?

르세라핌의 안티프레질(antifragile)이라는 노래가 유행하고 있습니다. 안티프레질이라는 용어는 블랙스완(black swan)으로 유명한 나심탈렙이 쓴 용어인데요, 깨지면 깨질수록 강해지는 성질을 뜻한다고 합니다. 2022년 역대급 하락장이었죠. 많은 투자자님들이 손실을 겪고 있으실텐데, 23년에는 꼭 계좌가 떡상하길 바라겠습니다! 그럼 2022년 리뷰를 시작해보겠습니다. 1. 국내외 주요 인덱스 국내 외 주요 인덱스의 성과입니다. 맨 처음 보이는 것은 리플,비트코인,이더리움의 큰 하락입니다. 1년새 약 50~60%의 하락이 있었네요. 크립토 윈터가 빨리 지나가길 바랍니다 ㅠㅠ 상승쪽에서 두드러진 모습을 보인 것은 달러(USD)입니다. 달러는 엔, 원 ,유로 대비해서 모두 강세를 보여주었습니다. 반대..

Market 2023.01.01

[Python] OpenAPI로 주식 영업일, 휴장일 구하기

이번 포스팅은 주식장의 영업일과 비영업일을 구분하는 방법에 대한 것입니다. 트레이딩캘린더를 데이터베이스로 만들어 놓으면 주식이나 etf의 과거 기간성과를 쉽게 뽑아낼 수 있다는 장점이 있습니다. 휴일정보는 공공데이터포털(https://www.data.go.kr/data/15012690/openapi.do)에서 openapi를 이용하여 뽑아낼 거구요 나머지 일자는 pandas와 datetime을 통해 생성해보겠습니다. 개발에 앞서 미리 위 사이트에서 apikey를 신청해놓으시기 바랍니다. 휴일정보를 데이터프레임으로 반환하기 import requests import datetime as dt from bs4 import BeautifulSoup import pandas as pd from datetime i..

Programming 2022.12.31

[Python] 데이터프레임 차집합 구하기

데이터프레임을 다루다보면 두 데이터프레임간의 차집합을 구해야 할 때가 있습니다. 예를 들어 데이터베이스 테이블에 존재하는 데이터와 웹에서 크롤링한 데이터간의 차집합을 구해서 비어있는 값을 insert하는 경우가 있겠습니다. 중복키 에러를 피하기 위해서 입니다. 리스트에서는 set이라는 함수가 있어서 차집합을 쉽게 구할 수 있는데, 데이터프레임에서 구현하기엔 쉽지 않더라구요. 데이터프레임의 merge기능을 이용하여 두 데이터 프레임 간 key값을 조인한 뒤, 한쪽에 있는 데이터만 가져와 주면 쉽게 차집합을 구할 수 있습니다. 예제와 함께 진행해보겠습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt columns =['dat..

Programming 2022.12.30

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

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

Programming 2022.12.20

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

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

Programming 2022.12.17

[AFML] 데이터의 구조(달러바 vs 볼륨바)

이번 포스팅에서는 시간바, 볼륨바, 달러바의 통계적 특성을 알아보도록 하겠습니다. AFML에서 2장에서 중요하게 다루는 것은 시계열 데이터를 이벤트 드리븐 형태로 표현하는 것입니다. 시간바(timebar)는 아래와 같은 이유 때문에 머신러닝 학습에 좋지 않은 편향을 보일 수 있기 때문입니다. (1) 거래량이 적을때는 오버샘플링, 거래량이 클 때는 오버샘플링 (2) 계열상관, 이분산성, 수익률의 비정규성을 보임 우선 1분 단위 삼성전자 데이터로 미리 만들어 놓은 달러바(dollarbar) 볼륨바(volumebar)를 import시켰습니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt columns =['date','time'..

Sysmetic trading 2022.12.16

[주식논문] 주식 수익률의 일 중 주기성 연구

오늘 리뷰할 논문은 주식 수익률의 일 중 주기성이라는 논문인데요, 전일과 당일 동시간대 10분 수익률 간에는 주기적으로 나타나는 패턴이 있다고 주장합니다. 일 중 주식 움직임의 패턴을 찾는 것은 곧바로 수익과 직결되기 때문에 학계, 실무를 막론하고 꾸준히 연구되어 왔습니다. 대표적인 연구내용은 아래와 같습니다. (1) 개장 효과, 폐장 효과 장 초반에는 전일 폐장 이후 쌓였던 정보들이 한 번에 반영되기 때문에 높은 변동성을 보인다. 이후 변동성은 낮아지다가 장 후반에 변동성이 다시 커지는데, 이때는 펀드의 리밸런싱, 데이트레이더의 포지션 청산 등이 이루어지기 때문이다. 일 중 수익률에서도 같은 패턴이 나타난다. (2) 수익률 반전 현상 일 중 30분 단위 수익률에서는 반전 현상이 일어난다. 30분 수익률..

Read 2022.12.04

[주식논문] 오버나잇 퍼즐 전략의 수익성은?

야간(overnight)수익률이 일중(intraday) 수익률보다 높은 현상은 1970년대부터 꾸준히 연구되어 온 주식시장의 이례현상(anomaly) 중 하나입니다. 왜 이런 현상이 발생할까요? 이 논문의 서론에 따르면 주가갭 현상이 일어나는 이유는 다음과 같습니다. (1) 불일치(disaggrement) 가설 전일 폐장 시간부터 당일 개장시간까지 발생한 정보가 한꺼번에 시가에 반영된다. 이때 정보에 부정적인 견해를 가진 투자자는 공매도 제한(short-selling constraint)등으로 인해 공매도가 제한되는 반면, 긍정적인 견해를 가진 투자자는 자유롭게 매수를 할 수 있기 때문에 시가가 높게 체결된다. (2) 과잉반응(overreaction hypothesis) 가설 개장 직전까지 흘러나온 정보..

Read 2022.12.02