반응형
Python으로 캔들스틱 주가 시각화하기
결과 Snippet
: 아래와 같은 주가 데이터를 캔들스틱으로 시각화 해보겠습니다.
위 이미지에 나타난 주가 데이터는 아래와 같은 여러개의 캔들 스틱으로 이루어져 있습니다. 왼쪽은 양봉, 오른쪽은 음봉 (미국 기준. 한국은 반대)인데, 실선 같이 가느다란 막대의 각 끝은 고가, 저가를 나타내고, 색깔이 있는 막대의 각 끝은 시가, 종가를 의미합니다.
필요 라이브러리
and etc ...
yfinance: 주가 데이터를 불러오기 위해 필요
mpl-finance: 캔들스틱을 시각화하기 위해 필요
Full Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# Install libraries
# pip install mpl-finance
# pip install yfinance
# import
import datetime as dt
import pandas_datareader as web
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from mpl_finance import candlestick_ohlc #ohlc: Open High Low Close
import pandas
from pandas_datareader import data as pdr
import yfinance as yfin
# define Time Frame
start = dt.datetime(2010, 1, 1)
end = dt.datetime.now()
ticker = ['QQQ', 'SPY', 'MSFT', 'SNAP']
# load data
yfin.pdr_override()
data = pdr.get_data_yahoo(ticker[0], start=start, end=end)
# print(data)
""" Open High ... Adj Close Volume
Date ...
2010-01-04 30.620001 31.100000 ... 23.904980 38409100
2010-01-05 30.850000 31.100000 ... 23.912703 49749600
2010-01-06 30.879999 31.080000 ... 23.765957 58182400
2010-01-07 30.629999 30.700001 ... 23.518795 50559700
2010-01-08 30.280001 30.879999 ... 23.680994 51197400 """
# print(data.columns)
""" Index(['Open', 'High', 'Low', 'Close', 'Adj Close', 'Volume'], dtype='object') """
# restructure data
data = data[['Open', 'High', 'Low', 'Close']]
data.reset_index(inplace=True)
data['Date'] = data['Date'].map(mdates.date2num) # date format to number
# print(data.head())
""" Date Open High Low Close
0 733776.0 30.620001 31.100000 30.590000 30.950001
1 733777.0 30.850000 31.100000 30.639999 30.959999
2 733778.0 30.879999 31.080000 30.520000 30.770000 """
# visualization
ax = plt.subplot()
ax.grid(True)
ax.set_axisbelow(True)
ax.set_title('{} Share Price'.format(ticker), color='white')
ax.set_facecolor('black') # background color: black
ax.figure.set_facecolor('#121212')
ax.tick_params(axis='x', colors='white')
ax.tick_params(axis='y', colors='white')
ax.xaxis_date()
candlestick_ohlc(ax, data.values, width=0.5, colorup='#00ff00')
plt.show()
|
cs |
QQQ (2010-01-01 ~ 2021-12-20) 캔들스틱 차트
MSFT (2010-01-01 ~ 2021-12-20) 캔들스틱 차트
MSFT (2010-01-01 ~ 2021-12-20) 캔들스틱 차트
반응형
'공부 > 파이썬 Python' 카테고리의 다른 글
Python에서 나만의 HTTP Server 만들기 (0) | 2022.01.03 |
---|---|
Matplotlib 애니메이션으로 Linear Regression 표현하기 (0) | 2021.12.26 |
Google Colab에서 오디오북 리더 만들기 (feat. Python) (3) | 2021.12.20 |
정렬 알고리즘 시각화하기 (0) | 2021.12.19 |
TDD - Test-Driven Development(테스트 주도 개발)이란 (0) | 2021.12.11 |
댓글