자동매매와 클라우드 컴퓨팅, 그리고 아마존 AWS




처음 자동매매를 했던건 2022년 상반기 즈음이었다. 그때는 증권사 Api도 아니고 그냥 예O글로벌이라는 자체 자동매매 프로그램을 이용해서 NH선물과 연동해서 했었는데, 예O랭귀지라는 자체 프로그램 언어가 있었다.

장점이라면 증권사 프로그램이다보니, 차트나 지표들은 기본제공이 된다는 점이다. 초보자에게는 이게 생각보다 꽤 크다. 파이썬으로 직접 일일이 차트를 plot하는 것도 나같은 초보자에게는 은근히 귀찮은 일이기 때문이다. 우리가 보는 일반적인 캔들차트도, 직접 파이썬으로 구현하려면 일단 X축, Y축 축척도 설정해야하고, 그래프 크기, 캔들의 색깔, 모양, 차트 바탕색은 뭘로할 건지, 가로선, 세로선은 점선으로 할 건지 실선으로 할 건지... 이런 모든 것들을 일일이 다 설정해줘야 한다.

출처: 네이버 블로그 수식지왕
그리고, 기본 내장 함수가 많다는 점도 초보자에게는 엄청난 이점이 있다. 예를 들어, '종가가 200일 이평선을 하향돌파 했을 경우'라는 진입조건을 설정한다고 하면, 증권사 프로그램에서는 그냥 CrossUp(close, sma200)을 하면 되지만 이걸 파이썬으로 하려면 def로 일일이 함수를 정의해줘야 했다.
그리고 더 골치아픈 건 그런 차트와 매매로직 관련보다도, 잔고 조회 및 주문과 관련된 부분들이었다. 차트나 매매조건 관련 함수들은 조금 틀려도 금방 알아채고 고칠 수 있었지만, 잔고와 주문집행 관련된 부분들은 삑나는 순간 실제로 금액이 이상하게 찍히고 나서는 늦어버리기 때문이었다.
이런 부분에서 자신이 없어져서 당시에는 결국 파이썬으로 돌릴 엄두를 내지 못하고, 자체 매매 프로그램을 사용했다. 그러나 장점만 있지는 않았다. 일단 범용언어가 아니다 보니, 지금의 ChatGPT처럼 어디에 물어볼데가 딱히 없었다는 점 (전부 Q&A 게시판에 직접 물어봐야했다.)
개인적인 생각으로는
본인의 매매로직이 엄청나게 복잡하거나
경제지표 등 외부 데이터나 대안 데이터를 써야하거나
고빈도매매(HFT)를 해야하거나
하지 않는 이상, 엔간하면? 증권사 자동매매 프로그램을 사용해도 90% 이상은 커버가 될 것이다. (그러나 반대로 말하면 프로그램이 허용하는 범위 내에서 알파를 만들어내기란 그만큼 어렵다는 뜻일 수 있음. 실제로 성과좋은 매매전략 랭킹으로 올라오는 것들을 보면 죄다 과최적화 덩어리임)
단점이라면, 역시 유연하지 못하다는 점이었다. 정해진 종목, 정해진 함수 외에는 사용할 수 없고, 가격데이터 말고는 외부 경제지표 데이터 등을 불러와서 정량화해 활용하기가 어렵다.
사실, 내가 AWS에 관심을 가지게 된 데에는 유연성 외에도 하나 더 큰 점이 작용했는데, 바로 자동매매를 위해 컴퓨터를 하루종일 켜놓아야 한다는 점이었다.
처음에는 데스크탑이 아니라 24시간을 돌릴 워크 스테이션을 하나 사야하나?라는 생각을 했었다. 친구가 리니지 작업장을 해본 적이 있어서 하루 종일 켜놓는 워크 스테이션을 사서 했던 것이 기억이 났던 것이었다. 그러나 가격을 보니 데스크탑에 비하면 상당히 사악(...)한 느낌이었다.
결국 6개월 정도 내 데스크탑을 켜놓고 매매를 실행했었다. 마이크로 나스닥 선물과 비트코인 두가지를 돌렸었는데, 문제는 자동매매 감시가 돌아가고 있으면 CPU와 메모리를 일정부분 잡아먹기 때문에 내가 PC를 써야해서 다른 작업을 할 때 은근히 부하가 걸리는 것이 느껴진다는 점이었다. 그리고 뭐 얼마 안될지 모르지만 전기요금도 내심 거슬리기도 했고, 사실 전기요금 자체보다 24시간 PC를 돌리는데서 오는 PC 성능저하 우려(내가 하드웨어를 잘 몰라서 기우일 수도 있겠지만) 등등 여러모로 불편한 점들이 있었다.
그러다가 아마존 웹서비스(AWS, Amazon Web Serveices)라는 것이 있다는 걸 발견했었는데, 당시에는 파이썬도 모르는데, 이걸 어떻게 쓰는지 대충 찾아보니 감조차도 안왔었다. 그러다가 최근, ChatGPT와 커서AI의 도움에 힘입어 다시 관심을 가지기 시작했는데, 사실 클라우드 컴퓨팅이라는 개념자체도 잘 와닿지가 않아서, GPT를 고문해서 질문을 몇개 해보았다.
게임은 좋아하지만, 하드웨어라고는 그래픽 카드와 CPU 성능, 메모리 정도 밖에 볼 줄 모르고, 코딩은 더 모르는 나같은 뉴런분들에게 도움이 될까하여 적어본다.
※ 이하 내용은 컴퓨터 알못의 관점에서 용어와 개념을 알음알음 찾아보며 비슷한 눈높이로 설명하기 위한 것으로, 비약과 오류가 많을 수 있습니다. 또한 의식의 흐름에 따라 쓰다보니 다소 과격한 표현이 있을 수 있습니다. (개인 블로그니 양해 부탁드립니다.)

아니 애초에 왜 클라우드(Cloud)라고 하는가부터 궁금해진다. 구름(Cloud)이랑 컴퓨터랑 무슨 상관이란 말인가? 그리고 이 말은 왜 이렇게 자주 등장하는가?
일단, 언제나 그랬듯이...





좋은 글 감사드립니다. 초 단위로 컴퓨팅 환경을 빌리는 서비스도 있으니 처음에는 컴퓨팅 자원을 얼마나 소모하는지 확인해보시는 겸 과금 상한을 걸어두고 몇 일에서 몇 주 정도 사용해보시면 좋을 것 같습니다. :)

말씀대로 처음에는 종량제로 찍먹을 한번 해보는 것도 좋은 방법 같습니다. 사실 제가 얼마나 리소스를 사용할지 전혀 감조차도 안오는 상태라서요. 늘 감사합니다!

"그냥 컴퓨터라고 생각하세요" 아 빵터졌네요.. ㅋㅋㅋ

ㅋㅋㅋㅋ바보는 맞지만, 바보라고 불리는 건 싫은 알수없는 마음

Gcp 같은 경우에는 90일 무료로 30만원 정도 줍니다. 이걸로 한번 체험해보심이.

와우...구글은 90일 무료제공도 해주는군요. 정말 감사합니다. 잘 쓰겠습니다!!

ㅋㅋㅋ 잘봤습니다 너무웃겨요