Skip to main content

Core module for using VeighNa project on crypto markets.

Project description

By Traders, For Traders.

VeighNa Evo (vnpy_evo) is the core module for using VeighNa (vnpy) quant trading platform on the crypto market.

Social

  • Twitter Follow us on Twitter
  • Telegram Announcements Follow our important announcements
  • Telegram Chat If you need technical support

Features

  1. Full-featured quantitative trading platform (vnpy_evo.trader)

  2. Gateways which connect to exchanges for receiving market data and sending trading orders:

    • Crypto Market

      • Binance (binance): Spot/Perpetual/Futures/Option

      • OKX (okx): Spot/Perpetual/Futures/Option

      • Bybit (bybit): Spot/Perpetual/Futures/Option

    • Forex Market

      • MT5 (mt5): Forex/Gold/Commodity/Crypto
    • Special Applications

      • RPC service (rpc): inter-process communication interface for distributed architecture
  3. Applications for various quantitative strategies (vnpy_evo.app).

    • cta_strategy: CTA strategy engine module, which allows users to perform fine-grained control over the withdrawal behavior of delegates during the operation of CTA-type strategies while maintaining ease of use (reducing trading slippage, implementing high-frequency strategies)

    • cta_backtester: CTA strategy backtester module, no need to use Jupyter Notebook, directly use the graphical interface to directly carry out strategy backtester analysis, parameter optimization and other related work

    • spread_trading: spread trading module, support custom spreads, real-time calculation of spread quotes and positions, support semi-automatic spread algorithm trading and fully automatic spread strategy trading two modes

    • option_master: option trading module, designed for the domestic options market, supports a variety of option pricing models, implied volatility surface calculation, Greek value risk tracking and other functions

    • portfolio_strategy: portfolio strategy module, designed for trading multi-contract quantitative strategies (Alpha, option arbitrage, etc.) at the same time, providing historical data backtesting and live automatic trading functions

    • algo_trading: algorithm trading module, providing a variety of commonly used intelligent trading algorithms: TWAP, Sniper, Iceberg, BestLimit, etc.

    • script_trader: script strategy module, designed for multi-standard portfolio trading strategies, also can be directly in the command line to achieve REPL instructions in the form of trading, does not support the backtest function

    • paper_account: Simulation trading module, pure localization of simulation trading functions, based on the real-time quotes obtained from the trading interface for commission aggregation, providing commission transaction push and position records

    • chart_wizard: K-line chart module, based on RQData data service (futures) or trading interface (digital currency) to obtain historical data, and combined with Tick push to display real-time market changes

    • portfolio_manager: portfolio module, for all kinds of fundamental trading strategies, based on separate strategy sub-accounts, providing automatic tracking of trading positions and real-time profit and loss statistics

    • rpc_service: RPC service module, allowing a VeighNa Trader process to be started as a server, serving as a unified routing channel for quotes and trades, allowing multiple clients to connect at the same time, realizing a multi-process distributed system

    • data_manager: Historical data management module, view the existing data in the database through the tree directory, select any time period data to view the field details, support CSV file data import and export

    • data_recorder: Quotes recording module, based on the graphical interface for configuration, according to the demand for real-time recording Tick or K-line quotes to the database, for strategy backtesting or live initialization

    • excel_rtd: Excel RTD (Real Time Data) real-time data service, based on pyxll module to achieve real-time push updates of various data (quotes, contracts, positions, etc.) in Excel

    • risk_manager: risk management module, providing statistics and restrictions on rules including trade flow control, number of orders placed, active orders, total number of cancelled orders, etc., effectively realizing front-end risk control functions

    • web_trader: The web service module is designed according to the requirements of B-S architecture, and implements a web server that provides active function call (REST) and passive data push (WebSocket)

  4. Standard network clients for connecting to exchange APIs:

    • REST Client (rest): The high-performance rest API client based on coroutine process asynchronous IO which adopts the programming model of event message cycle to support the sending of high concurrent real-time transaction requests

    • Websocket Client (websocket): The high-performance websocket API client based on coroutine process asynchronous IO supports which sharing event loops with REST Client to avoid multi-threaded performance loss caused by GIL

  5. Event processing engine (vnpy_evo.event), which is the core of event-driven trading program

  6. Database adaptors which support most commonly used databases:

    • SQL

      • SQLite (sqlite): lightweight single file database, no need to install and configure data service programs, default option of vnpy_evo.py, suitable for novice users

      • MySQL (mysql): the world's most popular open source relational database, extremely rich documentation, and can replace other high NewSQL compatible implementations (such as TiDB)

      • PostgreSQL (postgresql): more feature-rich open source relational database, support for new features through extension plug-ins, only recommended for skilled users

    • NoSQL

      • MongoDB (mongodb): non-relational database based on distributed file storage (bson format), built-in memory cache of hot data provides faster read and write speeds

      • InfluxDB (influxdb): non-relational database specially designed for time-series data, columnar data storage provides high read/write efficiency and peripheral analysis applications

      • LevelDB (leveldb): The high-performance key/value database launched by Google which realizes the process memory storage engine based on LSM algorithm, and supports billions of levels of massive data

  7. Standarad RPC solution (vnpy_evo.rpc) for implementing complex trading systems with distributed deployments

  8. High-performance charting widget (vnpy_evo.chart), which supports stream market data update

Install

Download the latest version from here, unzip it and run the following command to install it.

Windows

install.bat

Ubuntu

bash install.sh

Macos

bash install_osx.sh

Example

You can start running VeighNa Evo with only a few lines of code.

from vnpy_evo.event import EventEngine
from vnpy_evo.trader.engine import MainEngine
from vnpy_evo.trader.ui import MainWindow, create_qapp

from vnpy_binance import BinanceUsdtGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp

def main():
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    
    main_engine.add_gateway(BinanceUsdtGateway)
    main_engine.add_app(CtaStrategyApp)
    main_engine.add_app(CtaBacktesterApp)

    main_window = MainWindow(main_engine, event_engine)
    main_window.showMaximized()

    qapp.exec()

if __name__ == "__main__"
    main()

Open a terminal within the directory and run the following command to start VeighNa Trader.

python run.py

Licence

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vnpy_evo-0.2.2.tar.gz (60.3 kB view details)

Uploaded Source

Built Distribution

vnpy_evo-0.2.2-py3-none-any.whl (58.8 kB view details)

Uploaded Python 3

File details

Details for the file vnpy_evo-0.2.2.tar.gz.

File metadata

  • Download URL: vnpy_evo-0.2.2.tar.gz
  • Upload date:
  • Size: 60.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.9

File hashes

Hashes for vnpy_evo-0.2.2.tar.gz
Algorithm Hash digest
SHA256 8f35f18cc41e17d81c44aa4eda479eace6904ead89b1a49cbaa0fe55fe0cbba1
MD5 39af167b029b44e4188180cf0d9fe3c2
BLAKE2b-256 8b70272dbb36ef76818778c32cf4da3feac16ffce6a11db169ed4310f405d004

See more details on using hashes here.

File details

Details for the file vnpy_evo-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: vnpy_evo-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 58.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.9

File hashes

Hashes for vnpy_evo-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 be34fcc9b6e20a1be91b31004659eaadf0fbb08c11b2653cfbd542a502929c1a
MD5 3a4a1de6ffed68578ed43bb4391852b4
BLAKE2b-256 9688f8372666159dee80e63f79374507228519b832b0c52f01daaa388c28abc0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page