당신이 프로그래밍을 배워야 하는 이유 + 퀀트에 입문하시는 분들이 배워두면 좋은 프로그래밍 언어

in kr •  7 years ago 

logo (1).png

안녕하세요. 알파J인베스트먼트 대표, Alpha J 입니다.

퀀트 강의를 하다보면 자주 받는 질문 중 하나는,

퀀트를 제대로 하려면 어떤 프로그래밍 언어를 배워야 하나요?

입니다.

정말 제대로된, 전문적인 퀀트가 되고 싶으시다면 개인적으로 아래 3가지 요구사항을 만족해야 한다고 생각합니다.

  1. 재무 데이터/시장을 보고 이해하는 능력
  2. 통계학/수리적 통찰력 및 지식
  3. 프로그래밍 기술

최근 프로그래밍 기술은 인텔리퀀트나 뉴지스탁의 젠포트와 같은 좋은 툴들이 시중에 나와 있어,

투자자가 개인적으로 투자를 진행할 퀀트 전략을 개발하고 시뮬레이션 하는 정도의 일은 전문적인 프로그래밍에 대한 지식이 없더라도 가능하다고 생각합니다.

그러나, 프로그래밍을 배우는 데에 거부감(?)을 느끼지 않는다면, 프로그래밍을 배우는 것은, 특히 퀀트를 하고자 한다면 개인적으로 늘 장려하는 편입니다.

더 나아가 저는 지금 시대를 사는 사람이라면, 프로그래밍 언어 하나쯤은, 못해도 프로그래밍 언어가 어떤식으로 쓰이고 동작하는 지 그 원리 정도는 알면 좋다고 생각합니다.

그 이유는 크게 2가지가 있습니다.

21세기, 4차 산업혁명이라는 키워드가 난무하는 우리 시대는 말그대로 우리 주변 모든 것이 컴퓨터인 시대입니다.

우리가 늘 들고다니는 스마트폰도 사실 컴퓨터의 한 종류이고, 스마트폰을 스마트폰으로 만드는 핵심 애플리케이션과 기능들은 모두 프로그래머들에 의해 프로그래밍 언어로 작성되었습니다.

이런 시대에 프로그래밍 언어를 알고, 그것을 활용할 수 있는 능력을 갖춘다는 것은 우리 주변에 있는 컴퓨터들을 보다 잘 이해하고 데에 도움을 줄 뿐 만 아니라, 그것을 남들보다 더 잘 활용할 수 있는 아주 유용한 힘을 갖게 된다는 것을 의미합니다.

설사 본인이 직접 프로그래밍을 하지 않는다고 해도, 그것을 아느냐 모르느냐는 나중에 내가 무언가 필요한게 있을 때 그것을 남에게 맡겨서 실현하는 과정에서 지대한 영향을 미칩니다. 간단한 웹페이지를 만든다거나, 간단한 애플리케이션을 하나 만들고 싶을 때, 프로그래밍을 아느냐 모르느냐는 설사 그것을 남에게 맡길 때라도 아주 큰 영향을 미칩니다.

또, 프로그래밍을 배운다는 것은 사람이 논리적인 사고를 배우는 최고의 방법입니다. 프로그래밍을 배우는 과정은 컴퓨터에게 논리적인 절차로 명령을 내리는 과정을 배우는 것입니다. 프로그래밍이라는 것은 결국, 컴퓨터에게 어떻게 명령을 내릴까 를 고민하는 과정입니다. 컴퓨터라는, 아주 논리적인 녀석에게 컴퓨터가 논리적으로 알아들을 수 있는 명령을 내리는 방법을 고민하는 과정에서, 우리는 논리적으로 생각하는 연습을 자연히 하게됩니다. 이는 투자 뿐만 아니라, 일상을 살아가는 데에 있어 아주 큰 힘이 되는 것입니다.

이는 비단 저만의 생각이 아닙니다. 이미 보신 분들도 계시겠지만, 아래 동영상들을 한 번 참고해보시면, 더 도움이 되시리라 생각합니다.

프로그래밍을 배워야 하는 이유는 여기까지 언급드리고.. ^^

그럼, 어떤 프로그래밍 언어가 퀀트에 입문하는 사람들에게 적합할까요?

프로그래밍 언어는 종류가 참 다양합니다.

