do not reinvent the wheel [1]

 

 

이전 글 보러가기

 

01_시작

02_기본설정

03_pykiwoom vs. 직접코딩

04_키움 open api 로그인 하기

05_키움 OPEN API에 TR 요청하기(feat. 예수금과 계좌잔고 받아오기)

06_키움 KOA 설치하기

07_키움 KOA 이해하기

08_키움 KOA 이해하기_2

09_키움 OPEN API 계좌평가 잔고 가져오기

10_키움 OPEN API 일봉데이터 가져오기_1

11_키움 OPEN API 일봉데이터 가져오기_2

12_파이참에서 주피터노트북 열기

13_키움API 삼성전자 자동매매 개요

14_if __name__ == “__main__” 에 대하여...

 

 

 

 

머신러닝 주가 예측 및 자동매매 project에 큰 변화가 생겼다.

 

Do not reinvent the wheel!

바퀴를 재발명하지 마라!

 

 

주식 자동화 project를 통해 매일 5천원 벌기라는 목표가 있었지만, 이면에는 python 학습이라는 목표도 있었다. 그래서 pykiwoom 패키지를 사용하지 않고 직접 코딩을 결정했다.

 

OPEN API도 심도 깊게 배워보고 싶었다.

 

하지만, 파이썬의 class, __init__, 상속, 오탈자(특히 def나 if 뒤의 :), 코드 줄 맞춤 등등 기초적인 것들에서 너무 많은 시간을 소비했고, 나는 지쳐가고, 성과는 나오지 않았다.

 

진도가 나가지 않아 답답하던 시기에 if __name__ == "__main__" 문제가 터졌다. 이걸 이해하고 해결하는데 2~3시간이나 걸렸다. 몰랐던걸 알게 되었으니, 가치 있는 시간이었지만, 뭔가 잘못되고 있음을 알게 되었다.

 

지금과 같은 속도로는 올봄이 오기 전에 주식 자동화 코드를 만들 수 없을 거 같다는 생각이 들었다. 그래서 키움 API 사용은 직접 코딩을 포기하고, 잘 만들어진 패키지를 import 해서 사용하기로 마음을 고쳐먹었다. 사실 내가 더 많은 시간을 투자해야 하는 것은 가격 예측 모델링이라는 생각도 들었다.

 

 

파이썬에서의 클래스 개념이 잘 안 잡혀서 주변에 계신 분께 여쭤보니, 구글링해서 얻은 정도의 답변을 해주셨다. 그리고, 다음의 말씀도 주셨다.

 

개발자가 직접 class를 만드는 일은 잘 없다. 개발자는 잘 만들어진 패키지를 잘 찾고 잘 쓰는 것이 더 중요한 능력이다. class와 모듈을 처음부터 만들려고 접근하는 것은 비효율적이다.

 

 

 

[2]

 

이미 바퀴가 있는데, 바퀴를 만든다고 시간을 소모할 필요가 없겠다.

 

 

 

[3]

 

이미 바퀴가 있으니, 바퀴를 재발명하는 것이 아니라, 바퀴를 개선해야겠다.

잘 만들어진 패키지를 import 해서 사용하고, 그 패키지들이 어떻게 만들어졌고, 어떻게 작동하는지 알아보면서 공부를 해야겠다. 능력이 닿인다면, 패키지들의 개선할 수 있는 방법도 찾아봐야겠다.

 

 

 

 

도움받은 감사한 글

[1] www.ibmbigdatahub.com/blog/dont-reinvent-wheel-increase-productivity-strategic-reuse

[2] medium.com/@bansalbhavik9/reinvent-the-wheel-or-not-5013f6d1ac2c

[3] medium.com/@hendra.susanto37/dont-reinvent-the-wheel-just-realign-it-557c66a6a5d7

 

 

 

 

2021.01.22. 코리.

+ Recent posts