반응형
공분산이란?
공분산은 2개 변수의 상관 정도를 나타내는 값입니다.
보통 Cov(x,y) 로 표기를 합니다.
2개 변수의 방향성을 파악할 때, 보통 사용합니다.
공분산 값이 0보다 크다면, x가 커지면, y도 커집니다.
반대로 0보다 작다면, x가 커지면, y는 작아집니다.
0에 가깝다면, 선형 관계가 없다고 할 수 있습니다.
panas를 이용해 만도의 종가와 모비스 종가의 공분산 값을 구해보겠습니다.
import pandas as pd
import pandas_datareader.data as web
import datetime
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
# file_name 다운로드한 주가 데이터를 저장할 파일 이름
# company_code 종목 코드
# year1/month1/date1 데이터를 다운로드할 시작일
# year2/month2/date2 데이터를 다운로드할 마감일
def download_stock_data(file_name, company_code, year1, month1, date1, year2, month2, date2):
start = datetime.datetime(year1, month1, date1)
end = datetime.datetime(year2, month2, date2)
df = web.DataReader("%s.KS" % (company_code), "yahoo", start, end)
df.to_pickle(file_name)
return df
def load_stock_data(file_name):
df = pd.read_pickle(file_name)
return df
download_stock_data('mobis.data', '012330', 2018, 1, 1, 2018, 12, 31)
df_mobis = load_stock_data('mobis.data')
download_stock_data('mando.data', '204320', 2018, 1, 1, 2018, 12, 31)
df_mando = load_stock_data('mando.data')
print( df_mobis['Close'].cov(df_mando['Close']))
# 173262238.5819335
공분산 값이 매우 큰 양수가 나왔습니다. 공분산은 크기가 중요한 것은 아닙니다. 즉, 방향성을 나타내는 부호가 중요한 것입니다. 따라서, 양수이므로, 모비스와 만도의 종가는 같은 방향성을 가지고 있다는 것을 알 수 있습니다.
즉, 우리나라 자동차 부품 대표 회사인 모비스와 만도의 주가는 같은 방향으로 증감을 하는 경향이 있는 것입니다.
다양한 주식 종목들을 비교해보는 것도 재미있을 것 같습니다.
반응형
'SW > 주가 예측' 카테고리의 다른 글
주식, 비트 코인 예측 : 알고리즘 트레이딩 시스템 SW 구성 (0) | 2019.06.27 |
---|---|
주식, 비트 코인 예측 : 시계열 데이터 분석 : 개념, 목표, 정의 (0) | 2019.06.27 |
주식 예측 프로그램 : 시계열 데이터 개념, 뜻 (0) | 2019.06.25 |
python : 주식 데이터 파싱, 저장, 받아오기 : 예제 (0) | 2019.06.25 |
비트코인 주식 예측 프로그램 : 파이썬, 텐서플로우, 케라스, RNN 예제 (23) | 2019.06.14 |