Brand LogoBrand Logo (Dark)
홈AI 에이전트툴킷GitHub 추천에이전트 등록블로그

카테고리

  • 아트 생성기
  • 오디오 생성기
  • 자동화 도구
  • 챗봇 & AI 에이전트
  • 코드 도구
  • 금융 도구

카테고리

  • 대규모 언어 모델
  • 마케팅 도구
  • 노코드 & 로우코드
  • 리서치 & 검색
  • 영상 & 애니메이션
  • 영상 편집

GitHub 추천

  • DeerFlow — ByteDance 오픈소스 슈퍼에이전트 프레임워크

최신 블로그

  • OpenClaw와 Composer 2, 어떤 AI 비서가 더 뛰어난가?
  • 구글 AI 스튜디오 vs 앤트로픽 콘솔, 2026년 AI 개발 플랫폼 비교
  • 스티치 2.0 vs 러블 2026년, 어떤 제품이 더 나을까
  • 2026년 AI로 소규모 비즈니스 수익화하는 실전 가이드
  • OpenClaw와 MiniMax, 어떤 AI 어시스턴트가 더 나은 선택일까

최신 블로그

  • OpenClaw와 KiloClaw 실제 사용 경험 비교
  • OpenClaw와 Kimi Claw 비교하기
  • GPT-5.4와 Gemini 3.1 Pro 비교하기
  • Perplexity Computer, 19개 AI 모델로 금융 산업 판도 흔든다
  • OpenClaw 최선의 실천, 5 개 기본 원칙
LinkStartAI© 2026 LinkstartAI. 모든 권리 보유
문의하기소개
  1. 홈
  2. GitHub 추천
  3. vn.py(VeighNa)
vn.py(VeighNa) logo

vn.py(VeighNa)

Python 이벤트 기반 오픈소스 퀀트 트레이딩 프레임워크. 멀티 베뉴 게이트웨이, 전략 앱, 백테스트, 집행 알고리즘, 리스크 관리와 DB 연동을 제공하며 GUI/스크립트로 운용한다.
33.1kPythonMIT License
#python#event-driven#퀀트-트레이딩#브로커-게이트웨이#strategy-engine
#backtesting
#algo-execution
#risk-manager
#multi-account
#alternative-to-backtrader
#alternative-to-zipline
#alternative-to-quantconnect

개요

vn.py(VeighNa)는 ‘이벤트 기반 코어 + 플러그인 모듈’로 트레이딩 시스템을 조립한다. 틱, 주문 업데이트, 체결, 계정/포지션 변화가 이벤트 스트림으로 표준화돼 전략은 이벤트를 구독하고 의도만 출력하면 되며, 동시성 복잡도는 엔진에 격리된다. 게이트웨이는 연결, 인증, 주문 상태기, 재연결을 공통 인터페이스로 캡슐화하고, 앱은 같은 이벤트 버스로 백테스트, 집행 알고리즘, 포트폴리오, 스프레드/옵션, 전방 리스크 규칙을 재사용한다. 데이터는 SQLite, MySQL, PostgreSQL에 저장해 리플레이·회귀·장애 재현을 운영 루프에 넣을 수 있다.

문제점 vs 혁신

✕기존 문제점✓혁신적 솔루션
스크립트 직결은 재연결, 레이트리밋, 스레드 안전, 주문 상태기가 전략 코드로 침투해 실행부가 재현과 디버깅이 어려운 덩어리가 되기 쉽다.vn.py는 이벤트 버스로 경계를 고정한다. 게이트웨이가 외부를 이벤트로 번역하고 실행 디테일을 처리하며, 전략은 이벤트→의도 변환에 집중해 결합도와 동시성 부담을 낮춘다.
리서치와 실거래가 분리된 스택이면 데이터 기준과 가정, 리스크 규칙이 드리프트해 백테스트와 운영 결과의 차이를 설명하기 어려워진다.통일된 도메인 객체와 플러그인 앱 생태계로 백테스트·집행·리스크·데이터 관리를 한 파이프라인에 묶고, 이벤트 기록/리플레이로 회귀와 장애 재현을 운영 표준으로 만든다.

아키텍처 심층 분석

이벤트 기반 코어와 리플레이 재현성
vn.py가 이벤트 기반을 택한 이유는 트레이딩의 상태 변화가 본질적으로 이산 이벤트이기 때문이다. 틱, 주문 업데이트, 체결, 계정/포지션 변화를 하나의 이벤트 스트림으로 정규화하면 전략은 구독과 반응에 집중하고, 재연결·레이트리밋·주문 상태 전이 같은 실행 디테일은 엔진/게이트웨이에 격리된다. 동시성과 I/O 복잡도가 하부로 수렴해 전략 코드는 테스트와 감사가 쉬워진다. 또한 이벤트 시퀀스를 기록·리플레이할 수 있어 백테스트, 회귀, 운영 장애 재현이 같은 입력 경로를 공유하며 재현 실패를 줄인다.
게이트웨이 캡슐화와 앱 생태계
게이트웨이는 거래소/브로커 API 차이를 표준 인터페이스로 감싸고, 주문 상태기, 재시도, 연결 복구 같은 실행 필수 요소를 내부에서 처리한다. 상위 앱 레이어는 백테스트, 집행 알고리즘, 포트폴리오, 스프레드/옵션, 전방 리스크, 데이터 관리 기능을 모듈로 축적해 공통 도메인 객체를 재사용한다. 덕분에 시장/종목 확장은 주로 게이트웨이 추가 문제로 수렴하고, 전략은 비즈니스 로직에 집중할 수 있다. DB 어댑터로 로그와 데이터를 남기면 리플레이 입력을 장기 보존하고 팀 단위로 복기·권한·감사를 운영할 수 있다.

