데이터 랜덤픽 구현 및 라이브 피드 아키텍처 설계

Source

  • Ancom Workbench/Research/Stock Trader/데이터 랜덤픽 구현.md

Summary

이 노트는 강화학습 에이전트(특히 SAC)의 훈련을 위한 데이터 파이프라인 개선과 실시간 거래(Live Feed) 시스템 설계에 대한 기술적 고민을 담고 있다. 핵심 주제는 1) 훈련 시 데이터의 무작위 초기화(Random Reset)를 지원하기 위한 feed.py, node.py 등 데이터 스트림 계층의 reset() 메서드 수정, 2) SAC 알고리즘의 네트워크 구조(Critic/Target) 구현, 3) CCXT를 활용한 실시간 데이터 갱신 및 지갑(Wallet) 상태 동기화를 위한 ‘피더-스트림’ 커서 기반 아키텍처 설계이다. 저자는 기존 시뮬레이션 방식의 한계를 지적하며, Exchange 모듈을 DataFeed로 통합하여 실시간 데이터 흐름을 처리하는 방향으로 아키텍처를 재설계하는 과정을 기록하고 있다.

Key Points

  • 데이터 스트림 계층(feed, node, transform, source)의 reset() 메서드를 수정하여 훈련 시 데이터의 무작위 시작점(Random Reset)을 지원함.
  • SAC(Soft Actor-Critic) 에이전트 구현을 위해 Actor/Critic 네트워크 및 Target Network 구조를 설계하고, GPU 설정 및 학습 파라미터를 조정함.
  • 실시간 거래(Live Feed)를 위해 CCXT를 데이터 소스로 활용하며, Exchange 모듈을 DataFeed 계층에 통합하여 지갑(Wallet) 상태와 시장 데이터를 동기화하려는 아키텍처 변경 시도.
  • 데이터 갱신 로직을 ‘피더(Feeder)-스트림(Stream)‘의 커서(Cursor) 비교를 통해 구현: 스트림의 요청 커서가 피더의 현재 커서보다 크면 CCXT에서 최신 데이터를 갱신하고 반환함.
  • 바이낸스(USDT) 데이터로 학습한 모델을 다른 시장(예: 한국원화)에 적용하는 일반화 가능성에 대한 의문 제기.