1.vn.py发布v2.5.0 - Web应用后端服务
2.利用swig封装C++的dll为C#方便使用
3.vn.py社区精选4 - 双均线策略深度解析
4.期货配资软件开发(期货资管系统平台搭建方案)
5.openctp通道源码开放二(新浪行情CTPAPI)
6.基于VN.PY的CTA策略入门心得
vn.py发布v2.5.0 - Web应用后端服务
vn.py的2.5.0版本已发布,此更新重点在于实现Web应用后端服务,以满足用户在浏览器中运行和管理vn.py量化策略交易的需求。此新版本对数据库结构进行了底层修改,因此之前版本的数据库需要手动迁移,具体步骤请参考“数据库升级迁移”章节。号码之家源码 对于使用VN Studio的用户,启动VN Station并点击界右下角的更新按钮即可自动完成升级。没有安装的用户,请下载VN Studio-2.5.0,享受一键安装的量化交易Python发行版。Web应用后端服务架构设计
WebTrader采用了FastAPI作为后端服务器,支持REST主动请求调用和Websocket被动数据推送。运行时架构图展示两个独立的后端服务进程。使用步骤
新增的Web应用服务源代码位于vnpy_webtrader项目中,用户只需在VN Station启动时加载WebTrader应用即可。 启动VN Trader后,登录交易接口,点击顶部菜单栏的功能->Web服务打开窗口。此时系统运行的仅包括策略交易进程,右上角的服务器配置选项包括启动按钮,用户根据输入信息启动Web服务进程,后台会输出FastAPI运行过程中的日志信息。 启动浏览器打开网址.0.0.1:/docs,即可看到FastAPI接口文档网页,包含了目前WebTrader支持的接口信息,用户可结合vnpy_webtrader项目下的Jupyter Notebook进行接口测试。后续计划
WebTrader目前仅提供Web应用的后端接口,前端页面由社区用户实现,欢迎贡献代码。后续计划将逐渐增加策略交易应用管理功能,如CtaStrategy的调用。TTS交易接口
CTP API已成为国内金融市场的交易API标准,近期知乎网友krenx推出的OpenCTP项目,提供兼容或高度接近CTP的API功能,并自主实现了整套CTP柜台的仿真交易功能,为用户提供更多选择。刀剑2源码2.5.0版本中也增加了对OpenCTP交易系统的支持,接口名为TtsGateway。数据库升级迁移
2.5.0版本对数据库结构进行了扩展增强,增加了字段。所有数据库管理器(vnpy.database)都已相应修改,升级后可能导致系统无法启动。购买了RQData等数据服务的用户可直接删除数据库后重新下载。自行录制的数据用户需执行数据迁移操作。其他更新
新增了基于易盛启明星/北斗星兼容交易API的EsunnyGateway,支持内盘期货、黄金TD、外盘期货等市场的交易。接口已剥离,并增加了Ubuntu上的一键自动安装功能,支持pip install命令快速安装。 CHANGELONG新增调整修复剥离利用swig封装C++的dll为C#方便使用
在开发过程中,C++虽然在时间效率上有优势,但与C#相比,集成CTP库的便利性稍显不足。为了解决这个问题,有人尝试通过PINVOKE将C++函数转换为C#可用接口,但这个过程工作量巨大。为寻找更便捷的方法,我参考了一篇文章,决定尝试Swig进行C++与C#的交互封装。
Swig是一个强大的工具,它能将C++原始代码转化为其他语言可调用的形式。其转换C#主要分为两步:首先,创建C++动态链接库项目和C#桌面应用,然后编写swig规则定义文件(c++_file.idl)并正确设置属性,以避免编译错误。
接下来,编写C++头文件(c++_file.h)和源代码(C++_project.cpp),在C++_file.idl目录下运行Swig命令生成包含C#代码的.cs文件,并将dll文件与C#项目集成。在C#项目中,himall 完整源码只需按照生成的C#代码进行调用,即可方便地使用C++库。
总结来说,通过Swig封装C++为C#的DLL,不仅显著减少了工作量,还促进了后续开发的高效性,使得原先的C++库更容易在C#环境中使用,提升了开发效率。
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应用。apple商城源码
更多vn.py精华内容
关注公众号以获取更多深入分析和实践技巧。
期货配资软件开发(期货资管系统平台搭建方案)
搭建期货系统平台,首先明确技术路线。后端可选Spring、SpringMVC和MyBatis等Java框架,前端则有Vue、c# winform等技术。
定制期货资管软件,包含外盘期货配资,全套源码采用C++、Vue、MySQL和Tradingview实现。功能涵盖K线模块、Tradingview、客户实时大数据分析、AI智能决策、风险自动计算、国内、海外自动下单。提供PC端及手机APP源码、部署文档和专业技术支持。
平台常见模块如下:
1.集成PC前端、手机APP(安卓、iOS)、代理商后台、总后台。
2.智能切换行情,支持实盘与第三方数据源。申请账号后,后台直接使用。
3.后台对接实盘,主流内外盘接口如ctp、易盛、ib等,添加账号即可使用。
4.集成短信接口,可自由切换。
5.具备产品管理、实名审核、充值提现、新闻公告、邀请注册等功能。
期货资管系统的移动终端APP应包含分时与K线图行情、个性化下单板和交易设置。功能涵盖自选、报价、分时图、K线图(从分钟到年),三键下单板,便捷交易。
综上所述,介绍了期货资管系统的功能与平台搭建方案,旨在为用户提供全面、高效的服务。希望对大家的开发与使用有所帮助。
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相关文章,敬请关注。
基于VN.PY的CTA策略入门心得
CTA策略简介与VN.PY入门指南
CTA策略,即商品交易顾问(Commodity Trading Advisor),是量化投资领域中重要组成部分,相较于股票量化策略,CTA策略能提供更稳定的收益与更低的风险。通过CTA策略的对冲性和高频性,市场波动趋于平滑,使得对冲做得好时,能无视大盘波动。
开发CTA策略时,选择适合的工具极为关键。市面上的可编程交易软件如TB或MC,价格不菲且语言小众,开发复杂。在比较了多种选项后,VN.PY成为了CTA策略开发的首选平台。本文将为读者介绍VN.PY的入门心得,旨在快速帮助大家了解VN.PY并上手开发,而不涉及策略的深度开发。
一、VN.PY安装
安装VN.PY主要依赖于VNStation,用户可在官网上下载最新版进行安装,版本为2.5.1。安装目录默认为C:\vnstudio。需要注意的是,VNStation自带Python包,建议使用VSCode作为开发IDE,且本地Python环境应保持干净,避免与其他环境混用。此外,VN.PY的源代码位于C:\vnstudio\Lib\site-packages\vnpy目录下,与GitHub上的源代码存在差异,建议使用vnpy目录下的源代码。
二、启动VNStation
启动VNStation前需创建策略代码目录,一般在C:\Users[用户名或Administrator]\strategies下。启动VNStation后,选择VN Trader Pro,配置底层接口为CTP或CTP测试,选择上层应用时,通常选择CTA自动交易模块与CTA回测研究模块。设置运行目录与策略代码目录保持一致。
三、CTA回测与策略
在使用CTA回测或CTA策略前,需要进行数据准备。VNTrader提供RQData数据或本地数据库服务。启动CTA回测功能,选择策略,输入本地代码与回测条件,点击开始回测。回测页面显示各项指标,如账户净值、盈亏分布等。回测过程中,注意理解初始化日的限制、平今仓手续费设置以及优化参数等。
四、策略调试与学习资源
策略调试可选择命令行或Jupyter notebook方式。通过VN Studio Prompt启动VN Station,运行命令行调试,或在Jupyter notebook中导入策略进行调试,修改相关参数,运行代码。学习资源方面,VN.PY公众号视频教程、官网项目文档、知乎频道、蜗牛博客与《Python量化交易》书籍均可作为深入学习的参考资料。
TargetP-2.0:蛋白亚细胞定位分析
TargetP-2.0是一种用于预测蛋白质亚细胞定位的生物信息学工具。它主要对蛋白质的信号肽、转运肽和C端序列进行分析,预测真核蛋白质在细胞内的定位,包括SP(信号肽)、MT(线粒体转运肽mTP)、CH(叶绿体转运肽cTP)、TH(类囊体腔复合转运肽lTP)等定位区域。预测时还考虑潜在的酶切位点。
使用TargetP-2.0,首先访问其网页:TargetP 2.0 - DTU Health Tech - Bioinformatic Services。输入蛋白序列进行分析,要求序列长度不少于个氨基酸,分析上限为条氨基酸序列。示例文件可通过网页提供的链接下载或使用wget命令获取。用户可以选择分析植物或非植物的蛋白质。
分析结果分为长输出和短输出两种。长输出提供每条序列的详细图和摘要信息。短输出则简化为每条序列的单一结果,不包含图形,适合于大量序列的快速分析。
如需下载和安装TargetP,可访问其下载页面,获取压缩包。源代码仓库在GitHub上,但由于网络问题,链接可能无法正常加载。通过下载的压缩包安装软件。
在实际应用中,可以使用如GCF_.2(酵母,非植物)这样的序列进行测试,来验证TargetP-2.0的预测准确性。此外,对于工具的性能和效果,还存在相关的评测文章和研究。