首先我们需要设置策略的参数和变量,两者都从属于策略类,不同的是策略参数是固定的(由交易员从外部指定),而策略变量则在交易的过程中随着策略的状态变化,所以策略变量一开始只需要初始化为对应的基础类型,例如:整数设为0,浮点数设为0.0,而字符串则设为""。 策略参数列表parameters中,需要写入策略的参数名称字符串,...
1.1 量化策略构成 写量化策略要解决3个问题,当然这些代码没有直接关系啦,是另外的话题。 什么品种 怎么交易:进场出场 构建组合和风险控制 1.2 vnpy的策略编写 vnpy策略有两种: CTA一般策略 目标持仓策略 组合策略(多标的,单独开一篇文) 那么我们就按照不同的方法读代码吧,其实本身没有优劣,全看实际情况哪个更优...
首先,这个策略继承了一个叫做CtaTemplate的父类,然后设定了策略的名称和作者。这里,在nvpy的框架下,策略的className要和策略的类名一样。 vnpy作者的例子中,喜欢用类变量来设置一些策略的参数,个人觉得其实不是很合适。Vnpy中的作者的demo一般直接在后面会有策略的变量: 代码语言:javascript 复制 atrLength=22# 计...
策略示例一:均线策略 这是一个简单的均线交叉策略,当短期均线(如5日均线)上穿长期均线(如20日均线)时,买入;当短期均线下穿长期均线时,卖出。 from vnpy.app.cta_strategy import CtaTemplate from vnpy.trader.constant import Interval class MovingAverageCrossStrategy(CtaTemplate): """ fast_window = 5 slo...
经典的DualTrust策略,年化19.81%,这是基于分钟线的操作。 如下是vnpy内置带的策略,后续我会补充: 仔细对比下来,vnpy有一个缺点——写策略特别麻烦,为了完美还原和兼容实盘的逻辑,就是tick是一个一个到达的逻辑,它甚至没有向量化计算指标,每个值是数据到达后现算的。
vnpy投资组合策略模板是vnpy框架中的一个重要组件,它通过在多个交易品种上同时运行多个策略,实现了投资组合策略的管理和执行。该模板提供了一套通用的框架和接口,开发者可以根据自己的需要,灵活地定制和扩展投资组合策略。 功能特点 vnpy投资组合策略模板具有以下主要功能特点: 1. vnpy投资组合策略模板可以同时运行多个...
strategyfile 是实盘策略文件目录 strategyfilebacktest 是量化回测策略文件目录 在VNPY主界面点击红圈中的“回测”按钮,即可打开图3界面 回测是由module_backtest.py文件实现的 图2:VNPY窗口界面 图3:进入到回测界面 其中我们开发策略的时候是修改strategyfile下的策略文件,回测时会自动生成回测专用的策略文件,存在stra...
1. 策略设计和开发,vnpy提供了简洁易用的API,使得用户可以方便地定义自己的交易策略。用户可以根据自己的需求,编写交易信号生成、风险管理和交易执行等模块的代码,并将其组合成一个完整的投资组合策略。 2. 多品种交易,vnpy支持多个交易品种的交易,包括股票、期货、期权等。用户可以在一个策略中同时操作多个品种,根...
self.today=todayDate()# 保存策略实例的字典 # key为策略名称,value为策略实例,注意策略名称不允许重复 self.strategyDict={}# 保存vtSymbol和策略实例映射的字典(用于推送tick数据) # 由于可能多个strategy交易同一个vtSymbol,因此key为vtSymbol # value为包含所有相关strategy对象的list ...