【深度学习量化交易2】财务自由第一步,三个多月的尝试,找到了最合适我的量化交易路径

news2025/1/15 8:34:07

在上一篇文章中,我讲到了尝试开展量化交易的一些初步的想法:Mr.看海:【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

一晃三个多月时间过去了,十一前后股市突然爆火,行情也像过山车一样,笔者在其中靠直觉辗转腾挪,勉强落得个不赔不赚。此事也给我打了一针鸡血,加快了量化交易研究和系统开发进度。

今天聊一聊我所选择的量化交易实现路径。

一、个人做量化交易的几种方式

交易框架的选择是由需求方案决定的,我后续准备结合人工智能相关算法,试验回归预测、时间序列预测、事件驱动等等多种算法策略,对框架的开放性要求较高(可以自由定制开发),需要能够比较便捷地获取历史数据(最好免费),需要有实盘接口(最好免费),最好本地运行(安全)。对此我对比了目前常见的几种实现方式:

1.掘金量化

提供基础投研数据,5日以上tick数据以及6月以上的分钟数据需要付费获取,实盘接口需要申请。

2.同花顺supermind

提供数据接口,可以实盘交易,但是策略运行在云端,模型算法不够安全倒是小问题,最大的问题是云端环境对于深度学习的支持未必足够及时,且2G运行内存的限制对于运行大一些的模型捉襟见肘。

3.米筐

米筐的RQSDK米筐量化工具套件,可以本地部署,支持数据获取,自带回测引擎,但是似乎不能实盘(没有深入研究,因为套件的长期稳定使用需要付费)。

4.Ptrade

免费使用,支持自动交易,提供了回测功能。不过同样是云端部署,与同花顺supermind存在相近的问题。

5.MiniQMT

QMT的全称是Quantitative Management Terminal,即量化管理终端。

MiniQMT是一种轻量级的量化交易解决方案。使用MiniQMT可实现对交易过程的完全控制;策略可以在用户自己的电脑上运行,可以最大程度发挥本地电脑性能。然而,MiniQMT也有其挑战。它要求用户具有较强的编程能力,因为很多功能需要自己开发。同时,使用MiniQMT需要用户对量化交易的整个过程有深入的理解,包括数据获取、策略开发、回测和风险管理等。这可能会增加学习成本。

经过深思熟虑,我选择了MiniQMT作为我的量化交易平台。虽然它可能需要更多的前期投入,但它提供的自由度、安全性和学习机会是其他平台难以比拟的。对于一个希望深入了解量化交易、并在这个领域不断成长的投资者来说,MiniQMT无疑是一个理想的选择。

二、关于MiniQMT的简单介绍

首先声明这里不是广告哈,不过为了便于大家理解我后续的工作方式,这里要简单介绍一下我依赖的这个终端。

我开通的是某券商的QMT,它自带的包括QMT和MiniQMT两种模式。

下图是QMT模式的界面,这是一个功能丰富的股票交易和分析平台界面。它集成了实时行情图表、多样化的交易策略列表、账户信息显示、板块热度分析、自选股管理、委托交易功能等,支持Python和VBA策略编写。在QMT当中内置了一套代码编辑器,有一套独立的量化交易框架,开发了一系列量化交易用的API接口。

但是集成化带来方便的同时,带来的是开放性一定程度受限,比如在此环境中配置pytorch就是一个棘手的问题,这对于准备使用深度学习方法实现量化交易的我来说,是一个难以接受的缺点。

下图是MiniQMT的界面,这里边只有股票买卖、持仓管理、委托查询、账户信息等核心功能,量化交易策略并不在这个界面中运行。MiniQMT只提供接口,交易策略乃至框架是完全开放的,灵活度可以说是无限高。缺点则是量化交易框架(涵盖数据获取、回测、模拟、实盘)需要自己搭建,这固然是不小的挑战,但是为了能够称心如意地构建一个足够智能、足够先进、足够趁手的量化交易工具,这些我愿意从零开始搭建。

使用MiniQMT接口时,需要保持该软件一直处于运行状态

三、下一步我打算这样做

我将未来的工作分为系统搭建和策略研究两个阶段。

1.量化交易系统搭建

基于MiniQMT设计一个量化交易系统,集成数据获取、交易策略开发、回测、模拟交易、实盘交易几个模块,为了方便使用,我将全部设计配备图形界面。

(1)数据获取模块,使用MiniQMT的XtQuant.XtData 行情模块,该可以获取指定股票代码的tick、1m、5m、1d数据,可选择数据条目,可显示下载进度,对于下载后的数据可进行可视化显示。

(2)交易策略开发部分,需要自定一个交易框架,明确交易策略的输入输出接口规范,用于后续回测、模拟和实盘对接;集成一些数据预处理模块,比如计算常用因子、特征、指标等等。

