当前位置: 首页 > news >正文

开源的量化交易领域平台vn.py(VeighNa)

一:vn.py(VeighNa)下的工具以及社区版和Elite版的区别

vn.py是一款广泛应用于量化交易领域的开源软件,它主要有以下用途和功能:
1. 交易系统开发框架:vn.py提供了一个完整的交易系统开发框架,可以帮助用户快速构建自己的量化交易系统。
2. 支持多市场交易:vn.py支持多种金融市场,包括股票、期货、外汇、期权和数字货币等,用户可以通过它接入不同的交易所进行交易。
3. 策略开发与回测:
   - 策略开发:用户可以利用vn.py提供的API和工具开发自己的交易策略。
   - 回测:vn.py允许用户对策略进行历史数据回测,以验证策略的有效性和性能。
4. 模拟交易:在实盘交易前,用户可以在模拟交易环境中测试策略,这有助于减少实际交易中的风险。
5. 实盘交易:vn.py支持实盘交易,用户可以通过它与交易所进行实际的买卖操作。
6. 丰富的接口支持:vn.py提供了丰富的接口,可以轻松对接国内外各大交易所的交易系统。
7. 事件驱动引擎:vn.py使用事件驱动架构,提高了系统的响应速度和可扩展性。
8. 数据管理和分析:vn.py可以帮助用户管理和分析交易数据,为策略开发提供支持。
9. 社区和资源:vn.py拥有一个活跃的社区,用户可以分享策略、交流心得,并获取技术支持。
vn.py的用途非常广泛,适用于量化交易员、对冲基金、交易团队以及任何对自动化交易系统感兴趣的个体。它通过简化交易系统的开发流程,使得用户可以更加专注于策略的研究和优化。

1:vn下的工具

vn的全名是VeighNa,VN下又有如下工具:

VN Studio、VN Station和VN Trader是vn.py社区提供的用于量化交易的不同工具,它们各自有不同的功能和用途:

1. VN Studio:这是vn.py社区针对量化交易开发的Python发行版,它包含了Python解释器以及一系列量化交易常用的第三方库,完整支持vn.py。VN Studio提供了一个集成的Python环境,简化了用户的安装配置过程,特别是对于新手来说,可以通过VN Studio快速开始vn.py的学习和使用。

2. VN Station:这是一个图形化管理工具,用于管理VN Trader以及其他Python量化交易应用。通过VN Station,用户可以方便地启动VN Trader的不同版本(如VN Trader Lite和VN Trader Pro)、Jupyter Notebook交互式研究环境,以及访问社区论坛等。VN Station提供了一个用户友好的界面,帮助用户更高效地进行量化交易和策略开发。

3. VN Trader:是vn.py框架中的专业量化交易平台,支持灵活加载各类交易接口(如期货、股票、期权、外汇等),并支持多种量化交易应用(如CTA策略、算法交易、脚本策略、行情录制、RPC服务等)。VN Trader提供了丰富的功能,适合有一定经验的用户进行复杂的量化交易和策略实现。

需要注意的是 VN Studio是Python的第三方库,而VN Station和VN Trader偏向于软件应用层,是应用于实际量化交易中的可视化页面。而我们常用的VN Trader。

通过这些工具,用户可以根据自己的需求和经验选择合适的工具进行量化交易和策略开发。

2:vnpy社区版和Elite版的区别

vnpy社区版

  • 开源:vnpy社区版是开源软件,这意味着您可以自由地使用、修改和分发它。
  • 免费:vnpy社区版是免费的。
  • 社区支持:vnpy社区版由一个活跃的社区支持,您可以随时在论坛或QQ群中寻求帮助。社区论坛入口:VeighNa量化社区 - 你的开源社区量化交易平台 (vnpy.com)
  • 有限的特性:vnpy社区版的功能有限,例如它不支持期货和期权交易。
  • Github入口: vnpy/vnpy: 基于Python的开源量化交易平台开发框架 (github.com)

Elite版

  • 闭源:Elite版是闭源软件,这意味着您只能使用它,而不能修改或分发它。
  • 收费:Elite版是收费的。
  • 专业支持:Elite版提供专业支持,您可以随时通过电话、电子邮件或QQ群寻求帮助。
  • 丰富的特性:Elite版具有丰富的特性,例如它支持期货和期权交易,并提供更多的技术指标和策略。

因此个人了解和学习可以使用vnpy社区版。

官方下载入口:VeighNa量化社区 - 你的开源社区量化交易平台 (vnpy.com)

教程文档入口:VeighNa用户文档 (vnpy.com)

二:vn.py(VeighNa)社区版windows安装

