기술 제원 및 공개 범위

금융 거래 프로세스를 모사하기 위해 설계된 TradingAgents가 오픈소스로 공개됐다. 이 프레임워크는 복잡한 거래 과업을 기본적 분석가(Fundamental Analyst), 심리 전문가(Sentiment Expert), 기술 분석가(Technical Analyst), 트레이더(Trader), 리스크 관리 팀(Risk Management Team)이라는 5가지 특화 역할로 분해해 처리한다. 각 에이전트는 시장 상황을 협력적으로 평가하며, 동적 토론을 통해 최적의 전략을 도출하는 구조를 가진다.

설치 과정은 가상 환경 구축 후 다음 명령어를 통해 패키지와 의존성을 설치하는 방식으로 진행된다.

bash
pip install tradingagents

또는 Docker를 통해 실행할 수 있다. 지원하는 LLM 제공자는 OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen(Alibaba DashScope), GLM(Zhipu), MiniMax, OpenRouter, Ollama(로컬 모델), Azure OpenAI, AWS Bedrock까지 광범위하게 포함한다. AWS Bedrock 사용 시에는 `pip install ".[bedrock]"` 추가 설치가 필요하며, 로컬 모델의 경우 Ollama를 통해 `llm_provider: "ollama"` 설정으로 구동한다. vLLM이나 LM Studio 같은 OpenAI 호환 서버는 `llm_provider: "openai_compatible"`와 `backend_url` 필드를 통해 연결한다.

작동 메커니즘 및 상태 관리

프레임워크의 내부 구조는 LangGraph를 기반으로 설계되어 모듈성과 유연성을 확보했다. 개발자가 코드 내에서 `tradingagents` 모듈을 임포트하고 `TradingAgentsGraph()` 객체를 초기화한 뒤, `.propagate()` 함수를 호출하면 최종 거래 결정이 반환되는 파이프라인으로 작동한다. 데이터 수집은 Yahoo Finance가 커버하는 모든 시장을 지원하며, 거래소 접미사가 붙은 티커(Ticker)를 통해 기업 식별과 알파 벤치마크를 자동으로 해결한다.

상태 유지 방식은 결정 로그(Decision Log)와 체크포인트(Checkpoint) 두 가지 축으로 나뉜다. 모든 실행 결과는 `~/.tradingagents/memory/trading_memory.md`에 기록된다. 동일 티커에 대해 다시 실행할 경우, 프레임워크는 이전 실행의 실현 수익(Raw 및 SPY 대비 Alpha)을 가져와 한 문단의 성찰(Reflection)을 생성한다. 이 성찰 내용과 최근의 교훈을 포트폴리오 매니저(Portfolio Manager)의 프롬프트에 주입해 분석의 연속성을 유지한다.

중단된 작업의 복구는 `--checkpoint` 옵션을 통해 제어한다. LangGraph가 각 노드 실행 후 상태를 저장하며, 오류 발생 시 `~/.tradingagents/cache/checkpoints/<TICKER>.db`에 저장된 SQLite 데이터베이스를 통해 마지막 성공 단계부터 재개한다. 완료된 작업의 체크포인트는 자동으로 삭제되며, `--clear-checkpoints` 명령으로 수동 초기화가 가능하다.

결과값의 변동성은 LLM의 비결정적 샘플링과 실시간 데이터의 가변성에서 기인한다. 특히 기본 설정인 GPT-5.x 제품군과 같은 추론 모델(Reasoning models)은 내부 추론 과정 자체가 샘플링되므로 변동 폭이 더 크다. 또한 뉴스, StockTwits, 개발자 커뮤니티에서 가져오는 실시간 데이터는 분석 날짜를 고정하더라도 호출 시점에 따라 다른 콘텐츠를 반환한다. 이를 제어하기 위해 `TRADINGAGENTS_TEMPERATURE` 환경 변수나 설정 파일에서 온도를 낮출 수 있으나, 추론 우선 모델들은 온도 설정의 영향을 거의 받지 않는 제약이 있다.

구현 및 운영 시 고려사항

사용자는 `tradingagents/default_config.py`에서 LLM 선택, 토론 라운드 횟수 등 세부 설정을 조정할 수 있다. 분석 대상 기업의 식별과 가격 및 지표 데이터는 에이전트 실행 전 결정론적으로 해결(Deterministic resolution)되어, 과거 버전에서 나타났던 기업 오인이나 가격 조작(Hallucination) 문제를 방지한다.

재현성이 중요한 연구 환경에서 이 프레임워크를 도입하려는 개발자는 추론 모델 대신 일반 모델을 `Custom model ID` 옵션으로 명시하고 샘플링 온도를 낮게 설정해 사용해야 한다.