도메인/금융공학

Python Data 다루기

늘근이 2015. 4. 22. 22:59

일단 주식을 긁어온다. 삼성전자 주식이다.

 

import pandas.io.data as web

import datetime

 

beg = datetime.datetime(2014,1,1)

end = datetime.datetime(2014,12,31)

data = web.DataReader("005930.KS","yahoo",beg,end)

 

import pandas as panda

 

data['mean5'] = panda.stats.moments.rolling_mean(data['Adj Close'], 5)

data['mean20'] = panda.stats.moments.rolling_mean(data['Adj Close'], 20)

 

5일단기와 20일단기의 차이를 구하는 공식이다.

data['diff'] = data['mean5']-data['mean20']

 

data['status'] = ""

 

이제 살때와 팔때를 골라야 하기 때문에 5일 이동평균과 20일 이동평균이 엇갈리는 부분을 구한다.  

 i = 0
while i < len(data):
    if data['diff'].ix[i-1] <= 0 and data['diff'].ix[i] >= 0 :
        data['status'].ix[i] = 'YES'
    elif data['diff'].ix[i-1] >= 0 and data['diff'].ix[i] <= 0 :
        data['status'].ix[i] = 'NO'
    else :
        data['status'].ix[i] = 'X'
    i = i + 1

 

다음부터 계속해서 이 통계치를 살때와 팔때를 구분짓는 법을 살펴보고 넘어가겠다.

이제 거의 논문에 다가갔다.