위치

요일

가능
시간
(날짜)

  • 오후 8시 ~ 11시 (협의)
장소 : 서울대입구역 스터디룸
추가비용 : 스터디룸 사용료 / N
추가비용 : 스터디룸 사용료 / N
₩20,000원 / 시간
₩300,000 / 총 5회 15시간
JeongWoo Choi
Chois
Python으로 데이터 분석해서 주식투자하기 Part1 (Pandas 기초와 응용, 재무제표 편)
  • 신림, 강남
  • 3시간/회
  • 최대인원:4~5
  • ₩20,000/시간

튜터정보

  • 서울대학교 전기정보공학부
**개인연구**
- Artificial Intelligence (Reinforcement Learning)
- Stock & Cryptocurrency trading system
- Developing trading strategies
- Financial Data Analysis using Pandas
- Automation

**Career**
- (전) 서울대학교 전기정보공학부 졸업
- (전) ZOYI Corporation소프트웨어 개발 인턴
- (전) Django based Full-stack 웹 외주개발 (온라인 결제시스템)
- (전) 삼성경제연구소 글로벌 연구소 특허 데이터 쿼리 및 분석 자동화 & 쇼핑몰 리뷰 및 상품 데이터 크롤링 & 토픽 모델링
- (전) 서울대학교 조경학과 연구실 연구 빅데이터 크롤러 프로그램 개발
- 네이버카페 '미세먼지' 관련게시글, 네이버블로그 년도별 키워드 게시물 크롤링
- (전) 서울대학교 경영대학 연구실 연구 빅데이터 크롤러 프로그램 개발
- 50여개의 언론사 키워드 기반 뉴스 기사 데이터 크롤링
- (전 & 현) 비전공자 코딩 교육(사업가, 치과의사, 벤처투자자, 은행업 종사자, 수학과 박사 연구원, 대학원생, 미술학원(art + tech)그룹 교육, 자사고 창의코딩교육, 미국 뉴욕주립대 유학생, 문과 백그라운드 직장인, 금융학 박사과정 논문 데이터 분석, 증권사 직원, 탈잉 그룹수업)

수업소개

4차산업혁명시대가 한 층 눈앞으로 다가오면서, IT 분야를 포함한 다양한 분야의 기술들과 전문성이 대량의 데이터를 기반으로하여 발전하고 있습니다. 전세계적으로 하루에 2.5 quintillion bytes이상의 데이터가 생산되고 이를 기반으로 의사결정 프로세스가 이루어지고 있는 가운데, 앞으로는 이러한 방대한 양의 데이터 속에서 얼마나 빠르게 유의미한 insight를 이끌어내는가가 중요해지고 있습니다.

이러한 시대의 흐름에서 엑셀이 여전히 가장 강력한 데이터 분석 도구일까요? 엑셀로GB이상의 데이터를 처리하고 자동화까지 하기에는 너무 복잡하고 무거울 뿐 아니라, 상대적으로 많은 시간과 노력이 필요합니다. 게다가 특정 결과를 도출해내기까지의 분석 프로세스를 기록하고 정리하기도 매우 어렵다는 단점도 존재합니다.

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

하지만 이러한Python프로그래밍 언어의 강점들 또한 제대로 활용하기 위해서는, 엑셀과 마찬가지로 많은 인내와 삽질, 그리고 시간이 필요합니다. 그러나 투입되는 시간, 노력 등을 종합적으로 비교해보면, Python을 사용할 경우 훨씬 더 높은 생산성과 확장성을 가진 결과물을 만들어 낼 수 있습니다. 이처럼 Python이 데이터분석 분야에서 다른 언어들을 제치고 highest rank 를 차지할 수 있었던 일등공신은 단언컨대 Pandas 라이브러리라고 할 수 있습니다.

Pandas는 vertorized operation 연산을 가능케한 numpy라이브러리를 기반으로 만들어진 Python의 데이터분석 라이브러리로써, high performance data manipulation뿐만 아니라 visualization까지 쉽게 가능합니다. Pandas의 대표적인 data type인 Series와 DataFrame의 vectorized operation만 배우는 것만으로도 데이터 분석에 도움이 되지만, 보다 더 적은 코드라인으로 고성능의 분석을 위해서는 더 깊은 원리와 기법들까지 다룰 필요가 있습니다.

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

