网络不稳定导致的
只支持一分钟的
要用conda的话需要手动安装,我还是推荐用VNStudio一键安装了
发布于vn.py社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2021-08-18
《量化交易零基础入门系列 - 30天解锁Python量化开发》销量已达273份,课程价格将在销量到达300份后上调至599元,目前499元的价格还剩最后27个名额,需要的同学请抓紧不要错过!!!
周一发布了vn.py的2.5.0版本,本次更新的内容主要是实现了社区呼声已久的Web应用后端服务,满足许多用户希望通过浏览器(而非PyQt桌面端)来运行管理vn.py量化策略交易的需求。
请注意,2.5.0新版本中包含了对底层数据库结构的修改,因此对于之前版本的数据库需要进行手动迁移操作,具体操作流程请参考下文的【数据库升级迁移】章节。
和之前一样,对于使用VN Studio的用户,启动VN Station后,直接点击界面右下角的【更新】按钮就能完成自动更新升级,对于没有安装的用户,请下载VN Studio-2.5.0,体验一键安装的量化交易Python发行版,下载链接:
https://download.vnpy.com/vnstudio-2.5.0.exe
WebTrader采用了FastAPI作为后端服务器,支持REST主动请求调用和Websocket被动数据推送,运行时的整体架构图如下:
后端服务包括两个独立的进程:
策略交易进程
Web服务进程
从网页端到策略交易进程的双向通讯模式包括:
主动请求调用(订阅行情、挂撤单、查询数据)
被动数据推送(行情推送、委托成交推送)
新增的Web应用服务源代码位于vnpy_webtrader项目中,用户可以通过VN Station启动时加载WebTrader应用即可。
启动VN Trader后,首先登录要交易的接口,然后点击顶部菜单栏的【功能】->【Web服务】打开如下图所示的窗口:
此时系统中运行的只包括策略交易进程,右上角区域的服务器配置选项包括:
点击启动按钮后,会根据用户输入的配置信息在系统后台启动Web服务进程,同时在右侧区域输出FastAPI运行过程中的相关日志信息:
此时启动浏览器打开网址http://127.0.0.1:8000/docs,即可看到如下图所示的FastAPI接口文档网页:
这里包含了目前WebTrader支持的相关接口信息,用户可以结合vnpy_webtrader项目下提供的Jupyter Notebook进行相关接口的测试。
WebTrader仅实现Web应用的后端(提供了给浏览器访问数据的接口),而前端页面(也就是浏览器中看到的网页)则按照之前的计划交给社区用户来实现,欢迎大家贡献代码。
同时WebTrader目前只支持了基础的手动交易功能,后续将会逐渐加上策略交易应用相关的管理功能(比如CtaStrategy的相关调用)。
CTP API在过去10年间,已经逐渐成为了国内金融市场的交易API标准,类似海外市场中FIX协议的地位,罗列几个兼容或者高度接近CTP的API:
最近知乎网友krenx推出了OpenCTP项目(CTP开放平台),同样是在兼容CTP API的基础上(只需替换dll),自主实现了整套CTP柜台的仿真交易功能(除了期货外,还引入了指数、股票等更多品种的支持),大家在SimNow之外又多了一个选择。
2.5.0版本中也增加了对OpenCTP交易系统的支持,接口名称为TtsGateway(Tick Trading System),从VN Station加载即可使用。
TtsGateway的连接配置信息如下:
2.5.0新版本中对底层数据结构进行了扩展增强,增加的字段包括:
TickData
BarData
同时所有的数据库管理器(vnpy.database)也都进行了对应的修改,升级后可能由于数据库结构变化造成系统无法启动。
对于购买了RQData等数据服务的用户,可以直接删除数据库后重新下载即可:
对于自行录制收集数据的用户(数据不能删的),需要进行数据迁移操作:
新增基于易盛新推出的【启明星/北斗星兼容交易API】开发的EsunnyGateway(位于vnpy_esunny项目中),支持内盘期货、黄金TD、外盘期货等市场的交易。
UFT接口,剥离到vnpy_uft项目中,采用3.7.2.4版本的API;
融航接口,剥离到vnpy_rohon项目中,采用6.5.1版本的API;
CTP期权接口,剥离到vnpy_sopt项目中,采用3.5.5版本的API;
上述剥离的接口,均增加了Ubuntu上的一键自动安装功能,同时支持通过pip install命令进行快速安装。
成交后也会sync_data,如果你断开的那一瞬间没有成交,那么再重启pos缓存应该还是一致的
那就请自行维护了
cta_strategy模块策略是直接下单,spread_trading模块策略是通过算法下单的,时间到了没成交就会撤单
请问你的python版本是?
请问你的python版本是?
测试环境取决于期货公司的设置了
放在启动目录下的strategies目录下
你是不是接口还没连上就去初始化策略了?
不知道你怎么打印的了
请问你是用的实盘账户还是测试账户?
10060是网络问题吧
ctp接口调用的是TdApi下的reqQryInstrument函数