Python을 이용한 주가 백테스팅 시스템 구축하기

Python을 이용한 주가 백테스팅 시스템 구축하기

(2개의 수강평)

48명의 수강생
Python알고리즘MYSQLPandasAnacondaVisual Studio Code
55,000원
지식공유자 · choi2505
56회 수업· 총 13시간 59분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 초급
지식공유자의 다른 강의
연관 로드맵
아직 다른 강의가 없어요.
연관 로드맵이 없어요.

이 강의는

본 강의는 Python으로 주가 백테스트를 하는 방법을 처음부터 끝까지 전반적으로 훑어보는 강의입니다.

이런 걸 배울 수 있어요

  • 기본적인 Python 문법을 조금 더 다져나갈 수 있습니다.
  • 기본적인 MySQL과 mysql workbench 사용법을 배웁니다.

👩‍💻 백테스트 데이터베이스 구축부터 라이브러리 작성까지!
세심하게 알고리즘을 작성하고 구현하는 방법을 익혀보세요. 
👨‍💻

강의 소개 📝 

본 강의에서는 Python(파이썬)을 이용하여 백테스트 데이터베이스 구축부터 본인이 생각하는 알고리즘으로 백테스팅이 가능하도록 백테스트 라이브러리를 작성해봅니다. (매수, 매도 시그널에 관한 알고리즘 강의가 아닙니다!)

추후 매수, 매도 시그널을 작성하는 부분을 보시면 아시겠지만 생각보다 매매 알고리즘 작성에 생각해야 할 부분들이 많습니다. 분명히 백테스팅을 위한 좋은 패키지들이 많지만 자유도가 높은 백테스팅을 위해서는 본인이 백테스트 프로그램을 새로 개발하거나 백테스팅 라이브러리에 대한 이해도가 상당히 높아야 합니다. 그런 의미에서 본 강의를 듣고 나서 최대한 상상하는 부분을 모두 구현하실 수 있도록 자체적으로 백테스트 프로그램을 작성하였습니다.

무엇보다 최종적으로 강의를 수강하신 이후 본인의 데이터를 비판적으로 대하는 자세를 배워가셨으면 좋겠습니다!

이 강의에서 배우는 것들 ✏️ 

본 강의에서는...

  1   본인의 데이터베이스(MySQL)를 구축하면서 기본적인 SQL문을 학습합니다.

  2   처음 막 Python을 마치신 분들이 들으시면 조금 더 Python에 자신이 붙으실 것으로 생각합니다! 
(기본적인 파이썬 문법만을 마치고도 수강이 가능하도록 강의를 구성하였습니다.)

   백테스팅을 진행하는 알고리즘 작성이 생각보다 간단해 보여도 생각할 점이 매우 많다는 점을 저와 함께 강의를 들어나가시면서 배우셨으면 좋겠습니다.

  4   기본적인 Python을 이용한 GUI 작성, matplotlib, pandas, mysql-connector-python 사용법을 학습합니다.

강의 특징 💡 

최대한 실습 위주로 강의를 작성하였으며 전체적인 강의가 유기적으로 연결되어 있으므로 꼭 같이 따라하시면서 진행해 주셨으면 좋겠습니다. 

수강 전 꼭 확인해주세요! ✔️ 

곧 입대를(5월 초중순) 앞두고 있어 강의에 관련된 질문과 답변이 불가능합니다. 죄송합니다.
이를 감안해서 구매해주시면 감사하겠습니다.

강의 미리보기 📖 

전체적으로 두 개의 GUI(graphical user interface)를 작성합니다.

• 아래 프로그램은 저희 mysql 데이터베이스를 업데이트 시켜주는 프로그램입니다.

• 아래 프로그램은 백테스팅을 진행해주는 프로그램입니다.

여기서 다루는 툴 🧰 

  • Python과 가상환경을 관리하는 Anaconda
  • Mysql 과 Mysql Workbench
  • Visual studio code
  • Xing api, Dev 센터 (ebest 투자증권)
  • QtDesigner를 이용한 GUI 작성
  • 사용되는 패키지들 : pandas, Matplotlib, Mysql-connector-python, TA-lib , PyQt5

예상되는 질문 Q&A 🙋🏻‍♂️ 

Q. 강의에서 거래 알고리즘의 비중은 어느 정도인가요?
A. 본 강의의 거래 알고리즘에 대한 비중은 거의 없다고 보시면 됩니다. 본 강의의 목적은 처음 백테스팅을 입문하신 분들이 어떤 식으로 주가 데이터베이스를 구축하고 어떤 방식으로 백테스팅 프로그램을 작성하는지에 초점이 맞추어져 있습니다.

Q. 강의를 수강한 이후 바로 본인 백테스팅 알고리즘을 적용할 수 있나요?
A. 이해도에 따라 다르겠지만 저는 개인적으로 본 강의를 전체적으로 이해하셨다면 충분히 본인만의 알고리즘으로 백테스팅을 시작하실 수 있을 것으로 믿습니다. 하지만 강의 중간에서도 제가 계속 강조드리지만, 간단해보이는 거래 알고리즘이더라도 실제로 프로그램을 작성해보시면 상당히 세심하게 신경써야 할 부분이 많다는 것을 알아주셨으면 좋겠습니다!

