【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想

2024-06-17 00:28

本文主要是介绍【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关注我的朋友们可能知道,我经常在信号处理的领域出没,时不时会发一些信号处理、深度学习科普向的文章。

不过算法研究久了,总想做一些更有趣的事情。

比如用深度学习算法赚大钱。。毕竟有什么事情能比暴富更有意思呢。

一、神经网络与彩票梦

那还是在上大学期间的一个午后,宿舍邻座的舍友在捣鼓MATLAB编程,他说他在研究使用神经网络算法做彩票预测,我闻之大惊。当时互联网还未像当今这样发达,神经网络算法还是新兴概念,在一个刚上大学还处于蒙圈阶段的愣头青(也就是我)的理解中,神经网络这种模拟人类生物学特征的算法,这种可以自主学习的算法,这种据说可以拟合一切的算法,预测彩票也不是不可能的吧!

打开知网,搜索“神经网络彩票预测”,还真的找到了佐证!

从论文中的效果来看,这准确率高的很呐[1]。

这要是能复现出来,年纪轻轻的我岂不是可以财务自由了?

不知道是幸还是不幸,论文中的“BP神经网络”像是一座难以逾越的山,十几年前的互联网可没有知乎或者B站这么便捷的学习手段,满腹疑惑也无人能解答,彩票事业就此搁浅。

此后我也逐渐明白,彩票结果都是随机数,每次开奖都是独立事件,是不可被预测的。但是奈何诱惑太大啊:万一成了呢!

直到去年,编程实现类似的预测算法已经不是难事了,再加上爬虫、网页前端后端、服务器搭建这些技术也都掌握了,于是重新拾起封存的暴富梦,把实时彩票自动预测的整个流程终于实现了出来:

首先,选择了一种简单的彩票种类——福彩3D。这个彩票每天(除了周末)都会开奖,有更大的数据量;他开出来的数字只有3位,预测起来更加简单;中奖不需要数字顺序完全一致,中奖概率也更高。只不过奖金也相应低很多。

第二,算法上也鸟枪换炮,都21世纪第3个十年了,肯定不能还用BP神经网络,我选用了LSTM长短时记忆神经网络。

第三,我在不用的服务器上搭建了定时服务,每天凌晨会自动获取当天的开奖号码,核对中奖情况,并将新的数据纳入到训练数据中预测下一次开奖号码。

这个程序一直在运行,今天他的预测结果如下:

程序跑了大半年,单选和组选各预测中了一次,组选的那次买了,小挣了173元。

当然,这个结果基本就是蒙上的了,指望这个办法财务自由终究是不靠谱。

二、深度学习与量化交易

彩票预测从原理上就否定了预测成功的可能性,但是使用深度学习炒股能不能行呢?

毕竟Alpha Go都能在围棋领域打败李世石,那我有没有可能创造出一个Beta GoGoGo打败巴菲特呢?

对此我做了一些准备:

第一,开了一个股票账户,放入了少量资金熟悉交易规则,并体验了一把2700点保卫战。

第二,开通了某证券公司的QMT,因为像米筐这些平台难以实现深度学习的量化交易,而我需要的其实只有行情数据获取以及交易接口,剩下的都可以手动搭建,使用miniQMT自建交易系统是灵活性最大的一种实现方案。

第三,买了一张4090[手动狗头],工欲善其事必先利其器嘛。

2.1 关于交易框架的设想

1.关于交易对象。听说期货市场是量化交易的热门领域,因为T+0的规则更适合量化交易的实施,不过期货开户的门槛比较高,我当前只能开通A股主板权限,创业板都够不到,更不要说期货了。所以后续一段时间的策略都是限制在股票市场中的。

2.关于策略类型。高频交易需要专业的网络和交易设备,所以这个方向基本放弃了。我将采取更加接近传统交易的中低频量化投资方法,以智取胜。

3.关于运行环境。我将程序部署在自建的服务器上,开盘期间自动执行获取大盘数据,自动执行策略运算,自动交易,并进行持仓情况和收益率的可视化展示。

2.2 关于交易策略的畅想

在之前研究信号处理的过程中,本人也积累了一些算法经验,就当前有限的算法理解和股票市场的认识,交易策略考虑从这几个角度切入:

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

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

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

以上策略也可以共同发挥作用。

2.3 关于财务自由的遐想

工程实践不同于学术研究,其中有太多细节和特殊情况需要考虑,为实现上述设想和畅想,必定需要不懈的付出。

为了给自己打打鸡血,做一做白日梦也是有必要的。

前一段时间抖音上刷到了这样一张图:

如果每个时点都能踩对,一年时间财务自由不是梦!

当然咱也没有这么大的野心,能有1000万也就心满意足啦!

结语

今天开始,我将一步步记录后续做量化交易的实现过程,既是对纷繁的思路的归纳梳理,也是为推动这项一个人的赚钱大业增加一些鞭策激励。

读者朋友们如果有好的想法欢迎一起讨论~

参考

  1. ^涂晔, 车文刚. BP 神经网络在福利彩票预测中的应用[J]. 2009 国际信息技术与应用论坛论文集 (上), 2009.

这篇关于【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067976

相关文章

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买