(3)回测模块是量化交易系统的核心之一。我打算开发一个回测引擎,模拟真实的交易环境,包括滑点、手续费等因素。回测结果将以图表和报告的形式展示,包括收益率、夏普比率、最大回撤等关键指标。

(4)模拟交易模块将作为实盘交易的过渡。这个模块会使用实时行情数据,但进行虚拟的交易操作。它将帮助我在不承担实际风险的情况下,测试策略在实时市场中的表现。

(5)实盘交易模块是整个系统的最终目标。我会通过MiniQMT的接口实现自动化交易。这个模块将包括风险控制功能,如设置每日最大亏损限额、单笔交易限额等。同时,我会开发一个实时监控界面,显示当前持仓、盈亏情况等关键信息。

为了更好地管理和组织整个量化交易系统,我计划设计一个基于项目(Project)的管理架构。用户可以通过创建新项目来统一管理数据、策略、回测结果和实盘操作。

目前我已经基本将数据获取及其可视化的模块开发完成,下边是其界面演示。下一篇我将重点介绍该模块的开发过程,感兴趣的朋友们可以持续关注~

2.策略研究

在系统搭建完成后,我将专注于策略研究。目前阶段关于策略的方式与上一篇文章中的相同,主要包括:

(1)多元回归预测。股价是由市场上诸多因素共同影响的结果,将所有数据都纳入考虑和训练的范围是不现实的。我所想到的第一个策略,是利用前一个交易日接近收盘时的数据(如价格、成交量、技术指标等)作为输入,训练一个回归预测模型,以预测第二天的收盘收益率。这种策略的优势在于利用了近邻数据较强的相关性,模型训练起来可能会相对简单,并且可以将交易时段都放到收盘前的一小段时间几种处理。

(2)事件驱动策略。网络上的舆情和热点事件往往对股票价格有显著的影响。通过收集和分析这些舆情数据,可以有效地捕捉市场情绪,制定相应的交易策略。就像在《脱口秀大会5》节目上,脱口秀演员House讲了他投资“600759”股票的经历,引发该股票从开盘便一路涨停。

(3)时间序列预测。利用时间序列数据的自相关性,通过分析股票的历史价格数据,建立模型预测未来的价格走势。时间序列预测有着多样的算法工具,例如ARIMA、LSTM等等。

结语

为了赶上这波牛市,拼了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面对服务器掉包的时刻困扰,如何更好的解决

在数字化时代,服务器的稳定运行是企业业务连续性的基石。然而,服务器“掉包”现象,即数据包在传输过程中丢失或未能正确到达目的地的情况,却时常成为IT运维人员头疼的问题。它不仅影响用户体验,还可能导致数据不一致、…

spring boot热部署

使用热部署解决了每次都需要重新启动的问题&#xff0c;但不过热部署的在对于改动比较小时速度可能快一些&#xff0c;改动大的话尽量停止 1.使用热部署之前需要在pom.xml文件中导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifa…

基于SpringBoot+vue学生成绩管理系统

作者&#xff1a;计算机学长阿伟 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、ElementUI等&#xff0c;“文末源码”。 系统展示 【2024最新】基于JavaSpringBootVueMySQL的学生成绩管理系统&#xff0c;前后端分离。 开发语言&#xff1a;Java数据库&#xff1a;MySQL…

网关Gateway作用介绍和快速入门

目前架构问题分析 这里有很多微服务&#xff0c;每个微服务都需要晚上访问数据库去完成各自的业务&#xff0c;并且需要在nacos进行注册和管理&#xff0c;每一个微服务之间需要相互调用的时候&#xff0c;可以用Feign进行调用&#xff0c;当外部需要访问的时候&#xff0c;就直…

Linux操作系统——外存的管理(实验报告)

实验 Linux系统外存管理 一、实验目的 熟练Linux系统外存管理的方法与命令。 二、实验环境 硬件&#xff1a;PC电脑一台&#xff0c;网络正常。 配置&#xff1a;win10系统&#xff0c;内存大于8G 硬盘500G及以上。 软件&#xff1a;VMware、Ubuntu16.04。 三、实验内容 …

Type-c取点诱骗方案

如今随着这几年的USB-C PD适配器的普及&#xff0c;消费者手上的PD协议适配器越来越普遍&#xff0c;如何让微软surface 充电器线支持使用PD适配器快充&#xff1f;加入一颗受电端PD协议取电芯片——LDR6328能够完美的兼容市面上的PD适配器&#xff0c;支持不同的电压输出。 1…

javaweb以html方式集成富文本编辑器TinyMce

前言&#xff1a; 单一的批量图片上传按钮&#xff0c;禁用tinymce编辑器&#xff0c;但是还可以操作图片编辑&#xff1b; 多元化格式的富文本编辑要求&#xff1b; 采用tinymce实现。 附&#xff1a; tinymce中文手册网站&#xff1a; http://tinymce.ax-z.cn/download-all.…

