
프로젝트 소개
선물 팩터 발굴 실험은 바로 사용할 수 있는 선물 퀀트 연구 및 모의 거래 플랫폼입니다. 시세 조회, 팩터 발굴, 전략 백테스트, 모의 거래, 실시간 퀀트 작업 및 AI 보조 시황 분석을 하나의 자체 호스팅 시스템에 통합하여 학습, 연구 및 모의 실험에 적합합니다.

프로젝트는 기본적으로 Sina Finance의 무료 시세를 제공하며 약 5초마다 갱신됩니다. 시세 계정을 등록할 필요가 없습니다. 데이터베이스, 캐시 및 업무 데이터는 모두 배포자가 직접 호스팅합니다. 자체 CTP 호환 시세 프런트엔드가 있다면 관리 콘솔에서 해당 tcp:// 주소를 설정할 수도 있습니다.
이 프로젝트는 학습, 연구 및 모의 거래 실험만을 위한 것이며 투자 조언을 제공하지 않습니다. 실시간 거래 시세 또는 거래 인터페이스를 연결할 때 발생하는 위험과 규정 준수 책임은 사용자에게 있습니다.
핵심 기능
- 시세 터미널: Sina 무료 실시간 시세와 K선 이력을 제공하며, 관심 목록과 종목 트리를 지원합니다. 5단 호가 등의 기능은 연결된 시세 소스에 따라 달라집니다.
- 팩터 실험실: 60가지 이상의 특성이 내장되어 있으며, 표현식을 사용해 팩터를 발굴하고 토큰 인코딩으로 실험을 재현할 수 있습니다.
- 과거 백테스트: 다중 주기 K선 백테스트, AI 생성 K선 백테스트 및 의사결정 모델 백테스트를 지원합니다.
- 모의 거래: 모의 계정, 주문 체결, 포지션 관리, 자산 곡선 및 다양한 청산 기준을 제공합니다.
- 퀀트 작업: 전략 신호를 실시간으로 계산하며, 다중 주기 공명과 신호 K선 손절을 지원합니다.
- AI 시황 분석: 직접 설정한 LLM 채널을 통해 앵커 스타일의 시황 브리핑과 거래 보조 정보를 생성합니다.
- 관리 콘솔: 시세 채널 모니터링 및 주·보조 전환, K선 소스, 사용자와 할당량을 관리합니다.
기술 아키텍처
백엔드는 Python 3.12, FastAPI, 비동기 SQLAlchemy, PostgreSQL 및 Redis를 기반으로 하며, 프런트엔드는 Next.js 15, React 19 및 Tailwind CSS를 사용합니다. 전체 서비스는 Docker Compose로 구성됩니다.
이 아키텍처는 프런트엔드, API, 데이터베이스 및 캐시를 컨테이너 배포에 통합하여 개인 서버나 내부 연구 환경에서 자체 호스팅하기에 적합합니다.

설치 및 시작
1단계: 배포 환경 준비
시작하기 전에 실행 환경에 Docker가 설치되어 있고 Docker Compose를 사용할 수 있는지 확인합니다. 그런 다음 프로젝트 소스 코드를 가져와 저장소 루트 디렉터리로 이동합니다.
2단계: 환경 변수 파일 생성
저장소에서 제공하는 예시 설정을 복사합니다.
cp .env.example .env.env를 열고 배포 환경에 맞게 데이터베이스, Redis 및 JWT 키 등의 설정을 확인하거나 수정합니다. 공개 배포 시 추측하기 쉽거나 예시와 동일한 키를 계속 사용해서는 안 됩니다.
3단계: 컨테이너 시작
저장소 루트 디렉터리에서 실행합니다.
docker compose up -d이 명령은 Compose에 정의된 서비스를 백그라운드에서 시작합니다. 시작 후 다음 명령으로 컨테이너 상태를 확인할 수 있습니다.
docker compose ps데이터베이스 테이블 생성, 데이터 설정 및 전체 환경 변수 설명은 프로젝트의 SELF-HOSTING.md를 기준으로 합니다. README에는 고정된 접속 포트가 명시되어 있지 않으므로 실제 접속 주소는 Compose 파일과 로컬 환경 변수에 따라 확인해야 합니다.
시세 소스 설정
기본 Sina 시세 직접 사용
처음 사용할 때는 기본 sina 시세 소스를 유지할 수 있습니다. 이 소스는 계정이나 서버 주소가 필요하지 않고 약 5초마다 갱신되므로 시세 페이지와 기본 연구 흐름을 빠르게 검증하기에 적합합니다.

자체 CTP 호환 프런트엔드 연결
사용 가능한 CTP 호환 시세 서비스가 있다면 ctp_sim을 선택한 후 관리 콘솔의 ‘시세 채널 모니터링’ 페이지에서 다음과 같이 주소를 입력합니다.
tcp://host:port오픈 소스 저장소에는 유료 또는 사설 시세 서버 주소가 포함되어 있지 않습니다. 배포자는 합법적이고 사용 가능한 프런트엔드 주소를 직접 확보하여 설정해야 합니다.
openctp 7×24 모의 환경 사용
openctp_724는 openctp의 7×24 모의 환경에 해당하며 가상 거래 실험에 적합합니다. 데이터 소스에 따라 제공되는 필드와 깊이가 다를 수 있습니다. 예를 들어 5단 호가는 해당 시세 소스 자체가 이 기능을 지원해야 합니다.
기본 사용 흐름
1. 시세 터미널에서 연구 대상 선택
시세 터미널에 들어간 후 관심 목록이나 종목 트리를 통해 선물 시세와 과거 K선을 확인합니다. 먼저 시세가 업데이트되고 있는지 확인한 다음 팩터 실험이나 백테스트를 진행하면 데이터 소스 이상으로 인한 잘못된 판단을 줄일 수 있습니다.
2. 팩터 실험실에서 실험 진행
팩터 실험실은 60가지 이상의 내장 특성을 제공하며 표현식을 사용해 팩터를 조합할 수 있습니다. 비교적 간단한 표현식부터 시작하고, 연구 종목·주기·매개변수를 기록한 뒤 점차 복잡도를 높이는 것을 권장합니다.

