서버리스 TradingBot

요즘에는 클라우드 기술과 거래 API를 사용하여 자동 거래 로봇을 구축하는 것이 매우 쉽습니다. 예를 들어, 이전 게시물에서 거래 전략을 코딩하기 위해 파이썬을 사용합니다. ML 모델의 예상 가치를 바탕으로 Alpaca Trading API를 사용하여 주문할 수 있습니다. 다음은 파이썬 코드입니다.

모델 예측을 실행하고 코드를 하지 않는 일반적인 방법은 Docker를 사용하는 것입니다. Python 코드의 도커 이미지를 빌드하면 쉽게 제출하여 kubernetes 클러스터에서 실행할 수 있습니다. 모든 대형 클라우드 제공 업체는 Google의 GKE, Amazon의 EKS, Azure의 AKS와 같은 관리 형 kubernetes 서비스를 제공했습니다.

이미지를 빌드하는 Dockerfile은 다음과 같습니다.

다음은 매일 위의 도커 이미지를 실행하는 Kubernetes cronjob yaml 파일입니다.

그러나 우리가 모든 포지션을 청산하기 위해 열려있는 시장과 가까운 시장에서 작업을 실행해야하는 경우 Kubernetes 클러스터에서 실행중인 작업이 없을 때 많은 컴퓨팅 리소스 / 비용을 낭비하게됩니다. 그 사이.

CPU 비용을 절약하기 위해 GCP는 AI 플랫폼에서 커스텀 Docker 이미지에 대한 ML 학습 작업을 실행하는 서버리스 방법을 제공합니다. 다음은 명령입니다.

Google은 작업이 실행될 때 사용 된 CPU 만 청구합니다.

전체 자동화 파이프 라인을 완료하기 위해 GCP Cloud 스케줄러에서 일일 일정을 설정합니다. 그러면 매일 영업일 9시 30 분에 다음 Cloud Build 트리거를 호출합니다.

위 URL은 Cloud Build Trigger REST API 엔드 포인트입니다. 다음과 같이 POST 데이터에 지정된 기본 분기에서 트리거를 실행하기위한 POST http 요청입니다.

Cloud Build가 GitHub 저장소를 다운로드하고 cloudbuild.yaml을 찾아 빌드 작업을 실행합니다. 다음은 GCP ai-plaform 작업을 호출하기 위해 cloudbuild.yaml을 정의하는 방법입니다.

클라우드 작업에는 3 단계가 있습니다.

작업은 ML 모델 학습 / 예측을 실행 한 다음 Alpaca API를 호출하여 주문합니다.

아주 쉽습니다! 즐거운 코딩 되세요!