Python(12)
-
matplotlib.pyplot
pd.options.display.float_format = '{:,.2f}'.format pred_lasso = pd.DataFrame(lasso.predict(x_test), index=x_test.index, columns=['pred_lasso']) pred_ridge = pd.DataFrame(ridge.predict(x_test), index=x_test.index, columns=['pred ridge']) # ======================================================================================== # LASSO df_plot = pd.concat([y_test, pred_lasso], axis=1).sort_index()..
2021.09.03 -
[Visualization]Correlation Matrix
import matplotlib.pyplot as plt import numpy as np import seaborn as sns import matplotlib.font_manager as fm def correlation_matrix(df, title='', num_size=15, font_scale=2): sns.set(font_scale=font_scale) fm.get_fontconfig_fonts() font_location = 'C:\Windows\Fonts\KoPubWorld Dotum Medium.ttf' # font location font_name = fm.FontProperties(fname=font_location).get_name() plt.rc('font', family=fon..
2021.08.18 -
[Python]Moving Average & Disparity - 1. 종류
주식 시장에 관심을 두거나 주식 시장에서 매매 경험을 해 본 사람이라면 이동평균선과 이격도에 대해 들어보았을 것이다. 차트를 분석하는 사람들이라면 거의 빼놓지 않고 보는 지표이다. 필자는 차티스트가 아니지만 실제로 주식 매매에 참고하는 지표 중 하나이다. 실제로는 단순히 이동평균을 이용하지 않고 현재의 주가가 이동평균과 얼마나 떨어져 있는가, 즉 이격도를 초점으로 둔다. 1. 이동평균(Moving Average; MA)의 종류 이동평균에도 다양한 종류가 있는데, 세 가지만 알아보겠다. '단순 이동평균', '가중 이동평균', '지수가중 이동평균'이다. 1. 단순 이동평균(Simple Moving Average; SMA) 단순 이동평균은 데이터의 시점과 상관없이 산술평균을 취한 것이다. $t_0$ 시점에서 ..
2021.07.27 -
yfinance | Empty DataFrame 오류 해결하기
yfinance 이용 시, 특정 데이터에 접근할 경우 Empty DataFrame이 반환되는 경우가 있다. 아래와 같이 말이다. 이는 yfinance 소개 및 설치의 '단점' 부분에서 서술한바와 같이 Yahoo Finance의 홈페이지 레이아웃이나 디자인이 변경된 경우 발생할 수 있는 문제이다. 현재 발생한 문제의 해결방법은 다음과 같다. 1. yfinance가 설치된 경로에 접근한다. (예: C:\Anaconda3\envs\[가상환경 이름]\Lib\site-packages\yfinance) 2. base.py 파일을 편집기를 이용하여 연다. 3. '# holder'를 검색하여 아래의 두 줄을 다음과 같이 수정한다. (283번째 라인 즈음에 위치) # 아래의 라인을 붙여넣기! url = "{}/{}".f..
2021.01.14 -
statsmodels을 이용한 Ordinary Least Squares Regression
statsmodels을 이용하여 OLS 회귀를 실시하여 보자. 이하의 내용은 아래의 링크를 참고(사실상 번역)하였다. OLS Regression과 classical assumptions을 알고 있으면 이 글을 이해하는 데에 도움이 될 것이다. Ordinary Least Squares — statsmodels Ordinary Least Squares import numpy as np import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std np.random.seed(9876789) OLS esti..
2021.01.06 -
Algorithm | 피보나치 수
# 첫 시도: 재귀를 이용 def fibonacci(n): if n == 0: return 0 if n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) 위 코드의 경우 $n$이 크지 않은 경우 잘 작동하지만, $n$이 30을 넘어가면 시간이 매우 오래 걸린다. 이는 구조상 내부에서 함수를 매우매우매우 많이 반복해야하기 때문이다. # 메모이제이션 def fibonacci(n): numbers = [0, 1] # 처음 두 개의 피보나치 수 for i in range(1, n): numbers.append(numbers[i] + numbers[i-1]) return numbers[n] 위 코드의 경우 피보나치 수를 원소로 하는 리스트를 생성한 후 계속..
2021.01.04