Jmeter监控服务器性能

目录 ServerAgent 安装 打开Jmeter ServerAgent 在Jmeter上监控服务器的性能比如CPU&#xff0c;内存等我们需要用到ServerAgent&#xff0c;这里可以下载我分享 ServerAgent-2.2.3.zip 链接: https://pan.baidu.com/s/1oZKsJGnrZx3iyt15DP1IYA?pwdedhs 提取码: edhs 安装…

考研C语言程序设计_编程题相关(持续更新)

目录 零、说明一、程序设计经典编程题(C语言实现)T1 求1~100的奇数T2 求n!T3 求1!2!3!...10!T4 在一个有序数组中查找具体的某个数字n(二分查找)T5 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚T6 模拟用户登录(三次机会)T7 输入三个数 并从大到小输出T8…

实战篇:(四)Vue2 + Three.js 创建可交互的360度全景视图,可控制旋转、缩放完整代码

Vue2 Three.js 创建可交互的360度全景视图&#xff0c;可控制旋转、缩放 引言 在现代网页开发中&#xff0c;三维图形技术已经成为提升用户体验的重要工具。本文将展示如何使用 Three.js 创建一个简单的可交互360度全景视图。通过这一项目&#xff0c;你将能够学习到基本的场…

使用 KVM 在 Xubuntu 上创建 Windows 10 虚拟机

目录 前言说明注意准备 iso官网思博主(嘻嘻)拖动到虚拟机里面启动 virt-manager创建虚拟机选择本地安装介质选择 iso配置 内存 和 CPU选择 创建的虚拟机 保存的位置启动虚拟机看到熟悉的 Win10界面点击现在安装点击我没有产品密钥选择 Win10 专业工作站版勾选接受许可条款选择自…

grafana 配置prometheus

安装prometheus 【linux】麒麟v10安装prometheus监控&#xff08;ARM架构&#xff09;-CSDN博客 登录grafana 访问地址&#xff1a;http://ip:port/login 可以进行 Grafana 相关设置&#xff08;默认账号密码均为 admin&#xff09;。 输入账户密码 添加 Prometheus 数据源…

文件上传漏洞-绕过js验证

1.漏洞原理&#xff1a; Web应用系统虽然对用户上传的文件进行了校验&#xff0c;但是校验是通过前端javascript代码完成的。由于恶意用户可以对前端javascript进行修改或者是通过抓包软件篡改上传的文件&#xff0c;就会导致基于js的校验很容易被绕过。 2.判断页面是否存在前…

SpringBoot下的智能健康推荐引擎

3系统分析 3.1可行性分析 通过对本基于智能推荐的卫生健康系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于智能推荐的卫生健康系统采用SSM框架&#…

穷举vs暴搜vs深搜vs回溯vs剪枝(一)

文章目录 全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合 全排列 题目&#xff1a;全排列 思路 通过深度优先搜索的方式&#xff0c;不断枚举每个数在当前位置的可能性&#xff0c;然后回溯到上一个状态&#xff0c;直到枚举完所有可能性得到正确的结果 r…

FastApi SQLAlchemy SQLite

FastApi fastapi是一个用于构建API 的现代、快速&#xff08;高性能&#xff09;的web框架&#xff0c;它是建立在Starlette和Pydantic基础上的。 Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库&#xff0c;Starlette是一种轻量级的ASGI框架/工具包&…

哪些因素会影响 FMEA 实施的效果?

在探讨哪些因素会影响FMEA&#xff08;潜在失效模式及后果分析&#xff09;实施效果的问题时&#xff0c;我们不得不深入剖析FMEA的核心理念、实施流程及其在企业质量管理中的应用实践。FMEA作为一种系统性的预防性工具&#xff0c;旨在识别产品或过程中潜在的失效模式及其影响…

C++,STL 030(24.10.14)

stack容器&#xff08;栈&#xff09;的基本概念&#xff1a; 1.stack容器是一种先进后出的数据结构&#xff0c;它只有一个出口。 2.图例&#xff1a; 注意&#xff1a; (1)进栈顺序&#xff1a;a1 -> a2 -> a3 -> a4 -> a5 (2)出栈顺序&#xff1a;a5 -> …

SVN——常见问题

基本操作 检出 提交 更新 显示日志 撤销本地修改 撤销已提交内容 恢复到指定版本 添加忽略 修改同一行 修改二进制文件

理解智能合约:区块链在Web3中的运作机制

随着区块链技术的不断发展&#xff0c;“智能合约”这一概念变得越来越重要。智能合约是区块链应用的核心之一&#xff0c;正在推动Web3的发展&#xff0c;为数字世界带来了前所未有的自动化和信任机制。本文将深入探讨智能合约的基本原理、运作机制&#xff0c;以及它在Web3生…