[인공지능 주식매매] 주식 자동 매매 시스템 개발 및 운용 환경
주식 자동매매 프로그램을 개발하는 개발자마다 스타일이 있고 방법이 모두 다르겠지만... 필자가 생각하는 개발 환경 구성에 대해 소개하고자 한다.
[개발 환경 구성]
우선 필요한 h/w 구성은 아래와 같다.
1. pc 2대
2. 웹 서버(전문 업체 서비스 사용)
1. pc 2대 용도
우선 pc 2대가 필요한 이유는 개발용 pc와 배포용 pc를 별도로 두기 위해서이다. s/w는 계속적으로 업데이트 되기 마련이고 프로그래밍을 아무리 꼼꼼하게 하는 사람이 개발하더라도 버그는 생길 수 밖에 없다. 물론, 자동화 테스트 환경을 구축해서 개발을 진행한다면 이러한 문제가 덜하겠지만... 한 개인이 개발하면서 그런 환경까지 꾸미면서 개발하기는 쉽지 않다. 그러한 검증 환경을 만들 시간에 신규 기능을 하나 더 만드는 것이 효율적일 것이다. 뿐만 아니라 주식매매프로그램의 경우 장중에 테스트가 되어야 하는 기능들이 많을 텐데... 장중 테스트를 하다가 문제가 발생하면 해당일에는 정상적인 투자가 안되고 해당일에 획득 가능한 데이터를 유실하게 되는 문제가 발생하게 된다. 특히 필자와 같이 본업이 있고 매매 프로그램 개발을 부업으로 하는 경우라면 테스트 중 발생하는 문제 상황을 바로 바로 대처 할 수 없기 때문에 더더욱 그러할 것이다. 언제라도 발생할 수 밖에 없는 버그 발생 상황을 어떻게 대처해야 할까? 개발용 pc와 배포용 pc를 구분하는 방법을 사용한다. 개발용 pc에서 신규 개발된 s/w를 적어도 며칠 정도 돌려보면서 안정성을 확인한 이후 배포용 pc로 업데이트 하는 방법을 사용한다. 배포용 pc에서는 본격적인 투자를 실행하고 개발용 pc에서는 소액으로 투자를 하도록 한다. 자신이 실행되고 있는 pc가 개발용인지 배포용인지 인지해서 그에 맞도록 투자를 하도록 s/w를 개발해야 한다. 물론, 개발용 pc와 배포용 pc의 증권 계좌는 서로 다른 계좌를 사용하도록 하는 것이 좋다.
배포용 pc를 별도로 두는 경우 장점은 s/w의 버그 발생 최소화가 가장 큰 목적이겠으나 부가적인 목적으로는 일관된 실행 환경의 유지이다. 개발을 하면서 평소 여러 용도로 사용하는 pc는 이런 저런 요인에 의해 점점 성능이 저하될 수도 있으며 급기야는 주식 프로그램이 정상적으로 실행이 되지 않아버리는 현상도 발생 할 수 있다. 배포용 pc는 s/w업데이트 외 다른 경우에는 사용하지 않도록 하는 것이 좋다. 필자의 경우는 배포용 pc에는 마우스 키보드도 제거해두고 손이 닿지 않는 곳에 설치해 아무도 사용하지 못하도록 하고 있다. s/w 업데이트 시에만 원격으로 잠시 접속해서 업데이트 하고 있다.
2. 웹 서버 용도
나중에 또 다른 글에서 언급하겠지만 주식 매매 프로그램은 항상 정상 동작 여부가 모니터링 되어야 한다. 필자가 사용하는 모니터링 단계는 3단계이다. 그 중 3번째 단계 모니터링 용도로 웹 서버를 사용한다. 3번째 단계 모니터링은 외부 네트워크에서의 모니터링이다. 요즘은 아주 적은 금액으로 웹 호스팅을 제공하는 업체들이 많이 있다. 그 중 한 업체를 골라 웹 호스팅 서비스를 신청한다. 그러면 외부 네트워크 모니터링을 위한 환경 구축이 가능하다. 외부 네트워크 모니터링이란 간략하게 말해서 우리 집이 아닌 전문적인 인프라와 인력을 통해 안정적으로 운영되는 환경에서 내 pc의 프로그램이 정상 동작하고 있는지 확인하는 모니터링이다. 자동매매프로그램을 실행시키는 곳이 내 집이라면 집의 인터넷이 끊기거나 정전이 발생하거나 할 수 있다. 그러한 상황이 발생했을 경우 이를 모니터링 해서 나에게 알려주기 위해서는 비상 전원까지 확보해서 안정적으로 운영되는 서버가 필요하다. 물론 요즘 제공되는 아마존의 aws와 같은 가상 데스크톱 서비스를 사용해도 되겠으나 초기에 사용하기에는 비용이 부담된다. 다만 웹 호스팅 업체 제공 저가 서비스의 서버에서는 관리자 권한이 필요한 프로그램의 설치 또는 사용을 허용하지 않기에 해당 서버에서 나의 모니터링용 s/w를 실행하기 위해서는 약간의 트릭이 필요하다. 해당 방법도 나중에 글로 남기도록 하겠다. 어쨌든 외부 네트워크의 안정적인 서버에서 나의 주식매매 프로그램이 잘 실행되고 있는지 모니터링이 되어야 안정적인 자동매매 프로그램 운용이 가능할 것이다.
'인공지능 매매 > 인공지능 매매 전략' 카테고리의 다른 글
[인공지능 주식매매] 프로그램 구성 및 운용 방안 (0) | 2020.11.23 |
---|---|
[인공지능 주식매매] 실행 모드 구분 및 데이터 백업 (0) | 2020.11.23 |
[인공지능 주식매매] 프로그램 UI (0) | 2020.11.19 |
[인공지능 주식매매] 주식투자 목표 (0) | 2020.11.19 |
[인공지능 주식매매] 투자금에 대한 고찰 (0) | 2020.11.19 |