배포 가이드

1. 저장소 클론 및 Python 3.10+ venv 생성

bash
1git clone https://github.com/vnpy/vnpy.git && cd vnpy && python -m venv .venv && . .venv/bin/activate

2. OS별 설치 스크립트로 의존성 준비

bash
1Windows: install.bat | Ubuntu: bash install.sh | macOS: bash install_osx.sh

3. (선택) pip로 코어와 주요 앱 설치

bash
1pip install -U pip && pip install vnpy vnpy_ctastrategy vnpy_ctabacktester vnpy_algotrading vnpy_riskmanager

4. (선택) DB 어댑터 설정으로 데이터/로그 중앙 저장

bash
1export VNPY_DATABASE_DRIVER=postgresql && export VNPY_DATABASE_HOST=127.0.0.1 && export VNPY_DATABASE_PORT=5432 && export VNPY_DATABASE_DATABASE=vnpy

5. 스크립트로 실행해 게이트웨이/앱 로드

bash
1python run.py

활용 사례

핵심 시나리오대상 고객솔루션최종 결과
멀티 베뉴 실거래 집행 루프트레이딩 팀통일 게이트웨이로 여러 시장을 연결하고 집행·리스크 모듈을 적용통합 사고를 줄이고 안정적으로 확장
리플레이 기반 회귀 백테스트퀀트 리서처이벤트 스트림을 기록해 동일 엔진에서 리플레이하며 회귀 비교재현성이 올라가고 장애 원인 분석이 빨라짐
다중 계정 운영 거버넌스운영/리스크로그·시장 데이터를 중앙 저장하고 정책을 통일감사성 향상, 수동 드리프트 감소, 안전한 롤아웃

제한 사항 및 주의점

제한 사항 및 주의점
  • 실거래 연결은 게이트웨이 패키지와 계정/네트워크 준비가 추가로 필요하며, 일부 채널은 벤더 SDK나 OS 제약이 있다.
  • 백테스트/실거래 일치성은 데이터 품질, 계약 규칙, 수수료·슬리피지 모델에 좌우되며 기준을 고정하지 않으면 회귀가 드리프트한다.
  • 멀티 프로세스/멀티 클라이언트는 처리량을 올리지만 설정·모니터링 복잡도를 키우므로 시크릿 관리, 권한 격리, 알림 체계를 갖춰야 한다.

자주 묻는 질문

vn.py는 Backtrader/Zipline/QuantConnect와 무엇이 다른가?▾
vn.py는 실거래 엔지니어링 골격에 가깝다. 게이트웨이가 연결·재연결과 주문 상태기를 표준화하고, 앱으로 백테스트·집행 알고리즘·전방 리스크·데이터 관리를 붙여 운영 루프를 만든다. 반면 Backtrader와 Zipline은 연구/백테스트 라이브러리로 쓰이는 경우가 많아 실거래는 추가 통합과 운영 설계가 필요해지기 쉽고, QuantConnect는 클라우드 플랫폼 모델이라 배포 통제와 연동 형태가 자가 호스팅과 다르다. 선택은 세 가지 제약으로 정리하면 빠르다: 자가 호스팅 게이트웨이가 필요한가, 이벤트 리플레이로 사고를 재현해야 하는가, 데이터·로그를 자체 저장/권한 모델에 남겨야 하는가.
여러 시장 게이트웨이를 안정적으로 운영하려면?▾
한 채널에서 연결, 인증, 주문 업데이트, 체결, 재연결 복구를 먼저 종단 간 검증한 뒤 리스크 규칙과 집행 알고리즘을 단계적으로 추가하라. 설정을 버전 고정하고 로그를 저장해 리플레이 회귀로 드리프트를 잡으면 변경 영향이 통제된다.
SQLite와 PostgreSQL은 어떻게 고르면 되나?▾
단일 머신에서 빠르게 검증하려면 SQLite가 간단하다. 공유 접근, 중앙 로그, 권한과 쿼리 성능이 필요하면 PostgreSQL가 안정적이다. 핵심은 쓰기 빈도와 인덱스/보관 정책을 설계해 리플레이와 실거래가 경합하지 않게 만드는 것이다.
GitHub에서 보기

프로젝트 지표

Star 수33.1 k
언어Python
라이선스MIT License
배포 난이도보통

Table of Contents

  1. 01개요
  2. 02문제점 vs 혁신
  3. 03아키텍처 심층 분석
  4. 04배포 가이드
  5. 05활용 사례
  6. 06제한 사항 및 주의점
  7. 07자주 묻는 질문

관련 프로젝트

nanobot
nanobot
22.5 k·Python
DeerFlow — ByteDance 오픈소스 슈퍼에이전트 프레임워크
DeerFlow — ByteDance 오픈소스 슈퍼에이전트 프레임워크
26.1 k·Python
gstack
gstack
0·TypeScript
Marketing for Founders
Marketing for Founders
2.2 k·Markdown