삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 ·...

48
SAMSUNG OPEN SOURCE CONFERENCE 2019 삼성 오픈소스 컨퍼런스 부랴부랴 벼락 사이드 프로젝트(암호화폐 자동매매) 사이드 프로젝트 진행과정의 민낯 Song chioh Linewalks Tech team

Transcript of 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 ·...

Page 1: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SAMSUNG OPEN SOURCE CONFERENCE 2019

삼성오픈소스컨퍼런스부랴부랴 벼락 사이드 프로젝트(암호화폐 자동매매)

사이드 프로젝트 진행과정의 민낯

Song chiohLinewalks Tech team

Page 2: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019…?

| 행동 | 캔들최고가 | | 순수익 | 순수익 103억 실화?

[사진](http://www.chuing.net/zboard/zboard.php?id=mone1&no=85197)

Page 3: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019나누고 싶은 이야기

기술X 경험O

[사진](https://www.unicef.or.kr/news/press_view.asp?idx=78311)

Page 4: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019나누고 싶은 이야기

1. 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만막상스스로해보면그렇지않다. 저사람은대체얼만큼의시간을들인것일까? 그래서직접사이드프로젝트를진행하는과정의민낯을보여주고자합니다.

2. 데이터수집부터전처리, 인공지능을활용한자동매매까지A -Z를(아주간단히)소개합니다.

Page 5: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

사이드 프로젝트의 서막

일단질러

Page 6: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019언제 SOSCON에서 발표해보겠어?

[사진](https://web.facebook.com/jay.jin.0427)

Page 7: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019언제 SOSCON에서 발표해보겠어?

송치오의 환경

송치오= {출퇴근소요시간= 약1시간근무시간= 10:00~ 19:00매일수영하는날= 21:00~ 22:00화, 목여친= True주거형태= 자취with 룸메이트}

Page 8: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019언제 SOSCON에서 발표해보겠어?

Page 9: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019언제 SOSCON에서 발표해보겠어?

진행중인 사이드 프로젝트가 없는데..

그럼지금부터라도하자!그리고그과정을적나라하게보여주자!

→부랴부랴벼락사이드프로젝트

Page 10: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

근데 회사 밖의 데이터가 뭐가 있지?

e_g= [파이썬을활용한나의브런치구독자데이터분석기,

강남출근길에판교/정자역에내릴사람예측하기,연애의역사를데이터로풀다]

union = [흥미가생긴다,한번들어보고싶다]

지원해보자

Page 11: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

사람들이 관심을 가질 만한 것?

지원해보자

[사진](https://www.youtube.com/watch?v=vWMCCZEkrKg&t=291s)

Page 12: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

사람들이 관심을 가질 만한 것?

Money = [Stock,Gold,Bitcoin,Real_estate]

지원해보자

Page 13: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019지원해보자

[사진](https://www.upbit.com/exchange?code=CRIX.UPBIT.KRW-BTC)

Page 14: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019지원해보자

회장님 비트코인이 떡락하는데요?

이더리움은 무너졌냐? 이 [unk]야?

Page 15: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019지원해보자

자동매매 사이드 프로젝트 진행 과정을 보여주자!OK 주제 다 정했으니 일단 지원!(돼도 걱정 안돼도 걱정)

비트코인은 역시 자동매매지

연사로 선정 – 9월 18일 (D-28)

Page 16: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

발표 준비에 한달을 태워?

[사진](https://www.youtube.com/watch?v=vWMCCZEkrKg&t=291s)

Page 17: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

사이드 프로젝트의 시작

일은벌려졌다

Page 18: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

자동매매 어떻게 할까…

Page 19: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

D-27 목요일

일단Repository 생성→휴벌써반절했다! 뿌 ㅡ듯

수습해보자

Page 20: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019

근데자동매매어떻게하지?

• Quant

-전통적인방법. 도메인지식이뛰어나야함. 아니도메인지식만으로안됨.

직업으로삼아야돈벌수있음

• Forecasting

-과거의데이터(ohlcv, news)를활용하여미래가격을예측후decision

• RL(Reinforcement learning)

- buy, hold, sell 등의결정을통해실제or가상거래로자산증식or 감소

수습해보자

D-25 금요일

Page 21: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-25 금요일 자동매매 하는 법

Quant

Forecasting Quant

RL

RL

Forecasting Quant

SOME ACTION(buy, sell, hold, etc…)

Page 22: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-25 금요일 – 계획세우기, Crawler 대충 구현

계획: 시작은미약하게! Forecasting 해봤으니 RL!

뭘어떻게하던일단Data 필요하다! Crawler부터만들자.

• Data source는무난하게Upbit로선정

• Tick or candle 中 candle로선정→Upbit API 공부

• 코인종류다긁어오자

Page 23: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-20 목요일 Crawler 구현

대충만들어 놓은 Crawler 마무리

• 선정된코인Data들의각시간봉수집

• DataFrame로묶어pkl로저장

Page 24: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-17 일요일 logger, data_loader 구현

데이터를 사용할 수있도록 만들어보자.

• Candle crawler에 logging 기능을 붙여줌

• 쌓여있는Candle을 loader하는 data_loader구현

Page 25: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-16 월요일 강화학습 모델 & 논문 탐색

데이터는 모았다. 모델을 어떻게 만들어볼까? 지금까지 나온모델들은 뭐가있을까?

[사진](https://www.youtube.com/watch?v=vWMCCZEkrKg&t=291s)

Page 26: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-11~10 토-일요일 PPT 제작

여기까지 제작

Page 27: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

[사진](https://www.youtube.com/watch?v=1gZu0cXJ-IY)

Page 28: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

진행이 느린 이유를 분석해보자

• 초록색: 개인일정

• 핑크색: 데이트

• 노란색: 프로젝트

데이트가 너무많다.

Page 29: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-10 원인을 알았으면 조치를 취하자

여친님 우리일주일뒤에보아요

여친

치오

Page 30: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수습해보자

D-10 원인을 알았으면 조치를 취하자

여친님 우리일주일뒤에보아요

Page 31: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

사이드 프로젝트의 종막

일해라치오

Page 32: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019진짜 해보자

D-9 월요일 crawler 재구현

저번엔 현재시간기준으로 190분 간격으로 1분봉과거 200봉씩 모았는데(미래지향)이번엔 그냥전체기간 다긁어오도록 구현(과거지향)

Page 33: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019수집해보자

D-7 수요일(한글날) 원하는 코인 수집 시작

다른 23개코인 candle 수집시작→ 12일 13시종료

Page 34: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019서치해보자

D-7 수요일(한글날) 강화학습 오픈소스 리서치

Page 35: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019서치해보자

D-7 수요일(한글날) 강화학습 오픈소스 리서치

선택이유

• Baseline이 필요하다.

• Star가 더많다.

• DQN을구현해본적이있다.

• 코드가 더간단하다 →커스텀마이징 용이→할것이많다.

Page 36: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019학습해보자

D-4 토요일 선택한 오픈소스로 돌려보자!

바로돌려보려 했으나 역시바로돌릴수없음

• 사용하는Data foramt이다름

오픈소스를 나에게 맞춘다 내가 오픈소스에 맞춘다

장점 확장성을 획득! 빠르게 Test 가능!

단점 시간이 더 걸린다. 내가 원하는 다른 테스트들을 더 해볼 수 없다

Page 37: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019학습해보자

D-4 토요일 선택한 오픈소스로 돌려보자!

바로돌려보려 했으나 역시바로돌릴수없음

• 진행과정기록부분이없음→꼭필요

• 급하니까일단print로만만들어놓고실행을

Page 38: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019학습해보자

D-4 토요일 선택한 오픈소스로 돌려보자!

바로돌려보려 했으나 역시바로돌릴수없음

• 수수료정책이없음→급하니까일단나중에적용하자!

Page 39: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019학습해보자

D-4 토요일 선택한 오픈소스로 돌려보자!

바로돌려보려 했으나 역시바로돌릴수없음

• 순이익개념만있음→자본금과총금액의개념이없다는뜻

• 이것도나중에.. 0.9 ver발표자료제출기한이내일까지!

Page 40: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019일해라 치오

D-3 일요일 Running

Episode: 1Use Data: only KRW-BTC

, , ,

, , ,, , ,

Page 41: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019일해라 머신

D-3 일요일 Running….

“난딴돈의반만가져가”수준이아닌데..?그래도BTC-KRW Data만으로, 1 episode만으로 233만원은꽤고무적

Page 42: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

사이드 프로젝트의 커튼콜

쉽지않네

Page 43: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019후기

Page 44: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019후기

쉽지않네

• 시간내기가은근쉽지않다.

• 평일작업시간대:보통퇴근후22:00 ~ 02:00

• 주말작업시간대: 집에서or데이트하면서시간나는대로작업

• 학생때사이드프로젝트많이했으나회사원되니쉽지않음

• 솔로때사이드프로젝트많이했으나커플되니쉽지않음

• 그래서!근본적으로사이드프로젝트에대한흥미가있어야한다.

Page 45: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019후기

Page 46: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019TODO

너무 많다

• 자본금개념적용

• 수수료적용

• 모니터링추가

• 다른 coin들과더많은 feature 이용

• Colab에서돌리기→ rows: 1047294 데스크탑에서하루걸림)

• 모델한단계씩발전시키기

Page 47: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019linked in bio

• E-MAIL [email protected]

• BLOG https://pizzaplanet.tistory.com/

• GITHUB schio

• INSTAGRAM s.ci.o

Page 48: 삼성오픈소스컨퍼런스 부랴부랴벼락사이드프로젝트 암호화폐자동매매 · 사이드프로젝트를진행한다른사람들을보면“WoW”가나오지만

SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019

THANK YOU