티스토리 뷰

반응형

최근 원달러 환율이 1400원을 넘보며 매우 강세를 보이고 있다. 

지난달에 달러를 조금 사놓았기에, 언제 환매해야하나 고민하던 시점에

 5개월 이평선이 변곡점이 오면 환매하겠다! 는 

리치고 김기원 대표님의 이야기를 듣고 한번 지난 추세를 보며, 타당한 사항인지 검증해보려고 한다. 

이전글에서 받은 환율데이터로 원달러환율/이평90일/이평150일 의 시계열 차트를 그려보았다. 

2001년부터 데이터를 받았으나, 데이터가 많을 시, 그래프가 축소되게 보여, 

2007년부터 그래프로 확인해보았다. 

 

위의 그래프에서 보면, 이전 환율의 큰 상승추세는 1, 2, 3 번 정도로 확인할 수 있겠다. 

가장 높은 1번 상승은 2008년 금융위기 때임을 볼 수 있다.

 

Point :

이평 90 이나 이평 150 의 하락점이 시작될 때가 하락기에 진입하는 시점이 맞는지를 보려고 한다.

대세 상승기에, 이평 90/150 에 하락변곡점이 있는가? 

만약 있다면 적절하지 않다고 판단하겠다. 

 

먼저 이평 90으로 확인해보겠다. 

1번의 경우  하락점시작시, 매도시에 적절 타이밍이라 볼 수 있겠다.

2번의 경우는 상승기에 , 한번 하락점이 있어 적절하지는 않다고 볼 수 있겠다.

3번의 경우도, 상승기에 하락점들이 보여 적절하지 않다고 볼 수 있겠다.

 

그 다음, 이평 150으로 확인해보겠다.

1번의 경우  하락점 시작시, 매도시에 적절 타이밍이라 볼 수 있겠다.

2번의 경우는 하락점 시작시, 매도시에 적절 타이밍이라 볼 수 있겠다.

3번의 경우도,  하락점 시작시, 매도시에 적절 타이밍이라 볼 수 있겠다.

=> 하락점 시작 시에, 하락기에 진입한 것이라고 볼 수 있다.

 

결론 : 이평 150 으로 하락 변곡점 시작시 매도 시, 최대로 환차익을 볼수는 없지만, 추세적으로는 적절한다고 판단된다. 

환율 데이터를 모니터링하고 있다가, 하락 변곡점 시작시 매도하자.

(개인적인 의견입니다.)

 

그래프는 구글 Colab, 파이썬의 matplot library 를 이용하여 그린 사항이며, 

런타임 출력하며 보기 위해서는,  여기서 확인해보실 수 있습니다. 

(연결프로그램 : Google Colaboratory로 선택해야 화면에 정상출력됩니다.)

!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

#matplot 그래프에 한글 표시를 위한 nanum 폰트 설치로, '런타임 다시 시작'을 해주어야함.

from google.colab import drive
drive.mount('/content/drive')

import pandas as pd
import matplotlib.pyplot as plt

#환율 매매기준율(기준환율)에 대한 정의 
# https://korealtyusa.com/매매기준율/

# 데이터 출처 : 한국은행 경제통계시스템 
# https://ecos.bok.or.kr/#/SearchStat

df = pd.read_csv('/content/drive/MyDrive/Colab/data/USD_KRW_KRBANK.csv')

df.tail()

# column name 변경
df.columns = ['날짜', '환율']
df.head()

df.set_index('날짜',inplace = True)
df.head()

#index 를 datetime 형식으로 변경 (추후에 편한 정렬 및 loc 를 위해)
df.index = pd.to_datetime(df.index)
df = df.sort_index()

df.index

df.head()

# 연도, 월, 일, 분기를 따로 저장
df['일자'] = df.index

df['연'] = df['일자'].dt.year
df['월'] = df['일자'].dt.month
df['일'] = df['일자'].dt.day
df['분기'] = df['일자'].dt.quarter

df.head()

df.info()

환율이 object type(일반 문자형) 이므로 int64 로 변환해준다. 

# 환율에 ',' 가 포함되어 있으므로, 삭제함
df["환율"] = df["환율"].str.replace(pat='[,]', repl=r'', regex=True)

# 환율을 float 형으로 변환
df["환율"] = df["환율"].astype(float)

# 환율이 float 형으로 변환된 사항 확인
df.info()



gb = df.groupby(['연','월'])

#gb.agg({'환율': [min, max]}).to_csv('/content/drive/MyDrive/Colab/group_by.csv')

#이평선 150, 90 값 저장하기.
df['이평150'] = df['환율'].rolling(150).mean()
df['이평90'] = df['환율'].rolling(90).mean()
df.tail()

#df2022 = df.loc['2022']
#2007년 환율데이터부터 그래프로 살펴보도록 하겠다.
df2022 = df.loc['2007':]
df2022.head()

import matplotlib.font_manager as fm  # 폰트 관련 용도

sys_font=fm.findSystemFonts()
print(f"sys_font number: {len(sys_font)}")
print(sys_font)

nanum_font = [f for f in sys_font if 'Nanum' in f]
print(f"nanum_font number: {len(nanum_font)}")

path = '/usr/share/fonts/truetype/nanum/NanumGothic.ttf'  # 설치된 나눔글꼴중 원하는 녀석의 전체 경로를 가져오자
font_name = fm.FontProperties(fname=path, size=10).get_name()
print(font_name)
plt.rc('font', family=font_name)

fig = plt.figure(figsize=(20, 10))
ax = fig.add_subplot(1, 1, 1)


ax.plot(df2022.index, df2022['환율'], label='환율' , color='g')
ax.plot(df2022.index, df2022['이평150'], label='이평150', color='r')
ax.plot(df2022.index, df2022['이평90'], label='이평90', color='b')

ax.set_xlabel("날짜")
ax.set_ylabel("원")
ax.set_title("환율과 이평")

#한글폰트 지정
plt.legend(loc='best')
plt.show()

 

반응형