1. 기술/통계, 시계열 7

주가 데이터 분석을 위한 로그 변환의 의미, ln(1+return)과 return의 실질적 근사(+파이썬 코드)

주가 데이터를 그대로 분석하기에는 여러 가지 제약이 있다. 단일 주가를 분석할 때에는 그 자체로 정상성이 확보되어 있지 않다는 점, 여러 주가를 비교분석할 때에는 각 종목마다 분포(스케일)가 다르다는 점이 대표적이다. 따라서 일반적으로 금융 시장 매크로를 분석하거나 머신러닝 모델을 구축할 때 price가 아닌 return을 활용하는 경우가 많다. 더 나아가 논문 수식이나 자료를 찾다 보면 단순히 net return(이하 return)을 쓰기보다 로그를 취한 ln(1+return)이 빈번하게 등장한다. 직관적으로 ln(1+return)은 return과 (거의) 같다. 정확히 말하면 로그 수익률 ln(1+return)은 연속복리 개념을 가정하므로 실제로는 수익률 단위가 분, 초, 밀리세컨드 이하로 내려가야만..

pandas - corr()

df.corr(method='s') reference document : pandas.DataFrame.corr 비선형 상관관계 : 스피어만 상관계수, 켄달타우 pandas 데이터프레임 객체에 대해 corr()함수를 사용할 수 있다. corr()은 누락값을 제외하고 전체(dataframe) 컬럼들 간의 상관도를 계산한다. 계산에 사용되는 상관계수의 default값은 pearson 상관계수로, 모든 변수가 연속형이고 정규분포를 띄는 경우 사용할 수 있다. 만약 정규분포를 따르지 않는 변수가 포함되어 있다면 보편적으로 spearman 상관계수를 사용한다. spearman 상관계수는 비모수적 방법 (모수를 특정 분포로 가정하여 접근하는 방법론) 으로써 값에 순위를 매기고 순위에 대해 상관계수를 구하는 방식이다..

Kolmogorov Smirnov

Kolmogorov Smirnov reference document : scipy.stats.kstest Youtube : 파이썬을 활용한 통계분석 - (33)콜모고로프-스미르노프 검정(Kolmogorov-Smirnov Test) 많은 통계 분석 기법의 경우 표본이 정규분포를 따른다라는 가정을 전제로 한다. 따라서 데이터를 다룰 때 각 컬럼이 정규분포를 띄지 않는 것을 확인했다면 반드시 정규화를 수행해야 한다. 또한, 정규화를 수행한 뒤 정규성 검사를 통해 정규성 조건의 충족 여부를 통계적으로 검증해야 하는데, 이 때 보편적으로 사용하는 기법 중 하나가 Kolmogorov Smirnov Test이다. Kolmogorov Smirnov Test는 정규분포 뿐만 아니라 특정 분포를 따르는지 판단할 수 있는 ..

statsmodels - ols

OLS - Regression reference 선형회귀분석 및 OLS document : Ordinary Least Squares Python 기초 통계 - 회귀분석 실시하기 회귀분석은 파이썬에서 제공하는 대표적인 통계 분석 패키지 statsmodels를 불러와 간단히 사용할 수 있다. import statsmodels.api as sm model = sm.OLS(y, X) # y : 종속 변수(시리즈), X : 독립 변수 집합(데이터프레임) result = model.fit() result.summary() 혹은, 함수 식 표현을 활용할 수도 있다. import statsmodels.api as sm model = sm.OLS.from_formula('y ~ x1+x2+x3', data=df) res..

범주형/연속형 변수 조합에 따른 가설 검정 방법

1. 단일변수 1-1. 연속형 정규성 검정 One Sample T-Test(일표본 평균검정) # One Sample T-Test : ## 귀무가설 H0 - 특정 값은 집단의 평균과 다르지 않다. (H0확률 = p-value, 0.05 미만이면 기각) ## 연구가설 H1 - 특정 값은 집단의 평균과 다르다. stats.ttest_1samp(Series, value) # 집단의 평균(Series) vs 검증하고자 하는 값(value) 1-2. 범주형 비율 검정(ex. 연구가설 H1-집단 내 남녀 비율은 차이가 있다) 2. 다변수 2-1. 범주형 'X' & 연속형(정규분포) 'Y' Two Sample T-Test(이표본 평균검정), 등분산 검정(Levene Test) 등분산 검정 결과에 따라(이분산, 등분산)..

파이썬 퀀트 분석 패키지 - ffn(Financial Functions for Python)

https://github.com/pmorissette/ffn GitHub - pmorissette/ffn: ffn - a financial function library for Python ffn - a financial function library for Python. Contribute to pmorissette/ffn development by creating an account on GitHub. github.com Python ffn 패키지는 퀀트 분석을 편하게 하도록 작성된 라이브러리다. 유용한 함수들을 많이 제공하고 있는데, 그중에서도 어렵지 않게 써먹을만한 함수들을 빠르게 익혀보자. Step 1. 데이터 추출 기본적으로 야후 파이낸스를 통해 데이터를 가져오게 되어있고, 데이터 로드 속도..

1