用stock-trading-ml回测交易策略:10美元模拟资金下的买卖信号生成全流程
用stock-trading-ml回测交易策略10美元模拟资金下的买卖信号生成全流程【免费下载链接】stock-trading-mlA stock trading bot that uses machine learning to make price predictions.项目地址: https://gitcode.com/gh_mirrors/st/stock-trading-mlstock-trading-ml 是一个基于机器学习做股票价格预测的开源项目它自带一套完整的回测交易策略先用 LSTM 神经网络预测下一日开盘价再根据预测与实际价格的偏差自动生成买入/卖出信号最后用10 美元模拟资金模拟真实交易并计算最终收益。本文将以新手视角带你走完从数据下载、模型训练到买卖信号生成与收益结算的全流程全程无需写一行业务代码。一、stock-trading-ml 回测交易策略的核心思路这个项目的设计非常清晰整个回测交易策略可以拆解为四个环节获取数据从 Alpha Vantage 接口下载某只股票的历史行情数据预处理归一化 滑动窗口切分生成训练样本模型训练用 LSTM 神经网络学习历史 50 天行情 → 下一日开盘价的规律回测与信号生成用测试集跑预测当预测涨幅超过阈值就标记买入跌幅超过阈值就标记卖出并按 10 美元起步的资金规则结算收益。整个流程分布在 5 个 Python 文件中每个文件各司其职save_data_to_csv.py负责下载数据、util.py负责预处理、basic_model.py与tech_ind_model.py负责训练模型、trading_algo.py负责回测与买卖信号生成。对于只想体验回测效果的新手来说重点只需要理解最后一步。二、第一步下载股票历史数据回测的前提是数据。项目使用save_data_to_csv.py从 Alpha Vantage 拉取股票日线数据你需要先在creds.json中填入自己的免费 API Key然后执行python save_data_to_csv.py MSFT daily执行后会生成MSFT_daily.csv里面包含日期、开盘价、最高价、最低价、收盘价、成交量等字段这份 CSV 就是后续所有环节的原材料。三、第二步数据归一化与 50 点滑动窗口预处理原始股价动辄几十到上百美元直接喂给神经网络会导致训练不稳定。util.py中的csv_to_dataset函数负责两件关键工作MinMaxScaler 归一化把全部价格缩放到 0~1 区间让模型更容易收敛。上面那张对比图正是归一化前后的效果——数值范围从 0~120 变为 0~1而价格走势的形状完全保留。50 个历史点的滑动窗口history_points 50即用最近 50 个交易日的开高低收量数据预测第 51 天的开盘价。窗口每前进一天就生成一个新的训练样本。如上图所示灰色曲线是归一化后的价格序列绿色阴影区是 50 个历史点组成的滑动窗口红色圆点则是窗口结束后的下一日开盘价——这正是模型的预测目标。四、第三步训练 LSTM 价格预测模型项目提供了两套可选的模型架构basic_model.py仅使用 K 线数据的基础 LSTM 模型tech_ind_model.py双分支模型在 LSTM 之外额外接入技术指标SMA 均线、MACD 等预测精度通常更高。训练命令很简单python tech_ind_model.py训练约 50 个 epoch 后模型会保存为technical_model.h5这就是接下来回测要加载的预测大脑。五、第四步运行回测自动生成买卖信号这是全文的核心环节入口是trading_algo.py。脚本会加载训练好的模型对测试集后 10% 数据逐日执行以下判断用模型预测明日开盘价计算预测价与今日实际价的差值delta当delta 0.1预测大涨→ 记录一个买入信号当delta -0.1预测大跌→ 记录一个卖出信号。也就是说买卖信号并非来自 K 线形态而是来自机器学习模型的预测偏差。运行命令python trading_algo.py终端会打印类似buys: 23、sells: 19的结果并弹出一张可视化的回测图绿点代表买入点、红点代表卖出点、蓝线与橙线分别代表真实价格与模型预测价格一眼就能看出信号是否踩对了节奏。六、10 美元模拟资金如何计算收益信号生成之后compute_earnings函数会用10 美元模拟资金按时间顺序真实地交易一次遇到买入信号花 10 美元买入股票按当天价格换算成股数遇到卖出信号把手头股票全部卖出现金入账买卖交替进行直到信号耗尽最终打印earnings: $xx。这套规则把信号是否正确转化成了能否赚钱这个最直观的指标。如果模型预测准确10 美元会越滚越多反之收益可能为负这恰恰是回测的价值——在投入真金白银之前先用 10 美元虚拟资金验证策略。七、回测结果解读与风险提示回测的价值在于低成本验证但使用时请记住三点训练与测试必须分离项目用 90% 数据训练、10% 数据回测避免用答案考试的作弊式评估阈值可调trading_algo.py中的thresh 0.1是信号灵敏度调小信号更频繁、调大信号更稀少你可以按需实验历史回测 ≠ 未来收益市场是动态的过去有效的规律未来可能失效模拟资金收益仅供参考。八、快速上手清单最后给新手一份完整的上手清单克隆仓库并安装依赖pip install -r requirements.txt用save_data_to_csv.py下载数据用tech_ind_model.py训练模型用trading_algo.py回测并观察买卖信号与 10 美元资金收益。从数据到信号、从信号到收益stock-trading-ml 把机器学习炒股回测的全流程压缩到了几个命令之内。无论你是想学习 LSTM 时间序列预测还是想体验AI 炒股的乐趣它都是极佳的入门项目。试试修改util.py中的history_points或者换一只股票看看买卖信号会如何变化吧【免费下载链接】stock-trading-mlA stock trading bot that uses machine learning to make price predictions.项目地址: https://gitcode.com/gh_mirrors/st/stock-trading-ml创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

