vn.trader使用教程系列3-策略算法

vnpy文件结构说明 阿萨德发撒地方asdfasdf发 阅读详情

原创文章,转载请注明出处:用Python的交易员

风控模块

enter image description here

点击菜单栏的功能->风险管理后,可以打开如上图所示的界面。风控模块主要提供的是针对高频策略和短周期CTA策略的事前风控功能,防止由于错误的算法逻辑导致类似光大乌龙指的事件(就算亏不了几十亿,一下子把账户亏掉一半也是很痛苦的...)。

开关

工作状态按钮用于控制风控模块的运行状态。处于“运行中”状态时,每笔委托在发出前会执行模块中定义好的多个风控条件检查,全部符合条件(参考下文的详细介绍)才能正常通过,只要有一条不符合该委托都会被拒绝,并且会在日志中输出具体的风控信息。处于“未启动”状态时,则会忽略所有的风控检查,允许委托直接发出。

流控

流控主要控制的是单位时间内允许发出的最大的委托笔数,图中所示的限制是每1秒允许最多发出4笔委托,如果发送第5笔就会被拒绝,从而防止某些成交触发的交易信号由于逻辑错误被重复触发,在1秒内发出几十笔的情况。

清空流控计数按钮可以把当前的流控计数清0。

单笔委托

单笔委托上限比较容易理解,控制的是每一笔委托允许的最大合约手数,防止由于逻辑或者参数设置错误导致开仓太多合约的风险。

总成交

总成交上限控制的是每日允许的总成交的合约数量(不是成交笔数),针对的是无人值守的情况下,策略算法出现逻辑错误开始频繁的买卖(比如每秒开多1手,再平多1手,不断重复),导致在手续费和买卖价差上快速亏损的情况。

清空总成交技术按钮可以把当前的总成交技术清0。

活动订单

活动订单上限限制的是当前系统内所有的未成交和部分成交的委托数量,一些采用挂限价单来开平仓的策略算法,可能由于撤单操作有误,导致之前的委托没有撤销的同时还在不断挂出新的委托单,一旦价格波动就有可能被全部成交,出现巨大的持仓风险。

保存设置

用户改变以上风控参数的数值后,系统中的数值会立即被改变,但是必须点击“保存设置”按钮后相应的数值才会写入配置文件RM_setting.json中,重启后风控参数会从该文件中再次读取。

行情数据收集

enter image description here

行情数据收集模块位于vn.trader/dataRecorder文件夹下,该模块主要用于收集每天的实盘Tick数据,并自动聚合为K线后插入到MongoDB数据库中,模块内置了1分钟K线的聚合算法。点击菜单栏的功能->行情数据记录后可以打开如上图所示的界面,查看目前正在收集的行情数据内容(不开也没关系,数据收集会自动在后台运行)。

该模块的配置基于DR_setting.json文件,打开后如下:

{
    "working": false,

    "tick":
    [
        ["Au(T+D)", "SGIT"],
        ["Ag(T+D)", "SGIT"]
    ],

    "bar":
    [
        ["au1606", "CTP"],
        ["ag1606", "CTP"]
    ],

    "active":
    {
        "IF0000": "IF1605",
        "IH0000": "IH1605",
        "IC0000": "IC1605"
    }
}

各个字段的功能如下:

  • working:用于控制是否启动行情数据的收集,true对应启动,false对应停止

  • tick:需要收集Tick行情数据的合约代码和接口,["Au(T+D)", "SGIT"] 代表需要收集来自于飞鼠接口的黄金T+D现货的Tick数据

  • bar:需要收集1分钟K线行情数据的合约代码和接口,["au1606", "CTP"]代表需要收集来自于CTP接口的au1606黄金期货的1分钟K线数据

  • active:用于设置具体的期货合约和该期货连续合约的代码映射关系,"IF0000": "IF1605"代表将IF1605的行情数据(Tick和1分钟K线)插入到IF0000(可以自行改名)的集合中,注意这里每个连续合约代码只能对应一个具体合约的代码

