Python/파이썬으로 배우는 알고리즘 트레이딩

[파이썬으로 배우는 알고리즘 트레이딩] 0. 트레이딩 및 pycharm, anaconda3 가상환경 설정 후 Cybos Plus API 연결하기

JE_:) 2023. 5. 16. 10:54
728x90

 

 

 

 

* 해당 학습 및 실습은 [ 파이썬으로 배우는 알고리즘 트레이딩 ]을 바탕으로 진행되었습니다.

 

파이썬으로 배우는 알고리즘 트레이딩 (개정판-2쇄)

[파이스탁 YouTube](https://www.youtube.com/c/pystock) [리디북스 Ebook 구매 바로가기](https://ridibooks.com/boo…

wikidocs.net

 

 

 

# 트레이딩(Trading) 이란?

: 금융 시장에서 주식, 채권, 화폐, 자산을 사고 팔면서 이익을 창출하는 활동.

이러한 활동을 사람이 하는 것이 아닌, 컴퓨터에게 완전히 위임하는 것이 '알고리즘 트레이딩(Algorithm trading)'이다.

 

 

* 알고리즘(Algorithm) : '어떤 문제를 해결하기 위한 절차나 방법'

 

 

 

 

 

 

 

프로그래밍과 프로그래밍 언어

주식 고수들은, 나름대로 자신만의 '주식 투자를 위한 노하우'가 있을 것이다. 

이러한 노하우는 컴퓨터와 관련된 학문에서 '알고리즘'이라 할 수 있다.

 

또한, 이러한 '알고리즘'을 컴퓨터가 알아들을 수 있도록 일련의 명령문으로 작성하는 것을 '프로그래밍'이라 한다. 

 

 

 

 

ex> 마트에서 식용유를 구매하기 위한 알고리즘


* 이때, 마트에 가는 방법, 이용에 대한 팁 등이 '노하우', 즉 '알고리즘'이 된다.

1 ) OO방면, 마을버스 021에 탑승한다.

2 ) 3개의 정거장을 지나 OO 정류장에서 하차한다.

3 ) 정거장을 기준으로 우측 100m 직진하여 A마트로 간다.

4 ) 마트의 2층에 위치한 식료품 코너로 이동한다..

5 ) 'ㅁㅁ식용유'의 재고를 확인 후 구입한다. 없는 경우, '식용유'로 분류된 목록에서 선택한다.

6 ) 1층 결제 코너로 돌아가 C카드를 사용해 결제한다.

....

컴퓨터에게 어떠한 일을 맡기고자 할 때도, 위와 같은 형태로 지시 내용을 나열해야 한다. 
이처럼 명령어가 나열된 것을 프로그램이라 하며, 프로그램을 작성하는 행위프로그래밍이라 한다.

 

 

 

 

 


 

 

 

 

 

결론적으로 해당 도서의 목표는 [ 파이썬(프로그래밍 언어)를 사용하여 효율적으로 주식 데이터를 분석하고 더 나아가 자동화된 트레이딩 시스템(Automated Trading System)을 구축하는 것이다.

 

 

 

이번 포스팅은 해당 프로젝트의 시작 단계로, 

  • 파이썬 배포판 설치 (Anaconda) 및 가상환경 생성
  • Pycharm에 Anaconda 가상환경 연결
  • Cybos Plus API 연결 및 사용

위 단계를 걸쳐 프로젝트 환경을 구성할 계획이다.

 

 

 

 


파이썬 배포판 설치 (Anaconda) 및 가상환경 생성

 

Tip!

  1. 실습을 문제 없이 진행하기 위해 도서에서 권장하고 사용하는 버전을 맞추는 것이 좋다. (Python3.7, 32bit)
  2. 국내 증권사 API는 '32bit'로만 지원하기 때문에 이를 유의하여 설정해야 한다.

 

 

해당 프로젝트에서는 Anaconda 2019.10을 사용하기에, 본인의 운영체제에 맞추어 다운로드 후 설치를 진행하면 된다.

 

 


1. 아나콘다 아카이브에 접근하여 설치 파일을 다운로드 한다.
- 32bit 사용자는 32bit (64) 기준으로 설치해 사용하면 되지만, 64bit 사용자의 경우 API를 사용할 수 없다.
하지만 걱정하지 마라! 
anaconda의 '가상환경'을 통해 32bit 환경을 생성할 수 있기에, 우선은 맞추어 설치를 진행하자.

 

 


2. 아나콘다 설치 파일을 실행시켜 프로그램 설치를 완료한다.

[ 아나콘다 설치 파일 다운로드 ] 해당 링크의 1) 아나콘다 설치 파일 다운로드 ~ 2) 아나콘다 설치를 참고해 
설정을 따라하자.






