일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 10월 수익인증
- 코스피 pbr
- Python
- MDD
- 백테스트
- 마켓타이밍
- 곰발
- Quantking
- 퀀트
- pandas_datareader
- 영구포트폴리오
- 레버리지
- 6040
- 파이썬
- backtest
- 퀀트킹
- Permanent Portfolio
- 리벨런싱
- 저점매수
- 60 : 40
- 슬리피지
- FinanceDataReader
- 결산
- Classic portfolio
- 11월 투자
- 현금비중
- 하락장
- 모멘텀
- 현금화
- PBR
- Today
- Total
목록주식 코딩 (8)
가치투자퀀트

지난 시간에는 한개의 유니버스 (1개의 종목 list) 의 수익률을 구해 보았습니다. 우리가 운용하는 포트폴리오의 종목이 변하지 않고 일정하다면 상관 없겠으나, 실제로는 종목 교체가 자주 이루어 집니다. 그리고 거기서 발생하는 슬리피지 (비용) 에 대해 생각하지 않을 수 없습니다. 퀀트킹의 경우 월/분기/연 리벨런싱을 지원하고 전략에 맞추어 정해지 날짜에 매수/매도를 수행합니다. 따라서 이번글은 "분기 리벨런싱"을 기준으로 전략의 전체 수익률을 구해보도록 하겠습니다. 동일 비중 리벨런싱 비용 지난번 코드에 아래와 같이 매월 말일자 동일비중 리벨런싱코드 와 리벨런싱 비용을 반영하는 코드를 작성하겠습니다. # Check Rebalancing Date if (date.day == 1): if (Rebalanc..

본격적인 백테스트 코드를 작성해 보도록 하겠습니다. 먼저 필요한 라이브러리를 Import 해줍니다. import pandas_datareader as pdr import pandas as pd import numpy as np import math from datetime import datetime, timedelta from Get_Price_Data import * Get_Price_Data 파일은 웹페이지에서 주가 정보를 크롤링 하기위한 파일 입니다. Get_Price_Data 파일은 아래글을 참조하시기 바랍니다. [Python] Step#4 주가 데이터 크롤링 (tistory.com) [Python] Step#4 주가 데이터 크롤링 파이썬을 하는 이유중 하나는 웹페이지의 html 정보를 크롤링하..

파이썬을 하는 이유중 하나는 웹페이지의 html 정보를 크롤링하기 쉽다는데 있습니다. 특히 주식 크롤링을 위한 라이브러리는 상당히 다양한데요. 오늘은 그중 제가쓰는 두가지 라이브 러리를 소개하도록 하겠습니다. 파이썬 문법은 따로 다루지 않겠습니다. (파이썬 언어 공부는 책을 한권 사셔서 정독/실습 하시는게 가장 빠릅니다) 사실 저는 다른 사람의 코드를 실행해 보고 분석하는게 더 빠른 배움의 길이라고 생각합니다. ㅎ 아래 코드도 복사하셔서 사용해 보시기 바랍니다. pandas_datareader 굉장히 많으들 쓰시는 라이브러리로 Yahoo 의 historical data 를 크롤링 할 수 있습니다. 수정 종가란? 배당락을 제외한 종가로 실제 배당금액을 재투자 하였을때의 주가라고 보시면 됩니다. 수정 종가를..

이번에는 파이썬을 보다 생산성 있게 도와주는 IDE 오픈소스인 Visual Studio code 를 설치해 보도록 하겠습니다. 아래 주소에서 본인의 컴퓨터에 맞는 설치파일을 인스톨 합니다. Download Visual Studio Code - Mac, Linux, Windows Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and de..

Anaconda 를 설치 하였으면 가상환경을 설정해 보도록 하겠습니다. 가상환경 세팅 (Anaconda) 가상환경은 기본 python 환경이 아닌 실제하지 않는 환경 세팅을 만들어 주는 것입니다. (가령 64bit 컴퓨터에 32bit 가상환경을 만들 수 있습니다) 이렇게 하는 이유는 독립적인 환경에서 작업하기 위함 입니다. 프로젝트를 진행하다보면 여러 라이브러리, 패키지를 다운로드하여서 사용하게 됩니다. 그러다 보면 각 라이브러리들끼리 충돌을 일으키는 문제를 발생시키는 경우가 꽤 있습니다. 이러한 문제가 발생된 경우에 있어서 잘못하면 전부 삭제하고 다시 설치해야 하는 경우가 많습니다. 이를 방지하기 위해서 프로젝트 단위로 가상환경을 구성해서 필요한 라이브러리를 설치해서 작업을 진행하면 훨씬 작업이 편해집..

데이터를 분석한다든지, 인공지능 등에 사용하기 용이한 파이썬은 설치도 매우 간단합니다. 파이썬 홈페이지에서 설치해도 되지만, 대표적으로는 아나콘다(Anaconda) 패키지 배포판으로 많이들 설치한다. 아나콘다를 사용하는 이유는 자동매매 프로그램을 위해 가상환경이 필요한 이유도 있다. 패키지 배포판은 말 그대로 다양한 라이브러리들을 같이 묶어서 설치를 하는 것으로써, 아나콘다만 설치하여도 파이썬 사용은 물론, 다양한 통계 및 기계학습 라이브러리 등을 사용할 수 있고 설치하는 것도 매우 간단한 Installer 방식을 지원한다. https://www.continuum.io/downloads Anaconda | Anaconda Distribution Anaconda's open-source Distributi..

이론에 이어서 바로 코딩으로 들어가 보겠습니다. 필요 라이브러리 import pandas as pd import numpy as np import math from datetime import datetime from Get_Price_Data import * Get_Price_Data 는 주가 데이터를 크롤링 하는 파일로 아래 글을 참조하시면 됩니다. 유니버스 구성 : SPY , IEF # Makeup Universe Universe = ['SPY','IEF'] df_CP = get_yahoo_price_data(Universe, start_day, end_day) # Duration of backtest df_CP = df_CP[start_day:end_day] 이전에 설명한 바와 같이 60:40 포..

안녕하세요 곰발 입니다. 첫 시작은 백테스트를 위한 파이썬 관련 글 부터 써 보려 합니다. 파이썬을 시작하기에 앞서 백테스트를 파이썬으로 하는 이유에 대해 말씀 드리겠습니다. 제가 프로그래밍 전공자는 아닙니다만, 여러분이 파이썬으로 기본적인 백테스팅 정도는 할수 있도록 노력해 보겠습니다. 파이썬(Python) 이라는 프로그램언어는 배우기가 쉽다! 프로그래밍 언어에는 여러가지가 있습니다. 초기 C 부터 시작해서 발전해온 C++ 과 Java 등 여러가지 언어가 있습니다. 파이썬 (Python) 은 그중에서도 매우 대중적으로 알려진 프로그래밍 언어입니다. 시중에 관련된 책들도 많고 비교적 코드를 보고 이해하기 쉬운 '가독성'이 높은 언어 입니다. 굉장히 방대한 라이브러리!! 파이썬의 최대의 장점이라 할수 있겠..