brunch

You can make anything
by writing

C.S.Lewis

by 퀀트대디 Feb 04. 2021

금융권에 필요한 파이썬 스킬트리 #2.

파이썬 기초와 라이브러리에 대한 지식이 어느 정도 수준에 이르렀으면 이제는 파이썬만의 도메인에서 벗어나 새로운 세상으로 도약을 할 때이다.


파이썬의 장점 중 하나는 다양한 라이브러리들이 있고 이런 라이브러리들을 통해 우리가 하고자 하는 일들을 매우 쉽게 처리할 수 있다고 언급한 바 있는데, 파이썬의 또 다른 장점은 다른 외부 어플리케이션과의 유연한 연결성(Connectivity)에 있다. 파이썬의 강력한 연결성은 외부와의 커넥션과 커뮤니케이션을 가능케 하고, 이는 나아가 이전까지는 불가능했던 혹은 상상만 했었던 편리한 자동화 작업들을 수행할 수 있게 한다.


1. 엑셀과의 연결 : Xlwings / Openpyxl

처음 시작은 모든 금융권 종사자들의 도구인 엑셀(Excel)에서부터 시작한다. 이는 비단 금융권뿐만 아니라 대부분의 산업군에서 사용하는 도구일 것이다. 생각해보자. 만약 파이썬을 통해 엑셀을 컨트롤하고 단순 반복 작업을 효율적으로 자동화시킬 수 있다면? 혹은 데이터를 이용해 파이썬 내부에서 우선적으로 분석을 한 후 그 결과물을 엑셀로 전송하여 보고서를 자동으로 생성할 수 있다면? 엄청난 생산성의 증대가 실현될 수 있으며 퇴근 시간 또한 빨라질 것이다. Xlwings나 Openpyxl 같은 라이브러리들은 엑셀 작업에 특화되어 있는 파이썬 라이브러리들이다. 우리가 엑셀에서 손으로 하는 모든 작업들을 이러한 모듈들을 사용해 자동화시킬 수 있다.


2. 데이터베이스와의 연결 : Sqlite / Sqlalchemy / PyMySQL

파이썬은 엑셀뿐만이 아니라 회사 혹은 팀 내의 DB, 즉 데이터베이스에도 접근하여 내가 필요한 데이터들을 불러와 원하는 작업을 수행할 수 있다. 특히 팀 단위로 움직이는 금융권의 조직 특성상, 확보한 데이터는 나 혼자만이 사용하는 것이 아니기 때문에, 외부로부터 수집한 데이터들은 대부분 DB화의 과정을 거치게 되고, 언제든지 호출하여 꺼내 쓸 수 있도록 효율적인 데이터베이스 시스템이 구축된다. 일반적으로 퀀트 디벨로퍼 혹은 IT퀀트라고 불리는 사람들이 주로 DB 시스템을 개발, 유지, 보수 및 관리를 하지만, 실제로 전장에 나가 싸우는 트레이더 또한 여기에 액세스하여 자신에게 필요한 데이터를 가져올 정도는 준비를 해놓아야 한다. M16을 직접 제작하지는 못해도 총기 분해, 결합 정도는 할 줄 알아야 전장에 나갈 것이 아닌가.


3. 웹과의 연결 : Requests / BeautifulSoup / Selenium

웹은 세상에서 가장 큰 데이터 저장소라고 해도 과언이 아닌 시대가 되었다. 파이썬을 사용하면 이 드넓은 데이터 세상에서 내가 원하는 정보를 알맞게 가져올 수가 있다. 최근 금융권에는 정형 데이터뿐만이 아닌 언론 매체의 기사, 설문조사 결과, 트황상의 트위터 등 소위 비정형 데이터라고 불리는 데이터 종류의 활용성과 그 위상이 높아지고 있다. Requests, BeautifulSoup, Selenium과 같은 라이브러리들을 활용하면 이러한 비정형 데이터들을 가져와 적절한 가공 과정을 거쳐 의사결정에 활용할 수가 있다. 파이썬이 기존의 프로그래밍 언어들과 달리 다른 산업군들에서조차 엄청난 각광을 받고 있는 이유 중 하나이다.


4. 윈도우 운영체제와의 연결 : Win32Com / PythonCOM / Pywinauto

파이썬은 이처럼 여러 외부 어플리케이션들과 연결할 수 있지만, 심지어 우리가 OS로 사용하고 있는 Windows와도 연결이 가능하다. 운영체제와 연결이 가능하다는 것은 우리가 컴퓨터를 켜서 끌 때까지 수행하는 거의 모든 작업들을 파이썬으로 컨트롤할 수 있다는 것을 의미한다. 특히 운영체제와의 연결성이 중요한 이유는 알고리즘 트레이딩과 같은 자동매매를 수행하기 위해 필수적인데, 이를 사용해 증권사 HTS에 연결하여 트레이딩 전략을 자동화시키는 것이 가능하다. 


지금까지 파이썬 자체의 도메인을 벗어나 외부 어플리케이션으로의 확장을 모색했다. 엑셀, DB, 웹, 그리고 운영체제. 이런 외부 어플리케이션들은 금융 실무자들이 거의 매일 사용하는 툴들이기 때문에, 파이썬을 활용한다면 생산성을 획기적으로 향상시킬 수 있다.


다음에 계속...


작가의 이전글 금융권에 필요한 파이썬 스킬트리 #1.
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari