量化交易的利器——vn.py 开源框架

发布时间: 2024-09-12 热度: 2074

量化交易正在重塑现代金融交易的格局,而 vn.py 是一个开源、跨平台的量化交易开发框架,专为金融市场的自动化交易、策略研究和回测而设计。作为一个功能全面的量化交易工具,vn.py 在全球范围内拥有庞大的用户群体,并在金融科技领域占据重要地位。


项目背景

在量化交易的快速发展中,投资者需要高效、灵活、可靠的工具来完成复杂的交易策略开发与执行。然而,市面上的许多商业工具价格高昂,扩展性不足,难以满足个性化需求。

vn.py 作为一个开源项目,不仅免去了高额的使用成本,还提供了强大的功能和灵活的定制能力,成为专业交易者和研究者的重要选择。


项目优势

  1. 全市场支持
    vn.py 支持多个主流市场,包括国内期货、股票、期权,以及国际的外汇、加密货币等。

  2. 跨平台设计
    支持 Windows、macOS 和 Linux 系统,便于开发者自由选择开发环境。

  3. 多语言扩展
    基于 Python 开发,同时支持与 C++、C# 等语言的集成,适合高性能需求。

  4. 模块化架构
    提供了包括交易接口、策略引擎、回测模块等核心组件,便于灵活组装与扩展。

  5. 丰富的社区支持
    拥有活跃的社区,开发者可通过贡献代码、参与讨论来推动项目发展。

环境准备

  • 推荐使用VeighNa团队为量化交易专门打造的Python发行版VeighNa Studio-3.9.4,集成内置了VeighNa框架以及VeighNa Station量化管理平台,无需手动安装
  • 支持的系统版本:Windows 11以上 / Windows Server 2019以上 / Ubuntu 22.04 LTS以上
  • 支持的Python版本:Python 3.10以上(64位),推荐使用Python 3.10

安装步骤

在这里下载Release发布版本,解压后运行以下命令安装:

Windows

install.bat

Ubuntu

bash install.sh

Macos

bash install_osx.sh

注意:setup.cfg中列举了VeighNa框架安装所需的依赖库,requirements.txt中给出了这些依赖库的推荐安装版本。

使用指南

  1. SimNow注册CTP仿真账号,并在该页面获取经纪商代码以及交易行情服务器地址。

  2. VeighNa社区论坛注册获得VeighNa Station账号密码(论坛账号密码即是)

  3. 启动VeighNa Station(安装VeighNa Studio后会在桌面自动创建快捷方式),输入上一步的账号密码登录

  4. 点击底部的VeighNa Trader按钮,开始你的交易!!!

注意:

  • 在VeighNa Trader的运行过程中请勿关闭VeighNa Station(会自动退出)

脚本运行

除了基于VeighNa Station的图形化启动方式外,也可以在任意目录下创建run.py,写入以下示例代码:

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

from vnpy_ctp import CtpGateway
from vnpy_ctastrategy import CtaStrategyApp
from vnpy_ctabacktester import CtaBacktesterApp


def main():
    """Start VeighNa Trader"""
    qapp = create_qapp()

    event_engine = EventEngine()
    main_engine = MainEngine(event_engine)
    
    main_engine.add_gateway(CtpGateway)
    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()

在该目录下打开CMD(按住Shift->点击鼠标右键->在此处打开命令窗口/PowerShell)后运行下列命令启动VeighNa Trader:

python run.py

贡献代码

VeighNa使用Github托管其源代码,如果希望贡献代码请使用github的PR(Pull Request)的流程:

  1. 创建 Issue - 对于较大的改动(如新功能,大型重构等)建议先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发PR即可

  2. Fork VeighNa - 点击右上角Fork按钮

  3. Clone你自己的fork: git clone https://github.com/$userid/vnpy.git

    • 如果你的fork已经过时,需要手动sync:同步方法
  4. dev创建你自己的feature branch: git checkout -b $my_feature_branch dev

  5. 在$my_feature_branch上修改并将修改push到你的fork上

  6. 创建从你的fork的$my_feature_branch分支到主项目的dev分支的[Pull Request] - 在此点击compare across forks,选择需要的fork和branch创建PR

  7. 等待review, 需要继续改进,或者被Merge!

在提交代码的时候,请遵守以下规则,以提高代码质量:

  • 使用flake8检查你的代码,确保没有error和warning。在项目根目录下运行flake8即可。

其他内容

项目地址:https://github.com/vnpy/vnpy

在下方留下您的评论.加入TG群.打赏🍗