安装过程主要参考官方文档:Windows安装指南 (vnpy.com)

1:VeighNa Studio方案¶

下载安装¶

在VeighNa官网可以下载VeighNa Studio安装包。

下载完成后,双击安装包进入VeighNa Studio安装向导(推荐点击右键,选择【使用管理员身份运行】进行安装),使用默认设置点击【快速安装】按钮即可进行VeighNa Studio安装,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/21.png

推荐将VeighNa Studio安装在默认路径的C:\veighna_studio,其他VeighNa文档和教程中均使用该目录作为VeighNa安装目录进行讲解。

如果想进行个性化安装,可点击【自定义安装】进入高级选项页面,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/24.png

安装完成后,会转换到安装成功页面,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/26.png

此时桌面会出现VeighNa Station的图标,双击图标即可运行VeighNa Station。

使用¶

安装成功后,启动命令行工具即可直接使用VeighNa Studio Python发行版。

输入python即可进入python的交互式环境,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/29.png

此时在命令行中输入python代码就会立即执行。如果想运行自带的例子,可以依次输入以下代码:

from pyqtgraph import examples
examples.run()

此时则会弹出Examples的运行窗口,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/30.png

点击左侧的Basic Plotting则会弹出示例的图形界面,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/31.png

如果想打开jupyter lab进行投资研究工作,可以打开cmd,输入jupyter lab,即可成功启动,如下图所示:

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/32.png

https://vnpy-doc.oss-cn-shanghai.aliyuncs.com/install/38.png

2:手动安装方案r¶(推荐)

对于已经有比较丰富的编程经验或者需要用到特定Python发行版(如Anaconda)的用户,也可以采用手动安装的方案。

下载安装VeighNa¶

下载VeighNa源代码(Windows系统请选择zip格式):

  • VeighNa Github下载地址

  • VeighNa Gitee下载地址

下载完成后解压,然后启动命令行工具(CMD或者PowerShell),进入源代码所在的目录后(即install.bat文件所在的目录),输入下列命令运行脚本执行一键安装:

install.bat

一键安装过程整体分为3步:

  1. 下载安装ta-lib库;

  2. 安装requirements.txt文件内的相关依赖库;

  3. 安装VeighNa本身。

如果某一步安装过程中发生错误,请截取保存命令行中的报错信息(注意优先保存底部的报错内容),前往VeighNa社区论坛发帖提问寻求帮助。

启动VeighNa Trader¶

启动命令行工具,进入解压VeighNa源代码的目录下,在文件夹examples/veighna_trader中找到run.py文件。

输入如下命令即可启动VeighNa Trader:

python run.py 

以上就是vn.py(VeighNa)社区版windows的安装。接下来vn.py的详细使用可以参考官方文档:

策略应用 (vnpy.com)

需要注意的是官方文档强调于 VN Trader的软件使用教程,而不是VN Studio这个第三方库使用。

点下关注,分享更多有关AI,数据分析和量化金融方面的实用教程和实战项目。

相关文章:

开源的量化交易领域平台vn.py(VeighNa)

一:vn.py(VeighNa)下的工具以及社区版和Elite版的区别 vn.py是一款广泛应用于量化交易领域的开源软件,它主要有以下用途和功能: 1. 交易系统开发框架:vn.py提供了一个完整的交易系统开发框架,可…...