注意事项:

  1. 修改DR_setting.json中的配置后,需要重启vn.trader才会生效。

  2. 在active字段中定义的连续合约对应的具体合约代码也必须加入到上面的tick或者bar字段中,才会收集相应的tick或者1分钟K线数据。

  3. 当数据收集组件向MongoDB中插入数据时可能因为某种原因出现阻塞(如硬盘转速较慢等),导致vn.trader的事件驱动引擎无法处理后续的事件,因此实盘中建议开一个独立的vn.trader进程专门用于收集数据。

CTA策略模块

CTA策略模块相比较于之前介绍的部分,功能要强大和复杂的多,也需要用户有一定的Python编程基础,具体细节的使用方法未来会在单独的教程中讲解,这里只简要介绍下从开发到实盘交易一个CTA策略的流程:

回测和配置

  1. 在ctaAlgo文件夹下创建一个策略.py文件;

  2. 继承ctaTemplate.py中的CtaTemplate类实现具体的策略;

  3. 使用ctaHistoryData.py中的函数从通联数据下载行情数据建立历史行情数据库(需要购买对应的数据授权,修改datayes.json),或者将文件夹下的IF0000_1min.csv中的股指连续合约1分钟数据插入到MongoDB中(仅适用于学习和回测);

  4. 在交互式开发工具中(如IPython Notebook和Spyder),使用ctaBacktesting.py中提供的回测引擎对开发好的策略使用历史数据进行回测(参考ctaBacktesting.py中的例子);

  5. 确定策略符合预期可以上线交易后,在ctaSetting.py中导入你的策略类,并添加到STRATEGY_CLASS字典中(这步是为了让CTA策略引擎能找到你的策略类);

  6. 在CTA_setting.json中加入实盘交易时创建策略实例所需要的参数,如策略实例名称name(不能重复)、策略类名称className(使用上一步中设置的策略类名称)、交易的合约代码vtSymbol等,其他的参数可以选择不传,会自动使用策略类中定义的默认值。

实盘交易

enter image description here

  1. 打开vn.trader,连接好交易接口和数据库后,点击菜单栏的算法->CTA策略可以打开如上图所示的CTA策略模块的实盘交易管理界面;

  2. 点击“加载策略”按钮,策略引擎会从CTA_setting.json中读取相关的策略配置信息用于生成具体的策略实例(下面称为“策略”),并显示在管理界面上;

  3. 点击“初始化”按钮会调用策略的onInit函数,并完成策略开始交易前的初始化操作,此时策略可以计算参数指标等,但是无法发出委托;

  4. 点击“启动”按钮会调用策略的onStart函数,正式启动策略的交易功能,此时策略基于收到的行情、成交、委托等数据进行相应的逻辑判断,并发出委托;

  5. 点击“停止”按钮会调用策略的onStop函数,撤销当前策略已发出的所有未成交委托,并停止策略的交易功能,恢复到无法发出委托的状态;

  6. 如果加载了多个策略,窗口最上方的“全部初始化”、“全部启动”和“全部停止”可以一次性对所有的策略执行相应的操作,省去多次点击。

