stormulv/PolyMarket-AI-agent-trading
요약
Polymarket에서 자율적인 거래를 수행할 수 있는 AI 에이전트 구축용 개발자 프레임워크입니다. LLM, RAG, 슈퍼캐스팅 방법론을 결합하여 시장 분석 및 거래를 자동화합니다.
핵심 포인트
- LLM 기반의 자율 거래 에이전트 구현 가능
- RAG를 활용한 시장 데이터 및 뉴스 분석 지원
- LangChain, FastAPI 기반의 현대적인 기술 스택
- Polymarket API와의 완전한 통합 제공
[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]

AI 에이전트(AI Agents)를 사용하여 Polymarket에서 자율적으로 거래하세요
문서 살펴보기 »
데모 보기
·
버그 보고
·
기능 요청
Polymarket Agents는 Polymarket을 위한 AI 에이전트(AI agents)를 구축하기 위한 개발자 프레임워크 및 유틸리티 세트입니다.
이 코드는 MIT License 오픈 소스 라이선스(서비스 약관)에 따라 무료로 공개되어 있습니다!
AI 기반 거래 (AI-Powered Trading): 최첨단 LLM(Large Language Models)을 사용하는 자율 거래 에이전트
Polymarket 통합 (Polymarket Integration): 시장, 이벤트 및 거래를 위한 완전한 API 통합
RAG 지원 (RAG Support): 시장 분석을 위한 로컬 및 원격 RAG (Retrieval-Augmented Generation)
데이터 소스 (Data Sources): 뉴스 제공업체, 웹 검색 및 베팅 서비스와의 통합
슈퍼캐스팅 (Superforecasting): 슈퍼포캐스터(superforecaster) 방법론을 사용한 고급 예측 능력
현대적 스택 (Modern Stack): Python 3.12+, LangChain, FastAPI 및 현대적인 도구로 구축됨
Docker 준비 완료 (Docker Ready): 쉬운 설정을 위한 컨테이너화된 배포
이 프로젝트는 **Python 3.12+**가 필요합니다.
-
Python 3.12 이상
-
pip (Python 패키지 관리자)
-
(선택 사항) 컨테이너화된 배포를 위한 Docker
저장소 복제 (Clone the repository)
git clone https://github.com/BlackSky-Jose/PolyMarket-AI-agent-trading.git cd poly-ai-trading-agent
가상 환경 생성 (Create a virtual environment)
venv 사용 (권장):
python -m venv .venv
또는 uv 사용 (더 빠름):
uv venv
가상 환경 활성화 (Activate the virtual environment)
-
Windows (PowerShell)의 경우:
.venv\Scripts\Activate.ps1 -
Windows (CMD)의 경우:
.venv\Scripts\activate.bat -
macOS 및 Linux의 경우:
source .venv/bin/activate
프로젝트 설치 (Install the project)
pip 사용:
pip install -e .
또는 개발 의존성 포함:
pip install -e ".[dev]"
uv 사용 (더 빠름):
uv pip install -e ".[dev]"
환경 변수 설정 (Set up environment variables)
.env 파일 생성
프로젝트 루트 디렉토리에 .env 파일을 생성합니다: # 사용 가능한 경우 예시 파일을 복사하거나, 새로 생성합니다: touch .env
다음 환경 변수 (environment variables)를 추가하세요:
POLYGON_WALLET_PRIVATE_KEY="your_private_key_here"
OPENAI_API_KEY="your_openai_api_key_here"
NEWSAPI_API_KEY="your_newsapi_key_here" # 선택 사항
TAVILY_API_KEY="your_tavily_key_here" # 선택 사항
USDC로 지갑 충전 (Load your wallet with USDC) (거래 시)
CLI는 Polymarket과 상호작용하기 위한 다양한 명령어를 제공합니다:
# 사용 가능한 명령어 목록 확인
python -m scripts.python.cli --help
# 모든 마켓 가져오기
...
거래 스크립트를 직접 실행할 수도 있습니다:
python -m agents.application.trade
Docker로 빌드 및 실행하기:
# 이미지 빌드
docker build -t poly-ai-trading-agent .
# 컨테이너 실행
...
또는 제공된 스크립트를 사용하세요:
./scripts/bash/build-docker.sh
./scripts/bash/run-docker-dev.sh
이 프로젝트는 현대적인 Python 툴링 (tooling)을 사용합니다:
Ruff - 빠른 Python 린터 (linter) 및 포맷터 (formatter)
mypy - 정적 타입 검사 (static type checking)
pre-commit - 코드 품질을 위한 Git 훅 (hooks)
pre-commit 훅 설정:
pre-commit install
린팅 (linting) 및 타입 검사 실행:
ruff check .
ruff format .
mypy .
테스트 실행:
pytest
Polymarket Agents 아키텍처 (architecture)는 개별 커뮤니티 구성원이 유지 관리하고 확장할 수 있는 모듈형 컴포넌트 (modular components)를 특징으로 합니다.
Polymarket Agents 커넥터 (connectors)는 데이터 소스 (data sources)와 주문 유형 (order types)을 표준화합니다.
Chroma.py
: 뉴스 소스 및 기타 API 데이터를 벡터화 (vectorizing)하기 위한 Chroma DB입니다. 개발자는 자신만의 벡터 데이터베이스 (vector database) 구현을 추가할 수 있습니다.
Gamma.py
: Polymarket Gamma API와 인터페이스하여 마켓 및 이벤트 메타데이터 (metadata)를 가져오고 파싱 (parse)하는 GammaMarketClient 클래스를 정의합니다. 현재 거래 가능한 마켓을 검색하는 메서드와 특정 마켓 및 이벤트에 대해 정의된 정보를 가져오는 메서드를 포함합니다.
Polymarket.py
Polymarket.py
: Polymarket API와 상호작용하여 마켓 및 이벤트 데이터를 검색하고 관리하며, Polymarket DEX에서 주문을 실행하는 Polymarket 클래스를 정의합니다. API 키 초기화, 마켓 및 이벤트 데이터 검색, 거래 실행을 위한 메서드를 포함합니다. 또한 이 파일은 주문을 생성하고 서명하기 위한 유틸리티 함수와 API 상호작용 테스트를 위한 예제를 제공합니다.
Objects.py
: Pydantic을 사용한 데이터 모델; 거래(trades), 마켓(markets), 이벤트(events) 및 관련 엔티티(entities)에 대한 표현입니다.
로컬 환경 관리, 애플리케이션을 원격으로 실행하기 위한 서버 설정, 그리고 최종 사용자를 위한 명령어를 위한 CLI 파일들입니다.
cli.py
이 저장소의 주요 사용자 인터페이스입니다. 사용자는 다양한 명령어를 실행하여 Polymarket API와 상호작용하고, 관련 뉴스 기사를 검색하며, 로컬 데이터를 쿼리하고, LLM에 데이터/프롬프트를 전송하며, Polymarket에서 거래를 실행할 수 있습니다.
명령어는 다음 형식을 따라야 합니다:
python scripts/python/cli.py command_name [attribute value] [attribute value]
예시:
get-all-markets
거래량(volume) 순으로 정렬된 Polymarket의 마켓 목록을 검색하고 표시합니다.
python scripts/python/cli.py get-all-markets --limit <LIMIT> --sort-by <SORT_BY>
- limit: 검색할 마켓의 수 (기본값: 5).
- sort_by: 정렬 기준, 거래량(기본값) 또는 다른 유효한 속성.
이 프로젝트에 기여하고 싶다면 다음 단계를 따르세요:
- 저장소를 포크(Fork)합니다.
- 새로운 브랜치(branch)를 생성합니다.
- 변경 사항을 적용합니다.
- 풀 리퀘스트(pull request)를 제출합니다.
기여하기 전에 다음을 수행해 주세요:
-
개발 의존성(dependencies) 설치:
pip install -e ".[dev]" -
프리 커밋 훅(pre-commit hooks) 설정:
pre-commit install -
린팅(linting) 실행:
ruff check . && ruff format . -
타입 체크(type checking) 실행:
mypy .
질문이나 문의 사항이 있는 경우, Telegram @stormulv로 연락하거나 st0rmulvoo@gmail.com으로 연락해 주세요.
CLI 애플리케이션을 즐겁게 사용하시기 바랍니다! 문제가 발생하면 언제든지 저장소에 이슈(issue)를 생성해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기