一、简介大家好,我是雪球。今天和大家分享的内容是基于Java编程实现股票交易相关功能的开发。如果读者对股票或金融衍生品交易了解不多,比较感兴趣,可以自行查询相关资料。常见的交易策略有很多,如趋势型、网格型、剥头皮、概率法则、高频交易等,今天主要介绍两种低频交易策略,高卖低买的网格交易策略,日内交易T策略。2.需求分析与实施思路股票在每个交易日都会涨跌。在这个过程中,我们偶尔会想要监测一些股票的股价涨跌,或者自动交易。在这种需求的前提下,现有的券商和股票分析软件都会具备机器人自动交易策略功能。大部分都需要收费或者有些策略不能满足自己的需求。笔者在此提供两种实现思路:1.利用已有的量化平台编写策略并反馈测试分析,然后在券商软件层面执行策略。2、自己编写功能代码监控估值,对股价波动进行特殊处理,满足特殊需求。首次实现成本低,但功能受平台限制;第二个实现成本无疑是比较高的,但是逻辑是可以自己控制的。这个量化平台笔者耳熟能详,可以轻松回测你的交易策略,但不支持完善的股价跟踪和自定义逻辑,很多功能需要付费才能使用。下面笔者简单介绍一个股票区间交易跟踪系统的实现过程。3、区间交易跟踪系统1)实现思路大致分为以下四个功能模块,分别是1.股票池:需要获取数据的股票列表2.实时股票数据采集服务:拉取相应数据针对不同数据源配置股票实时数据,并提供重试机制3.股票组合、交易策略配置、交易策略操作:详见接口文档、代码实现4.通知服务:通知支持邮件通知,企业微信聊天机器人通知。(在application.yml中配置)2)代码实现项目采用单机应用架构,使用的框架为SpringBoot+SpringDataJpa+Redis等常规开发框架。数据库使用mysql,结构和文件可以在源码项目的data目录下找到源码地址:https://gitee.com/snowball2dev/stock-trade-strategyMaven项目结构stock-back-teststrategybacktesting模块,stock-base基础模块暂未实现,主要是通用工具stock-data股票数据模块,功能包括股票池、股票数据源实时采集、数据更新、事件通知等stock-platform股票后台平台启动模块,包括工程配置stock-trade股票交易策略模块,功能包括股票组合管理,网格交易策略参数配置,T0交易参数配置,两种交易策略的实现和执行等stock-user用户模块,包括用户基础functions文件地址描述Gridtransaction-create/updateplan/stock/tradePlan/grid/save4)部署项目1.创建数据库相关表es根据data目录下的stock_sql.sql2.修改项目yml配置文件,配置自己的邮件通知地址,企业微信聊天机器人地址3.maven项目打包stock-platform模块,上传输出jar包到服务器,并运行jar5)运行效果1.表结构2.idea本地运行日志3.服务器运行目录4、服务器运行日志6)总结以上是区间交易跟踪系统的手写功能说明和结果展示,包括用户模块、股票模拟组合模块、套利策略模块、股票通用模块等,工程后台服务部署在一台服务器上,经过几个月的A股实践验证,代码没有发现bug,还有一些结果通知的截图还没有出来。读者可以下载代码,使用Idea运行工程实践。如果您有任何问题或想法,可以随时留言或联系小编。4.总结以上是笔者根据个人炒股经验和量化交易知识,利用业余时间用一个月左右的时间,独立开发了一个股票交易的区间交易后台系统,实现了高抛高抛的网格交易策略。低吸,盘中做T策略两种策略的在线操作,触发交易的通知机制功能。虽然功能上可能还不够完善,但基本可以满足这两种策略的套利功能。
