TradeMemory Protocol

공식

MT5/외환 거래를 위한 AI 메모리 레이어로, 15개의 MCP 도구를 제공합니다 — 거래 저장/회상, 패턴 발견, 전략 진화, 결과 가중 메모리 기능을 포함합니다.

TradeMemory Protocol MCP(으)로 무엇을 할 수 있나요?

  • 브로커 거래 내역 동기화 — 어시스턴트에게 Hyperliquid 또는 Alpaca의 과거 체결 내역을 로컬 메모리 저장소로 가져오도록 요청하고, 재동기화 시 새 거래만 유지합니다.

  • 주문 전 손실 거래 회상 — 어시스턴트가 다음 주문을 제안하기 전에 유사한 조건에서의 최악의 과거 거래를 손실 규모 순으로 표시하도록 합니다.

  • 맥락과 함께 거래 기록 — 어시스턴트에게 "내 AAPL 매수 $195 기록 — 실적 호조, 기관 매수, 높은 확신"이라고 말하면, 어시스턴트는 진입가와 함께 당신의 근거 및 감정 상태를 저장합니다.

  • 사전 거래 위험 규칙 적용 — 어시스턴트에게 주문을 정책(종목 목록, 명목/포지션 한도, 손절 요건, 일일 손실 상한)에 대해 확인하고, 브로커에 도달하기 전에 거부하도록 요청합니다.

  • 감사 추적 검증 — 특정 거래 기록 또는 전체 의사결정 체인이 변조되지 않았음을 증명하도록 요청하거나, 특정 날짜의 일일 Merkle 루트를 받습니다.

문서

TradeMemory Protocol


TradeMemory는 비용이 얼마였는지 기억합니다. AI 트레이딩 에이전트를 위한 오픈소스, 로컬 우선 메모리이자 브레이크입니다: 체결 내역을 가져와서, 자신의 과거 기록에서 손실이 발생한 지점을 찾아내고, 다음 주문 전에 그 손실 거래를 에이전트 앞에 제시하며, 설정한 규칙을 위반하는 주문은 브로커에 도달하기 전에 거부할 수 있습니다.

이제 브로커들은 AI 에이전트가 MCP를 통해 거래하도록 허용하며, 각기 다른 안전장치를 적용합니다: Webull과 tastytrade는 규모 또는 구매력 한도를 설정하고, Interactive Brokers는 에이전트가 주문 초안을 작성하면 사용자가 제출하도록 하며, Robinhood와 Public은 외부 에이전트에 부과할 수 있는 상한선이 없습니다 (StockBrokers, 2026-09-30). 상한선은 고정된 숫자입니다. 그 어느 것도 사용자의 과거 거래가 어떻게 진행되었는지 살펴보지 않습니다.

자신의 과거 기록으로 시작하기

pip install tradememory-protocol

# Hyperliquid: public fills, no key needed
tradememory sync hyperliquid --address 0xYourAddress

# Alpaca: read-only calls with your own keys, kept in a local file
tradememory sync alpaca --env-file ~/.secrets/alpaca.env

각 청산 거래는 메모리에 한 번 저장되며, 다시 실행하면 새 거래만 저장됩니다. 그런 다음 과거 기록에서 손실이 발생한 지점을 출력합니다. 형식은 예시 숫자와 함께 다음과 같습니다:

After 2 losses in a row (20 trades):
  5 of them (25%) were 1.5x your usual size or more.
  All 20 won 60% and made -$1,500.
  The 5 sized-up trades won 20% and made -$1,700.

Median hold: winners 1.5h, losers 9.0h.

이는 다음 거래에 대한 조언이 아니라, 자신의 과거 거래에 대한 기술 통계입니다. Hyperliquid의 API는 주소의 최근 체결 내역만 제공하며 전체 기록은 제공하지 않으므로, 동기화가 빠를수록 더 많은 기록이 보존됩니다. 다른 거래소: MT5 및 Binance 현물 동기화 스크립트는 scripts/에 있으며, 모든 에이전트는 remember_trade을 사용하여 거래를 기록할 수 있습니다.

다음 주문 전에

recall_memories(order="losses_first")은 모든 손실 거래를 나머지보다 앞에 배치하며, 유사한 조건에서 더 큰 손실을 규모와 손익과 함께 먼저 제시합니다. 심볼의 가장 최근 거래 외에도 심볼의 최근 손실 거래를 검색하므로, 오래된 손실이 밀려나지 않습니다. 서버는 연결된 에이전트에게 거래를 제안하기 전에 이를 호출하라고 지시합니다. 기본 순서는 더 나은 결과를 더 높게 순위를 매기고(R 배수 기준, 기록된 경우), 목록에 최소 20% 손실을 유지합니다.

에이전트 연결하기

pip install tradememory-protocol

Claude Desktop에 추가 (claude_desktop_config.json):

{
  "mcpServers": {
    "tradememory": {
      "command": "uvx",
      "args": ["tradememory-protocol"]
    }
  }
}

그런 다음 Claude에게 말하세요: "AAPL 롱 포지션 $195에 기록 — 실적 서프라이즈, 기관 매수, 높은 확신."

Claude Code / Cursor / Docker
# Claude Code
claude mcp add tradememory -- uvx tradememory-protocol

# From source
git clone https://github.com/mnemox-ai/tradememory-protocol.git
cd tradememory-protocol && pip install -e . && python -m tradememory

# Docker
docker compose up -d

전체 워크스루: Getting Started (트레이더 트랙 + 개발자 트랙)

브로커 앞에 브레이크 설치하기 (프리뷰)

proxy 확장 기능은 TradeMemory를 에이전트와 브로커의 MCP 서버(현재 Alpaca) 사이에 배치합니다. 주문을 배치하는 도구를 제외한 모든 도구는 변경 없이 전달되며, 주문 도구는 Mnemox Control이 브로커에 도달하기 전에 사용자가 소유한 정책에 따라 평가합니다. 허용 또는 거부된 모든 평가는 기록되어 감사 로그에 연결됩니다. 허용된 주문은 유사한 조건의 손실 거래를 먼저 제시한 후 반환되며, tradememory sync alpaca는 나중에 각 전달된 거래가 어떻게 종료되었는지, 엔트리에 스톱이 포함된 경우 R 단위로 채워 넣습니다. 이미 사용 중인 에이전트는 계속 작동하며, MCP 구성의 한 줄만 변경하면 됩니다.

pip install "tradememory-protocol[proxy]"   # Python 3.12+
tradememory proxy init --account-id <your Alpaca account id> --symbols AAPL,MSFT
tradememory proxy doctor --env-file ~/.secrets/alpaca-paper.env   # checks the live tool names and the account id
tradememory proxy config                                           # prints the MCP client entry that replaces the direct Alpaca one

기본적으로 거부됨: 목록에 없는 심볼, 명목 및 포지션 한도를 초과하는 주문, 브래킷 스톱이 없는 엔트리, 일일 손실 또는 드로다운 한도 이후의 모든 신규 주문, 오픈 포지션의 보호 스톱 취소, 브레이크가 분류하지 않은 모든 도구, 그리고 tradememory proxy halt FULL_HALT를 실행하는 동안의 모든 것. 절대 차단되지 않음: 포지션 청산. approval_notional 이상의 주문은 tradememory proxy approve <intent_id> --terms <fingerprint>을 기다리며, 이는 사용자가 읽은 정확한 조건을 승인합니다. 에이전트는 동일한 client_order_id과 동일한 조건으로 재시도하며, 프록시는 최대 한 번 전달합니다. evaluate_order는 아무것도 배치하지 않고 동일한 결정을 반환하여 사전 검사 및 다른 프레임워크의 자문 계층에 사용됩니다. 브레이크가 평가할 수 없는 모든 것(죽은 시세 피드, 알 수 없는 자산, 정책이 다루지 않는 주문 유형)은 통과시키지 않고 거부합니다.

상태: Alpaca의 MCP 서버에 대한 상태 저장 페이크로 종단 간 테스트 완료(tests/proxy/), 2026-10-01에 실제 Alpaca 페이퍼 계정으로 실행: 세 건의 거부(목록에 없는 심볼, 스톱 없는 엔트리, 한도 초과 명목), 브로커에 도달한 한 건의 허용된 1주식 브래킷 주문, 그리고 두 번째 주문 없이 기록에서 응답된 동일한 client_order_id을 사용한 한 건의 재시도. 옵션, 주문 교체, 스톱-리밋 및 트레일링 주문은 평가되지 않고 거부됩니다. 브로커 키는 프록시가 시작하는 브로커 프로세스에만 전달되며, TradeMemory는 이를 저장하지 않습니다.

실제 출력이 포함된 워크스루: docs/recipes/alpaca-brake.md.

사용되는 세 가지 방식

미국 주식 트레이더외환 EA 시스템감사 추적(예시)
시장주식 (AAPL, TSLA, ...)XAUUSD (금)멀티 자산
방식모든 거래 전 사전 점검 체크리스트MT5에서 자동 동기화해시 체인이 있는 결정 기록
사용자독립 사용자 1명 (2026년 3월)관리자 본인의 MT5 계정예시, 고객 아님
세부 사항더 읽기더 읽기더 읽기

