판다스(6)
-
4-2. [트레이딩 전략 구현] 볼린저 밴드 매매 기법 : 추세 추정 매매 기법
지금까지 볼린저 밴드, %b, 밴드폭이라는 지표를 살펴보았다. 이 외에도 실제로 투자를 할 때 참고해야할 여러가지 지표가 존재한다. 이번 장에서는 다른 지표에 대해서도 살펴보고 지표를 참고하여 매매 기법을 구현해보도록 하겠다. 추세 추종(Trading Following) Trend following or trend trading is a trading strategy according to which one should buy an asset when its price trend goes up, and sell when its trend goes down, expecting price movements to continue 출처 : https://en.wikipedia.org/wiki/Trend_foll..
2021.06.13 -
4-1. [트레이딩 전략 구현] 볼린저 밴드 지표
볼린저 밴드는 기술적 분석에서 사용되는 지표 중 하나로, 20일간의 이동 평균선과 이를 기준으로 형성된 상단선과 하단선으로 구성되어 있다. 주가의 상대적인 고점, 저점을 판단하는 기준으로 사용된다. - 상단 볼린저 밴드 : 중간 볼린저 밴드 + 2*표준편차 - 중간 볼린저 밴드 : 20일간 이동 평균선 - 하단 볼린저 밴드 : 중간 볼린저 밴드 - 2*표준편차 해당 프로젝트에서는 볼린저 밴드의 기준을 20일, 2배로 설정하였다. 이를 구현해보자. import matplotlib.pyplot as plt from Investar.MarketDB import MarketDB class bollingerBand: def get_bollinger_band(self, company, start_date): ###..
2021.06.13 -
3-2. [트레이딩 전략 구현] 샤프 지수(Sharpe Ratio)
샤프 지수(Sharpe Ratio)는 측정된 위험 단위당 수익률을 계산한다. 포트폴리오 수익률에서 무위험률을 뺀 뒤, 포트폴리오 수익률 표준편차로 나눈다. 효율적 투자선 내에서 위험률 대비 가장 높은 수익률을 얻을 수 있는 지점을 찾아보자. class efficient_frontier: def __init__(self, stock_list, start_date, end_date): self.daily_ret = [] self.annual_ret = [] . . . self.sharpe_ratio = [] #샤프지수 변수를 추가 . 클래스 멤버에 샤프지수를 나타내는 변수를 추가한다. def monte_carlo_sim(self, stock_list): for _ in range(20000): . . . s..
2021.06.12 -
3-1. [트레이딩 전략 구현] 효율적 투자선 구하기
주식 포트폴리오를 짤 때 전략 없이 종목을 구성하는 것이 아닌, 전략적으로 구성한다면 더 좋은 수익률을 거둘 수 있다. 그러한 지표 중 하나가 효율적 투자선(Efficient Frontier)이다. What Is Efficient Frontier? The efficient frontier is the set of optimal portfolios that offer the highest expected return for a defined level of risk or the lowest risk for a given level of expected return. Portfolios that lie below the efficient frontier are sub-optimal because they d..
2021.06.12 -
1-2. 웹 스크레이핑을 통한 일별 시세 분석하기
이번 장에서는 1-1에서 만든 함수로 추출한 데이터를 matplotlib으로 분석하고, 캔들차트 그리는 법을 알아보겠다. sise_url = 'https://finance.naver.com/item/sise_day.nhn?code=293490' total_data = read_total_data(sise_url, last_page) 상장한지 얼마안된 카카오게임즈 주식을 분석해보자. total_data = total_data.dropna() total_data = total_data[::-1] 혹시 있을지 모르는 null 값을 지우고, 최근순으로 정렬되어있는 인덱스를 역순으로 정렬하여 오래된 순으로 정렬하였다. spl_data = total_data.iloc[0:30] plt.title("Kakao Gam..
2021.05.29 -
1-1. 웹 스크레이핑을 통한 일별 시세 읽어오기
What is web scraping Web scraping is the process of using bots to extract content and data from a website. Unlike screen scraping, which only copies pixels displayed onscreen, web scraping extracts underlying HTML code and, with it, data stored in a database. The scraper can then replicate entire website content elsewhere. Web scraping is used in a variety of digital businesses that rely on data..
2021.05.29