Supabase 로 내 데이터 연동하기
내 데이터베이스의 지표(예: 공포탐욕 지수, 온체인 데이터)를 전략에서 ctx.data() 로 읽게 만드는 가장 쉬운 길입니다. Supabase 무료 티어면 충분하고, 연결 문자열은 에이전트 기기에만 저장됩니다 — soritrading 서버는 데이터도 비밀번호도 보지 못합니다.
Supabase 프로젝트 만들기
supabase.com 에서 무료 프로젝트를 만듭니다. 리전은 에이전트(VPS)와 가까운 곳이 좋습니다.
테이블 만들고 데이터 넣기
SQL 에디터 또는 Table Editor 로 시계열 테이블을 만듭니다. 최소 요건은 시각 컬럼(타임스탬프)과 값 컬럼 두 개입니다. 예: fear_greed(ts bigint, v numeric) — ts 는 초 단위 epoch 권장(밀리초·ISO 도 자동 인식됩니다). 넣을 데이터가 아직 없다면 아래를 먼저 보세요 — 이 단계를 통째로 건너뛸 수 있습니다.
무료 공개 데이터부터 시작하는 게 제일 빠릅니다. 공포탐욕 지수·비트코인 해시레이트·미국 기준금리·VIX 같은 지표를 내 DB 에 채워주는 오픈소스 수집기를 제공합니다 — 전부 무료고 API 키가 필요 없습니다. 수집기가 **테이블도 직접 만들어 줍니다**(ts·v 두 컬럼). 그래서 이 2단계에서 할 일이 사라집니다 — 명령 한 줄로 적재하고, cron 등록까지 한 줄입니다. ★ 적재에는 쓰기 권한 계정을 씁니다. 3단계에서 만드는 읽기 전용 계정은 에이전트가 읽을 때 쓰는 별개 계정입니다.
공개 데이터 넣기 가이드 보기 →읽기 전용 계정 만들기 (중요)
전략 검증에는 읽기만 필요합니다. 아래 SQL 을 Supabase SQL 에디터에 붙여넣어 읽기 전용 롤을 만드세요 — 연결 문자열이 새어도 데이터를 바꿀 수 없게 하는 진짜 방어선입니다.
create role readonly_bot login password '강한비밀번호로교체'; grant usage on schema public to readonly_bot; grant select on all tables in schema public to readonly_bot; alter default privileges in schema public grant select on tables to readonly_bot;
연결 문자열 복사
프로젝트 대시보드의 Project Overview → Get connected 를 열고 Direct 항목에서 URL 을 복사한 뒤, 계정명·비밀번호만 3단계에서 만든 것으로 바꿉니다. 같은 자리에 풀러(pooler) 방식도 함께 나옵니다. ★ UI 문구는 Supabase 가 바꿀 수 있습니다 — 어느 방식인지는 복사한 URL 자체가 말해줍니다: · 호스트가 db.프로젝트ref.supabase.co (직결) → 계정명은 그냥 readonly_bot · 호스트에 pooler.supabase.com 이 있으면 → 계정명은 readonly_bot.프로젝트ref (점 뒤 ref 유지 — 지우면 접속 거부) ★ 무료 티어의 직결(5432)은 IPv6 전용입니다 — 에이전트 서버에 IPv6 가 없으면 Session mode(풀러) URL 을 쓰세요.
연동하고 AI 에게 맡기기
자산 화면 → 외부 DB 연동에 별칭(main)과 URL 을 넣으면 즉시 연결을 검증합니다. 그 다음은 AI 대화로: "내 DB 의 fear_greed 를 전략에서 쓰고 싶어" — AI 가 데이터셋을 등록하고, 검증 결과를 읽고, ctx.data('fg') 를 쓰는 전략을 만들어 백테스트까지 돌립니다. 넣을 데이터가 없다면 /guide/datasets 의 공개 데이터 예제(공포탐욕 지수 등)로 시작하세요.
- 무료 프로젝트는 1주일 미사용 시 일시정지됩니다 — 에이전트의 10분 주기 검증이 활동으로 잡혀 보통은 깨어 있습니다.
- 실시간 갱신(notify 모드)은 Session mode URL 에서만 동작합니다(Transaction mode 풀링은 LISTEN 미지원).
- 백테스트 결과에는 데이터 지문(행수·해시)이 남습니다 — DB 내용이 바뀌면 지문이 달라지고, 지문이 다른 두 결과는 같은 조건이 아닙니다.