【深度学习量化交易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万也就心满意足啦!
结语
今天开始,我将一步步记录后续做量化交易的实现过程,既是对纷繁的思路的归纳梳理,也是为推动这项一个人的赚钱大业增加一些鞭策激励。
读者朋友们如果有好的想法欢迎一起讨论~
参考
- ^涂晔, 车文刚. BP 神经网络在福利彩票预测中的应用[J]. 2009 国际信息技术与应用论坛论文集 (上), 2009.
相关文章:
【深度学习量化交易1】一个金融小白尝试量化交易的设想、畅享和遐想
关注我的朋友们可能知道,我经常在信号处理的领域出没,时不时会发一些信号处理、深度学习科普向的文章。 不过算法研究久了,总想做一些更有趣的事情。 比如用深度学习算法赚大钱。。毕竟有什么事情能比暴富更有意思呢。 一、神经网络与彩票…...
【0基础学爬虫】爬虫基础之自动化工具 DrissionPage 的使用
概述 前三期文章中已经介绍到了 Selenium 与 Playwright 、Pyppeteer 的使用方法,它们的功能都非常强大。而本期要讲的 DrissionPage 更为独特,强大,而且使用更为方便,目前检测少,强烈推荐!!&a…...
c++_0基础_讲解7 练习
这一讲我为大家准备了几道题目,大家试着独自做一下(可能来自不同网站) 整数大小比较 - 洛谷 题目描述 输入两个整数,比较它们的大小。若 x>yx>y ,输出 > ;若 xyxy ,输出 ÿ…...
docker一些常用命令以及镜像构建完后部署到K8s上
docker一些常用命令以及镜像构建完后部署到K8s上 1.创建文件夹2.删除文件3.复制现有文件内容到新建文件4.打开某个文件5.查看文件列表6.解压文件(tar格式)7.解压镜像8.查看镜像9.删除镜像10.查看容器11.删除容器12.停止运行容器13.构建镜像14.启动容器15…...
在typora中利用正则表达式,批量处理图片
一,png格式 在 Typora 中批量将 HTML 图片标签转换为简化的 Markdown 图片链接,且忽略 alt 和 style 属性,可以按照以下步骤操作: 打开 Typora 并加载你的文档。按下 Ctrl H(在 Windows/Linux 上)或 Cmd…...
构建LangChain应用程序的示例代码:33、如何在LangChain框架中使用HumanInputChatModel来模拟人工输入的聊天模型教程
除了HumanInputLLM,LangChain还提供了一个伪聊天模型类,可以用于测试、调试或教育目的。这允许您模拟对聊天模型的调用,并模拟如果人类接收到这些消息会如何响应。 在这篇笔记中,我们将介绍如何使用这个模型。 我们首先在代理中…...
虚拟机使用桥接模式网络配置
1、获取本机的网络详细信息 windowr 输入cmd 使用ipconfig -all 一样即可 在自己的虚拟机中设置网络 虚拟机中的ip ---------192.168.36.*,不要跟自己的本机ip冲突 网关-----------192.168.36.254 一样即可 dns -----------一样即可,我多写了几个&am…...
韩顺平0基础学java——第24天
p484-508 System类 常见方法 System.arrycopy(src,0,dest,1,2); 表示从scr的第0个位置拷贝2个,放到目标数组索引为1的地方。 BigInteger和BigDecimal类 保存大整数和高精度浮点数 BigInte…...
leecode N皇后
深度优先遍历,然后回溯 思考得到的技巧: 1.先思考怎么用学过的数据结构解题 2.回溯不只需要知道最后一步,还需要知道之前所走的每一步 3. 棋盘的生成,.join([]),可以变列表为字符串 看题解得到的技巧: 1.妙啊…...
2024050802-重学 Java 设计模式《实战模板模式》
重学 Java 设计模式:实战模版模式「模拟爬虫各类电商商品,生成营销推广海报场景」 一、前言 黎明前的坚守,的住吗? 有人举过这样一个例子,先给你张北大的录取通知书,但要求你每天5点起床,12点…...
UNIAPP-ADB无线调试
ADB下载 SDK 平台工具版本说明 | Android Studio | Android Developers (google.cn) 环境变量配置 ADB版本查看 adb version 手机使用数据线连接到电脑 手机需要授权adb调试(开发人员选项里面) CMD输入命令 adb tcpip 5555 到了这一步你手机已经启动了adb服务了&…...
【stm32-新建工程】
stm32-新建工程 ■ 下载相关STM32Cube官方固件包(F1,F4,F7,H7)■ 1. ST官方搜索STM32Cube■ 2. 搜索 STM32Cube■ 3. 点击获取软件■ 4. 选择对应的版本下载■ 5. 输入账号信息■ 6. 出现下载弹框,等待下载…...
写点什么吧,作为STM32系列的开篇……
自从本科毕业后,就再也没碰过单片机…… 自从研究生毕业后,就再也没碰过硬件…… 自以为以前单片机玩的熟得很,特别是ATMEGA系列的AVR单片机,由于老师的推荐,本科时花了好多精力在这个系列单片机上面…… 本科时STM…...
代码随想录算法训练营第十天| 232.用栈实现队列|225. 用队列实现栈|20. 有效的括号|1047. 删除字符串中的所有相邻重复项
232.用栈实现队列 文档讲解:代码随想录 视频讲解:栈的基本操作! | LeetCode:232.用栈实现队列_哔哩哔哩_bilibili 知道要用两个栈实现,具体咋做忘了。队列的特性是先进先出,栈是先进后出,入队操…...
Pulsar 社区周报 | No.2024-06-07 | Apache Pulsar 新分支 3.3 版本发布
“ 各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。 ” 本期主题:Apache Pulsar 新分支 3.3 版本发布 Apache Pulsar 新分支 3.3 版本发布:Apache Pulsar 3.3.0[1…...
Go源码--sync库(3):sync.Pool(2)
回收 回收其实就是将 pool.local 置为空 可以让垃圾回收器回收 我们来看下 源码 func init() {// 将 poolCleanup 注册到 gc开始前的准备工作处理器中在 STW时执行runtime_registerPoolCleanup(poolCleanup) }这里注册了清理程序到GC前准备工作 也就是发生GC前需要执行这段代…...
Go如何在本地引用以及发布并引用自定义工具包
如何引用本地自定义工具包 我们首先要准备两个项目,分别为需要引入的工具包和当前项目。 myutils、myproject1. myutils为我们的项目1-工具包 package mypakgeimport "strings"func IsContains(s string) bool {if strings.Contains(s, "a")…...
使用了代理IP怎么还会被封?代理IP到底有没有效果
代理IP作为一种网络工具,被广泛应用于各种场景,例如网络爬虫、海外购物、规避地区限制等。然而,很多用户在使用代理IP的过程中却发现自己的账号被封禁,这让他们不禁产生疑问:使用了代理IP怎么还会被封?代理…...
在WSL2的Ubuntu中安装和使用Docker/Podman
在WSL2的Ubuntu中安装和使用Docker/Podman 0. 目的 当网络环境良好(例如在公司,能直接访问Google等)时, Docker/Podman 安装和使用不是问题。 当网络环境不佳(例如在家里),要把 WSL2 的 Ubun…...
【WEEK16】Learning Objectives and Summaries【Spring Boot】【English Version】
Learning Objectives: Learning SpringBoot Learning Content: Reference video tutorials【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Dubbo and Zookeeper Integration Learning time and outputs: Week16 TUE~FRI 2024.6.11【WEEK16】 【DAY2】Dubbo和Zookeeper集成第…...
3步解锁iOS激活锁:Applera1n工具完整使用指南
3步解锁iOS激活锁:Applera1n工具完整使用指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 当你面对一部显示"激活锁"界面的iPhone,反复输入Apple ID却始终无法进入…...
tmux快速上手指南:3个核心命令与1个关键快捷键解析
1. 为什么你需要tmux? 如果你经常在服务器上工作,肯定遇到过这样的场景:正在跑一个耗时很长的任务,突然网络波动导致SSH连接断开,所有进程都被终止,几个小时的成果瞬间消失。这种时候,tmux就是你…...
告别繁琐配置:用快马ai一键生成win10系统openclaw自动化安装脚本原型
最近在折腾一个自动化安装OpenClaw工具的项目,发现Windows 10下的环境配置特别麻烦。作为一个经常需要快速验证工具链的开发者,我摸索出了一套用InsCode(快马)平台快速生成原型的方法,分享给大家。 环境检测模块的实现 最头疼的就是处理不同用…...
SDMatte高可用集群部署:基于Kubernetes的弹性伸缩方案
SDMatte高可用集群部署:基于Kubernetes的弹性伸缩方案 1. 为什么需要高可用部署方案 电商大促期间,某美妆品牌突然发现他们的AI抠图服务崩溃了——每秒上千张的商品图等待处理,但单机部署的服务早已不堪重负。这种场景在企业级AI应用部署中…...
Llama-3.2V-11B-cot快速部署:单命令启动+自动加载双卡4090
Llama-3.2V-11B-cot快速部署:单命令启动自动加载双卡4090 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具,专为双卡4090环境深度优化。这个工具解决了传统大模型部署中的几个关键痛点:…...
Realistic Vision V5.1虚拟摄影棚效果验证:专业摄影师盲测准确率87.3%
Realistic Vision V5.1虚拟摄影棚效果验证:专业摄影师盲测准确率87.3% 1. 项目概述 Realistic Vision V5.1虚拟摄影棚是基于当前最先进的写实风格生成模型开发的本地化摄影工具。经过深度优化后,该工具能够生成与专业单反相机拍摄效果相媲美的人像作品…...
Realistic Vision V5.1 虚拟摄影棚实战:利用GitHub管理自定义模型与脚本
Realistic Vision V5.1 虚拟摄影棚实战:利用GitHub管理自定义模型与脚本 你是不是也遇到过这样的烦恼?好不容易在本地电脑上,用Realistic Vision V5.1模型调出了一套完美的参数组合,生成的人像照片质感堪比专业影棚。结果换台电脑…...
Insanely Fast Whisper终身学习模型:持续优化的语音识别系统设计
Insanely Fast Whisper终身学习模型:持续优化的语音识别系统设计 【免费下载链接】insanely-fast-whisper 项目地址: https://gitcode.com/GitHub_Trending/in/insanely-fast-whisper 你是否还在为语音识别速度慢、准确率低而烦恼?是否希望拥有一…...
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值 1. 从模糊到高清:AI超分的革命性突破 你是否曾经遇到过这样的情况:AI生成了一张很有创意的图片,但分辨率太低,放大后全是马赛克;或者找到…...
经典位运算和计算各进制下的各位数字之和
(num & (num - 1)) 是检测2的幂的经典位运算方法,结果为0即为2的幂 if ((num & (num - 1)) ! 0) 按位与: 0 & 0 0 0 & 1 0 1 & 0 0 1 & 1 1 全 1 才 1,有 0 则 0 int lowbit(int x) { …...