본 수업에서도 금융데이터 분석을 중심으로하여 다양한 종류, 형태의 데이터를 Pandas로 다루는 법에 대해 배우고, 나아가 실제 데이터기반의 투자를 위해 Pandas로 재무제표 분석, Historical Price data기반 정량 데이터 분석, 포트폴리오 및 동적 자산 배분 기반 전략 수립 및 벡테스팅 등에 대해 배웁니다. 평소 직접 검증한 근거 없이 남들이 좋다고 하는 종목에 투자하거나 심리적 감으로 투자하는 투자자, 기업의 가치를 보다 정량적으로 분석해서 투자하고자 하시는 분에게는 데이터 기반으로 직접 검증하고 투자를 할 수 있는 좋은 발판이 될 수 있으리라 생각합니다. 액셀 함수, 매크로 사용법을 주구장창 외우지만 정작 새로운 데이터에 대해서는 어떻게 처리를 해야될지 쩔쩔 매시던 분들에게도 역시 최고의 수업이 되리라 확신합니다.

앞으로 코딩, 프로그래밍 능력이 불가피해지는 시대에서, 넘쳐나는 데이터를 빠른 시간내에 효과적으로 분석을 위해서는 Pandas는 훌륭한 선택이 될 수 있습니다. 또한, Pandas를 이용한 데이터 분석경험은 Python을 시작하는 데에 좋은 출발점이 될 수 있습니다. 여러분들이 삽질을 하게되는 길로 빠지지 않고 옳은 방향으로만 나아갈 수 있도록 도와드리겠습니다.

수업대상

  • <본 수업에 적합하지 않는 수강생>
    - Pandas의 기본적인 operation만 익히고 싶으신 분

    <본 수업에 적합한 수강생>
    - Pandas의 기본 기능뿐만 아니라, 숨어있는 강력한 기능들까지 "제대로" 배워보고 싶으신 분
    - 데이터를 매번 눈대중으로만 검증하거나 혹은 액셀로 처리하는데 어려움을 겪으시는 분
    - 데이터의 종류, 양에 상관없이, 자기만의 Data Analysis Logic을 만들어서 데이터로부터 빠르게 insight를 추출하고 싶으신 분들
    - 엑셀을 떠나, Data Analysis + Develop Program 을 End-to-End로 구현 및 자동화하고 싶으신 분들

커리큘럼

1회차

1) Pandas를 다루기 위한 Python Language Basic
- Python 소개 및 환경설정
- 프로그램의 기본 structure
- "Pandas와 함께 쓰이는" Python 자료형과 문법

2) Pandas Series와 DataFrame 깊게 파헤치기
- numpy 맛보기
- Series, DataFrame
- The ways of creating Series, DataFrame
- Alignment via index labels
- Add new columns on DataFrame
- 나만의 지표 만들어서 DataFrame column에 추가하기
- Pandas View
- Reindexing DataFrame
- rename, .columns, .index

3) EDA on financial statement data
- Metadata Analysis
- Univariate descriptive statistics Analysis
- 비이상적인 데이터('NaN') 처리하기
- PER, PBR, 시가총액, 종가 등이 비어있는 데이터 처리하기
- 정렬하기
- 시가총액 큰 기업 순서, EV/EBITDA가 낮은 기업 순서 정렬
- 시가총액 상위 20%중에서 하위 10개 기업 추출하기
- 서브셋(Subset)을 추출해내는 다양한 방법
- 시가총액 최상이 20기업 중, PER이 10보다 작고, PBR이 1보다 작은 기업들 추출하기
- DataFrame(or Series)간의 vetorized 수학 연산 작동방식 이해하기
- Normal operation(+, -, *, /)
- DataFrame(or Series)' operation
- 실습

4) Categorizing & Groupby
- Categorizing
- PER, 시가총액 등을 기준으로 10개 그룹으로 나누기
- Groupby
- PER 그룹별 연평균 수익률 및 수익률 표준편차 비교
- Groupby object & Aggregation
- Examining groupby obj


5) Pandas DataFrame 합치기
- append
- concat, join, merge
- 종목별 주가 데이터(OHLC) 하나로 합치기
- 상품별 리뷰데이터 서로 병합하기

6) 실전예제(practice)(1
- 펀드 데이터 preprocessing
- 피오트르스키 모델 preprocessing

2회차

.

3회차

.

4회차

.

5회차

.

6회차

.

리뷰(2)

리뷰쓰기
5.0
  • 커리큘럼
  • 전달력
  • 준비성
  • 친절도
  • 시간준수

실시간톡

실시간 톡하기

위치

지도가 들어갑니다.