2018년 10월 3일 수요일

국제유가와 휘발유가격


국제유가에 변동이 있으면 우리나라에서 판매하는 휘발유 가격에도 당연히 변동이 있습니다. 우리나라는 주로 중동에서 원유를 들여 오는데 배로 실고 오는데만 20일 정도 걸립니다.  휘발유 제조 과정을 제외하더라도 원유 가격이 휘발유 가격에 미칠려면 적어도 20일이 간격이 있다는 뜻입니다.  문제는 휘발유 가격 변동 시점입니다.  국제 유가 변동 시점을 휘발유 가격에 적용하는 시점을 일정하게 유지하면 별 문제가 없겠지만 국제 유가가 오를 때는 휘발유 가격에 즉각 반영하고 내릴 때는 시차를 두고 휘발유 가격에 반영하면 그 차는 고스란히 소비자가 지불하게 됩니다. 이 글에서 국제유가와 휘발유 가격 변동에 시차가 있는지 알아 보려고 합니다. 

원유를 생산하는 곳이 여러 곳이다 보니 국제유가도  여러가지입니다. 대표적인 국제유가가 WTI(서부 텍사스 중질유), 브렌트유 그리고 두바이유가 있습니다. 우리나라는 80%를 중동에서 원유를 수입하기 때문에 두바이유가에 절대적으로 영향을 받습니다.  국제유가와 휘발유 가격을 추이를 분석하려면 일단위의 두바이 유가 기록이 필요한데 두바이 유가의  과거 기록을 제공하는 무료 사이트가 없습니다.  무료로 제공하는 사이트는 월단위 국제유가이고 유료 사이트중에  패트로넷이 있을 것 같은데 유료라서 확인해보지 못했습니다.  결국 일단위의 두바이 유가를 구할 수 없어 대신 WTI 사용했습니다. WTI의 과거 기록은 미국 에너지 정보국에서 구할 수 있습니다.

미국에너지정보국에서 구한 WTI 가격도 완전하지 않아 가격이 비어 있는 날이 있습니다. 구체적으로  가격 정보는 엑셀 파일로 제공하는데 아래와 같이 9 3일은 자료는 비워져 있어  https://www.youtube.com/watch?v=iIKqeaFvltQ 에 소개된 방법 대로 전날 거래 날짜인 8 31(주말 제외) 가격으로 채워야 합니다. 그리고 원유 거래 가격이기 때문에 주말과 공휴일은 모두 빠져 있습니다. 



휘발유 가격은 오피넷에서 가져 옵니다.  “유가정보 내려받기”를 이용해서 서울시 모든 주유소에 대한 “번호,지역,상호,주소,기간,상표,셀프여부,고급휘발유,휘발유,경유,실내등유” 데이터를 얻을 수 있습니다. 2011 13일부터 2018 9월말까지 주유소별 휘발유 가격을 얻어서 일별 평균 휘발유 가격을  계산합니다. 



이렇게 구해서 정리한 것이 crude-seoul.csv 파일이고 http://bit.ly/wti-seoul 에서 다운로드  가능합니다. 국제유가(crude)와 휘발유가격(seoul)은 시계열 특성이라Cross-Correlation 를 측정해서 국제유가와 휘발유가격의  lag(시간 간격)을 알아 내려고 합니다.
crude-seoul.csv R에서 읽어 crude seoul을 그래프를 그려 보면 당연하지만 전체적으로는 비슷합니다.

> t <- read.csv("/users/rcjcyoo/desktop/oil/crude-seoul.csv", header=T, sep=",")
> plot(t$crude)
> plot(t$seoul)



Cross-Correlation을 이용하면 데이터가 stationarity(정태성)을 가지고 있어야 하는데ADF test에서 p-value 0.05보다 작아야 합니다.

> library(tseries)
> adf.test(t$crude)

        Augmented Dickey-Fuller Test

data:  t$crude
Dickey-Fuller = -1.5021, Lag order = 12, p-value = 0.7891
alternative hypothesis: stationary

> adf.test(t$seoul)

        Augmented Dickey-Fuller Test

data:  t$seoul
Dickey-Fuller = -1.9061, Lag order = 12, p-value = 0.6181
alternative hypothesis: stationary

ADF test를 통과하기 못할 때는 차이를  이용합니다.

> diffcrude = diff(t$crude, 1)
> diffseoul = diff(t$seoul, 1)
> adf.test(diffcrude)

        Augmented Dickey-Fuller Test

data:  diffcrude
Dickey-Fuller = -12.011, Lag order = 12, p-value = 0.01
alternative hypothesis: stationary

경고메시지():
In adf.test(diffcrude) : p-value smaller than printed p-value
> adf.test(diffseoul)

        Augmented Dickey-Fuller Test

data:  diffseoul
Dickey-Fuller = -7.4722, Lag order = 12, p-value = 0.01
alternative hypothesis: stationary

경고메시지():
In adf.test(diffseoul) : p-value smaller than printed p-value
> kpss.test(diffcrude)

        KPSS Test for Level Stationarity

data:  diffcrude
KPSS Level = 0.13911, Truncation lag parameter = 10, p-value = 0.1

경고메시지():
In kpss.test(diffcrude) : p-value greater than printed p-value
> kpss.test(diffseoul)

        KPSS Test for Level Stationarity

data:  diffseoul
KPSS Level = 0.35367, Truncation lag parameter = 10, p-value = 0.09713


차이는 ADF 뿐만 아니라 p-value 0.05보다 커야 하는 KPSS 테스트도 통과합니다. 이 시계열 데이터로 Cross-Correlation(ccf 함수)를 계산합니다.

> lag <- ccf(diffcrude, diffseoul)
> lag

Autocorrelations of series X, by lag

   -29    -28    -27    -26    -25    -24    -23    -22    -21    -20    -19    -18    -17
 0.067  0.016  0.057  0.014  0.040  0.035  0.012  0.024  0.048  0.042  0.071  0.068  0.039
   -16    -15    -14    -13    -12    -11    -10     -9     -8     -7     -6     -5     -4
 0.055  0.088  0.083  0.059  0.054  0.108  0.111  0.171  0.149  0.155  0.156  0.099  0.098
    -3     -2     -1      0      1      2      3      4      5      6      7      8      9
 0.072  0.050  0.032  0.020  0.002 -0.018  0.016  0.012  0.001  0.045  0.023  0.005 -0.019
    10     11     12     13     14     15     16     17     18     19     20     21     22
 0.023  0.016  0.019  0.003 -0.001  0.018  0.032  0.037  0.026  0.041  0.036  0.019  0.037
    23     24     25     26     27     28     29
 0.037  0.023  0.046  0.033  0.015  0.015  0.005

Lag값이 ACF값이 큰 음수이면서 Lag도 음수이어야 crude(WTI 국제유가) seoul(서울지역 평균 휘발유가격)의 선행하는 의미가 있는데 여기서는  Lag 2 9에서는 약한 ACF 음수 값만 있습니다.  ccf 결과를 그대로 해석하자면 WTI가 휘발유가격을 오히려 2일 혹은 9일 차이로 약하게 따라감을 알려 줍니다. 결과가 일반적인 상식가 배치되는데 아마도 여기에 사용했던 국제유가가 두바이가 아닌 WTI였기 때문에 생긴 오류일 것 같습니다. 후에 두바이 유가 기록을 구할 수 있으면 다시 ccf를 시도해봐야 할 것 같습니다.

댓글 없음:

댓글 쓰기