包学包会的Python量化策略加密! ​新的vn.py社区论坛( https://www. vnpy.com/forum/ )已经上线差不多大半年的时间,许多社区用户都贡献了非常高质量的量化交易相关内容。接下来我们计划每周整理一篇论坛中的精华文章,制作为一个《vn.py社区精选》系列。 每篇文章我们会先争得作者的转载同意,同时支付200元的稿费。稿费金额数字不大,更多是对每位作者为vn.py社区做出贡献的一份感谢,也欢迎大家在论坛... 阅读详情

相关推荐

西门子V90 PN伺服控制核心:FB284功能块详解与实战

在工业自动化中,伺服定位控制是运动控制的基础环节,其本质是PLC通过PROFINET协议与伺服驱动器实现高速、确定性数据交互。FB284作为西门子为V90 PN定制的标准化功能块,封装了GSD映射、状态机管理与周期性PDO同步机制,将底层寄存器操作抽象为高可靠调用接口。相比MOVE指令或MC_MoveAbsolute等通用方案,FB284显著降低时序错乱风险,提升多轴同步精度与故障响应能力。它广泛应用于包装、灌装、装配等中端产线,尤其适配S7-1200/1500平台下的快速部署与现场维护。本文聚焦V90 P

weixin_42696271的博客 300

VNPY- VnTrader基本使用

VnTrader简介 目前VnTrader基本实现了国内外全品种的交易,包括期货、股票、贵金属、外盘交易等。对于vn.py的初学者而言,建议从项目的图形交易程序VnTrader开始学习,先了解如何通过界面来监控行情与交易信息,并进行手工交易。 VnTrader对接了目前vn.py项目中所有的交易API,包括期货、股票、贵金属、外盘、比特币等。下文以最常用的CTP交易接口为例,讲解如何配置和使用...

IAlexanderI的专栏 3万+

Android11,无障碍服务模拟多手势使用dispatchGesture时总是onCancelled

AccessibilityService的dispatchGesture去模拟多手势,总是onCancelled的一种解决办法

m0_49953943的博客 2105

VNPY官方发布VNTrader,VNPY性能提升380%,python的便捷,C++性能加持, 期货CTP接口Python和PyQT框架

VNPY官方 VNTrader (基于期货CTP接口专用量化交易开源软件) 介绍 VNTrader是VNPY官方http://www.vnpy.cn推出的一款国内期货量化交易开源软件, 基于MIT开源协议,任何机构和个人可以免费下载和使用,无需付费。 基于CTP接口的开源性,打破收费软件垄断,采用VNTrader开源项目也可解决自己造轮子导致周期长门槛高的问题。 VNTrader是专门针对商品期货CTP接口的GUI窗口程序,支持多个Python策略组成策略池,支持回测,支持多周期量化交易。 V..

chinaherolts2008的博客 1642

网口电路/Bob Smith电路思考及测试

上表中的数据为实际数据,此时可以看出在结果比对中,分别为以上三种时,结果基本上变化很小,且网口一致性指标都是测试通过的,而且如果真的Bob Smith电路是有阻抗变换的作用的,我的以上操作(保留阻容、去掉电阻、去掉电阻电容)完全破环了阻抗平衡,但是实际上对网口一致性指标没有多大的影响,这是我认为该电路不具有阻抗变换的第一个原因。网口变压器的共模电感,就是电流型中的T10、T14、T17、T18,我们知道辐射超标一般都是共模电流导致的,而共模电感就是来消耗差分线路中的共模电流的,而对差模电流基本无影响。

domen_pan的博客 6060

find命令

命令是 Linux/Unix 系统中用于搜索文件和目录的强大工具,支持多种搜索条件组合,并能对搜索结果执行各种操作。以下是其详细说明、常用参数及示例: 搜索路径:指定起始目录(如 、 或 表示当前目录)。 查找条件:基于文件名、类型、大小、时间等属性过滤。 处理动作:对匹配结果执行操作(如打印、删除、执行命令等)。 常用参数及示例 1. 按名称查找 :区分大小写匹配文件名。 :不区分大小写匹配文件名。 2. 按文件类型查找 :指定文件类型。 文件类型: :普通文件 :目录 :符号链接

qiao2458的博客 1138

python量化交易:quantOS_vnTrader的安装及使用

0. 软件下载。 请首先安装JAQS,如已安装,请忽略。 请从这里下载vnTrader, 如已下载,请忽略. 1. 请在vnTrader程序目录,通过如下命令启动vnTrader: python vtMain.py 在Windows上,也可以直接双击start.bat运行,如下图所示: 2. 系统提示登录,在登录框输入手机号和token,如下图 此时的策略号无法选择,直接点击确...

santirenpc的博客 1401

智能环境感知:STM32多传感器数据融合与报警策略设计

本文详细介绍了基于STM32的多传感器数据融合系统设计,整合DHT11温湿度传感器、MQ-2烟雾检测和光照强度检测模块,通过智能算法实现环境感知与动态报警。系统采用数据滤波、多传感器校验和自适应阈值策略,显著提升监测精度与可靠性,并通过OLED显示屏提供清晰的多级报警界面。

plant的博客 202

vn.trader使用教程系列2-基础交易

原创文章,转载请注明出处:用Python的交易员 窗口组件 双击vn.trader文件夹下的vtMain.py后,会看到以上的程序主窗口,无法双击的用户一般是Anaconda安装时的.py文件打开方式问题,右键vtMain.py后->打开方式->选择Anaconda文件夹下的python.exe后就可以打开。 在上一篇教程中设置好CTP接口的帐号密码等信息后,点击菜单上的

智能量化交易 1万+

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3945

UDS诊断服务基础详解之七-31服务

本节内容主要是讲解诊断服务中的31服务,包含31服务的使用场景,请求报文格式,响应报文格式,以及举例对31服务进行相关的说明

车载网络小D的博客 5630

vn.trader Quick Start

对于大部分用户来说,无需自行编译API接口,建议可以直接使用vn.trader进行交易和策略开发。 Windows 7 使用步骤 准备一台Windows 7 64位系统的电脑 安装Anaconda:下载Python 2.7 32位版本,注意必须是32位 安装MongoDB:下载Windows 64-bit 2008 R2+版本 安装pymongo:在cm

智能量化交易 2614

【CANdelaStudio编辑CDD】-21.2-创建OBD诊断$03,$07,$0A和$04服务以及OBD DTC

案例背景(共11页精讲):创建OBD诊断$03,$07,$0A和$04服务;以及OBD DTC。 在《【ISO15031_OBD诊断】-3.1-$03服务Request emission-related diagnostic trouble codes理论部分https://blog.csdn.net/qfmzhu/article/details/122157513》, 《【ISO15031_OBD诊断】-7.1-$07服务Request emission-related diagnostic trou

「汽车电子助手」的博客 1698

使用TA-Lib在vn.trader上开发CTA交易策略

TA-Lib简介 作为一套被业界广泛应用的开源技术分析库(包含技术指标计算和K线模式识别等),TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数,同时提供了包括C/C++、Java、Perl、Python等多种语言的API。 有什么用 简单来说TA-Lib就是提供了一堆经过长期实践检验的技术指标计算函数。基于现成的计算函数,

智能量化交易 5894

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

多久自动停止_vn.py快速入门8 - 策略实盘自动交易

本文原载于vn.py社区微信公众号(vnpy -community)。​跑完了历史数据回测和优化,得到了一个不错的回测资金曲线,最后就可以准备开始实盘交易了。在教程2-5中我们已经接触了真实账户和仿真账户的概念,这里强调一个原则:所有量化策略在开始真金白银交易之前,都应该经过仿真账户的充分测试,毕竟每个人交易的本金都来之不易,一定要有十分负责的态度。本篇教程我们继续以股指期货为例,其他产品的量化策...

weixin_42360899的博客 483

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python量化交易框架vn.py:从零构建AI驱动的交易系统

在金融科技快速发展的今天,量化交易已成为专业投资者的核心竞争力。vn.py作为一款基于Python的开源量化交易平台开发框架,为开发者提供了从数据获取到实盘交易的完整解决方案。本文将带你深入了解vn.py的核心架构、AI量化功能以及如何快速上手构建自己的交易系统。 ## 为什么选择vn.py进行量化交易开发? **vn.py量化交易框架**以其全面的功能覆盖和灵活的架构设计,成为众多金融机构和

gitblog_00606的博客 1073

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

vn.py AI量化交易框架深度解析:从传统策略到机器学习驱动的交易革命

在量化交易领域,vn.py作为基于Python的开源量化交易平台开发框架,经过十年发展已从传统策略执行引擎演进为AI驱动的智能交易系统。vn.py 4.0版本引入了AI量化策略模块,为专业交易员提供了一站式多因子机器学习策略开发、投研和实盘交易解决方案,标志着中国开源量化交易框架的重大技术突破。 ## 核心挑战与架构创新 ### 传统量化交易的痛点 传统量化交易系统面临三大核心挑战:数据处理

gitblog_00694的博客 502

保姆级教程:用vn.py开源量化交易框架从零搭建你的第一套量化交易系统

vn.py(又名VeighNa)是国内应用最广的Python开源量化交易框架之一。它把行情接入、下单执行、策略回测、AI建模这些"重型活"拆成一个个即插即用的积木模块,让你不用从底层协议写起,也能快速搭出属于自己的量化交易系统。这篇文章就带你走一遍完整的从零上手路线。 ## 动手之前,先回答自己三个问题 很多人在接触量化交易时,脑子里的画面是这样的:深夜盯盘、手动点鼠标、生怕错过行情。而编程解

gitblog_00013的博客 663

wangEditor table-module 演进全解析:从 1.0.1 到 1.1.4 的表格能力迭代与源码实现

本文以 [packages/table-module/CHANGELOG.md](https://link.gitcode.com/i/86d8ba94d6fa45ec3c126fe195097ee9) 为主线,系统梳理 wangEditor 内置表格模块 `@wangeditor/table-module` 从 1.0.1 到 1.1.4 的完整演进史——包括新增功能(Features)、缺陷修

gitblog_00465的博客 940

用 Python 搭建完整量化交易平台:vn.py 3 大核心模块实战拆解

写了策略,却发现从行情接入到下单执行之间隔着一整片"无人区"——这是每个 Python 量化开发者迟早会撞上的墙。自己对接券商接口,要处理协议、风控、断线重连;自己写回测,要应付数据清洗和撮合逻辑;想上机器学习,又得把因子计算、模型训练、信号生成全串起来。 vn.py(VeighNa)这套基于 Python 的开源量化交易平台开发框架,正是为了解决这整条链路而生的。它不只是一个交易终端,而是一套

gitblog_00564的博客 428

量化学习入门概览

Python凭借其简单优雅、开源特性及丰富的第三方库,成为量化交易开发的首选语言。VN Studio是基于Python的量化交易专用发行版,整合了科学计算库和交易接口,简化了环境搭建。安装过程推荐使用Windows系统,并移除其他Python环境以避免冲突。VN Station作为启动器提供便捷的功能入口,而VN Trader则是全功能的量化交易平台。本文介绍了Python在量化领域的优势,详细讲解了VN Studio的安装步骤,并解释了vn.py、VN Station等关键概念,为量化交易初学者提供了实用

winterflower_的博客 907

突破传统量化瓶颈:vn.py如何用AI重塑交易系统开发体验

你是否曾为量化交易系统的复杂性而头疼?面对**多市场数据接入**、**策略回测框架**、**实盘风控管理**的层层挑战,传统开发模式往往让交易员陷入技术细节的泥潭。vn.py作为基于Python的开源量化交易平台,通过AI驱动的模块化设计,为中级开发者提供了从策略研究到实盘部署的全栈解决方案。 ## 告别策略孤岛:模块化架构的智慧之道 传统量化开发最痛苦的莫过于"重复造轮子"——每个策略都需要

gitblog_00684的博客 751

如何快速掌握vn.py:Python量化交易框架的完整实战指南

在金融科技的浪潮中,量化交易正成为专业投资者的核心武器。你是否曾梦想构建自己的智能交易系统,却苦于技术门槛过高?vn.py作为一套基于Python的开源量化交易平台开发框架,为你打开了通往AI量化交易世界的大门。这个由交易员开发、为交易员服务的框架,不仅提供了完整的Python量化交易解决方案,更融入了先进的AI技术,让每个人都能轻松构建专业的量化交易系统。 ## 🎯 vn.py的核心价值:为

gitblog_00245的博客 862

从零到一:AI量化交易系统vn.py实战入门指南

**vn.py**是一款基于Python的开源量化交易平台开发框架,专为交易员设计,提供从数据获取、策略研发到实盘交易的完整解决方案。在AI技术浪潮下,vn.py 4.0版本重磅推出AI量化模块,让普通开发者也能轻松构建智能交易系统。 **核心关键词**:量化交易框架、AI策略开发、Python交易系统、多因子模型、实盘交易 **长尾关键词**:vn.py安装配置、机器学习策略实战、CTA策略

gitblog_01083的博客 349
上一篇: vn.trader使用教程系列2-基础交易
下一篇: 在Python中使用QuantLib
Trader_Python
博客等级 码龄11年 392粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值