1.vn.py发布v2.5.0 - Web应用后端服务
2.vn.py社区精选4 - 双均线策略深度解析
3.花卷猫CTP-Python开源
4.开放东方财富EMT柜台交易及行情CTPAPI源码
5.易达期货交易系统探索(一)
6.VNPY官方新架构VNTrader期货CTP接口Python开源框架共同开发者邀请
vn.py发布v2.5.0 - Web应用后端服务
vn.py社区公众号vnpy-community于年8月日发布了vn.py的统源v2.5.0版本,着重改进了Web应用后端服务,统源以满足用户在浏览器中管理量化策略交易的统源需求。
这次更新引入了FastAPI作为WebTrader的统源后端服务器,采用REST主动请求和Websocket被动推送模式。统源新版本引入数据库结构的统源股票趋势指标公式源码改动,需要对旧版本数据库进行手动迁移,统源具体步骤请参阅文档的统源数据库升级迁移部分。
对于使用VN Studio的统源用户,更新过程简单便捷,统源只需点击界面右下角的统源更新按钮即可。未安装的统源用户可下载最新版本的VN Studio-2.5.0,享受一键安装的统源量化交易Python环境,下载链接已附上。统源
vnpy_webtrader项目包含了Web应用服务的统源源代码,启动VN Station时加载WebTrader应用即可。启动后,登录接口并进入功能-Web服务,配置服务器设置,点击启动后,FastAPI会在后台运行,并在控制面板显示日志信息。
访问.0.0.1:/docs,查看完整的FastAPI接口文档,进行相关接口的测试。WebTrader目前仅提供基础的手动交易功能,未来将扩展更多策略交易管理功能。
此外,v2.5.0版本还支持OpenCTP交易系统,通过TtsGateway接口实现兼容,以及易盛新推出的EsunnyGateway,涵盖内盘和外盘期货交易。界面的接口剥离功能也进行了简化,提供一键安装和pip安装选项。
若数据库结构有变化,可能需要先删除旧数据,然后根据新结构重新下载或进行迁移操作。对于RQData用户,可以直接重置数据库。
vn.py社区精选4 - 双均线策略深度解析
策略原理
双均线策略作为基础的嗮密源码CTA策略,通过短周期与长周期均线的金叉或死叉信号进行交易决策,捕捉市场趋势。策略包含两个关键周期的移动平均线,短周期反映近期市场走势,长周期代表较长时段的趋势。
源码分析
以vn.py项目中的双均线策略源码为例,解析策略实现逻辑和内部代码。
创建策略实例
所有vn.py框架中的CTA策略类(包括内置和自定义)皆基于CTA策略模板类(CtaTemplate)实现子类。模板类为策略设计提供了通用结构,如同汽车设计图指导汽车制造。CtaTemplate定义了交易函数和策略逻辑框架,使得快速实现策略成为可能。
策略初始化
在策略实例创建时,设置参数和变量。参数由外部指定,变量随策略状态变化动态更新。参数列表中包括策略名称、设置信息等,系统自动从配置文件中加载。变量列表用于界面显示,并在策略停止、收到回报或同步数据时保存状态。
构造函数__init__
构造函数接收CTA引擎、策略名称、标的代码和设置信息作为参数,其中引擎对象自动传入。创建BarGenerator实例用于生成分钟级别K线数据,ArrayManager用于缓存K线数据,支持指标计算。
状态变量初始化
状态变量初始化并非在构造函数中完成,而是在创建策略实例后通过图形界面的初始化按钮触发on_init函数,加载历史数据回放给策略初始化变量。
启动自动交易
点击启动策略按钮,自动调用on_start函数,将交易状态变量设置为True,启动交易流程。确保在界面刷新策略状态相关显示时调用put_event函数。
接收Tick推送
CTP接口每0.5秒推送Tick数据,由事件引擎分发到策略中。分付仿源码Tick数据通过BarGenerator的update_tick函数处理,合成1分钟K线数据,供策略使用。
核心交易逻辑
接收到K线数据后,将数据放入ArrayManager容器中,确保至少个数据后初始化完毕。调用talib库计算技术指标,判断金叉或死叉触发交易逻辑。交易指令由策略模板封装,在on_bar函数中直接调用。
委托回报处理
on_order函数处理委托状态变化,on_trader和on_stop_order函数处理成交回报和停止单回报。双均线策略在这些函数中通常无操作。
停止自动交易
每日交易结束后,通过停止按钮关闭自动交易,策略引擎调整交易状态变量,撤销所有活动委托,并保存变量状态。
CTA交易流程梳理
使用思维导图整理vn.py中策略实现与执行流程,包括从创建策略实例到停止自动交易的完整步骤。
《vn.py全实战进阶》课程介绍
该课程提供节内容,涵盖策略设计、参数回测和实盘自动交易的CTA量化业务流程,适合深入学习vn.py应用。
更多vn.py精华内容
关注公众号以获取更多深入分析和实践技巧。
花卷猫CTP-Python开源
花卷猫CTP-Python开源项目是一个旨在简化CTP接口调用并展示行情和交易结果的Python开源解决方案。它支持用户进行个性化开发,无论是实盘还是虚拟盘交易,都可轻松实现。该项目的代码可在这里获取,使用Python3.0编写的示例代码兼容性出色,安装只需pip install pywin,无需额外依赖。 CTP接口的底层封装为C/C++编写的dll,其中的实时资金、持仓等数据处理采用了自主研发的算法,相较于官方接口,运行效率显著提升且准确性极高。这一核心部分虽然不开放源代码,有票票源码但经过长期验证,稳定可靠。 项目界面部分采用花卷猫框架的Python版本,通过可视化低代码方式,用户可以轻松创建界面。值得注意的是,项目发布的版本允许用户自由使用和商业发布,但所制作的产品与花卷猫科技并无法律关联,仅示例界面非官方正式产品。项目代码已经成熟,未来只会进行少量修正,花卷猫科技将不断扩展模块和提供更多的示例,以供用户放心使用。开放东方财富EMT柜台交易及行情CTPAPI源码
东方财富EMT柜台CTPAPI源码现已开放,持续两年,但因接口密码过长接入条件较高而未能广泛使用。我们注意到,密码长度问题可能仍未解决,这给用户带来了巨大困扰。为了解决兼容性问题,我们已发布交易及行情CTPAPI源码,欢迎用户根据自身需求进行修改。
东方财富EMT柜台提供开放式接口,包含模拟交易环境和专属网站注册渠道。用户可自行创建模拟账号,下载开发接口,网址为emt..cn。通过东财EMT柜台CTPAPI,用户可以直接利用CTP程序进行股票交易,理论上支持快期、VeighNa(vn.py)等软件接入进行股票、债券、基金等品种交易,只需将CTPAPI的dll复制过去即可。
至此,华鑫证券奇点柜台、中泰XTP柜台、东方财富EMT柜台的交易及行情CTPAPI源码已全部开放,涵盖6.3.~6.6.9全部CTPAPI版本,海外溯源码支持win、win、linux、mac等所有平台。特别值得一提的是,华鑫证券奇点股票期权柜台的CTPAPI源码也将在后续发布。
东方证券OST极速柜台CTPAPI的发布也在计划之中,其接口与CTP接口的相似度极高,仅需对头文件进行调整即可实现对接。所有柜台CTPAPI接口源码均位于openctp的github仓库中,地址为github.com/openctp/open...。由于github的访问稳定性问题,以及仓库大小(约两个G)和动态库数量(两三百个),可能需要多次尝试才能成功克隆。
易达期货交易系统探索(一)
在编写ydServer交易接口之前,首要准备的是环境和对CMake的基本了解。可参考“易达期货交易系统探索(零)”以及“CMake学习笔记”以获取相关知识。
环境准备完成后,访问易达官方网站,查阅文档以获取最新api版本信息,当前版本为1___0。文档中详细介绍了易达提供的客户端应用编程接口,包含原生API、裸协议接口和CTP模拟接口。对于裸协议接口和CTP模拟接口的理解暂时略去,现阶段应专注于原生API的学习。
易达原生API提供Linux版本和Windows版本两种选择。Linux版本的ydApi经过优化,性能优越于Windows版本,因此在高频低延迟量化交易中,Windows版本并无实际应用价值。推荐选择Linux版本进行深入学习。
在客户端与ydServer的通信中,上行部分包括客户端向ydServer发送请求,如系统登录、报撤单、修改口令及上行心跳信息等。下行部分则由ydServer主动向客户端推送交易状态变化,包括日初静态初始化数据、报单/成交回报、行情等信息。日初静态初始化数据同步至本地数据库,初始化完成后或接收到报单/成交回报或行情信息后,将调用客户端的回调函数。客户端可通过本地调用YDApi::getX系列函数获取日初静态初始化数据,同时需根据报单/成交回报自行计算保证金、交易费用、可用资金和持仓数据。
ydApi提供C++接口,通过YDApi类处理上行信息,YDListener类处理下行信息,维护本地交易数据并调用客户端程序的回调函数。结合易达官方文档和最新api文件,可发现文件夹结构主要包含ydAPI、ydClient和ydCTP三个部分。ydAPI是所需易达原生api,ydClient暂时无需使用,ydCTP为CTP模拟接口,同样暂时不涉及。
打开ydAPI文件夹,内部包括example示例、include头文件、以及针对Linux操作系统和Windows操作系统的动态链接库文件夹。了解静态链接库与动态链接库的概念,如在windows系统中,静态链接库直接包含函数编译后的指令,而动态链接库则在运行时提供函数实现代码。
ydServer为非开源系统,类和函数声明位于include文件夹的.h头文件中,而实现源代码不公开。动态链接库文件存放于linux、win、win文件夹,分别对应不同操作系统。为了使用,需要include和linux文件夹,新建文件夹,将所需文件复制,并将yd.so重命名为libyd.so。在src文件夹中新建CMakeLists.txt文件,用Cmake编译工程,使用VSCode打开此文件夹。
编写CMakeLists.txt后,在src文件夹内创建main.cpp文件,编写简单的C++程序以测试配置是否正确。如遇到找不到bits/c++config.h的问题,使用WSL以root权限安装gcc--multilib和g++--multilib,以确保编译环境的兼容性。
程序成功编译并输出hello world,表示头文件和库配置无误。接下来,便可逐步实现易达接口功能。
VNPY官方新架构VNTrader期货CTP接口Python开源框架共同开发者邀请
VNPY是一款国内期货量化交易开源软件,基于GPLV3开源协议,任何机构和个人可以免费下载和使用。VNPY官方网站和开源地址提供了一系列资源和教程,帮助开发者快速入门。
在期货交易中,登录CTP接口服务器的时间非常重要。需要在期货开盘时间前后分钟内进行登录,期货开盘时间分别为9:-:,1:-:,:-2:。对于仿真账户的支持,平台提供股指期货、股指期权、商品期货、商品期权的仿真交易,但仅限于工作日白天访问。开立实盘账户则需选择A级期货公司,提供优惠服务。
基于CTP接口的开源性,开发者可以选择使用VNTrader开源项目,解决自己开发周期长且门槛高的问题。VNTrader是一个针对商品期货CTP接口的GUI窗口程序,支持多个Python策略组成策略池,具备回测功能和多周期量化交易能力。
VNTrader客户端的开源代码作为VNPY官方提供的CTP项目客户端源代码,支持国内家期货公司的CTP接入,涵盖持股指期货、股指期权、商品期货、商品期权的程序化交易和量化交易的仿真回测。
全新架构的VNTrader带来了性能的显著提升,结合Python的便捷性和C++的高性能,新版本相比老版本性能提升超过%。全新的系统命名强调了其作为VNPY官方发布的重点全新架构产品的身份。
VNTrader的Python和底层C++代码全部开源,标志着这是一个具备大性能提升的版本。通过这些资源,开发者能够更高效地进行期货量化交易的开发与优化。
找不到A股程序化交易接口怎么办?用VNTrader开源代码做期货程序化交易
VNTrader是VNPY官方推出的开源期货量化交易软件,基于CTP接口,提供免费下载和使用源代码。它专门针对商品期货CTP接口,支持多个Python策略组合,具备回测、多周期量化交易等功能。
VNTrader客户端开源代码支持国内家期货公司CTP接入,涵盖股指期货、期权、商品期货、商品期权的程序化交易和量化交易仿真回测。全新架构,性能显著提升,Python便捷,C++性能加持,比老版本更优,性能提升%以上,系统命名为VNTrader。
最新更新在gitee.com/vnpycn/vntrad...,底层C++代码将开放,目前开放Python部分,功能正在整理,为大性能提升版本。
VNPY官方网站提供详细信息,知乎专栏也有相关讨论。官方QQ群:,实盘支持低手续费,仿真账户仅工作日白天注册,支持各类仿真交易。
未来VNTrader将继承强大功能,性能优异,开源,结合C++特点和底层仿真,成为程序化交易最佳工具。面向国内商品期货、股指期货实现程序化交易CTP接口,精简、高性能、精细化回测、功能强大、入门更容易。
openctp通道源码开放二(新浪行情CTPAPI)
CTPAPI接口源码的开放,引发了广泛关注,短短几天内获得了上千次的点赞与收藏。CTPAPI,由上期所旗下的技术公司开发,以其精湛设计、高效率与开放运营模式,备受投资者青睐,几乎成为了期货交易的必备选择。然而,股票市场中,虽然有多家技术公司与券商提供了各自的柜台服务,但其影响力与CTPAPI相比仍有差距。面对多品种交易或更换券商需求,openctp提供的统一CTPAPI接口技术显得尤为重要。用户只需一个接口,就能接入包括期货、期权、A股、港股、美股、外盘期货在内的全市场全品种。
本文将介绍openctp再次开放的新浪行情通道CTPAPI接口源码。对于从互联网获取股票行情,前文已有详细说明,这里简要概述新浪的方法。只需输入指定网址,即可接收股票行情数据。具体格式如下:
单个股票: hq.sinajs.cn/list=sz...
多个股票: hq.sinajs.cn/list=sh...
然而,去年新浪对协议进行了调整,改动了HTTP头部,需额外添加特定字段,否则访问会被拒绝。详情请参考相关文章:《新浪行情无法接收的解决方法》。
CTPAPI在期货领域广为人知,但在股票市场中可能较少被提及。为了帮助用户更好地理解如何利用此接口接收股票行情,本文提供了一个示例。同时,公开了新浪行情CTPAPI源码地址,用户可访问:/krenx/openctp/tree/master/ctp2Sina行情。
CTPAPI接口版本多样,从6.3.到6.6.7,主要更新包括新增字段或函数,但这些新增内容大多不常使用。交易相关的接口保持稳定。为了确保兼容性和功能完整性,建议使用6.6.7及以上版本。关于接口下载与官方文档,用户可访问openctp主页:github.com/krenx/op...
为方便用户获取更多行情信息,openctp还提供了强大的行情显示工具prices,其源码地址为:github.com/krenx/op...
欲了解更多信息,请访问openctp主页:/krenx/openctp或关注公众号openctp,获取最新动态。CTPAPI相关文章,敬请关注。
2024-12-28 13:46
2024-12-28 13:29
2024-12-28 12:47
2024-12-28 12:31
2024-12-28 12:26
2024-12-28 11:21