Lumiwealth/lumibot
Backtestable AI trading agents and Python algorithmic trading strategies for stocks, options, crypto, futures, forex, SEC filings, FRED macro data, and real brokers.
Lumibot – AI‑증강 알고리즘 트레이딩 프레임워크
무엇인가 – Lumibot은 오픈소스 Python 라이브러리로, 알고리즘 전략을 작성, 백테스트, 페이퍼 트레이드 및 실시간 트레이드할 수 있게 해줍니다. LLM 기반 트레이딩 에이전트를 위한 일류 런타임을 추가하여, 에이전트가 시장 데이터를 조사하고, 거래 아이디어를 토론하며, 주문을 실행할 수 있게 하며, 모든 것이 결정론적 Python 전략이 사용하는 동일한 전략 루프 안에서 이루어집니다.
핵심 기능
| 기능 | 제공 내용 |
|---|---|
| 결정론적 전략 | 인디케이터, 포지션 사이징, 리스크 체크, 스케줄 규칙을 포함한 순수 Python 로직을 작성합니다. |
| AI‑에이전트 전략 | 여러 에이전트(리서처, 롱, 숏, 트레이더 등)를 정의하고 LLM을 호출하고, 시장 도구에 쿼리하고, 필요 시 거래를 실행합니다. |
| 백테스팅 | 과거 데이터(Yahoo, FRED, SEC 파일 등)를 재생하고, 주문 로그, 차트, 티어시트 등 결과물을 캡처하여 검토합니다. |
| 페이퍼 & 실시간 트레이딩 | 동일한 전략 코드를 브로커(Alpaca, IBKR, Tradier, Schwab 등)로 전환하는 설정만 한 번 바꾸면 됩니다. |
| 에이전트를 위한 내장 툴셋 | 시장 상태, 주문 검사, DuckDB 쿼리, 기술 지표, 뉴스 피드, 매크로 데이터, 로컬 메모리, 텔레그램 알림 등. |
| 관리형 클라우드(BotSpot) | 선택적인 호스팅 서비스로 Lumibot 봇을 실행하고, 데이터, 스케줄링, 모니터링, 킬스위치 및 전략 공유 마켓플레이스를 제공합니다. |
| 확장 가능한 브로커 지원 | Alpaca, Interactive Brokers, Tradier, Schwab, Tradovate, ProjectX, Bitunix, Polymarket 및 일부 CCXT 거래소를 지원합니다. |
전형적인 워크플로
lumibot.strategies.Strategy를 상속받는 전략 클래스를 작성합니다.on_trading_iteration안에서 결정론적 코드를 호출하거나self.agents["name"].run(...)을 호출해 LLM이 추론하고 요약을 반환하도록 할 수 있습니다.MyStrategy.backtest(YahooDataBacktesting, start, end)를 사용해 백테스트를 수행하고, 에이전트가 과거 데이터에서 어떻게 행동했는지 확인합니다.- 브로커 인스턴스(예:
Alpaca)를 생성하고Trader().add_strategy(...).run_all()으로 페이퍼 트레이드를 실행합니다. - 브로커 설정을 실계정으로 전환해 실시간 운영을 시작합니다 – 코드 변경이 필요 없습니다.
예시 – ETF를 조사하고, 롱과 숏 에이전트가 논쟁한 뒤, 트레이더 에이전트가 선택된 포지션을 실행하는 네 에이전트 "AI 트레이딩 팀". README에 전체 스크립트와 백테스트와 실시간 페이퍼 트레이드 간 전환 방법이 나와 있습니다.
설치
pip install lumibot
패키지는 PyPI에 올라와 있으며 Python 3.9+를 지원하고, 테스트 커버리지를 위한 CI 배지를 포함합니다.
문서 & 커뮤니티
- 전체 문서: https://lumibot.lumiwealth.com/
- 관리형 클라우드(BotSpot): https://botspot.trade/
- 커뮤니티: GitHub 레포, Reddit /r/BotSpotTrade, Discord 서버.
라이선스 – MIT.
왜 중요한가 – Lumibot은 실험적인 LLM 기반 트레이딩 아이디어와 프로덕션 급 퀀트 시스템 사이의 격차를 메워줍니다. 에이전트를 이미 백테스팅, 브로커 통합 및 리스크 제어를 처리하는 프레임워크에 삽입함으로써 사용자는 빠르게 반복하고, AI가 만든 결정을 과거 데이터로 검증한 뒤, 최소한의 마찰로 동일한 코드를 페이퍼 또는 실시간 시장에 배포할 수 있습니다.