작동 방식

OWM 5 Factors

  1. 회상(Recall) — 거래 전에 결과 품질, 맥락 유사성, 최신성, 확신, 감정 상태에 따라 가중치가 적용된 과거 거래를 검색합니다 (OWM Framework)
  2. 기록(Record) — 거래 후 remember_trade에 대한 한 번의 호출로 5가지 메모리 계층에 기록합니다: 일화, 의미, 절차, 정서, 거래 기록
  3. 반성(Reflect) — 일일/주간/월간 검토로 행동 편향, 전략 쇠퇴, 거래 실수를 감지합니다
  4. 감사(Audit) — 모든 결정은 생성 시 SHA-256 해시되고 이전 결정에 연결됩니다. 언제든지 검토를 위해 내보낼 수 있습니다

MCP 도구

카테고리도구설명
메모리remember_trade · recall_memories결과 가중 점수로 거래 기록 및 회상
상태get_agent_state · get_behavioral_analysis확신, 드로다운, 연속 기록, 행동 패턴
계획create_trading_plan · check_active_plans조건부 트리거가 있는 사전 계획
리스크check_trade_legitimacy5요인 사전 거래 게이트 (전체 / 축소 / 건너뛰기)
감사export_audit_trail · verify_audit_hashSHA-256 변조 감지 + 대량 내보내기
모든 20개 MCP 도구 + REST API
카테고리도구
핵심 메모리get_strategy_performance · get_trade_reflection
OWM 인지remember_trade · recall_memories · get_behavioral_analysis · get_agent_state · create_trading_plan · check_active_plans
리스크 및 거버넌스check_trade_legitimacy · validate_strategy · compute_dqs
진화evolution_fetch_market_data · evolution_discover_patterns · evolution_run_backtest · evolution_evolve_strategy · evolution_get_log
감사export_audit_trail · verify_audit_hash · verify_audit_chain · get_daily_root

REST API: 거래 기록, 반성, 리스크, MT5 동기화, OWM, 진화, 감사를 위한 35개 이상의 엔드포인트. 전체 참조 →

연결 지원 받기

브로커에 에이전트를 연결 중이거나, 과거 기록을 동기화하고 읽고 싶으신가요? 브레이크 통합 이슈 열기 또는 30분 예약. 설정 지원은 무료이며, 사용하는 사람들이 다음에 무엇을 만들지 결정합니다.

감사 추적

에이전트가 내리는 모든 거래 결정 — 거래 하지 않기로 한 결정을 포함 — 은 거래 결정 기록(TDR)으로 기록됩니다. 레코드별 SHA-256 콘텐츠 해시는 전방 연결 감사 원장에 연결되며, 모든 UTC 일은 일별 Merkle 루트로 요약되고 이 루트는 일별로 연결됩니다. 과거 기록을 변조하면 이후의 모든 링크가 무효화됩니다.

결정 기록을 요구하는 규칙은 소매 사용자가 아닌 투자 회사에 적용됩니다. EU AI Act에 따라 Annex III 고위험 로깅 의무는 2027년 12월 2일로 연기되었으며, ESMA의 2026년 2월 알고리즘 거래에 대한 감독 브리핑은 AI 기반 알고리즘 거래가 현재 고위험 범위에서 제외된다고 명시합니다. 표는 해당 텍스트가 적용되는 경우 TradeMemory 기능이 어떻게 매핑되는지 보여줍니다. 이는 규정 준수 주장이 아닙니다.

규정요구 사항TradeMemory 적용 범위
MiFID II 제17조모든 알고리즘 거래 결정 요인 기록전체 결정 체인: 조건, 필터, 지표, 실행
EU AI Act 제14조고위험 AI 시스템에 대한 인간 감독모든 결정에 대한 설명 가능한 추론 + 메모리 맥락
EU AI Act 제12조시스템 수명 동안 자동, 변조 방지 로그연결된 SHA-256 체인 + 일별 Merkle 루트 (RFC 3161 TSA 앵커링, 0.5.3부터 기본 활성화)
# Verify a single record hasn't been tampered with
verify_audit_hash(trade_id="MT5-7047640363")
# → {"verified": true, "chain_entry": {"sequence_num": 42, ...}}

# Walk the entire chain (or a slice) end-to-end
verify_audit_chain(from_seq=1, to_seq=None)
# → {"verified": true, "checked_count": 1284, "first_break_at": null}