NICO瓦片地图开发教程:如何用Tiled JSON快速构建你的游戏关卡

NICO瓦片地图开发教程:如何用Tiled JSON快速构建你的游戏关卡

NICO瓦片地图开发教程:如何用Tiled JSON快速构建你的游戏关卡 【免费下载链接】nico a Game Framework in Nim inspired by Pico-8. 项目地址: https://gitcode.com/gh_mirrors/ni/nico NICO瓦片地图系统是这款PICO-8风格Nim游戏框架最实用的功能之一。无论你…

2026/9/22 0:20:44 阅读更多 →
在NAS与树莓派上部署OpenSubtitlesDownload:无头环境自动下载字幕完整攻略

在NAS与树莓派上部署OpenSubtitlesDownload:无头环境自动下载字幕完整攻略

在NAS与树莓派上部署OpenSubtitlesDownload:无头环境自动下载字幕完整攻略 【免费下载链接】OpenSubtitlesDownload Automatically find and download the right subtitles for your favorite videos! 项目地址: https://gitcode.com/gh_mirrors/op/OpenSubtitles…

2026/10/1 2:08:27 阅读更多 →
为什么选择 AXPhotoViewer:iOS 照片查看器开源库的 6 大核心优势

为什么选择 AXPhotoViewer:iOS 照片查看器开源库的 6 大核心优势

为什么选择 AXPhotoViewer:iOS 照片查看器开源库的 6 大核心优势 【免费下载链接】AXPhotoViewer An iOS/tvOS photo gallery viewer, useful for viewing a large (or small!) number of photos. 项目地址: https://gitcode.com/gh_mirrors/ax/AXPhotoViewer …

2026/9/29 20:23:08 阅读更多 →

最新新闻

SpringBoot迁移宝兰德BES 9.5.5信创改造避坑实战指南

SpringBoot迁移宝兰德BES 9.5.5信创改造避坑实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 7:30:44 阅读更多 →
STM32+树莓派+ROS2:扫地机器人全栈嵌入式工程实践

STM32+树莓派+ROS2:扫地机器人全栈嵌入式工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 7:30:44 阅读更多 →
使用 Node.js 读取文本文件并转换为行数组:同步与异步方案全解(30 seconds of code 实战指南)

使用 Node.js 读取文本文件并转换为行数组:同步与异步方案全解(30 seconds of code 实战指南)

教程文档 【免费下载链接】30-seconds-of-code Coding articles to level up your development skills 项目地址: https://gitcode.com/gh_mirrors/30/30-seconds-of-code 点击查看 免费下载 文本文件的读取与解析是服务端编程中出现频率最高的任务之一。本指南以 …

2026/10/5 7:30:44 阅读更多 →
电子信息本科四年规划:嵌入式与芯片方向倒推式学习路线

电子信息本科四年规划:嵌入式与芯片方向倒推式学习路线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 7:30:44 阅读更多 →
毕业论文怎么降AI?2026年必备教程:5款免费工具盘点与3招人工修改技巧

毕业论文怎么降AI?2026年必备教程:5款免费工具盘点与3招人工修改技巧

学弟学妹们,对着满页飘红的查重报告,看着居高不下的AIGC检测率,是不是瞬间心态失衡?明明熬了好几个通宵敲完的内容,被判定为AI生成,这份委屈实在难平。别着急,降AIGC率远没有想象中复杂&#xf…

2026/10/5 7:30:44 阅读更多 →
SpringBoot+Vue3订单管理系统全栈开发实战解析

SpringBoot+Vue3订单管理系统全栈开发实战解析

洗衣店订单管理系统,听名字是个不起眼的小业务系统,但真把它做扎实了,SpringBootVue3MyBatisMySQL这条前后端分离主链路里的弯弯绕绕基本都能摸一遍。我做这个项目不是为了交差,而是想完整体验一次从需求梳理、数据库设计、后端接…

2026/10/5 7:29:44 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →