파이썬으로 나만의 투자 전략 세우기 - 2주차
객체지향 프로그래밍 : Finanacial Instrument Class
- 강의소개
- OOP 개요 및 클래스의 예
단어의 정의보단 실습을 통해 OOP를 익히는 것을 추천
아래의 그림에서 클래스와 객체의 관계를 뽑는다면?


객체지향에 대한 설명으로 적절한 그림인가?

이 세상 모든 것들은 객체이고 군집화 시키고 싶은 객체들의 특징/속성/기능 등을 뽑아놓은 것이 클래스다.
- 필요한 패키지
pip install pyupbit
- 금융 분석 클래스의 작동 모습(파트1)
- 금융 분석 클래스의 작동 모습(파트2)
- 특수 메소드 __init__()
dunder init(double underscore init)이라 불림
객체 생성시 속성 초기화 함수
class CoinInstrument():
def __init__(self, ticker, to=None, count=200, interval='day', period=0.5):
self.ticker = ticker
self.interval = interval
self.count = count
self.to = to
self.period = period
CoinInstrument('KRW-BTC')
- get_data() 메소드
load_data() 메소드로 변경
def load_data(self):
self._data = pyupbit.get_ohlcv(self.ticker, self.interval, self.count, self.to, self.period)
- log_returns() 메소드
def log_returns(self):
self._data["log_returns"] = np.log(self._data.close/self._data.close.shift(1))
- 문자열 표현 및 특수 메소드 __repr__()
repr = representation의 약어
객체를 이해할 수 있는 평문으로 표현
__str__() vs __repr__()
섹션4 : 기술적 분석 - 이론 및 이용 사례
발표자 : 김동억
- 섹션 개요
- 기술적 분석 vs 기본석 분석

- 기술적 분석과 효율적 시장 가설(EMH)

- 기술적 분석 - 적용 및 이용 사례
트레이딩 전략을 벡테스팅하며 성과와 리스크를 면밀히 모니터링

- 통화(외환) 및 트레이딩 소개
퀀트 투자 서론
발표자 : 박철종
퀀트 투자란?
- 수치화한 데이터를 기반으로 객관적으로 투자하는 방법
- 퀀트투자를 함으로써 많은 편향으로 벗어날 수 있다.
투자에서 자주 나타나는 편향
- 과잉확신 편향 - 자신의 능력을 높이 쳐서 과도한 확신을 가지는 편향
- 손실 회피 - 이익을 보는 것보다 손실을 입는 것을 극도로 싫어하게 되어 이익을 길게 못 가져가는 편향
- 확증 편향 - 자신의 주장에 맞는 정보만 가져가고 안 맞는 정보는 배척하는 편향
- 군집 행동 - 자신이 맞는 행동을 하려고 해도 집단이 맞지 않는 행동을 하면 집단의 행동으로 하는 편향
- 선택적 기억 - 자신이 하고 싶은 기억만 하는 편향
- 매몰비용 오류 - 판단이 잘못되어도 이미 지불한 비용이 상당하면 그 판단을 고치지 못하는 것
데이터 클리닝 - 잘못된 데이터(누락 or 오류) 찾기
- 막대 그래프나 산점도 등을 이용
- 대표값(평균, 최빈값, 최대, 최소) 등을 이용
데이터 클리닝 - 잘못된 데이터 고치기
- 과거의 패턴을 따서 붙이기
- 퀀트 모델을 따로 짜서 잘못된 데이터를 원래 데이터로 교체
- 대표값 활용하기
데이터의 종류
- 자산 가격 데이터 : 주가 or 보조지표 등
- 자산 거래량 데이터 : 거래량이나 호가창의 정보
- 거시경제 데이터 : GDP나 고용 지표 등
- 기업 재무 데이터 : 순이익, 부채비율, 영업이익 등
- 센티먼트 데이터 : 의견들을 수치화한 데이터
- 특정 인더스트리 데이터 : 산업에 이용되는 지표 (ex. 건설업 - 건설수주, 부동산 심리지수)
- 대안 데이터 : 기타 모든 데이터를 가공해 수치화한 데이터
백테스팅이란?
- 자신이 짠 전략을 과거 데이터에 넣어서 테스트를 돌리는 것을 백테스팅이라고 한다.
백테스팅으로 확인해야 할 것들
- 수익률(평균 수익률, 누적 수익률)
- 변동성(표준편차)
- MDD

백테스팅에 치명적인 편향

- 생존자 편향 - 시장에 죽은 기업들은 데이터가 남아 있지 않을 가능성이 높다. 따라서 백테스팅 할 때는 죽은 기업들이 반영이 되지 않고 따라서 결과는 부정확하고 오히려 더 좋게 나온다.
- 미래 편향 - 과거 백테스팅 시점에서는 미래 벌어질 일을 모른다. 따라서 백테스팅을 돌리는 사람도 모르는 걸로 간주하고 돌려야하지만 그러지 못하는 경우가 많다.
- 정보 염탐 편향 - 과거의 데이터에 너무 맞춰서 미래의 결과를 예측을 못하는 경우를 말한다.
본 스터디는 Udemy의 <【한글자막】 알고리즘 거래와 투자의 기술적 분석 with Python> 강의를 활용해 진행됐습니다. 강의에 대한 자세한 정보는 아래에서 확인하실 수 있습니다.
프밍 스터디는 Udemy Korea와 함께 합니다.