기본 콘텐츠로 건너뛰기

pandas_ta를 적용한 통계적 인덱스 지표

극소와 극대의 결정

내용 1차와 2차 미분 계수와 극값 극대와 극소의 결정 곡선으로부터 계산되는 $\displaystyle \frac{dy}{dx}$는 곡선의 기울기를 의미합니다. 기울기를 다시 한번 더 미분한 결과 $\displaystyle \frac{d^2y}{dx^2}$는 그 기울기의 단위 길이 당 변화하는 비율(rate) 을 의미합니다. 간단히 말해서 경사의 곡률(curvature) 을 측정 한 것입니다. import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt 그림 1의 (a)는 직선과 (b)는 곡선을 나타낸 것입니다. plt.figure(dpi=60) x=np.linspace(-1, 5, 100) y1=x+1 y2=x**2+1 plt.plot(x, y1, label="(a)") plt.plot(x, y2, label="(b)") plt.xlabel('x', size=12, weight="bold") plt.ylabel('y', size=12, weight="bold") plt.legend(loc="best", prop={"weight":"bold"}) plt.xticks([]) plt.yticks([]) plt.show() 그림 1. (a)$\displaystyle \frac{d^2y}{dx^2}=0$, (b)$\displaystyle \frac{d^2y}{dx^2}>0$. plt.figure(dpi=60) x=np.linspace(-1, 5, 100) y1=x+1 y2=x**2+1 plt.plot(x, y1, label="(a)") plt.plot(x, y2, label="(b)") plt.xlabel('x', size=1...

[python]확률과 주요통계량: 왜도(skewness)와 첨도(kurtosis)

왜도와 첨도 관련내용 확률과 주요통계량: 모멘트와 기대값 확률과 주요통계량: 분산 왜도와 첨도 왜도와 첨도는 평균, 분산과 함께 확률분포의 특성을 나타내는 주요 통계량으로 사용됩니다. 왜도(skewness) 는 평균(중심)을 기준으로 분포의 좌우의 비대칭성의 정도를 나타내고 첨도(kurtosis) 는 분포의 peak 즉 봉우리의 뾰족한 정도를 나타내는 통계량입니다. 왜도와 첨도는 확률변수의 개개의 값과 평균의 차이에 대해 3제곱과 4제곱을 적용한 새로운 확률변수에 대한 기대값입니다. 즉, 두 통계량은 각각 3차와 4차 모멘트가 됩니다. 왜도는 식 1, 첨도는 식 2과 같이 정의됩니다. 왜도(skewness) 3차 모멘트 표준정규분포의 왜도 = 0 skewness > 0: 분포가 오른쪽으로 기울어진 형태(skewed to right) skewness < 0: 분포가 왼쪽으로 기울어진 형태(skew to left) \begin{align}\text{skewness}&=E\left(\frac{X-\mu}{\sigma} \right)^3\\&=\frac{E(X-\mu)^3}{\sigma^3} \end{align} (식 1) 첨도(kurtosis) 4차 모멘트는 첨도를 나타내는데 실제적으로 -3을 고려합니다. 표준정규분포의 첨도= 0(4차 모멘트 = 3): mesokurtic(정규분포) kurtosis > 0: letokurtic 또는 fat-tailed \begin{align}E\left(\frac{X-\mu}{\sigma} \right)^4-3\\&=\frac{e(X-\mu)^4}{\sigma^4}-3 \end{align} (식 2) 주가자료(stock data)의 경우는 leptokurtic 즉, 정규분포보다 두툼한 꼬리와 두개의 봉우리가 생성되는 보이는 경향이 일반적입니다. 성공확률 p인 베르누이 시행을 반복하는 이항분포(Binomial distr...

시계열과 random walk model

내용 시계열이란? 단순 수익률과 로그수익률(Simple Returns and Log Returns) 기본 모델 Random Walk 시계열이란? 다음은 코스피 지수의 일일 종가(closing price)와 3일 평균에 대한 그래프입니다. import numpy as np import pandas as pd import matplotlib.pyplot as plt import FinanceDataReader as fdr st=pd.Timestamp(2010,8, 26) et=pd.Timestamp(2022, 1, 5) nme={'ks':'KS11','sam':'005930','hyni':"000660",'ksemi':'091160'} ks=fdr.DataReader('KS11', st, et) sam=fdr.DataReader('005930', st, et) hyni=fdr.DataReader('000660', st, et) ksemi=fdr.DataReader('091160', st, et) ks["Close"].rolling(3).mean() Date 2010-08-26 NaN 2010-08-27 NaN 2010-08-30 1739.816667 2010-08-31 1744.146667 … 2022-01-04 2985.220000 2022-01-05 2977.326667 Name: Close, Length: 2803, dtype: float64 plt.figure(figsize=(15, 7), dpi=100) plt.plot(ks["Close"].index, ks["Close"], label="Close...

극대와 극소(Maxima and Minima)

극대와 극소(Maxima and Minima) 실제 상황의 어떠한 작업이나 활동을 여러 변수들의 관계인 함수로 표현할 수 있다면 그 함수의 미분에 의해 극대값 또는 극소값을 발견할 수 있습니다. 이러한 결과는 작업 비용을 최소화하거나 효율성을 극대화할 수 있는 합리적 근거를 제시할 수 있으므로 다양한 엔지니어링에서 극대와 극소는 중요한 문제로 다루어 집니다. 함수의 극대와 극소에 관한 관계를 알아보기 위해 다음과 같이 간단한 식으로부터 시작해봅니다. $$y = x^2- 4x + 7$$ 표 1. $y = x^2 - 4x + 7$에 따른 x, y 좌표 x 0 1 2 3 4 5 y 7 4 3 4 7 12 그림 1은 표 1을 나타낸 것으로 y의 극소값은 x = 2에서 3으로 나타낼 수 있습니다. 그러나 그 극소의 x 좌표가 2 주위의 어떤 값, 예를 들어 2.02 등과 같이 2+dx가 아닌 정확히 2라는 것을 확정할 수 있을까요? x=np.arange(6) y=x**2-4*x+7 x1=np.linspace(-1, 5, 100) y1=x1**2-4*x1+7 plt.figure(dpi=100) plt.plot(x1, y1) plt.scatter(x, y) plt.grid(True) plt.ylim(0, 14) plt.xlabel("x", size="12", weight="bold") plt.ylabel("y", size="12", weight="bold") plt.show() 그림 1. $y = x^2 - 4x + 7$. 질문에 답하기 위해 잠정적으로 최소가 되는 지점 주위의 많은 값들에 대응하는 y값들을 비교하는 방식으로 계산할 수 있습니다. 그러나 이러한 방식으로는 동일한 계산을 반복 하는 것은 번거로울 뿐만 아니라 정확한 지점을 찾는 것은 쉽지 않습니다. 다른...

[data analysis] 독립사건(independent event)

독립사건(independent event) 관련내용 확률(probability) 교집합이 공집합인 사건들은 독립사건(independent event) 또는 상호 배타적 결과들(disjoint or mutually exclusive outcomes) 이 됩니다. 예를 들어 하나의 주사위를 시행하는 경우 주사위 눈의 갯수 1과 2가 동시에 일어날 수 없으므로 독립 사건이 됩니다. 한편 1과 홀수가 나올 확률은 1이 이미 홀수이므로 동시에 발생할 수 있습니다. 그러므로 이 사건은 상호 배타적 결과들이 아닙니다. 독립사건은 다른 사건들 사이에 영향을 줄 수 없기 때문에 여러 독립 사건들의 합은 각 사건의 합으로 결정할 수 있습니다. 예를 들어 1개의 주사위 시행에서 1 또는 2가 나올 사건의 확률은 독립이므로 각각의 확률의 합이 됩니다(식 1). \begin{align}P(X=1\;\text{or}\;2)&=P(X=1)+P(X+2)\\&=\frac{1}{6}+\frac{1}{6}\\&=\frac{1}{3} \end{align} (식 1) 위와 달리 어떤 사건이 동시에 일어날 수 있는 사건이 존재하는 경우 즉, 사건 A, B가 독립사건이 아닌 경우는 두 사건에서 공통으로 일어나는 경우는 제외되어야 합니다. 예를 들어 주사위 시행에서 1 또는 홀수가 나올수 있는 확률에서 홀수 사건 중에 1이 이미 포함되어 있습니다. 그러므로 식 2와 같이 1이 나올 확률을 제외하여야 합니다. \begin{align}P(X=1)=\frac{1}{6}&\quad P(X=\text{홀수})=\frac{1}{2}\\P(X=1\;\text{or}\;X=\text{홀수})&=\frac{1}{6}+\frac{1}{2}-\frac{1}{6}\\&=\frac{1}{2} \end{align} (식 2) case=range(1, 7) n=0 for i in case: if (i==1) or (i %2 ==1): ...