在金融投资领域,面对海量的数据和复杂的市场波动,投资者常常感到无从下手。本文将为你揭示如何利用AI技术打造一个专属的“盘后军师”。通过构建一个多维度的“TAV”技术分析框架,结合Python脚本和HTML模板,实现从数据获取到决策建议的自动化流程。只需3步,你就能在收盘后快速生成清晰的决策看板,轻松把握买卖时机,让投资决策更加科学高效。
炒股的朋友,有没这样的感觉:好不容易忙完工作挤出点时间,面对铺天盖地的K线、均线、MACD…几十个指标挤在手机屏幕里,两眼一抹黑,根本不知道从哪看起。
就算找到些分析点评,也全是“震荡格局,高抛低吸”之类的行话,看完更蒙圈了。
其实,核心痛点就一个:花大把时间看了一堆数据,最后还是不知道明天到底该买还是该卖。 但市面上的工具都「花里胡哨」的,抓不住重点。
别急,AI来了。
今天,我们就来用AI手搓一个专属于你的“盘后AI军师”。它能帮你把复杂的数据,变成一张清清楚楚的决策看板。收盘后,你只需要花30秒扫一眼它生成的报告,就能立刻知道:“明天该在什么价格区间买?什么价格区间卖?”
最终的报告长这样:
废话少说,直接上干货。
在进入AI实操前,我们得先搞明白,金融数据分析到底在干嘛?
说白了,投资赚钱的底层逻辑就四个字:低买高卖 。
而所有复杂的金融数据分析,本质上都是在回答两个问题:
为了回答这两个问题,传统的金融数据分析,通常是这么干的:
这个流程逻辑上没问题,但对于我们普通人来说,每一步都是坎:
幸好,AI来了。
AI的优势在于,它能把上面这些繁琐、重复、耗时的工作自动化,7×24小时不知疲倦地帮你处理海量数据、计算指标,并基于你设定的规则给出初步的分析结论。
我们的目标,就是用AI把传统分析流程升级,打造一个从数据获取到决策建议的自动化工作流。
在做任何分析之前,必须有“章法”。
直接把一堆指标扔给AI,它也会蒙圈。我们需要一个简单、有效的分析框架来指导我们的AI。
这里,我介绍一个我自己常用的“TAV技术分析框架”。
“TAV”分别代表趋势(Trend)、动量(Momentum/Acceleration)、成交量(Volume) 。这个框架的核心思想是,一个健康的买卖信号,通常需要这三个维度的共振确认,从而过滤掉大部分假信号。
解决问题:判断当前股价处于上升、下降还是震荡通道。顺势而为是交易的第一原则。
核心指标:移动平均线 (Moving Average, MA) 。比如MA5、MA10、MA20形成多头排列,代表短期趋势向上。MA20/MA60是重要的中长期趋势支撑/压力位。
解决问题:衡量价格变化的“加速度”。趋势可能向上,但如果动能衰竭,就可能面临回调或反转。
核心指标:相对强弱指数 (RSI) 和 平滑异同移动平均线 (MACD)。RSI进入超买区(>70)警示回调风险,进入超卖区(<30)预示反弹可能。MACD的金叉/死叉则提供了买卖的动量信号。
解决问题:成交量是价格变动的“燃料”。价涨量增是健康的上涨,价涨量缩则可能是上涨乏力。
核心指标:成交量柱 (VOL) 。在关键位置(如突破压力位、跌破支撑位)必须有成交量的配合,信号才更可靠。
基于“TAV框架”,一个好的买入信号,往往是“趋势向上 + 动量启动 + 成交量放大”的组合。反之,一个卖出信号可能是“趋势向上 + 动量衰竭(超买)+ 成交量异常 ”。
OK,有了这个框架,我们就可以设计出更靠谱、更有逻辑的AI提示词,让AI成为一个懂“TAV”的分析师。
现在,我们把“TAV框架”的思想,注入到我们的AI工作流中。
巧妇难为无米之炊,第一步就是要搞定稳定、免费的数据源。这里推荐两个项目:
AKshare,一个非常牛逼的开源Python财经数据库,专门提供国内股票、基金、期货等金融市场的实时/历史数据,由国内开发者维护,数据源稳定覆盖沪深交易所官方及主流财经平台。
项目地址:https://github.com/akfamily/akshare
中文文档:https://akshare.akfamily.xyz/
AKTools,是用fastapi把AKShare封装成HTTP API接口的工具,可以让不同的平台调用API获取金融数据
项目地址:https://github.com/akfamily/aktools
因为后续我们还要通过Dify搭建自动化的AI金融数据分析Agent,所以选择后者。
# 安装aktools
pip install aktools
# 命令行获取股票数据(示例:比亚迪002594)
aktools stock_zh_a_hist –symbol 002594 –period daily
安装后,通过http://你的服务器地址/api/public/stock_zh_a_hist,就能拿到结构化的历史行情数据(JSON格式),包含日期索引下的价格和成交量,为后续计算指标奠定基础。
结果如下图:
拿到原始行情数据后,最关键的一步来了。我们将利用前面的“TAV框架”来设计一个结构化的提示词,指挥AI进行分析。
这个提示词的核心,就是将“TAV框架”的操作步骤,直接翻译成AI的任务指令。
# 角色:基于TAV框架的Python量化分析脚本生成专家
你是一位顶尖的Python量化工程师,并且精通“TAV技术分析框架”(趋势、动量、成交量)。你的任务是**编写一段高质量、可直接运行的Python脚本**。该脚本的输入是一段包含股票日线行情数据的JSON字符串,输出则是一个包含所有计算结果的、结构化的JSON对象。
## 脚本开发要求
**1. 输入数据格式:**
脚本必须能够处理以下格式的JSON字符串作为输入。这是一个包含多个字典的列表,每个字典代表一天的行情数据。
“`
json
[
{“日期”:”1991-04-03T00:00:00.000″,”股票代码”:”000001″,”开盘”:49.0,”收盘”:49.0,”最高”:49.0,”最低”:49.0,”成交量”:1,”成交额”:5000.0,”振幅”:0.0,”涨跌幅”:22.5,”涨跌额”:9.0,”换手率”:0.0}, …更多数据…
]
“`
**2. 核心任务:在Python脚本中实现TAV框架的计算逻辑**
你的脚本必须包含以下计算功能,请使用`pandas`和`talib`(如果需要)等标准库来实现:
**Part 1: 趋势分析 (Trend Analysis):**
– 计算 **MA5, MA10, MA20**。
– **[关键]** 编写函数判断最新的均线排列状态(返回 “多头排列”, “空头排列”, “粘合震荡”)。
**Part 2: 动量分析 (Momentum Analysis):**
– 计算 **RSI(6日, 12日)**。
– 计算 **MACD (DIF, DEA, MACD柱)**。
– **[关键]** 编写函数判断最新的MACD状态(返回 “金叉”, “死叉”, “顶背离”, “底背离”, “高位钝化” 等)。
**Part 3: 成交量分析 (Volume Analysis):**
– 计算5日平均成交量。
– **[关键]** 编写函数判断最新的成交量状态(返回 “显著放量”, “温和放量”, “缩量”, “地量”)。
**Part 4: 综合决策逻辑 (Decision Synthesis):**
– **[关键]** 编写函数,**严格根据TAV框架的组合信号**来计算建议的买卖区间。
– **买入区间 (buyRange) 计算逻辑**: 一个强买入信号应满足以下条件组合:**趋势**上,价格回踩MA20等关键支撑位;**动量**上,RSI处于低位或MACD形成金叉;**成交量**上,出现企稳或放量迹象。基于此,计算出一个合理的潜在买入价格范围(例如,以支撑位为下限,支撑位上浮3-5%为上限)。
– **卖出区间 (sellRange) 计算逻辑**: 一个强卖出信号应满足以下条件组合:**趋势**上,价格触及前期高点等关键压力位;**动量**上,RSI进入超买区或出现顶背离;**成交量**上,出现天量或上涨缩量。基于此,计算出一个合理的潜在卖出/止盈价格范围(例如,以压力位为上限,压力位下浮3-5%为下限)。
**Part 5: 生成AI分析文本 (aiAnalysis):**
– **[关键]** 编写函数,将前面计算出的**TAV状态文本拼接**成结构化的分析结论。例如,将均线状态、MACD状态、成交量状态组合成一段话。
**3. 脚本输出格式:**
脚本的最终输出必须是一个**打印到控制台的、符合以下结构和键名(key)的JSON对象**。所有数值只取最新的一个(通常是输入数据的最后一行所对应的)。
“`
json
{
“symbol”: “从输入数据中提取”,
“name”: “(可留空或设为与symbol相同)”,
“currentPrice”: “最新收盘价”,
“changePercent”: “最新涨跌幅”,
“sellRange”: {“min”: 0.0, “max”: 0.0},
“buyRange”: {“min”: 0.0, “max”: 0.0},
“aiAnalysis”: {
“trend”: “TAV-趋势: [脚本生成的均线状态]”,
“momentum”: “TAV-动量: [脚本生成的RSI/MACD状态]”,
“volume”: “TAV-成交量: [脚本生成的成交量状态]”,
“recommendation”: “综合建议: [基于TAV组合信号生成的简短建议]”,
“risk”: “风险提示: [基于TAV组合信号生成的简短风险提示]”
},
“techData”: {
“MA5”: 0.0,
“MA10”: 0.0,
“MA20”: 0.0,
“RSI6”: 0.0,
“RSI12”: 0.0,
“MACD”: {“dif”: 0.0, “dea”: 0.0, “bar”: 0.0, “status”: “[脚本生成的MACD状态]”}
}
}
“`
**4. 脚本质量要求:**
– **注释清晰**:为关键函数和计算步骤添加必要的注释。
– **代码健壮**:处理可能的数据不足(例如历史数据少于26天无法计算MACD)的边界情况。
– **依赖说明**:在脚本开头用注释明确指出需要安装的Python库(如 `# requirements: pandas, talib`)。
—
请现在开始编写这段Python脚本。
“`
注意看这个提示词的设计,才是AI辅助分析的精髓所在。我们没有让AI直接去“思考”和“分析”——因为这很容易产生幻觉。
相反,我们把AI定位成一个顶级的“代码生成器” 。我们利用“TAV框架”作为蓝图,指挥AI为我们编写一套完整的、可执行的Python计算脚本。
这样做的好处是:
简单来说,我们让AI负责它最擅长的“将自然语言规则转化为代码” ,而把最关键的“计算和逻辑执行” 交给了确定性的Python脚本。这样做出来的结果,才真正谈得上“靠谱”。
整个过程可以拆解为两个小动作:
动作一:运行Python脚本,生成分析结果JSON
饼干哥哥小贴士:上面这一系列动作,我们可以用Dify工作流串起来,实现一键自动化。这样每次收盘后,你只需要点一下,就能自动完成从“获取数据”到“生成分析结果”的全过程。
动作二:用HTML模板「动态」展示JSON结果
有了包含分析结果的analysis_result.json文件,最后一步就是把它变成我们开头看到的那种酷炫、直观的HTML报告。
直接让AI生成HTML报告最大的坑就是不稳定。今天生成的报告可能很完美,明天更新一下数据,排版可能就全乱了。
所以,我们采用“模板 + 数据分离” 的策略,这才是保证稳定输出的关键。
1. 先让AI生成HTML模板:让AI扮演“个人股票投资决策仪表盘HTML页面生成专家”,使用BentoGrid布局、GSAP动效等技术,设计一个漂亮的、不包含具体数据的网页模板。
提示词:
# 角色:个人股票投资决策仪表盘HTML页面生成专家
## 简介:
– 描述:专业的股票投资分析师和HTML动态网页设计专家,擅长创建符合现代设计趋势和技术要求的个人投资决策支持仪表盘页面。
## 背景:你是一位资深的股票投资顾问和网页设计专家,专门将个人持仓股票的行情数据、技术指标和AI分析结论转化为视觉吸引力强的HTML动态网页。你熟悉各种现代web技术和设计趋势,尤其擅长BemtoGrid布局和GSAP动效。
## 目标:生成一个完整的、可直接使用的HTML页面,用于展示个人持仓股票的投资决策支持仪表盘。该页面应符合所有技术和设计要求,能够清晰、直观地展示股票的行情、技术指标和AI分析结论,帮助用户做出科学的买卖决策。
## 技术要求:
1. 使用BemtoGrid布局系统
2. 集成GSAP动效和FramerMotion
3. 基于HTML5和TailwindCSS开发
4. 响应式设计和大小字体对比应用,在手机、电脑多端能够适配。
## 设计规范:
1. 根据股票特性选择适当的背景颜色和主题色调
2. 应用超大字体和视觉元素突出重点,创造视觉对比
3. 中英文混排,大字体为主,英文小字点题
4. 使用简洁的矩形元素进行数据可视化
5. 高亮色透明效果用于边框,避免不同高亮色互相覆盖
6. 所有数据图表采用脚注样式,保持主题一致性
7. 避免使用emoji作为主要图标
## 输出格式:请直接提供完整的HTML代码,包含所有必要的CSS和JavaScript,确保代码可以直接复制使用并正常运行。
代码应包含:
1. 完整的HTML结构
2. 内联或外部引用的CSS(包括TailwindCSS)
3. 必要的JavaScript(包括GSAP和FramerMotion)
4. CDN引用和其他必要的资源链接
## 数据输入说明:你将获得以下三个数据变量,请在页面中合理引用和可视化:
-**recent_data**:近30天的原始股票行情数据(JSON字符串,包含日期、开盘、收盘、最高、最低、成交量、成交额、涨跌幅等字段)
– **tech_data**:基于recent_data计算的技术指标(JSON字符串,包含MA5、MA10、MA20、RSI6、RSI12、MACD等常见技术指标)
– **text**:AI大模型生成的股票分析结论(字符串,包含趋势判断、买卖建议、风险提示等)
## 初始化:
作为个人股票投资决策仪表盘HTML页面生成专家,我已准备好为您创建一个完整的HTML页面。请直接使用上述数据变量,生成可用的HTML代码,页面的核心目标:
– 核心目标:5秒内掌握所有持仓股票关键状态- 需要包含的关键元素:股票持仓价值概览,卖出区间是【】、买入区间是【】,技术指标做出这个判断的原因。
– 其他:需要满足多支持仓股票的展示(同一支股票只需要显示一次),AI分析结论的高亮展示,现代感强、交互友好、可直接嵌入网页的仪表盘页面
2.在模板中预留数据接口:在HTML模板中,用JavaScript写一小段代码,功能是读取一个外部的JSON文件,并把JSON里的数据填充到网页的指定位置。
参考提示词:
为了能让后续个人股票投资仪表盘都能用更稳定的模板展示(例如同样的结构、指标等),请你根据前面的HTML报告模板模板,让html中的数据指标直接读取数据文件,这样下次我直接更新数据文件,html就能读取到最新的数据。请给我HTML模板,这是股票输出示例的数据文件JSON【请添加附件】。
要求:
1. 这个html我是直接通过chrome等现代浏览器打开的,你需要给我一个最简单且能确保正常读取到数据文件的方式
2. 我没有服务器,是纯html文件运行
3. 运行方式:通过用户上传json文件的方式让html读取json数据,也就是说需要在html里新增一个上传文件的功能。
4. json数据文件要保持简单,确保json里只需要存储指标和对应的数据、以及相关的文字,其余的复杂部分都写到html模板里
3.一键上传,报告生成:我们只需要让HTML模板支持本地文件上传。每次收盘后,你把刚刚生成的analysis_result.json文件上传到这个网页,它就会自动刷新,显示最新的决策看板。
最终,你就得到了一个可以长期、稳定使用的“盘后AI军师”。
更进一步的,也就是我们下个阶段会做的,可以借助Dify「模板转换」节点,在工作流里自动更新HTML报告
参考:
Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)
Jinja2引擎解析|6大应用场景实战总结:AI做金融分析的风险与正确姿势
好了,分析到这里就讲完了。但这套AI工作流是不是就完美无缺了呢?当然不是。
AI做金融分析,最大的问题就是“幻觉”和“黑盒” 。
而我们的这套工作流,恰恰就是为了规避这两个最大的坑。
1. 如何规避“计算幻觉”?
错误姿势:直接向AI提问:“帮我分析这只股票,告诉我明天该买还是卖?”——AI可能会一本正经地胡说八道。
正确姿势:我们的策略是让AI生成可执行的Python代码,而不是直接给出分析结果。
在提示词里,我们利用“TAV框架”把分析逻辑固化下来,让AI把这套逻辑翻译成代码。我们信任的是代码的确定性,而不是AI的“创造性”。
2. 如何打开“决策黑盒”?
错误姿势:只看AI给出的最终建议(“买入”或“卖出”),但不关心理由。
正确姿势:在我们的报告中,除了“买卖区间”这个结论,还必须清晰地展示“aiAnalysis”(TAV各维度的判断)和“techData” (MA、RSI、MACD等核心指标的数值)。
这样,我们就能快速验证AI的建议是否符合我们设定的TAV分析逻辑,真正做到心中有数。
在AI唾手可得的时代,单纯会用AI提问已经远远不够了。能够像这样,设计和搭建出一套能持续解决自己真实痛点、并将其转化为高效决策动力的自动化系统,或许才是我们每个普通人,都能掌握的、真正的“超能力”。
本文由人人都是产品经理作者【饼干哥哥】,微信公众号:【饼干哥哥AGI】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。