투자/파이썬
-
[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 위와 같이 설치한 뒤, 사용할 지표의 범주 - 지표 이..
-
[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 : ..