본문 바로가기
2. 프로그래밍/1) 퀀트투자

[퀀트투자] 파이썬 기본과 마법공식 구현

by 민ㅂr 2022. 3. 2.

본 포스팅은 '퀀트전략 파이썬으로 세워라' (박준규 지음) 중 제1장 '파이썬 기본과 마법공식 구현' 내용을 요약정리한 것입니다. 

1. 파이썬 기본과 마법공식 구현

개인 투자자 입장에서의 퀀트(계량) 주식 투자란, 자신의 주관이나 편향을 배제한 채 객관적인 수치와 데이터를 바탕으로 만들어진 규칙에만 근거한 투자법이라고 정의할 수 있다. 

 

퀀트 주식 투자를 위해서 필요한 것은 정량화된 룰, 데이터 이렇게 두 가지이다. 기존에 개발된 룰 중 가장 유명한 것은 조엘 그린 블란트의 마법공식으로 고ROA, 저PER 주식을 기계적으로 선별하여 최상위에 있는 주식 20~30개를 1년 동안 보유하고 매매하는 방식이다. 

 

마법공식을 구현하는 방식은 크게 엑셀과 프로그래밍이 있다. 엑셀은 친숙하지만, 데이터가 바뀔 때마다 똑같은 작업을 반복해줘야 하고, 작업 중에 실수가 발생할 수 있다는 단점이 있다. 반면 프로그래밍을 이용하면 데이터가 바뀌더라도 실행만 시켜주면 같은 작업을 무한 반복할 수 있다는 장점이 있다. 파이썬은 여러 프로그래밍 언어 중 비전공자가 빠르게 배워서 사용이 가능한 언어이다. 아나콘다를 설치하면 파이썬 및 모듈 패키지까지 한 번에 설치할 수 있다. 

 

파이썬 기본 문법은 아래와 같다. 

  • 출력하기, 데이터 타입 확인하기, 변수 설정하기
In print('hello') #출력
Out hello
In type('hello') #데이터 타입, int: 정수, float: 실수, str: 문자
Out str
In var1 = 1 #변수설정, 변수이름 = 데이터 

 

  • 리스트 만들기 
In list = ['데이터1','데이터2','데이터3'] #리스트 만드는 방법
In list[0] #리스트 호출방법1, 리스트 인덱스는 0번부터 시작
Out '데이터1'
In list[0:2] #리스트 호출방법2, 인덱스 0부터 1번까지 호출
Out ['데이터1', '데이터2']
In list.append('데이터4') #리스트 추가방법1, 가장 마지막 인덱스에 데이터 추가
In list.insert(4,'데이터5') #리스트 추가방법2, 4번 인덱스에 데이터 추가
In list.remove('데이터5') #리스트 삭제방법1
In del list[3] #리스트 삭제방법2

 

  • 딕셔너리 만들기 
In dict={'키1':1, '키2':2, '키3':3} #딕셔너리 생성방법, 키와 값으로 구성, 데이터 순서 없음
In dict['키1'] #딕셔너리 호출방법
Out 1
In dict['키4']= 4 #딕셔너리 추가방법
In del dict['키4'] #딕셔너리 삭제방법

 

  • 반복문(for문, while문) 만들기
In for i in range(1,5): #for문, 콜론, 들여쓰기 중요! 
    print(i)
Out 1
2
3
4
In a=1
while a<5: #while문, 조건이 참인 경우에 반복
    print(a)
    a = a+1
Out 1
2
3
4

 

  • 조건문(if, elif, else) 만들기
In num = -3
if num>0: 
    print("양수")
elif num<0:
    print("음수")
else:
    print("0")
Out 음수

 

책에서는 1장 '파이썬 기본과 마법공식 구현'에서 엑셀과 파이썬을 이용해 마법공식 구현하는 방법에 대해 소개를 하였는데, 2장 '판다스를 이용한 데이터 분석'이 실질적인 내용임으로 본 포스팅에서는 관련내용은 생략하겠습니다. 

 

이상으로, 파이썬 기본과 마법공식 구현 포스팅을 마치겠습니다. 

댓글