다회차 수업
협의 후 결정
|
신림
상세장소 : 서울대입구역 스터디룸
추가비용 : 스터디룸 사용료 / N(총인원)
실시간 톡
₩20,000원 / 시간
₩240,000 / 총 4회 12시간
JeongWoo Choi
Chois
Python으로 데이터 기반 주식투자하기 Part2 (시계열 데이터, 벡테스팅 편)
찜하기
  • 신림
  • 3시간/회
  • 최대인원:4~5
  • ₩20,000/시간

튜터정보

  • 서울대학교 전기정보공학부

- (전) 서울대학교 전기정보공학부 졸업
- (전) ZOYI Corporation소프트웨어 개발 인턴
- (전) Django based Full-stack 웹 외주개발 (온라인 결제시스템)
- (전) 삼성경제연구소 글로벌 연구소 특허 데이터 쿼리 및 분석 자동화 & 쇼핑몰 리뷰 및 상품 데이터 크롤링 & 토픽 모델링
- (전) 미래에셋증권 파생상품운용본부 시장조성운용팀
- (현) MakinaRocks Machine Learning Engineer

<외주개발>
- (전) 서울대학교 조경학과 연구실 연구 빅데이터 크롤러 프로그램 개발
    - 네이버카페 '미세먼지' 관련게시글, 네이버블로그 년도별 키워드 게시물 크롤링
- (전) 서울대학교 경영대학 연구실 연구 빅데이터 크롤러 프로그램 개발
    - 50여개의 언론사 키워드 기반 뉴스 기사 데이터 크롤링
    - Yelp 리뷰 데이터 크롤링
- (전) 미국 주식 가격, 재무제표 데이터 daily 크롤링 & 자동화
    - 8000여 종목 주기적 업데이트 및 엑셀파일 generatio

<교육>
- (전) 비전공자 코딩(자동화, 크롤링, 데이터 분석) 교육
    - 사업가, 의사, 벤처투자자, 박사출신 연구원, 대학원생, 미술학원(art + tech)그룹 교육, 자사고 창의코딩교육, 미국 뉴욕주립대 학생, 문과 백그라운드 직장인, 금융학 박사과정 논문 데이터 분석, 증권사 직원, 의약계 종사자 등)
- (전) 탈잉 코딩 + 주식트레이딩 그룹수업
- (전) 한국투자증권 Python, Pandas를 활용한 금융데이터 분석 및 벡테스트 강의

<관심사 및 연구>
- Artificial Intelligence (DL/ML)
- Stock & Cryptocurrency trading system
- Developing trading strategies
- Financial Data Analysis using Pandas
- Automation

수업소개

4차산업혁명시대에 접어들면서, 분야를 막론하고 데이터 기반 의사결정이 점점 중요해지고 있습니다. 이에 따라 하루에 생산되는 수quintillion bytes의 데이터 Pool에서 얼마나 빠르게 유의미한 가치를 이끌어내는지가 하나의 중요한 능력이 되고 있고, 많은 업계에서는 이를 위해 다양한 데이터 분석 언어, 프로그램, 툴 등을 사용하고 있습니다.

이러한 시대의 흐름에서 엑셀이 여전히 가장 강력한 데이터 분석 도구라고 할 수 있을까요? 물론 엑셀도 일반 사용자가 사용하기에 정말 편하고 좋은 기능들을 가지고 있는 훌륭한 응용프로그램 입니다. 하지만 기가바이트 이상의 데이터를 처리 및 자동화하기에는 엑셀 자체가 너무 무거울 뿐 아니라, 액셀 내의 다양한 기능들을 숙달하는 데에 상대적으로 많은 시간과 노력이 필요합니다. 무엇보다, 엑셀 외부의 다른 프로그램이나 기능 등과 붙여 하나의 프로세스로 만들어내기도 매우 어렵다는 단점도 존재합니다.

하지만 Python이라는 프로그래밍 언어를 사용하면, 데이터의 종류나 양에 구애받지 않고, 단 몇 줄의 코드만으로 다양한 분석뿐만 아니라 도식화까지 가능해집니다. 또한, Python의 가장 큰 장점인 다양한 라이브러리들은 복잡한 수식이나 통계적 전처리가 필요한 데이터를 쉽게 가공할 수 있도록 해주고, 데이터의 처리 과정을 쉽게 기록할 수 있는 인터페이스를 제공하거나, 이를 확장하여 하나의 end-to-end 프로그램으로 쉽게 만들 수 있도록 도와줍니다.

물론 Python 프로그래밍 언어를 효과적으로 사용하기 위해서는, 엑셀과 마찬가지로 많은 삽질과 인내의 시간이 필요합니다. 하지만 투입되는 시간, 노력 대비 다른 수단보다 훨씬 높은 생산성과 확장성을 가진 결과물을 만들어 낼 수 있습니다. 특히, 데이터 분석 분야에서 크게 두각이 나타나는데, 이는 Pandas와 Matplotlib라는 라이브러리의 기여가 가장 큽니다.

Pandas는 numpy 라이브러리를 기반으로 만들어진 데이터 분석 라이브러리로써, vectorized data manipulation뿐만 아니라 Matplotlib을 활용한 visualization까지 쉽게 가능하도록 해줍니다. Pandas의 대표적인 자료형인 Series와 DataFrame과 함께 이들의 연산만 배우는 것만으로도 많은 작업들을 할 수 있지만, 보다 더 적은 시간과 노력으로 효율적인 분석을 위해서는 더 깊은 원리와 기법들까지 다룰 필요가 있습니다.

