전체 글
-
[Python] 주식 가격 데이터 불러오기, yfinance 사용법투자/파이썬 2023. 2. 18. 13:24
yfinance를 이용하면 야후 파이낸스에서 주식의 가격을 불러올 수 있다 그 외에도 회사의 정보나, 뉴스, 재무정보도 불러올 수 있다 여기서는 가격을 불러오는 법에 대해 알아보자 yfinance Download market data from Yahoo! Finance API pypi.org pip install yfinance import yfinance as yf df = yf.download('SPY') 두 개 이상의 종목을 불러올 수도 있다 띄어쓰기나 콤마로 종목명을 구분해주면 된다 yf.download('SPY QQQ')
-
[Python] 주식 보조지표 사용하기 - TA 라이브러리투자/파이썬 2023. 2. 17. 11:52
라이브러리를 이용하면 파이썬에서 주식 보조지표를 쉽게 사용할 수 있다. 여러가지 라이브러리 중에서 TA라는 라이브러리가 사용이 편리했다(TA-LIB과는 다른 라이브러리다) https://github.com/bukosabino/ta GitHub - bukosabino/ta: Technical Analysis Library using Pandas and Numpy Technical Analysis Library using Pandas and Numpy. Contribute to bukosabino/ta development by creating an account on GitHub. github.com 사용법 pip install ta import ta 위와 같이 설치한 뒤, 사용할 지표의 범주 - 지표 이..
-
[논문] 다양한 자산에서의 모멘텀 전략 성과투자/논문 2023. 2. 14. 21:57
Momentum Strategies for Asset Classes(Stan Scholten, 2022) http://tesi.luiss.it/34075/1/756021_SCHOLTEN_STAN%20THOMAS.pdf 모멘텀 전략이란? 모멘텀이란 "추세"를 의미한다. 모멘텀 전략은 추세를 이용한 전략이다 우리가 아는 이동평균선과 같은 추세가 아닌, 특정 기간동안의 수익률로 판단한다 예를 들어, 어느 종목의 1개월간의 수익률이 플러스라면 모멘텀이 있는 것이고, 낮다면 없는 것이다. 단순하다 그런 단순한 전략이 수익이 나는가? 난다. 주식에서뿐만 아니라 채권, 원자재, 외환 모두 시장을 이겼다. 단순히 3개월 수익률이 플러스인 자산을 매수하고 마이너스인 자산을 매도하는 것만으로 시장을 이겼다 모멘텀이 있는 ..
-
[논문] 가상화폐 시장에서의 팩터 투자투자/논문 2023. 2. 14. 17:03
Common Risk Factors in Cryptocurrency (Y Liu, 2022) 결론 가상화폐 시장에도 팩터가 존재할까? 결론부터 말하자면, 가상화폐시장에도 존재한다. 사이즈, 모멘텀, 볼륨, 변동성 팩터가 유효했다 시가총액이 작을수록, 모멘텀(추세)이 좋을수록, 거래량이 작을수록, 변동성이 낮을수록 초과수익을 낸다 연구 방법 시가총액이 1M 이상인 가상화폐의 2014년부터 2018년까지의 주별 데이터를 이용했다 모든 가상화폐의 데이터로 가치가중 인덱스(CMKT)를 만든 결과, 해당 기간의 주별 성과는 수익률 1.3%, 표준편차 0.117이었다 그 다음 크게 사이즈, 모멘텀, 거래량, 변동성으로 구분되는 25개의 팩터에 대해 검증했다 팩터에 대한 검증법은 아래와 같다 팩터 기준으로 투자대상을..
-
[논문] 동일가중 인덱스가 S&P500, 나스닥보다 나은 이유투자/논문 2023. 2. 12. 14:05
동일가중 인덱스란 우리가 아는 대부분의 인덱스(시장지수)는 가치가중(Value-weighted) 형태다. 시장 전체에 대한 시가총액 비중에 따라 구성된다. 규모가 더 큰 기업일수록 인덱스에 더 많이 포함되는 조금 더 논리적인 방법이다 동일가중 인덱스는 모든 종목을 동일한 비중으로 구성하여 산출된다. 이 방법은 무식해 보인다. 그러나 동일가중 인덱스가 가치가중 인덱스보다 더 나은 성과를 기록했다. 즉, 무식한 방법이 S&P500, 나스닥보다 나은 투자가 될 수 있다는 것이다. 왜? Why Does an Equal-Weighted Portfolio Outperform Value- and Price-Weighted Portfolios (Yuliya Plyakha et al, 2012)라는 논문은 동일가중, 가..
-
[Python] 샤프비율, 정보비율 계산하기투자/파이썬 2023. 2. 12. 11:55
샤프비율Sharpe Ratio, 정보비율Information Ratio은 초과수익률을 리스크로 나눈 비율이다. 즉, 리스크 대비 초과수익률을 나타낸다. 투자성과를 요약할 때 반드시 사용하는 지표 중 하나다 필요한 이유 투자에서 동일한 수익률을 기록했다고 해서 동일한 성과를 올렸다고는 할 수 없다. 수익률이 같다면 덜 위험한 투자가 더 뛰어난 투자라고 할 수 있다 그래서 리스크 대비 얼마나 잘했는가(risk-adjusted return)가 중요하고, 그 정도를 나타내는 비율이 샤프비율과 정보비율이다 계산법 샤프비율은 무위험수익률 대비 초과수익을 표준편차로 나눠서 계산한다. 무위험수익률은 단기 국채와 같이 리스크가 사실상 0인 투자의 수익률을 의미한다 정보비율은 벤치마크 대비 초과수익을 표준편차로 나눠서 계..
-
[Python] 주식 스프레드 계산하는 방법투자/파이썬 2023. 2. 11. 19:42
두 종목 사이의 가격 차이를 스프레드라고 한다. 주가가 절대적 가격을 나타낸다면 스프레드는 다른 종목 대비, 혹은 시장 대비 "상대적 가격"을 나타낸다고 할 수 있다. 필요한 이유 아무리 좋은 종목이라도 시장이 하락할 때도 상승하기는 어렵다. 그러나 시장 대비 적게 하락할 것이라고 예상할 수 있다. 하락장이어서 최근 3개월간 시장 수익률이 -10%였다고 하자. 이때 5%만 하락한 종목이 있다면 무엇인가 이유가 있을 것이라 추측할 수 있다. 이런식으로 상대적 가격을 나타내는 스프레드가 인사이트를 주기도 한다. 계산 스프레드를 계산할 때는 로그 가격을 이용하는 것이 편리하다. 로그 가격끼리 뺸 값이 두 기간의 수익률이 되기 때문이다. 현재의 주가가 100달러, 1년 전이 10달러라고 하자. 수익률을 계산하려..
-
[Python] 최대낙폭 MDD 계산하는 방법투자/파이썬 2023. 2. 11. 18:10
최대낙폭(Maximum Drawdown;MDD)은 이전의 가장 높았던 지점에서부터의 최대 하락폭을 의미한다. 필요한 이유 일반적으로 리스크를 나타낼 때는 표준편차, 샤프비율, 최대낙폭이 주로 이용된다. MDD는 투자시에 발생할 수 있는 가장 최악의 성과를 알려준다 주식이나 포트폴리오의 리스크(변동성)를 가장 직관적으로 나타낼 수 있다 코드 yfinance를 이용해 불러온 SPY의 종가를 통해 MDD를 계산해보자. 현재시점까지 해당 종목의 주가는 아래와 같다. 현재시점까지의 고점과 저점을 갱신해나가면서 낙폭(고점 대비 현재 가격을 퍼센트로 나타낸 수치)을 계산한다. 반복문을 통해서 계산하는 것이 직관적이지만 넘파이의 accumulate를 이용하면 더 빠르게 계산할 수 있다. def mdd(prices : ..