본문 바로가기
프로젝트/코인 자동매매

파이썬 코인 자동매매 봇 만들기#1 - pybitumb 모듈 설치하기

by 큰공 2021. 8. 19.
728x90
반응형

 

들어가며

 coinpipe 의 큰공입니다.

 파이썬 자동화에 관심이 많은 큰공이, 이번에는 암호화폐(코인) 자동매매 봇 만들기에 도전해보고자 합니다. 

 기본적으로

"파이썬을 이용한 비트코인 자동매매"
(pystock)

 

 을 기반으로 작성될 예정이며, 실질적으로 필자가 직접 해보면서 관련 된 부분을 확인하면서 작성될 예정입니다.

 

https://wikidocs.net/book/1665

 

파이썬을 이용한 비트코인 자동매매 (개정판)

이 책은 최근 인기 있는 프로그래밍 언어인 파이썬을 사용하여 국내 3대 거래소(코빗, 빗썸, 업비트) 및 국외 거래소(바이넨스)에서 비트코인을 자동매매하는 프로그램을 개발하 ...

wikidocs.net

 

비트코인 자동매매 왜 필요한가?

 급변하는 경제 상황, 코인 거래소의 빠른 매매들에 대해서, 아? 뭔가 사람이 직접하는게 아니라, 봇이 스스로 매도 매수를 해서 빠른 거래를 하게끔 하는것에 대해서 다들 한번쯤 생각해보셨을 겁니다.

 

 당연히 목적은 코인 자동매매로서 돈을 왕창 벌어 대박을 치자가 목표이겠으나, 파이썬 자동화 스킬이라 던지, 코인 매매 스킬등을 익힐 목적도 포함하고 있습니다.

 

 이에, coinpipe 큰공이 직접 파이썬을 이용하여, 코인 자동매매 시리즈를 포스팅 해볼까 합니다.

 스스로 해보면서, 포기하지 않도록 많은 격려를 해주시면 포스팅에 더 힘이 실리지 않을까 합니다.

 

 

개발환경

 기본적으로 아래 개발환경을 토대로 작업하고자 합니다. 파이썬 및 기본 프로그래밍 지식이 있어야 어느정도 이해가 가능하지 않을까 합니다.

 

 궁금하신 점이 있으시면 댓글로 질문 주시면 언제나 친절하게 대응해드릴 예정입니다.

 

 1) 윈도우 10 / 64 bit

 2) MS VS Code

 3) phython 3.9.6

 4) pybithumb 모듈

 5) 빗썸 API

 

pybithumb 모듈 설치

 코인 자동 매매를 하기 위해서는 이를 위한 pybithumb 이라는 모듈 설치가 우선적으로 필요합니다. 

 아래 github 에 모든 소스가 공개되어 있는 훌륭한 모듈입니다.

 

https://github.com/sharebook-kr/pybithumb

 

GitHub - sharebook-kr/pybithumb: python wrapper for bithumb API

python wrapper for bithumb API . Contribute to sharebook-kr/pybithumb development by creating an account on GitHub.

github.com

 

모듈 설치 명령은 

 

> pip install pybithumb

 

입니다.

 

혹옥시나, 파이썬 모듈 설치를 방법을 모르신다면, VS CODE 터미널 상에서, pip install pybithumb 만 입력하시면 뾰로롱 설치가 됩니다.

 

 

AttributeError: 

Traceback (most recent call last):
  File "d:\Work\coin\pybithumb.py", line 1, in <module>
    import pybithumb
  File "d:\Work\coin\pybithumb.py", line 3, in <module>
    tickers = pybithumb.get_tickers()
AttributeError: partially initialized module 'pybithumb' has no attribute 'get_tickers' (most likely due to a circular import)
PS D:\Work\coin>

 

 오잉? 잘되던 import 를 했는데, Attribute Error 가 발생하였다.

 

 해결방법은 "most likey due to a circular import" 에 힌트가 있다.

 

 vscode 로 처음 파일명을 만들때, pybithumb.py 라고 만들었는데, import 하는 모듈의 이름도 pybithumb 이였다. 

 

 import 하는 모듈의 이름과, 파이썬 코드의 이름이 동일하면 위와 같은 AttributeError 가 발생한다.

올바르게 코드를 작성하니, pybithumb을 정상적으로 Load 하고, 해당 메소드도 사용이 가능하다.

 

 

빗썸 거래되는 모든 화폐의 현재가 얻기

 위의 API를 이용해서 거래되는 모든 화폐의 현재가를 얻어보도록 하겠습니다.

 사용되는 함수는 get_ticker() (현재 거래되고 있는 가상화폐의 목록을 리스트 형태로 하나씩 표시), 

get_current_price(ticker), ticker의 현재가를 얻는 함수 입니다.

 

import pybithumb

tickers = pybithumb.get_tickers()

count = 0

for ticker in tickers:
    count+=1    
    price = pybithumb.get_current_price(ticker)
    print(count, ticker, price)

 

 

 