3. 아나콘다가 제대로 설치 되었는지 확인한다.

설치 후, window 검색을 통해 anaconda prompt가 나오는지 확인한다. 

 

 

 

 

설치까지 완료되었다면, 이후 아나콘다의 '가상환경'을 생성해, python 3.7버전의 32bit python을 생성해보자.

(앞으로의 실습은 해당 python 환경에서 진행될 것이다.)

 

 

 

 

 


 

1. anaconda prompt를 실행시키고 하단 명령어를 입력한다.


# 아나콘다 가상환경을 생성한다. 이때, win32는 가상환경의 이름이 된다. 

conda create -n win32​

 

 

# 아나콘다 가상환경을 활성화한다.

conda activate win32

가상환경 활성화를 통해 변경된 모습을 볼 수 있음.

해당 명령어를 실행하면 위 이미지처럼, base -> win32로 변경된 것을 볼 수 있다.

 

 

# 32bit 설정 및 서브 디렉토리를 생성(설정)한다.

conda config --env --set subdir win-32

 

 

# 파이썬 3.7.4 버전을 설치한다. (다른 버전으로도 사용 가능)

conda install python=3.7.4

위 명령어까지 작성하면, 파이썬 3.7.4버전에 34bit 환경인 가상환경이 생성된다.

 

이후, 제대로 설치가 되었는지 확인하기 위해서는 

# 파이썬 실행하기
python​


# platform 패키지 import하기

import platform

# platform.architecture() 명령어 실행
print(platform.architecture())​



이후 결과로
('32bit','WindowsPE') 와 같이, 32bit로 출력되면 완료된 것이다.  

* 참고 : 운영체제에 따라 'WindowsPE'는 다른 결과가 나올 수 있습니다.

 

 

* 추가 Tip

더보기

# 재접속 및 다시 접근하기 위해서는,

conda activate win32

 

# IDLE 환경에서 실행하고자 한다면,

pythonw.exe -m idlelib

 

 

 

******** Tip. **********

  • 실습시, 'pywin32' 패키지를 사용한다. 이가 필요할 때, 따로 추가하여도 좋지만, 가상환경을 생성하고 구성하는 단계에서 미리 추가해두는 것 또한 방법이다.

**********************

 

 

* 'pywin32' 패키지 추가하기

더보기
Task Conda Command
패키지 목록 보기 conda env list
패키지 설치 conda install [패키지명]
패키지 업데이트 conda update [패키지명]
패키지 삭제 conda remove [패키지명]

 

conda active win32를 통해, 가상 환경에 접근 후,

conda install pywin32

위 명령어를 실행한다. 

 

 

이후, 

conda env list

위 명령어를 통해 설치가 제대로 진행 되었는지 확인한다.

 

 


 

 

 


Pycharm에 Anaconda 가상환경 연결

 

해당 포스팅에서는 설치가 아닌,

anaconda 가상환경을 pycharm에 연결하여 사용하는 방법에 대해 설명하고자 합니다.

프로젝트 도서에서 설치 및 설정이 자세하게 나와 있으니, 참고하여 설치하시면 될 것 같습니다 :)

 

 

