OpenSource-Hub
T

tick-stock-panel

SHA-256
6.2k stars·개발 도구·SHA-256 체크섬 확인됨

자체 호스팅, 무운영의 A주 퀀트 워크벤치: 전략, 백테스트, 모니터링을 한 곳에서 해결하고, AI 어시스턴트와 MCP 연동을 지원합니다.

스마트 다운로드

Download 버전 다운로드

v0.3.9 · 252.9 MB

Docker로 실행하는 A주 전략 백테스트 및 시세 모니터링 도구

주요 기능

  • 전략 엔진: 사용자 정의 전략과 시그널, 밀리초 단위 전 A주 스캔
  • 통합 백테스트: T+1, 수수료 및 슬리피지 지원, 백테스트와 실거래가 동일한 실행 경로 사용, 미래 함수 원천 차단
  • 이상 변동 모니터링: 동시호가, 장중, 편차 전 시간대 이상 변동 감지, 음성 안내 및 飞书 푸시 지원
  • AI 대화 어시스턴트: 한 문장으로 전 사이트 데이터 조회, 데이터 추출 과정 건별 검증 가능
  • 오픈 기능: API 엔드포인트 65개와 MCP 도구 12개, Token 6단계 권한

할 수 없는 것

  • •주의: 이 프로젝트는 학습 및 연구 목적으로만 제공되며, 투자 또는 시세 확인 소프트웨어가 아닙니다. 저자는 同花顺, 通达信을 표방하지 않는다고 명확히 밝히며, AI 종목 추천이나 상한가 예측도 제공하지 않습니다. 프로젝트에는 시세 데이터가 내장되어 있지 않으므로 규정을 준수하는 제3자 데이터 소스에 직접 연결해야 합니다. A주 시장만 지원합니다. 백테스트 결과는 투자 조언을 구성하지 않으며, 이에 따라 실거래를 진행하여 발생하는 손익은 본인이 부담합니다.

사용 사례

  • 개인 퀀트 애호가가 로컬에 전략 연구, 백테스트와 시세 모니터링을 통합한 환경 구축
  • 오픈 API 또는 MCP를 통해 패널 데이터를 AI 클라이언트에 전달하여 나만의 투자 리서치 로봇 구축
  • 장중 관심 종목의 이상 변동을 실시간으로 모니터링하고 가장 먼저 飞书로 푸시

상세 설명

TSP는 셀프 호스팅, 무운영의 A주 퀀트 워크벤치로, 전략, 백테스트, 팩터 연구, 실시간 모니터링 및 복기를 동일한 데이터 기준으로 통합합니다. 로컬에는 기본 시세 Parquet만 저장하고, 68개 컬럼의 지표 신호는 Polars 엔진이 실시간으로 계산하므로 각 단계의 결과가 일치합니다. 백테스트는 T+1, 수수료 및 슬리피지를 지원하며, 프로세스 격리로 미래 함수를 철저히 차단합니다. 개방성이 강점입니다. 65개의 API 엔드포인트, Token 6단계 권한, 12개의 MCP 도구를 제공해 AI 클라이언트를 바로 연결해 사용할 수 있습니다. Python 환경을 일일이 구성해야 하는 vnpy, Qlib 등의 프레임워크와 달리 TSP는 Docker 컨테이너 하나로 실행되며 외부 데이터베이스가 전혀 필요 없고, 聚宽 같은 클라우드 플랫폼과 달리 데이터는 완전히 로컬에 남습니다.

문제 해결 & FAQ (2)

문제 해결
TSP 데스크톱 AI 채팅 어시스턴트 사용 시 '405 Method Not Allowed' 오류를 해결하는 방법