플랫폼의 토큰 인코딩은 실험을 재현하는 데 사용할 수 있습니다. 가치 있는 팩터 연구를 완료한 후에는 해당 토큰을 저장하고 사용한 데이터 소스와 시간 범위도 함께 기록해야 합니다. 이렇게 하면 다시 실행하거나 결과를 비교할 때 실험 조건을 일관되게 유지하기 쉽습니다.
3. 과거 백테스트 실행
백테스트 모듈에 들어가 연구 목적에 따라 다중 주기 K선 백테스트, AI 생성 K선 백테스트 또는 의사결정 모델 백테스트를 선택합니다. 백테스트 시 선택한 주기, 신호 로직 및 청산 조건이 원래 가정과 일치하는지 중점적으로 확인해야 합니다.

단일 수익 결과만 확인하지 마십시오. README에는 구체적인 평가 지표나 기본 매개변수가 정해져 있지 않으므로, 실제 분석에서는 시스템에 표시되는 백테스트 결과를 바탕으로 다양한 주기와 조건을 비교해야 합니다.
4. 모의 거래로 전환하여 검증
과거 백테스트 후에는 모의 계정을 사용해 검증할 수 있습니다. 모의 거래 모듈은 주문 체결, 포지션 조회 및 자산 곡선을 지원하며, 지표 데드크로스, 팩터 임계값 또는 파동 구간 참고 등의 청산 기준을 사용할 수 있습니다.

과거 백테스트 결론을 미래 성과로 바로 간주하기보다 먼저 모의 계정으로 연속적인 시세에서 신호의 성과를 관찰하는 것이 좋습니다. 특히 주문 상태, 포지션 변화 및 자산 곡선이 전략의 예상과 일치하는지 확인해야 합니다.
5. 실시간 퀀트 작업 생성
퀀트 작업은 전략 신호를 실시간으로 계산하며 다중 주기 공명과 신호 K선 손절을 지원합니다. 실제 사용 시 먼저 단일 주기로 신호를 검증한 다음 다른 주기를 추가해 공명 필터를 적용하면 기본 신호와 다중 주기 조건의 영향을 구분하기 쉽습니다.
6. AI 시황 분석 설정
AI 시황 분석은 배포자가 직접 설정한 모델 채널에 의존합니다. LLM 채널 설정을 완료하면 시스템에서 앵커 스타일의 시황 브리핑과 거래 보조 정보를 제공할 수 있습니다.

AI 출력은 연구 보조 자료로 사용해야 하며 확정적인 거래 결론으로 간주해서는 안 됩니다. AI가 생성한 K선이나 시황 해석을 사용할 때는 원본 시세, 백테스트 결과 및 모의 계정 성과를 함께 검토하여 독립적으로 확인해야 합니다.
고급 사용 권장 사항
실험 재현성 유지
- 팩터 표현식에 해당하는 토큰 인코딩을 저장합니다.
- 종목, K선 주기, 데이터 소스 및 실험 시간 범위를 기록합니다.
- 실험을 비교할 때는 핵심 변수 하나만 변경하도록 합니다.
- 시세 소스를 전환한 후 데이터 필드와 호가 기능을 다시 확인합니다.
단계별 전략 검증
- 팩터 실험실에서 팩터를 구성하고 확인합니다.
- 과거 백테스트를 통해 다양한 주기에서의 성과를 검증합니다.
- 모의 계정으로 주문, 포지션 및 청산 흐름을 테스트합니다.
- 퀀트 작업을 생성하고 실시간 신호와 다중 주기 공명을 관찰합니다.
- AI 시황 분석은 전략 규칙을 대체하지 않는 보조 정보로 활용합니다.
시세 채널 관리로 가용성 향상
여러 시세 채널을 설정한 경우 관리 콘솔에서 채널 모니터링 및 주·보조 전환을 사용할 수 있습니다. 연결 상태를 정기적으로 확인하고, 보조 채널에 정확하고 접속 가능한 서비스 주소가 입력되어 있는지 확인해야 합니다.
자체 호스팅 환경 보호
배포 전에 JWT 키를 변경하고 PostgreSQL, Redis, 시세 프런트엔드 및 모델 채널의 연결 정보를 안전하게 보호해야 합니다. 사용자와 할당량은 관리 콘솔에서 관리하여 불필요한 리소스 사용이나 무단 접근을 방지할 수 있습니다.
자주 사용하는 운영 명령
현재 컨테이너 상태 확인:
docker compose ps서비스 로그 확인:
docker compose logs로그를 계속 추적:
docker compose logs -fCompose 서비스 중지:
docker compose down데이터베이스, Redis, JWT 또는 기타 설정을 조정해야 하는 경우 먼저 프로젝트의 자체 배포 문서를 참고하고 현재 Docker Compose 설정에 맞게 작업해야 합니다.
마무리
선물 팩터 발굴 실험은 무료 시세와 팩터 구성부터 다중 주기 백테스트와 모의 거래를 거쳐 실시간 퀀트 작업과 AI 시황 분석으로 확장되는 완전한 자체 호스팅 연구 경로를 제공합니다. 먼저 기본 Sina 시세로 기본 흐름을 완료한 다음 필요에 따라 자체 시세 프런트엔드와 모델 채널을 연결하고, 항상 연구 및 모의 거래 범위 내에서 신중하게 전략을 검증하는 것을 권장합니다.