결과

 현재시각, 2021년 8월 19일 오후 10시 46분 기준으로 총 179개의 코인이 거래되고 있으며, 원화로 현재가를 알 수 있습니다. 전체 179개의 코인의 시세를 취득하는데, 시간이 살짝 소요 되네요. 

1 BTC 52909000.0
2 ETH 3548000.0
3 LTC 196100.0
4 ETC 73500.0
5 XRP 1322.0
6 BCH 742500.0
7 QTUM 14660.0
8 BTG 70850.0
9 EOS 5805.0
10 ICX 1378.0
11 TRX 98.23
12 ELF 317.9
13 OMG 5985.0
14 KNC 2079.0
15 GLM 476.2
16 ZIL 115.3
17 WAXP 198.3
18 POWR 341.7
19 LRC 371.7
20 STEEM 612.9
21 STRAX 2344.0
22 ZRX 1109.0
23 REP 30930.0
24 XEM 222.5
25 SNT 105.8
26 ADA 2457.0
27 CTXC 214.8
28 BAT 849.4
29 WTC 958.9
30 THETA 7935.0
31 LOOM 105.7
32 WAVES 26850.0
33 TRUE 186.0
34 LINK 29690.0
35 ENJ 1763.0
36 VET 138.3
37 MTL 3270.0
38 IOST 35.14
39 TMTG 4.012
40 QKC 22.68
41 HDAC 58.49
42 AMO 3.505
43 BSV 180700.0
44 DAC 2.844
45 ORBS 108.7
46 TFUEL 372.0
47 VALOR 456.0
48 CON 3.835
49 ANKR 112.2
50 MIX 4.987
51 CRO 167.9
52 FX 547.3
53 CHR 424.7
54 MBL 10.78
55 MXC 54.62
56 FCT 134.3
57 TRV 19.47
58 DAD 294.3
59 WOM 124.1
60 SOC 149.2
61 EM 6.164
62 BOA 148.6
63 FLETA 14.78
64 SXP 3830.0
65 COS 20.39
66 APIX 68.85
67 EL 11.71
68 BASIC 7.59
69 HIVE 529.9
70 XPR 4.88
71 VRA 27.99
72 FIT 2.074
73 EGG 5.834
74 BORA 261.3
75 ARPA 87.98
76 APM 41.57
77 CKB 16.03
78 AERGO 223.2
79 ANW 67.7
80 CENNZ 91.4
81 EVZ 64.29
82 CYCLUB 36.17
83 SRM 9275.0
84 QTCON 20.27
85 UNI 30710.0
86 YFI 43499000.0
87 UMA 13620.0
88 AAVE 445000.0
89 COMP 509000.0
90 REN 644.1
91 BAL 30520.0
92 RSR 46.91
93 NMR 46340.0
94 RLC 4895.0
95 SAND 669.1
96 GOM2 12.3
97 RINGX 33.45
98 BEL 2465.0
99 OBSR 9.227
100 ORC 1231.0
101 POLA 110.0
102 AWO 28.18
103 ADP 91.8
104 DVI 399.1
105 GHX 79.73
106 MIR 5350.0
107 MVC 37.58
108 BLY 34.98
109 WOZX 1050.0
110 ANV 1258.0
111 GRT 1051.0
112 MM 430.5
113 BIOT 23.64
114 XNO 158.1
115 SNX 13510.0
116 RAI 871.4
117 COLA 341.6
118 NU 319.3
119 OXT 429.9
120 LINA 73.02
121 MAP 35.85
122 AQT 4683.0
123 WIKEN 11.08
124 CTSI 878.4
125 MANA 907.7
126 LPT 21330.0
127 MKR 4150000.0
128 SUSHI 15360.0
129 ASM 73.51
130 PUNDIX 1909.0
131 CELR 69.52
132 LF 1453.0
133 ARW 4041.0
134 MSB 307.0
135 RLY 609.5
136 OCEAN 915.0
137 ALICE 14450.0
138 CAKE 24980.0
139 BNT 4716.0
140 XVS 38930.0
141 CHZ 386.0
142 AXS 81450.0
143 DAI 1180.0
144 MATIC 1567.0
145 BAKE 3005.0
146 VELO 668.8
147 BCD 2930.0
148 XLM 413.3
149 GXC 833.5
150 BTT 4.831
151 VSYS 24.81
152 IPX 45.56
153 WICC 205.8
154 ONT 1160.0
155 LUNA 34840.0
156 AION 212.5
157 META 140.5
158 KLAY 2066.0
159 ONG 982.3
160 ALGO 1234.0
161 JST 75.25
162 XTZ 4007.0
163 MLK 1272.0
164 WEMIX 632.9
165 DOT 28960.0
166 ATOM 21510.0
167 SSX 68.1
168 BCHA 66650.0
169 TEMCO 8.763
170 HIBS 5.892
171 BURGER 6170.0
172 DOGE 354.8
173 KSM 780000.0
174 CTK 2337.0
175 XYM 168.0
176 BNB 485000.0
177 SUN 40.22
178 PCI 739.7
179 SOL 82800.0

 

 

 

728x90
반응형

댓글3