Pandas 라이브러리가 금융데이터를 손쉽게 다루기 위해 만들어진만큼, 현존하는 그 어떤 툴보다도 금융데이터 분석에 최적화 되어 있는 라이브러리라고 생각합니다. 저 또한 개인적으로 다양한 형태의 금융 데이터(기업 재무제표, 주가 데이터 등)을 분석하고 있습니다.

본 수업에서도 금융 분야의 다양한 종류, 형태의 데이터를 Pandas로 다루는 법에 대해 배우고, 나아가 실전 데이터 기반 투자를 위한 재무제표 데이터와 주가데이터 분석, 포트폴리오 및 동적 자산 배분 기반 전략 수립, 벡테스팅 등에 대해 배웁니다. 본 수업을 통해, 본인이 생각하는 투자 논리에 대한 검증이나 근거 없이 남들이 말하는 대로 투자하는 수동적인 투자자에서 벗어나, 자신이 투자를 함에 있어서 필요한 데이터를 정량적으로 분석하여 자신만의 전략을 만들 수 있는 역량을 기를 수 있습니다. 데이터의 양이 많아짐에 따라 데이터 테이블 혹은 엑셀 Worksheet 관리가 어려워 끙끙 앓고 있는 분들에게도 최고의 수업이 되리라 확신합니다.

앞으로 코딩 능력이 불가피해지는 시대에서, Pandas를 이용한 데이터 분석 경험은 Python 언어을 시작하는 데에 좋은 출발점이 될 수 있습니다. 여러분들이 삽질을 하게되는 길로 빠지지 않고 옳은 방향으로만 나아갈 수 있도록 도와드리겠습니다.

수업대상

  • <본 수업에 적합하지 않는 수강생>
    - 프로그래밍 경험이 없으신 분 (선수강 수업: https://taling.me/Talent/Detail/4986 )

    <본 수업에 적합한 수강생>
    - 선행수업(https://taling.me/Talent/Detail/4986)을 수강했거나, Pandas로 데이터 분석 경험이 있으신 분
    - 실제 트레이딩에 쓰이는 지표들의 원리나 코드 구현에 관심이 있으신 분
    - 동적자산배분을 다양한 트레이딩 전략의 Pandas 구현 및 벡테스팅을 배워보고 싶으신 분



    - FAQ -
    Q1. 프로그래밍을 아예 모르는데 수업 가능할까요?
    - 네 가능합니다. 제가 수업하신 분들 거의 대부분이 코딩을 하나도 모르시는 분들이셨고, 수업내용을 따라오시는데 전혀 문제가 없으셨습니다.
    - 아울러 비전공자분들을 많이 교육하다보니 어떤부분을 어려워 하시는지에 대한 경험이 많아서 더 쉽게 프로그래밍에 익숙해지는 법 등에 대해서도 다룹니다.

    Q2. 수업은 언제 시작이되나요?
    - 인원이 5명이 채워지면, 개인적으로 연락이 진행되고, 바로 시작 일정 조율후 수업이 진행됩니다.

    Q3. 다른 장소, 시간대는 없나요?
    - 원활한 수업진행을 위해 1개의 장소 & 시간대로 고정합니다

커리큘럼

1회차

1) DateTimeindex, Timestamp 오브젝트
    - 시간을 나타내는 Pandas object들 다루기

2) Price 관련 지표 및 도식화(Price indicator & visualization)
    - lagging을 이용한 price 관련 indicator(수익률 관련)
        - Daily return(log, simple), Cumulative return
        - 2가지의 return 지표와 각각의 쓰임새
    - Rolling을 이용한 price 관련 지표들(정량적 지표, Quantitative indicator)
        - 이동평균(Simple Moving Average), 볼린져밴드(Bollinger band)
    - 간단한 객체지향 도식화(visualization)

3) Frequency conversion
    - resample()의 개념
    - resample() vs asfreq()
    - 월별 수익률 return 구하는 다양한 방법과 관련된 이슈들과 주의해야할 점
        - 월벌 수익률(Monthly return)그래프 그리기
    - Upsampling
    - 일봉(Daily bar) -> 월봉(Montly bar) 로 만들기

4) 성과지표(Performance indicator)
    - 년간 수익률과 표준편차(Annualized return, std)
        - 통계적인 분석(Random Variable과 독립성)
    - Sharpe Ratio
        - 왜 log return을 써야하는가
    - CAGR
    - Drawdown(MDD)
        - Visualization

5) 현대 포트폴리오 이론 (MPT) & CAPM(Capital Asset Pricing Model)
    - CAPM(Capital Asset Pricing Model)
    - 포트폴리오 분산 구하기
    - 현대 포트폴리오 이론(Modern Portfolio Theory)와 자산배분 최적화

6) 재무제표데이터 기반 벡테스팅
    - 피오트르스키(piotroski)model
    - t-test로 결과 유의성 검증

7) 가격데이터 기반 전략 & 벡테스팅
    a) 단일 종목 전략
        - 이동평균(Moving Avg)
        - 모멘텀(Momentum)
        - 평균회귀(Mean reversion)
    b) 복수 종목 전략(동적자산배분)
        - 동일가중(Equal weight rebalancing)
        - 평균모멘텀스코어(Average momentum score)
        - 듀얼모멘텀(Dual momentum)
        - 역변동성(Inverse volatility)
        - 포트폴리오 최적화(portfolio optimization)

2회차

.

3회차

.

4회차

.

리뷰

리뷰쓰기

실시간톡

실시간 톡하기