选择搜索引擎进行搜索

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>选择搜索引擎进行搜索</title><script>function searchSelectedEngine() {var keyword document.getElementById(keyword).value;var engine document.getEl…...

安卓framework修改density

安卓平台,不同屏幕分辨率需要修改density值,以适配UI显示,比如字体大小等. 命令行下进入安卓SDK源码的device/目录 再根据不同芯片厂进入不同目录, 比如展锐就是 cd device/sprd, 高通是device/qcom/搜索关键字"ro.sf.lcd_density", grep -nr “ro.sf.lcd_density”…...

我们如何将数据输入到神经网络中?

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 下面我拿识别美女的例子来给大家介绍如何将美女的图片数据输入到神经网络中。 此例中&#xff0c;待输入的数据是一张图像。为了存储图像…...

基于python模板的药品名称识别系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…...

【第五节】Win32汇编程序设计

目录 一、汇编的第一个“helloworld” 二、汇编中的标号 三、的使用 四、数据定义 五、全局变量 六、局部变量 七、结构体 八、结构体的访问 九、获取变量地址 十、函数 十一、分支与循环 十二、内联汇编 十三、裸函数的使用 一、汇编的第一个“helloworld” .38…...

2.1算法的时间复杂度与空间复杂度

本篇博客介绍算法的时间复杂度与空间复杂度 一、算法效率 算法好坏从时间和空间两个维度衡量 二、时间复杂度 1&#xff0e;概念 时间复杂度是算法中基本操作的执行次数&#xff0c;定量描述了算法的运行时间 2&#xff0e;注意 &#xff08;1&#xff09;时间复杂度是偏…...

Linux VSFTP 部署与配置

一、VSFTP 简介与应用 VSFTP&#xff08;Very Secure FTP Daemon&#xff09;是一款功能强大、安全可靠的FTP服务器软件&#xff0c;广泛应用于Linux/Unix系统中。它提供了高效的文件传输服务&#xff0c;并具备诸多安全特性&#xff0c;如用户认证、权限控制、SSL/TLS加密等。…...

【Docker】Docker Consul

docker consul Docker Consul 是一个用于服务发现和配置的开源工具&#xff0c;它是 HashiCorp 公司推出的一个项目。Consul 提供了一个中心化的服务注册和发现系统&#xff0c;可以帮助开发人员轻松地在 Docker 容器和集群之间进行服务发现和配置管理。 Consul 使用基于 HTT…...

diamond安装与使用

1.前言 diamond是一款用于蛋白质和翻译后DNA搜索的序列比对工具&#xff0c;专为大规模序列数据的高性能分析设计。其主要特点包括&#xff1a; - 与BLAST相比&#xff0c;蛋白质和翻译后DNA的成对比对速度快100倍至10000倍。 2. 参考 https://github.com/bbuchfink/diamond …...

flume--数据从kafka到hdfs发生错误

解决&#xff1a; #1.将flume自带的依赖删除 mv /opt/installs/flume1.9/lib/guava-11.0.2.jar /opt/installs/flume1.9/lib/guava-11.0.2.jar.bak #2.将hadoop的依赖发送到flume下 cp /opt/installs/hadoop3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /opt/installs/f…...

Android笔试面试题AI答之Kotlin(14)

文章目录 64. Kotlin中定义函数还是属性场景?使用属性的场景使用函数的场景示例 65. 阐述Kotlin中变量初始化有几种?其中lateinit、by lazy、delegates.notNull有什么区别 &#xff1f;Kotlin中变量初始化的几种方式lateinit、by lazy、Delegates.notNull的区别 66. Kotlin中…...

博弈论,CF 1600E - Array Game

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1600E - Array Game 二、解题报告 1、思路分析 记最长递增前缀长度为L&a…...

win10安装docker,打包python、java然后centos执行镜像

一、win10安装Docker Desktop docker官网&#xff08;需要魔法&#xff09;下载&#xff1a;https://www.docker.com/products/docker-desktop/ 安装方法参考&#xff1a;https://blog.csdn.net/beautifulmemory/article/details/137970794 下载完毕后界面安装&#xff0c;不勾…...

【数据结构入门】二叉树之堆的实现

文章目录 前言一、树1.1 树的概念1.2 树的相关概念 二、二叉树2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质 三、堆3.1 堆的概念3.2 堆的性质3.3 堆的存储3.4 堆的实现3.4.1 堆的初始化3.4.2 堆的销毁3.4.1 堆向上调整算法3.4.2 堆向下调整算法3.4.3 堆的创建3.4.4 堆的插…...

智能微气候:精准调控背后的算法革命

&#xff08; 于景鑫 国家农业信息化工程技术研究中心&#xff09;当人工智能遇见现代农业,会擦出怎样的火花?随着数字农业、智慧农业的蓬勃发展,人工智能技术正以前所未有的速度渗透到农业生产的方方面面。其中,以深度学习为代表的前沿算法,尤其是大语言模型(LLM),正在成为驱…...

eNSP 华为交换机链路聚合

华为交换机链路聚合 链路聚合好处&#xff1a; 1、提高带宽 2、链路冗余 SW_2&#xff1a; <Huawei>sys [Huawei]sys SW_2 [SW_2]vlan batch 10 20 [SW_2]int g0/0/4 [SW_2-GigabitEthernet0/0/4]port link-type access [SW_2-GigabitEthernet0/0/4]port default vl…...

编译器揭秘

从上世纪50年代开始&#xff0c;编程语言五花八门&#xff0c;编译器和解释器层出不穷。此处只列出常见编程语言的编译器和解释器信息&#xff0c;不常见的编程语言有单独文章介绍。 C/C cc 此处代表Unix C编译器&#xff0c;其他平台可能借用cc软链接到真正的C编译器。MSVC 微…...

ubuntu下qt连接mysql出现 QMYSQL driver not loaded

1、首先检查是否重新安装了MySQL的驱动&#xff0c;可以使用命令&#xff1a; sudo apt-get remove libqt5sql5-mysql sudo apt-get install libqt5sql5-mysql 2、重新安装ibmysqlclient-dev即可解决 sudo apt-get remove libmysqlclient-dev sudo apt-get install libmysq…...

html 首行缩进2字符

1. html 首行缩进2字符 1.1. 场景 在Html开发中让一段文字&#xff08;富文本等&#xff09;首行缩进两个文字&#xff0c;可能在前面加上8个“ ”&#xff0c;因为过去对CSS不熟悉&#xff0c;这种方法实现虽然比较直接&#xff0c;但是文字多的时候会有很多“ ”充斥在代码中…...

什么是IP?

目录 简介 IP IP协议 IP地址 发展历程 IP地址类型 公有地址 私有地址 IP地址编址方式 A类IP地址 B类IP地址 C类IP地址 D类IP地址 特殊的网址 子网 超网 无类间路由 IP地址的分配 IP地址管理 手工管理模式 DHCP分配IP地址的管理模式 通过交换机管理IP 地址…...

js拖拽交换元素位置

摘要:最近在做会议系统,9宫格小画面要支持拖拽调整顺序,需求已经实现了,简单记录下当时的逻辑处理。 /* 关于拖拽逻辑处理 start */ // 当前在拖动的下标 const curDragIndex useRef<number>(-1); /* 拖拽元素事件* onDragStart_开始* onDragend_结束 */ const handleD…...

在 C++ 中实现自定义容器的实用指南

在 C 中实现自定义容器的实用指南 在 C 编程中&#xff0c;容器是存储和管理数据的基本工具。标准库提供了多种容器&#xff0c;如 std::vector、std::list 和 std::map&#xff0c;但在某些情况下&#xff0c;开发者可能需要实现自定义容器以满足特定需求。本文将详细介绍如何…...

《深入浅出WPF》读书笔记.4名称空间详解

《深入浅出WPF》读书笔记.4名称空间详解 背景 主要讲明名称空间概念&#xff0c;可以理解为命名空间的引用。 xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml" &#x1f446;如x可以理解为一些列命名空间的引用。 不一一列举&#xff0c;只讲几个特殊的…...

电驱动总成

电驱动总成&#xff08;Electric Drive Assembly&#xff09;是电动汽车和混合动力汽车中关键的组成部分&#xff0c;主要负责将电能转化为机械能&#xff0c;以驱动汽车的轮胎。电驱动总成包括多个关键组件&#xff0c;通常可以分为以下几个主要部分&#xff1a; ### 主要组成…...

JavaScript class和正则

正则表达式练习 出生日期 年 月 日 ()表示一个整体 console.log(1909.match(^19\\d{2}$)); console.log(2024.match(^20(([01][0-9])|(2[0-4]))$)); //年 console.log(1909.match(^(19\\d{2})|(20(([01][0-9])|(2[0-4])))$)); // 月 console.log(12.match(^(0[1-9])|(1[0-2])…...

[Linux#42][线程] 锁的接口 | 原理 | 封装与运用 | 线程安全

互斥量 mutex • 大部分情况&#xff0c;线程使用的数据都是局部变量&#xff0c;变量的地址空间在线程栈空间 内&#xff0c;这种情况&#xff0c;变量归属单个线程&#xff0c;其他线程无法获得这种变量。 • 但有时候&#xff0c;很多变量都需要在线程间共享&#xff0c;这…...

奇异递归Template有啥奇的?

如果一个模版看起来很头痛&#xff0c;那么大概率这种模版是用来炫技&#xff0c;没啥用的&#xff0c;但是CRTP这个模版&#xff0c;虽然看起来头大&#xff0c;但是却经常被端上桌~ 奇异递归模板模式&#xff08;Curiously Recurring Template Pattern, CRTP&#xff09;是一…...

每天五分钟深度学习框架pytorch:神经网络工具箱nn的介绍

本文重点 我们前面一章学习了自动求导,这很有用,但是在实际使用中我们基本不会使用,因为这个技术过于底层,我们接下来将学习pytorch中的nn模块,它是构建于autograd之上的神经网络模块,也就是说我们使用pytorch封装好的神经网络层,它自动会具有求导的功能,也就是说这部…...

【办公软件】安全风险 Microsoft 已阻止宏运行,因为此文件的来源不受信任

Excel 2019版本&#xff0c;就出现安全风险 Microsoft 已阻止宏运行 因为此文件的来源不受信任的问题&#xff0c;宏直接就用不了了。 网上的解决方法&#xff0c;文件右键属性->取消安全锁。但存在没有安全锁这个选项。后查询到一个简单的解决方法。 打开Excel表格->文件…...