필자는 운이 좋게도(?) 컴퓨터공학의 백그라운드를 가진 상태로 주식 투자에 입문을 하였기 때문에 퀀트에 필요한 프로그래밍 언어 역시 이미 습득한 상태였습니다.

하지만, 만약 제가 프로그래밍을 모르는 백지 상태로 돌아가서, 퀀트에 입문을 해야 한다고 하면, 저는 2개의 프로그래밍 언어를 먼저 배울 것 같습니다.

그것은, R과 파이썬(Python) 이라는 언어입니다.

R과 Python의 공통된 특징은 다음과 같습니다.

  1. 프로그래밍 언어 중 상대적으로 배우기 쉽다.
  2. 수치해석, 데이터처리에 특화되어 있다. 따라서 재무데이터/차트데이터를 많이 다루어야 하는 퀀트에 적합하다.

둘의 차이점을 하나하나 짚어보면,

  1. R은 시뮬레이션에 특화되어 있다. 즉, 실제 동작하는 프로그램보다 이론을 검증하고, 테스트 하는 데에 특화되어 있다. 퀀트를 예로 들면 백테스팅을 수행하는 데에 좋지만, 자동 매매, 재무데이터 수집 로봇 등을 만드는 것에는 무리가 있다.

  2. 파이썬은 시뮬레이션보다 실제 동작하는 프로그램을 만드는 데에 보다 유리하다. 파이썬으로도 물론 시뮬레이션 프로그램을 만들 수 있지만, R보다는 특히 통계처리에 파이썬은 약한 모습을 보입니다. 대신, 파이썬으로는 자동 매매, 데이터 수집 로봇 등을 만드는 것이 가능합니다.

따라서, 보통 퀀트를 시작한다고 하면,

  1. R과 파이썬을 모두 배워서 R로 백테스팅, 통계 실험 등을 하고 실제 퀀트 프로그램을 파이썬으로 작성하거나,

  2. 혹은 파이썬만 배워서 백테스팅과 퀀트 프로그램을 모두 작성하는

절차를 밟으면 됩니다.

자, 이제 무엇을 배워야 하는지 알았습니다.

그리고 왜 배워야 하는 지도 어느정도 감은 오실 것 같습니다.

"어떻게" 배워야 할까요?
가장 좋은 방법은, 당장 서점에 가서 R 혹은 파이썬 입문 서적을 아무거나 하나 집어들고 시작해보는 겁니다. 요즘은 입문서적이 너무 잘 나와 있어서 아무거나 집어들어도 기초적인 내용을 학습 하는 데에는 무리가 없습니다.

기초서적을 뗀 다음부터는 인터넷에서 자료를 하나하나 찾아가며 공부할 수 밖에 없습니다. 이 글을 적으며 인터넷을 찾아보다보니 국내에는 퀀트에 대해 프로그래밍 적으로 정리한 자료가 많이 없는 것 같아 따로 적기가 참 애매하네요.. (제가 정리해봐야 하나 하는 생각도 듭니다 ^^; 수요가 얼마나 될 지 잘 모르겠지만요..)

어떠셨나요? 부디 이 글이, 퀀트에 관심이 많으신 분들께 도움이 되었으면 하는 바램으로 글을 마칩니다. 감사합니다!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

파이썬이 정말 짱인 듯 합니다~ ㅎㅎ 백엔드 파이썬 + 프론트엔드 자바스크립트 조합이면 무난할 듯 하네요.

네 개인용 재무 분석 프로그램 같은 것을 만드는데는 말씀하신게 최고의 조합 중 하나일 것 같네요. ^^

컴공을 나오긴 했는데 구세대 php만 다뤄봐서 새로운 언어를 익히는게 이젠 쉽지않다라구요 ㅠㅠ
HTS 상에서 뭘 해볼려니 복잡하고 내맘대로 잘 되지도 않더라구요

최근 파이썬 공부를 하고있는데 역시 공부할 가치가 충분한 언어군요 ㅎ

짱짱맨 호출에 출동했습니다!!
짱짱맨 x 마나마인! 색연필과학만화
https://steemit.com/kr/@mmcartoon-kr/4cmrbc
존버앤캘리에 이은 웹툰입니다
아이들이 보기에도 좋을꺼 같아요^^ 글작가님이 무려 스탠포드 물리학박사라고......