Q. 강의를 따라가는 데 python 문법에 대한 이해도가 높지 않아도 괜찮나요?
A. 네, 최대한 많은 분들이 들을 수 있도록 기본적인 문법 안에서 해결하려 노력했으며 이제 막 python 문법을 마친 이후 헷갈릴 수 있는 부분들을 조금씩 정리했습니다.

도움 되는 분들

  • 이제 막 Python 문법을 마치고 무엇을 해야 할지 막막하신 분들
  • 백테스팅을 Python으로 시작하고 싶은 분들

선수 지식

  • 기본적인 Python 문법

지식공유자 소개

취미로 얕게 넓은분야를 공부하는것을 좋아하는 대학생입니다!

교육과정

모두 펼치기 56 강의 13시간 59분
섹션 0. 기본적인 실습환경 구축하기
2 강의 64 : 07
anaconda, visual studio code 설치
28 : 53
mysql 설치
35 : 14
섹션 1. 데이터베이스 구축과 데이터 수집하기
20 강의 239 : 18
데이터베이스 구성하기 개요
08 : 48
SQL실습(1)
13 : 55
SQL실습(2)
17 : 36
SQL실습(3)
12 : 12
(보충수업) 관계형데이터베이스란? ORM이란?
08 : 59
mysql-connector-python 사용법
07 : 07
mysql-connector-python실습(1)
08 : 27
mysql-connector-python실습(2)
10 : 05
commit과 rollback의 필요성
05 : 28
commit과 rollback 예시
05 : 03
dev center 사용법
03 : 52
python을 이용한 Xing api 사용하기(1)
18 : 06
python을 이용한 Xing api 사용하기(2)
28 : 44
python을 이용한 Xing api 사용하기(3)
11 : 49
데이터베이스에 받아온 데이터 집어넣기
10 : 44
Xing api를 이용하여 일봉데이터 가져오기
16 : 47
cts_date를 이용하여 연속데이터 조회하기
10 : 37
개별 종목별 table생성하기
16 : 55
cluster index의 특성
08 : 18
total_company_list를 이요하여 개별종목 table생성 자동화하기
15 : 46
섹션 2. 데이터베이스 업데이트용 GUI작성하기
9 강의 143 : 22
본 섹션을 통해 만들어볼 프로그램의 개요
04 : 51
PyQt5의 기본적인 사용법
20 : 25
python의 클래스 개념정리
14 : 02
GUI 기본적인 골격 작성
13 : 16
데이터베이스 로그인 구현
19 : 00
Xing api로그인 구현
21 : 25
데이터베이스 업데이트 작성(1)
17 : 21
데이터베이스 업데이트 작성(2)
19 : 48
데이터베이스 업데이트 작성(3)
13 : 14
섹션 3. 백테스팅 프로그램 작성하기
13 강의 203 : 01
프로그램 작성 개요
07 : 47
userBank, stockData 클래스 작성
07 : 57
기본적인 pandas 사용법
30 : 35
tradeManager 작성하기
13 : 00
tradeManager의 매수, 매도 작성하기
19 : 44
데이터를 통한 시그널의 발생(개요)
12 : 06
매수, 매도 시그널 작성(1)
11 : 19
매수, 매도 시그널 작성(2)
15 : 54
show_result 작성하기
17 : 35
기본적인 matplotlib 사용법
12 : 26
matplotlib을 이용한 result 작성
21 : 58
문제의 날짜 확인해보기
14 : 04
visual studio code의 기본적인 디버거 사용법
18 : 36
섹션 4. 백테스팅용 GUI작성하기
12 강의 190 : 09
작성할 GUI 개요
04 : 40
boss 클래스 작성(1)
12 : 54
매수, 매도 시그널 일부 수정하기
13 : 35
boss 클래스 작성(2)
19 : 18
백테스트 GUI의 작성(1)
20 : 14
백테스트 GUI의 작성(2)
23 : 33
백테스트 GUI의 작성(3)
26 : 14
백테스트 GUI의 작성(4)
09 : 57
새로운 result_window 띄우기
07 : 11
result 작성(1)
10 : 10
result 작성(2)
25 : 22
강의를 마치며...
17 : 01

공개 일자

2020년 4월 10일 (마지막 업데이트 일자 : 2020년 4월 10일)

수강 후기

아직 평가를 충분히 받지 못한 강의 입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!😄️️

default_profile.png
Newbie 1일 전
좋은 강의 감사합니다.
default_profile.png
domskl 10일 전
관련 내용 처음에 혼자 공부하려고 했을땐 되게 막막했는데, 이 강의에서 기초부터 차근차근 가르쳐줘서 정말 큰 도움이 됐습니다. 특히 순차적으로 물흐르듯이 따라가기만 하면 되도록 강좌를 구성해놓으셔서 더 쉽게 배웠던 것 같네요. 매우 추천하는 강의입니다.
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스