这只是示例,可以根据策略逻辑或者品种的pricetick进行调整
2.0已经改版了,如果要用1.9.2的代码,只能自己去github分支上拉了。
我下了单也没有vt_symbol接口名称,看了你在别的帖子的留言,是你自己根据社区帖子对vt_symbol进行了修改吧
我照着你的代码做了,连接后加上sleep就可以输出了,而且没有接口信息在后面,建议检查一下别的修改的地方
你没写交易所,应该是IF99.CFFEX
可以先升级到最新版本。
可以自己基于策略逻辑排查一下没有交易的原因,是在被挡在am初始化了,还是指标数值没有触发交易信号。建议还是不要一股脑只打印所有的时间戳,在on_bar打印推进来的时间会好一点(最好把品种也加上)
没有吧,不过示例策略里好像有一个turtle_signal_strategy
VN Station版本 不是 VN Trader版本。
图上是qt库报错,应该不影响运行的。
可以命令行打开后还是点击开始回测,这样才能通过底层报错看到哪里出错导致不能回测
可以在cmd用python -m vnstation命令打开vnstation,再点击回测看看是否有报错信息
能看下截图吗?OrderData里没存vt_symbol,存的是symbol呀
发布于vn.py社区公众号【vnpy-community】
vn.py已经正式进驻【Gitee】(简单来说就是中国版的Github),并在一周内拿到了【GVP】(Gitee最有价值开源项目)。以后对于访问Github速度太慢的用户,有了一个更好的国内替代选择,仓库地址:https://gitee.com/vnpy/vnpy。该Gitee仓库会每日和Github仓库同步,自动更新最新版本的代码,欢迎大家Star和Fork!。
原文作者:用Python的交易员 | 发布时间:2020-12-26
本周二发布了vn.py的2.1.8版本,本次更新的内容主要是重构了PortfolioManager模块,实现交易策略的实时盈亏统计监控功能。
和之前一样,对于使用VN Studio的用户,启动VN Station后,直接点击界面右下角的【更新】按钮就能完成自动更新升级,对于没有安装的用户,请下载VNStudio-2.1.8,体验一键安装的量化交易Python发行版,下载链接:
https://download.vnpy.com/vnstudio-2.1.8.exe
PortfolioManager模块最初于2.0.8版本发布,当时主要的定位是为主观类的交易策略(如期货基本面单边和套利策略),提供一个方便的交易业绩跟踪和分析工具。
在2.1.7版本增加了委托来源标识(reference字段)后,所有从vn.py发出的委托请求都可以直接通过该标识来区分其交易来源,如手动交易、算法执行、量化策略等,每个交易来源可以视作一个独立的【投资组合】。
本次2.1.8版本对PortfolioManager模块的重构,将所有委托基于reference字段进行映射和计算,进一步增强了对于投资组合的盈亏统计和分析功能:
界面整体可以分为左右两部分,左边显示的是当前已有交易组合的信息表:
其中每列的含义如下:
组合名称:委托的来源(reference)
本地代码:带交易所后缀的合约代码
开盘仓位:昨日收盘时(今日开盘),组合内该合约的持仓
当前仓位:开盘仓位加上今日成交数量(多头成交 - 空头成交)的结果
交易盈亏:今日所有成交,以成交价格映射到当前最新价的盈亏
持仓盈亏:组合开盘仓位,以昨收盘价映射到当前最新价的盈亏
总盈亏:交易盈亏和持仓盈亏的和
多头成交:组合内该合约今日买开和买平成交数量
空头成交:组合内该合约今日卖开和卖平成交数量
其中交易盈亏(TradingPnl)和持仓盈亏(HoldingPnl)的计算,采用的是期货交易所每日结算时所用的【逐日盯市】(Marking to Market)算法,具体原理可以搜索相关资料学习。
该组件基于QTreeWidget(树形表格)开发,可以很方便的点击最左侧每行的箭头进行折叠和展开,也可以点击顶部的【全部展开】和【全部折叠】按钮进行批量操作,并通过【调整列宽】按钮自动调整表格每列的宽度。
右侧部分显示的是所有成交记录,支持通过右上角的下拉框根据组合进行筛选显示:
盈亏数字的更新基于定时逻辑自动计算,计算频率可以通过顶部中间的选项框调整:
整体上重构后的PortfolioManager使用非常傻瓜,大部分情况下只要在VN Station的启动界面加载即可,运行策略交易的过程中打开【投资组合】界面,就能实时监控每个策略的当日交易和盈亏情况。
虽然模块中最频繁运行的策略盈亏计算逻辑已经高度优化,实现了和成交数量无关的O(1)时间复杂度,即不会因为成交数量过多而导致计算耗时变长,但终究会有一定的额外开销(百微秒到几毫秒)。对于运行策略交易的程序,总归开销是越低越好,因此推荐刷新频率在不影响使用的情况下可以设的高些(比如30秒才计算一次)。
所有组合的持仓数据数据会在关闭VN Trader时写入缓存文件中,所以不要直接杀进程退出,会丢失数据!在隔日加载时,程序会自动将昨天的总仓位结算到今天的昨仓数据字段中,注意该逻辑对于24小时交易的市场(外盘期货)可能不一定合适,后面考虑加入每日定时结算或者手动结算的功能。
如果发现有仓位记录错误,或者策略已经移除的情况,可以用VS Code手动修改缓存文件,修改后再重新启动VN Trader即可。缓存文件位于C:\users\administrator.vntrader\portfolio_manager_data.json。
接口方面
策略模块
眨眼之间已经到了2020年底,接下来又要做一年一度的项目总结和明年规划了,有什么想说给vn.py的吐槽或者建议,欢迎在下方留言!!!
本地数据导入成功以后就可以直接回测了呀,参数设好点击开始回测就可以了
现在最新版是没有这个文件吧
开平转换。
判断合约是否需要开平转换,只有多空仓的才要开平转换,净仓不用。
flyxiaowhite wrote:
是不是必须安装 vnpy支持的那几个数据库
不清楚框出这个信息是什么意思?5楼这个帖已经说了SQLite是默认自带的,可以直接使用,无需另外安装,想使用别的数据库需要安装然后按照帖子进行配置
flyxiaowhite wrote:
xiaohe wrote:
是的,这个是pro,pro是自己选择要用的接口和模块配置之后再打开,lite是默认的不用配置直接打开。
现在已经移除了CsvLoader模块,datamanager里复用了CsvLoader组件,扩展了功能,直接用datamanager就好了
卡在这儿不动了,就是一直下载。。。。这是。。。 T-T 谢谢
ctp是不支持历史数据查询的(支持的接口的contractdata里的history_data=True),那么只有有rqdata账户才能点击下载按钮下载国内期货数据。
可以申请rqdata试用或者用datamanager导入本地的数据进行回测。
是的,这个是pro,pro是自己选择要用的接口和模块配置之后再打开,lite是默认的不用配置直接打开。
现在已经移除了CsvLoader模块,datamanager里复用了CsvLoader组件,扩展了功能,直接用datamanager就好了
点击VN Trader Pro,先选择底层接口和上层应用,再进入VN Trader。