이것은 TSP v0.3.3의 패키징 버그입니다. app/custom/* 백엔드 확장 모듈은 런타임에 importlib + pkgutil을 통해 검색되므로, PyInstaller의 정적 분석으로는 이를 감지할 수 없습니다. packaging/tsp.spec 파일에 app/custom에 대한 datas + hiddenimports 선언이 누락되어 있었기 때문에, assistant 모듈이 설치 프로그램에 번들링되지 않았고 해당 API 라우트가 등록되지 않았으며, 요청이 SPA catch-all GET 라우트로 넘어가 405를 반환했습니다.

진단 단서:
- GET http://127.0.0.1:3018/api/custom/assistant/status가 JSON 대신 HTML을 반환함 (라우트가 등록되지 않음)
- 설치 폴더에 _internal/app/custom 디렉터리가 없지만 _internal/app/plugins/fuyao는 존재함
- 다른 AI 기능(예: 설정 페이지 연결 확인, 장 마감 후 리뷰)은 정상적으로 작동함

해결 방법: TSP v0.3.5 이상으로 업그레이드하세요. 이 버전부터 spec 파일에 app/custom에 대한 datas + hiddenimports 선언이 포함되어 있습니다. 업그레이드 후 설치 디렉터리에 _internal/app/custom/assistant가 존재하는지 확인하세요. 다운로드: https://github.com/shy3130/tick-stock-panel/releases/tag/v0.3.5

원본 Issue #459
문제 해결
depth5(5레벨 오더북)가 커스텀 YAML 데이터 프로바이더에서 작동하지 않는 이유는 무엇이며, 어떻게 해결할 수 있나요?

이는 버그였습니다: 커스텀 데이터 소스 파이프라인이 depth5를 전혀 라우팅하지 않았습니다. config_from_dict()의 데이터셋 화이트리스트가 파싱 시점에 depth5를 누락시켰고, _sanitize_for_yaml()도 저장할 때 다시 누락시켰으며, 프로바이더에는 /depth5에 대한 필드 계약이나 get_depth_batch() 메서드가 없었고, validate()는 depth5를 start/end 파라미터가 필요한 날짜 범위 데이터셋으로 잘못 취급했습니다. 이 문제는 커밋 384094b(PR #479)에서 수정되었습니다 — 해당 커밋이 포함된 버전으로 업그레이드한 후 YAML에 datasets.depth5를 선언하면, 패널의 커스텀 eltdx_source 라우트가 어댑터의 /depth5 엔드포인트를 호출합니다. 수정 내용(backend/app/data_providers/custom/): 1) config.py — DatasetName Literal과 config_from_dict()의 datasets 화이트리스트에 "depth5" 추가; 2) loader.py — _sanitize_for_yaml()의 allowlist에 "depth5" 추가; 3) provider.py — _REQUIRED에 "depth5": {"symbol", "asks", "bids"} 추가, realtime과 마찬가지로 symbols/start/end 중복 파라미터 검사에서 depth5를 제외하고, cfg.batch 단위로 심볼을 청크하며 rpm 스로틀링을 적용하고, 재시도와 함께 /depth5를 요청하며, 실패한 배치는 경고와 함께 건너뛰고, asks/bids 가격/수량을 숫자로 정규화하고 ask_volumes/bid_volumes를 도출하는 GenericHTTPProvider.get_depth_batch() 추가; 4) test_dataset()에 날짜 없이 테스트 심볼만 전송하는 depth5 분기 추가.

원본 Issue #478

태그

quantitative-tradinga-sharebacktestingself-hostedllmmcpdockerstock-analysis

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

Docker 설치, GitHub 저장소에서 공식 이미지 또는 docker-compose 구성 가져오기

4

docker compose up -d 실행하여 단일 컨테이너 서비스 시작

5

브라우저에서 패널 주소를 열고 패널 비밀번호 설정 후 시스템 로그인

설치 가이드
  1. Docker 설치, GitHub 저장소에서 공식 이미지 또는 docker-compose 구성 가져오기
  2. docker compose up -d 실행하여 단일 컨테이너 서비스 시작
  3. 브라우저에서 패널 주소를 열고 패널 비밀번호 설정 후 시스템 로그인
파일 무결성

SHA-256 체크섬 확인됨

GitHub 공식 Release 페이지에서 추출된 체크섬

SHA256 체크섬

1a6ae6bcdcd3bec010b3f11998e5894a05138f9df630e80b80b076014c0090d0

이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

먼저 docker compose down을 실행하여 서비스를 중지하고, docker rmi로 해당 이미지를 삭제한 후, 마지막으로 로컬 데이터 디렉터리(Parquet/DuckDB 데이터 및 설정 포함)를 삭제하면 완전히 제거되며 시스템에 잔여물이 남지 않습니다.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스MIT
마지막 업데이트2026-10-21 00:42:40
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트