zipline-reloaded 1 - 설치

zipline 은 Quantopian 이 운영하던 오픈소스 백테스팅 으로 2021년경 지원이 중단된 뒤로 Machine Learning for Trading 책의 저자가 fork 한 zipline-reloaded 프로젝트로 유지되고 있다.

zipline 이란

  • zipline 은 Quantopian 이 운영하던 오픈소스 백테스팅이다.
  • 2021년경 업데이트 지원이 중단된 상태이다.
  • 여기서는 fork 중 Machine Learning for Trading 책의 저자 fork이 zipline-reloaded 프로젝트를 선택한다.

zipline의 fork 버전인 zipline-reload 를 설치하고 zipline은 bundle 를 통해서 데이터를 받아서 알고리즘을 실행하는 구조로 보이다. 여기서는 기본 번들로 사용하는 quandl 설치까지만 진행한다.

zipline 설치

zipline-reload 를 설치한다.

1
2
3
4
5
6
# pip
pip install zipline-reloaded


# conda
conda install -c conda-forge zipline-reloaded

quandl 시세 데이터 설치

기본 데이터 번들 Ziplin 을 위한 데이터: https://zipline.ml4trading.io/bundles.html

zipline은 기본 번들로 quandl 의 wiki 데이터 세트를 제공한다. Quandl 데이터 번들에는 자산의 일일 가격 데이터, 분할, 현금 배당금 및 자산 메타데이터가 포함됩니다.

Quandl은 2018년 초에 이 데이터 세트를 중단했으며 더 이상 업데이트되지 않습니다. 그럼에도 불구하고 자체 데이터 세트를 설정하지 않고 Zipline을 시험해 보는 것은 유용한 시작점입니다.

현재 quandl 데이터는 NASDAQ 에서 호스팅한다. 설치시 NASDAQ 에 가입해 설치를 했어야 한다.

Get a QUANDL API Key

*Ingest Zipline Bundle 을 다운받으려면 data.nasdaq.com에 가입해서 API key 를 얻는다. account setting 에 API Key 가 있다.

https://data.nasdaq.com/account/profile

Zipline 기본 Bundle

API key 를 복사해서 quandl 데이터 번들을 다운로드 하려면 zipline 명령으로 시작한다.

다음 명령 중 하나를 사용하면 기본 quandl 번들을 홈디렉토리에 다운로드 한다.

1
2
3
4
5
$ QUANDL_API_KEY='**********'  zipline ingest -b quandl

or

$ QUANDL_API_KEY='**********' zipline ingest

다운로드 되는 번들 파일은 사용자 홈디렉토리 아래 .zipline/data 폴더에 저장된다.

Jupyter Notebook 셀에서 실행한다면

! 다음에 명령을 넣어 주면 된다.

1
$ ! QUANDL_API_KEY='**********' zipline bundles

다운로드한 번들을 확인할 수 있다.

1
2
3
4
5
6
7
$ zipline bundles

csvdir <no ingestions>
quandl 2024-02-03 12:59:38.882421
quandl 2024-02-03 12:55:18.326897
quandl 2024-02-03 12:42:14.980288
quantopian-quandl <no ingestions>

zipline 으로 알고리즘 실행

zipline 은 3가지 방법으로 알고리즘을 실행할 수 있다. run 명령 도움말을 참조할 수 있다.

1
$ zipline run --help

기본 번들에 있는 자산의 가격 데이터를 사용해서 zipline 알고리즘을 실행해 보자.

Python - 문서화 도구 Sphinx

Sphinx 는 python의 대표적인 문서화 도구로 reStructedText 또는 Markdown 문서를 HTML, pdf, man page 등의 결과물로 생성할 수 있다.

sphinx 설치

sphinx 는 python 환경에서 실행이 된다. 설치는 python 환경 혹은 OS 환경에 직접 설치하는 방법이 있다. 파이썬 가상환경을 권장한다.

https://www.sphinx-doc.org/en/master/usage/installation.html

- Python 환경에 설치

python 환경 혹은 python 가상환경 (venv, virtualenv 등)에 설치

pip

1
pip install sphinx

Anaconda

1
conda install sphinx

- 시스템에 직접 설치

각 OS 의 SW 로 설치한다면 package 관리자를 사용해 설치한다.

Debian/Ubuntu

1
apt install python3-sphinx

RHEL, CentOS

1
yum install python-sphinx

macOS / home-brew

1
brew install sphinx-doc