개발·백테스트는 각자 로컬 · 공식 성적은 월 시즌 누적 순수익률(수수료 0.1%/거래,
전향 실현) · 아래 표는 참고용 로컬 백테스트 (전향 리더보드는 제출 누적 후 표시)
워크포워드 (아웃샘플)
전체구간 (인샘플)
전략
유형
Sharpe▼
Sortino
CAGR
최대낙폭
Calmar
승률
연변동성
불러오는 중…
공식 지표는 워크포워드(아웃샘플) 탭 기준. 인샘플 수치는 참고용.
각 전략의 이론·검증 설계는
Notion 문서 허브 ↗ 참조.
포트폴리오 제출 가이드
전향(forward) 평가 · M6 방식
전략 개발·백테스트는 각자 로컬 · 서버엔 다음 주 목표비중만 제출 ·
공식 성적 = 제출 후 실현된 미래 수익률(과적합 원천 불가능)
가장 쉬운 길 — Google Colab
설치 없이 브라우저에서: 시세 받기 → 전략으로 비중 만들기 → 규칙 검사 → 제출까지 7개 셀.
전략 셀만 자기 코드로 바꾸면 됩니다. 클라이언트 패키지(공개, 표준 라이브러리만):
github.com/juho127/faip-client
!pip -q install git+https://github.com/juho127/faip-client.git
from faip_client import FAIP, equal_weight
api = FAIP() # 토큰 없이 조회·검사
w = equal_weight(["AAPL","MSFT","NVDA","GOOGL"], gross=0.8)
api.validate(w) # 테스트 제출 (저장·채점 없음)
FAIP(token="faip-...").submit(w) # 실제 제출 — 계정 페이지의 개인 토큰
AI 도구로 제출 — MCP 서버
Claude · ChatGPT · Cursor · Claude Code 에 주소 하나를 등록하면 AI가 시세 조회 → 스크리닝 → 비중 설계 → 규칙 검사 → (확인 후) 제출까지 대화로 처리합니다.
연결 방법·도구 목록·테스트: AI 연결 페이지 →
대회 제출과 완전히 같은 검증을 통과하는지
미리 확인합니다. 저장·채점·리더보드 반영이 없으므로 몇 번이든 안전하게 시도 가능.
# CLI — --test 만 붙이면 됨 (토큰 불필요)
faip submit strategies/<내전략> --name 내이름 --test \
--gateway https://faip-gateway.juho-2b6.workers.dev
# 직접 JSON POST — /validate 붙은 경로, Authorization 헤더 불필요
curl -X POST .../api/portfolio/validate \
-d '{"participant":"내이름","weights":{"AAPL":0.125,"MSFT":0.125}}'
curl -X POST .../api/forecast/validate \
-d '{"participant":"내이름","probs":{"AAPL":[0.1,0.2,0.4,0.2,0.1]}}'
# 파이썬만으로 — SDK 설치 불필요 (표준 라이브러리) · 그대로 복사해 실행
import json, urllib.request
GW = "https://faip-gateway.juho-2b6.workers.dev"
def post(path, payload, token=None):
# User-Agent 필수: urllib 기본값("Python-urllib/…")은 Cloudflare 봇 차단에 걸려 403
hdr = {"Content-Type": "application/json", "User-Agent": "faip-student/1.0"}
if token: hdr["Authorization"] = "Bearer " + token
req = urllib.request.Request(GW + path, data=json.dumps(payload).encode(), headers=hdr)
return json.load(urllib.request.urlopen(req))
w = {"AAPL": 0.125, "MSFT": 0.125} # 내 전략이 계산한 다음 주 목표비중 (종목: 비중)
r = post("/api/portfolio/validate", {"participant": "내이름", "weights": w})
print(r["valid"], [c for c in r["checks"] if not c["ok"]]) # True [] 면 통과
웹에서 바로 검사 — 아래에 제출 JSON을 붙여넣고 검사를 누르세요
(게이트웨이의 /api/portfolio/validate 호출 · 서버에 아무것도 남지 않음).
4. 대회 제출 (매주 월요일 00:00 UTC = 한국시간 월요일 09:00 마감 · 개인 토큰 필수)
토큰은 계정 페이지의 개인 토큰(faip-닉네임-…).
토큰이 곧 신원이라 --name/participant 값은 표기용일 뿐 무시됩니다.
마감 전 재제출은 마지막 것만 인정 · 제출은 다음 월요일 리밸런싱 주문으로 실행.
# 투자 트랙(필수) — --forecast 붙이면 예측 트랙도 함께
faip submit strategies/<내전략> --name 내이름 --forecast \
--gateway https://faip-gateway.juho-2b6.workers.dev --token $FAIP_TOKEN
# 직접 JSON POST — 투자 트랙
curl -X POST .../api/portfolio -H "Authorization: Bearer $FAIP_TOKEN" \
-d '{"participant":"내이름","weights":{"AAPL":0.125,"MSFT":0.125}}'
# 예측 트랙(선택): 종목별 주간수익률 5분위 확률
curl -X POST .../api/forecast -H "Authorization: Bearer $FAIP_TOKEN" \
-d '{"participant":"내이름","probs":{"AAPL":[0.1,0.2,0.4,0.2,0.1]}}'
# 파이썬 — 3단계의 post() 그대로, 경로에서 /validate 만 빼고 토큰을 붙인다
TOKEN = "faip-..." # 계정 페이지에서 복사
print(post("/api/portfolio", {"participant": "내이름", "weights": w}, TOKEN))
5. 평가·규칙 (M6 방식 그대로)
이원 평가 (월 시즌제): 투자 트랙 = 시즌(달력 월, 4~5주) 누적 순수익률 —
포트폴리오는 주 단위로 이어지고, 제출은 다음 월요일 실행되는 리밸런싱 주문,
무제출 주는 보유분 드리프트, 수수료 거래대금의 0.1%(진입·리밸런싱) ·
예측 트랙 RPS(5분위 확률, 나이브 0.16, 시즌 평균) · 종합 듀애슬론
OR = 두 순위의 평균(낮을수록 상위 — M6: 점수 혼합 대신 순위 결합) ·
유니버스: US 대형주 235 (GET /api/universe) · 리밸런싱 주 1회, 유효주 = 다음 월요일 ·
같은 주 재제출은 마지막 승 · 종목당 |비중| ≤ 0.25 ·
총노출 0.25 ~ 1.0 (레버리지 금지, 롱숏 허용, 1 미만은 현금) ·
전향 전용(과거 주는 채점 안 함) ·
이론 문서는 Notion 허브.
FAIP — Finance AI Platform. 본 페이지의 수치는 합성데이터 기반 파이프라인 검증
결과로 투자 성과를 시사하지 않습니다. 실거래 주문·송금 자동화 미지원(검증·백테스트 전용).
GBT FAIP ·
관리자 콘솔