거래 데이터 익히기

Python으로 배우는 금융 트레이딩

Chelsea Yang

Data Science Instructor

트레이더 유형

  • 데이 트레이더: 당일 보유하되 보통 오버나이트는 하지 않음
  • 스윙 트레이더: 수일~수주 보유
  • 포지션 트레이더: 수개월~수년 보유
Python으로 배우는 금융 트레이딩

데이터 리샘플링

Date                   Close
2019-11-29 04:00:00    1.1010
2019-11-29 08:00:00    1.1005
2019-11-29 12:00:00    1.0993
2019-11-29 16:00:00    1.1016
2019-11-29 20:00:00    1.1020
# 시간별 데이터를 일별로 리샘플
eurusd_daily = eurusd_h.resample('D').mean()
Date          Close
2019-11-25    1.10165
2019-11-26    1.10165
2019-11-27    1.10058
2019-11-28    1.10083
2019-11-29    1.10093
# 시간별 데이터를 주별로 리샘플
eurusd_weekly = eurusd_h.resample('W').mean()
Date          Close
2019-11-03    1.11248
2019-11-10    1.10860
2019-11-17    1.10208
2019-11-24    1.10659
2019-12-01    1.10113
Python으로 배우는 금융 트레이딩

일별 수익률 계산

# 일별 수익률 계산
stock_data['daily_return'] 
= stock_data['Close'].pct_change() * 100
             Close  daily_return
Date                            
2020-12-11  609.99     -2.723779
2020-12-14  639.83      4.891883
2020-12-15  633.25     -1.028398
2020-12-16  622.77     -1.654955
2020-12-17  655.90      5.319781
# 데이터 플롯
plt.plot(stock_data['daily_return'])
plt.show()

일별 수익률 플롯

Python으로 배우는 금융 트레이딩

일별 수익률 히스토그램

stock_data['daily_return'].hist(bins=100)
plt.show()

일별 수익률 히스토그램

Python으로 배우는 금융 트레이딩

데이터 변환

기술적 지표: 다양한 데이터 변환

단순이동평균(SMA): 지정한 n기간의 산술 평균가

stock_data['sma_50'] = stock_data['Close'].rolling(window=50).mean()
            Close    sma_50
Date                                                                      
2020-12-11  122.41   117.7474
2020-12-14  121.78   117.9226
2020-12-15  127.88   118.1502
2020-12-16  127.81   118.4432
2020-12-17  128.70   118.7156
Python으로 배우는 금융 트레이딩

이동 평균 그리기

import matplotlib.pyplot as plt

plt.plot(stock_data['Close'], 
         label='Close')
plt.plot(stock_data['sma_50'], 
         label='SMA_50')
plt.legend()
plt.show()

종가와 SMA를 비교한 플롯

Python으로 배우는 금융 트레이딩

연습해 봅시다!

Python으로 배우는 금융 트레이딩

Preparing Video For Download...