1. pycharm - File - create Project, 새로운 프로젝트를 생성한다.

 처음 설치 후, 실행시에는 [ + Create New Project ]를 통해 생성하면 된다.




2. Previously configured interpreter 클릭 > add interpreter > add Local interpreter ...

가상환경에 대한 Interpreter를 설정하기 위해, [ Previously configured interpreter ]로 추가해야 한다.
[ Add Interpreter ]를 통해 추가하도록 하자.




3. 생성한 가상환경에 대한 환경을 설정하자. (python.exe)

위에서 가상환경을 생성할때, 서브 디렉토리를 생성했던 것을 기억하는가?
'아나콘다 설치 경로를 통해 들어가 envs\가상환경명\python.exe'로 경로를 설정해두면 된다.
나의 경우, 'D:\Anaconda3\envs\win32\python.exe' 이다. 만약, 아나콘다 설치를 프로젝트와 동일하게 했을 경우,
'C:\Anaconda3'에 존재할 것이다.






4. 생성한 가상환경에 대한 Conda Environment를 설정하자.

해당 설정 파일은 '아나콘다 설치 파일 경로\condabin\conda.bat'으로 선택 후, [ Load Environments ]하여
원하는 가상환경으로 설정하면 된다.
win32로 변경해주어야 한다.


5. 생성한 가상환경에 대한 System Interpreter를 설정하자.

3에서 설정한 경로대로 추가하여 설정하자.





6. 프로젝트를 생성하고 확인한다.

import platform
print(platform.architecture())

해당 명령을 통해 '32bit' 환경으로 실행되는지 확인한다.

 

 

 


 

 

 

 


Cybos Plus API 연결 및 사용


대신증권에서 제공하는 Cybos Plus API를 연결해 사용해보고자 한다.

 

# 필수사항

  • 대신증권 - 증권사의 계좌가 필요합니다. (대면 및 비대면 개설 가능)
  • Cybos5 설치가 필요합니다.

해당 개설 및 설치 또한 [ 대신증권 API (revision) ]에서 자세히 안내해주기 때문에, 이를 참고하여 개설 및 설치하면 된다.

 

 

 

* Cybos 5 설치 완료 후, 아이디 및 공인인증까지 완료한 시점에서 진행됩니다.

 

 

1. Cybos 5를 실행시키고, 상단 선택 목록에서 [ Cybos plus ] 선택 및 로그인을 진행한다.

처음 실행시, 계좌 비밀번호 확인 및 트레이딩 동의 등의 팝업이 나올 수 있다. 요구하는 활동을 모두 진행하면 정상적으로 진행된다.

로그인이 완료되면 해당 화면처럼 공지사항 페이지가 오픈된다.




2. 이후 Cybos5에 접속, '1846' 페이지로 이동 후, [ 시스템 트레이닝 이용 신청 ]을 진행한다. 

이때, 주의할 점은 Plus가 아닌 [ Cybos5 ]이다. 접속 시, 유의하길 바란다.
또한, 신청 이후에도 요구하는 몇개의 조건을 입력하면 [ 등록이 완료 되었습니다. ] 라고 출력될 것이다.




3.  CybosPlus 주문 오브젝트 사용 동의를 진행한다.

실행중인 프로그램 목록에서 cybos plus를 우클릭하여 [ 주문 오브젝트 사용 동의 ]를 진행한다.


해당 과정까지 거치게 되면, Cybos plus API 세팅이 완료된 것이다. :)

 

 

 

이후 사용이 가능한지 확인 하기 위해, 

하단 명령어를 실행시켜 보자.

 

import win32com.client # 이때, pywin32 패키지가 사용된다!

# 연동이 되었는지 확인 ( 1 - 연동 완료, 0 - 연결 해지 및 문제 발생 )
instCpCybos = win32com.client.Dispatch("CpUtil.cpCybos")
print(instCpCybos.IsConnect)

 

하단 이미지처럼 1이 출력되면 정상적으로 설정이 완료된 것이다. :) 

 

728x90