# Daily Merkle root — single 32-byte anchor over every TDR for that day
get_daily_root(date="2026-05-14")
# → {"verified": true, "root_hash": "a05544...", "record_count": 18}

# Bulk export
GET /audit/export?strategy=VolBreakout&start=2026-03-01&format=jsonl

일별 루트는 0.5.3부터 기본적으로 RFC 3161 기관에 의해 타임스탬프됩니다. 구축되지 않음: 개인 키로 기록 서명, 공개 로그에 앵커링, 누락된 것이 없음을 증명. LIMITATIONS.md 참조.

보안

  • 메모리 서버(기본). 주문을 배치하지 않으며 브로커 키를 요청하지 않습니다. 로컬 SQLite 파일에서만 기록 및 회상합니다.
  • 동기화. tradememory sync hyperliquid는 키 없이 공개 데이터를 읽습니다. tradememory sync alpaca은 사용자 머신의 파일에 있는 키로 읽기 전용 호출을 합니다. 동기화된 거래는 로컬 데이터베이스에 유지됩니다.
  • 브레이크(proxy 확장). 정책이 허용하는 주문을 브로커의 MCP 서버로 전달합니다. 브로커 키는 프록시가 시작하는 브로커 프로세스에만 전달되며, TradeMemory는 이를 저장하지 않습니다.
  • 아웃바운드 호출. 일별 감사 루트의 RFC 3161 타임스탬프, 거래 데이터가 없는 32바이트 해시(기본 활성화, TRADEMEMORY_TSA=off로 비활성화). tradememory sync은 사용자가 지정한 거래소를 호출합니다. 진화 도구는 에이전트가 호출할 때 공개 Binance 시장 데이터(api.binance.com)를 읽으며, ANTHROPIC_API_KEY을 설정한 경우에만 진화가 Anthropic API를 호출합니다. Replay는 기본적으로 DeepSeek(또는 Anthropic)를 호출하며, 해당 제공업체의 키가 설정된 경우에만 호출합니다. 하이브리드 회상을 위해 sentence-transformers을 설치하면 첫 사용 시 Hugging Face에서 모델을 다운로드합니다. scripts/의 MT5 및 Binance 동기화 스크립트는 환경에서 자격 증명을 읽으며, MT5 스크립트는 DISCORD_WEBHOOK_URL을 설정한 경우에만 Discord 웹훅에 거래 요약(심볼, 가격, 손익)을 게시합니다.
  • 변조 방지, 변조 불가 아님. 모든 레코드는 해시되고 이전 레코드에 연결되며 일별 Merkle 루트가 있습니다. 레코드를 변경하면 체인이 끊어지지만, 전체 데이터베이스를 다시 쓸 수 있는 사람은 이를 재구축할 수 있습니다.

연구 상태

TradeMemory의 OWM 프레임워크는 인지 과학(Tulving 1972)과 강화 학습(Schaul et al. 2015)에 기반합니다. 현재 상태:

  • OWM 5요인 점수: 구현 및 테스트 완료 (CI 배지 참조)
  • 통계 검증: DSR, MBL 구현 (Bailey-de Prado 2014)
  • 감사 추적: SHA-256 변조 방지 TDR
  • 진화 엔진: 연구 단계 (전략 생성 작동, 통계 게이트 통과율 최적화 중)
  • 하이브리드 회상: OWM 전용 모드 활성, 임베딩 구성 시 벡터 융합 가능
  • 경험적 검증: 진행 중 (n=14 거래, 통계적 유의성을 위해 목표 n>=100; n=14에서는 신뢰 구간이 너무 넓어 결론을 내릴 수 없음 - validation/final_verdict.md 참조)

문서

문서설명
시작하기설치 → 첫 거래 → 사전 점검 목록
사용 사례3가지 사용 시나리오, 각각 자사 또는 독립으로 표시
API 참조모든 REST 엔드포인트
OWM 프레임워크결과 가중 메모리 이론
아키텍처시스템 설계 및 계층 분리
튜토리얼상세 안내
MT5 설정MetaTrader 5 통합
연구 로그진화 실험 및 데이터
실패 분류11가지 거래 AI 실패 모드
中文版번체 중국어

기여

기여 가이드 · 보안 정책 참조

Star History

MIT, 라이선스 참조. 선택적 proxy 추가 설치 시 Mnemox Control이 포함되며, 해당 엔진은 AGPL-3.0-only입니다(상업용 라이선스 제공 가능). TradeMemory 자체는 MIT를 유지합니다. 교육 및 연구 목적으로만 사용하세요. 금융 조언이 아닙니다.

Mnemox에 의해 제작됨