
今天收盘之后我没有先翻聊天记录而是让这套“AI观财经”的管道把全天行情完整跑了一遍。这个栏目顶着AI的名头背后其实不是某个大模型在自动写稿而是一套从行情采集、指标计算、信号识别到叙事生成串联起来的工作流。这篇文章就以2026年1月27日的盘面为样本把整条链路拆开讲清楚AI到底从哪些维度看大盘每个维度看什么指标这些指标之间怎么交叉验证最后又是如何产出这样一份复盘报告的。先交代一句文中出现的具体行情数字是我为了展示分析流程构造的演示样例并非2026年1月27日真实盘面的成交数据。看这篇文章真正值得关注的不是那几个数字而是拿到任意一天的行情之后AI是怎么思考的、每一步为什么要这样处理。这其实是很多朋友自己搭复盘系统时最容易卡住的地方——不是不会写代码而是不知道该让AI“看”什么。这个栏目适合两类人一类是每天盯盘但总觉得复盘没有章法的普通投资者另一类是正在做自动盯盘工具的开发者。前者可以顺着这套框架理解盘面逻辑后者可以直接参照我的工程实现来落地自己的版本。1. 这个“AI观财经”栏目到底在做什么1.1 为什么需要用AI来看盘先说说我自己复盘时的真实感受。人工盯盘有三个绕不开的短板这也是我当初决定把这套流程交给AI的原始动力。第一是覆盖面不够。一个人能盯住的K线数量是有限的十几只票就算很仔细了。但市场上的板块轮动是几十个板块、几千只股票同时在跑光靠肉眼拼不出全局图景。我看过很多复盘文章某天大面积下跌文章标题写“市场惨淡”但实际有十几个板块在悄悄收红这种结构性信号很容易被忽略。第二是口径一致性差。同样一根放量阳线昨天心情好可能解读为“资金进场”今天被套了可能解读成“诱多”。人的情绪一定会影响判断这是生理层面的东西靠意志力克服不了。AI没有这个烦恼参数定下来之后同样的输入必然给同样的输出。第三是效率问题。收盘后到睡觉前能用来想逻辑的时间就那么两三个小时。如果把这段时间全部花在翻数据、算涨跌家数、统计涨停板上那留给真正重要的逻辑推演几乎没剩多少精力。所以这套“AI观财经”的定位从来不是取代复盘的人而是先把“观察类”工作自动化。机器负责全市场扫描、指标计算、异常标记人负责给这些信号注入语境、判断优先级、做最终决策。搞清楚这个分工后面看到AI判断和主观经验不一致时就不会慌张。1.2 “AI观财经”的整体分析框架我常把这套流程比作一次体检。体检不会一上来就给结论而是先抽血化验然后把化验结果交给医生综合判断最后才给你一张看得懂的报告单。对应到盘面复盘上整条链路拆成四步取数、计算、识别、表达。取数解决的是“数据够不够全”计算解决的是“指标到底怎么算”识别解决的是“哪些信号重要、哪些是噪音”表达解决的是“怎么把这些信号写成人类能直接阅读的复盘报告”。AI在“计算”和“识别”这两个环节最强的地方是标准化。比如“缩量”的定义我设定的标准是当日成交额处于近20日30%分位以下。这个规则不会因为心情而改变一旦触发就标记没触发就不提。但AI最弱的是语境理解比如临近春节这个时间窗口历史上资金活跃度往往偏低模型如果没有相关字段它不会自动知道这件事。所以我会把“日历效应”处理成独立的特征字段在交易日历里预置节点让模型在解释缩量时能够参考“春节前窗口”这个背景变量。这四步环环相扣任何一环出错都会传导到最后的报告里但每一环的坑不一样后面我逐个拆开讲。2. 数据从哪来盘面复盘的底层数据架构2.1 行情数据源与自动采集这套系统里数据是所有分析的起点。我尝试过几家公开的行情数据接口整体体验差别不算大免费档足够做盘后复盘但都有每分钟调用次数限制所以不能盘中频繁请求只能做定时拉取。我现在的采集策略是每天15点10分触发一次全市场日线数据拉取选择15点10分而不是15点整是给数据源留出结算缓冲时间避免拿到未最终确认的盘中快照。盘中时段只拉少数宽基指数的分钟线用来生成分时描述控制整体数据量。字段方面每只股票需要记录开盘价、最高价、最低价、收盘价、成交量、成交金额、涨跌幅、换手率以及当日的交易状态标记。交易状态这个字段特别容易被忽略但也特别重要。停牌股的成交量是0如果不做筛选直接把0丢进全市场平均涨幅计算结果会被严重拉低AI后续所有解读都会建立在错误前提上。整个采集环节坚持一条底线只用公开接口不碰任何非公开数据渠道。合规性比效率重要得多这也避免了数据源突然关闭导致整个管道停摆的风险。所有原始数据落地到本地数据库后接下来才是真正麻烦的清洗环节。2.2 数据清洗与统一口径数据清洗这件事听起来没什么技术含量但复盘报告出错大概率就出在这一步。我踩过的坑可以归纳成三类。第一类是单位不一致。不同数据源里成交量有的以“股”为单位有的以“手”为单位还有的会直接给你成交金额。如果混着用AI报告里可能把量能放大好几倍。我的处理方式是在入库前做强制映射所有成交量统一换算成“手”所有成交额统一换算成“万元”单位换算只允许在入库阶段发生一次计算层只消费标准化后的数据。第二类是复权问题。分析长期走势要用前复权价分析当天盘口表现则要用不复权价。这两个口径下的涨跌幅可能差很多。这套系统同时保留原始价格和复权因子用哪个口径取决于具体指标但绝不混用。第三类是交易日历对齐。A股市场偶尔会有临时休市或调休安排如果只按周一到周五来跑数据很容易对着空数据表做分析。我维护了一张交易日历表所有行情数据与日历左连接某天缺数据就直接标记为空而不是用前一天的数值硬补。宁可让AI知道“这天没数据”也不能让它把昨天的数据当成今天的来解读。这一步做完之后数据才算是真正“干净”了。接下来的分析维度才有了可靠的地基。3. 从四个纬度拆解今日大盘2026-01-27演示复盘先放一张演示数据表后面每个维度都会围绕这张表展开。观测项演示数值初步读法主要股指涨跌幅-0.35%权重指数偏弱但未见恐慌两市成交额9683亿量能收缩观望氛围浓厚上涨家数2147家下跌面略大于上涨面下跌家数3092家空头略占上方但未到极端涨停家数46家赚钱效应一般跌停家数12家尚未出现系统性风险主力资金净流入-82.4亿大单资金偏谨慎炸板率32%封板意愿不强短线资金犹豫这八个数字单独拆开看都很平淡但放到一起能拼出一个相对清晰的市场画像这是一个缩量、分化、情绪中性偏弱、主力资金防守的窗口期。落到“1月27日”这个时间点离春节还有三周左右历史上这个窗口的资金活跃度往往偏低这种季节性背景会加重观望情绪。下面按四个纬度逐个展开。3.1 第一纬度指数与成交量的温度计指数涨跌是大家最直观关注的数字但我看盘从来不看单一涨跌幅。指数只是一个体温计成交量才是心跳。体温略低但心跳平缓和体温略低但心跳急促完全是两种不同的市场状态。演示数据里主要股指跌0.35%两市成交额9683亿。这个跌幅放在日常波动里并不大但量能缩得比较明显。量缩价跌说明卖压并不汹涌但买方意愿同样不强多空处于僵持状态。如果只看指数跌幅你会觉得“今天还行”但叠加缩量之后解读方向就变了市场没有方向资金在等待。AI在这一纬度会计算三个指标。当日涨跌幅、近5日累计涨跌幅、以及成交额在过去20个交易日中所处的分位。比如演示数据里成交额处于近20日39%分位虽然缩量但不算极端报告里就中性表述如果低于30%分位才会被标记为“缩量显著”。编程实现上是一个简单的分位数计算但正是这种阈值化的处理让AI报告不会把每个普通波动都写成惊天动地的大事件。3.2 第二纬度板块轮动与资金迁移看大盘只看指数还不够因为指数是被权重股“平均”过的结果。同一根阴线背后可能是权重护盘而个股普跌也可能是题材活跃但权重拖累这两种情况的市场含义完全相反。演示数据里银行板块逆势收红地产链和部分题材板块回落。AI需要回答的问题不是“哪些板块涨了”而是“钱从哪里来、到哪里去”。我的做法是把板块涨幅榜和资金净流入榜做交叉验证。如果一个板块涨幅高但资金净流入排名不高说明大概率是个别权重股拉起来的板块内部并没有形成广泛合力如果资金流入靠前但股价没涨说明有资金悄悄潜伏但市场情绪不配合需要持续跟踪。基于这种交叉验证AI会把板块归成三类主线、轮动、退潮。主线要求连续两日资金净流入且涨幅居前轮动是单日异动但持续性未确认退潮则是连续资金净流出且跌破了关键均线。这个分类逻辑可以写成一个打分函数每个板块每天自动归类。这样报告里写“银行板块逆势走强”时背后的判断依据是明确可追溯的。3.3 第三纬度情绪指标与风险偏好如果说指数和板块是骨架情绪指标就是血管里的温度。演示数据里涨停46家、跌停12家、上涨家数占比约41%、炸板率32%。这套组合对应的情绪判断是中性偏弱且短线资金活跃度明显下降。这里有个关键指标很多人不重视炸板率。炸板率是指盘中曾涨停但收盘没封住的个股占所有触板个股的比例。炸板率超过30%说明封板资金不坚决第二天这些个股容易低开短线资金接力意愿就会进一步下降。配合“昨日涨停股今日平均溢价”这个指标一起看效果更好。如果昨天涨停的票今天平均溢价为负说明昨天追涨停的人今天整体是亏钱的这对市场情绪是直接的打击。AI在这里的职责是把多个情绪指标合并成一个“情绪温度值”。打分规则并不复杂涨停家数、跌停家数、炸板率、涨跌家数比、昨日涨停今日溢价各占权重加权后映射到“冰点、低迷、中性、活跃、亢奋”五档。温度值的好处是直观但它有一个致命缺陷时效性非常强。今天的情绪温度只代表今天隔夜之后如果外部环境变化这个温度对明天的参考价值就会大打折扣。所以报告里永远写“今日情绪温度”不写成“市场当前处于某阶段”这种跨周期的判断。3.4 第四纬度技术形态与关键点位技术分析本质上是在历史价格走势里找概率优势。演示数据里主要股指收在5日均线下方、20日均线上方MACD指标的快慢线处于粘合状态没有明确死叉布林带中轨基本走平。这组形态翻译成人话就是短期均线转弱中期趋势尚未破坏指数处在一个多空分水岭附近的纠结状态。关键点位的计算则是把最近30日的高低点、成交密集区、主要均线位置全部拉出来凑成支撑和压力两个区间。但AI在输出技术判断时我强制要求使用条件句不写预言式结论。比如“如果放量跌破20日均线技术形态会转弱需警惕进一步调整如果收复5日均线并伴随成交额放大则短期修复信号成立”。条件触发之前AI不预判走向。这样做是因为技术形态本身是概率语言不是预言。AI最擅长的是按规则计算位置而不是拍脑袋预测。把“如果怎么样就怎么样”的条件逻辑写死模型就不会脑补行情报告的可信度反而更高。4. AI是如何把这些信息变成一篇复盘报告的4.1 提示词工程让大模型学会看盘从数据到报告中间隔着提示词工程。这块我的核心原则是大模型不要直接接触原始数据只接触“数据快照”和“预筛线索”。数据快照由程序生成包含当天最重要的结构化信息。我给大模型的提示词结构大致是这样你是一名A股盘面复盘分析师。以下是2026年1月27日收盘后的数据快照。 规则 1. 所有数字以快照为准严禁改写任何数值。 2. 只分析今天不要预测明天。 3. 重要信号必须标注归因级别确定 / 倾向 / 存疑。 4. 输出结构固定为市场温度、板块观察、资金线索、关键点位、风险提示。 数据快照 [这里注入由程序生成的结构化数据]这里面有两个细节值得琢磨。第一明确要求“不预测明天”这是为了切断大模型喜欢给建议和预言的惯性让它专注复盘。第二要求信号标注归因级别等于给每句话加了置信度标签。AI可以说“主力资金净流出可能反映了节前避险情绪”但必须落在“倾向”或者“存疑”这个级别里不能写成确定性的因果结论。这一步是整个提示词工程里最重要的一条约束。4.2 报告生成从数据到叙事的去噪过程很多人拿到行情数据之后第一个想法是把几千行数据全部丢给大模型让它直接生成报告。我试过效果非常差。大模型记不住那么多信息而且会在信息过载时自己“补”出一些看似合理但完全错误的数据。正确的做法是先让程序做一次去噪生成一个中间对象我叫它“盘面摘要”。盘面摘要只包含异常点、极值、背离关系这类真正有分析价值的线索。比如今日成交额9683亿处于近20日45%分位环比下降11.2%银行板块逆势上涨1.25%与大盘形成明显背离炸板率32%高于近20日均值约7个百分点。程序生成这几条线索之后大模型的任务就变成了“给线索排序、找逻辑关联、组织语言”。它不再需要自己从零分析只需要理解程序给出的信号并串联成叙事。关键数字由程序模板注入模型不能改写这就从机制上封堵了“AI编造数据”的路径。放一段程序生成盘面摘要的简化示意def build_snapshot(data) - dict: notes [] # 计算成交额分位 amount_pct percentile(data[amount], window20) if amount_pct 30: notes.append(f今日成交额处于近20日{amount_pct:.0f}%分位缩量显著) # 板块与大盘背离检测 sector_divergence sectors[ (sectors[ret] 1) (sectors[amount_pct] 0) ] if not sector_divergence.empty: notes.append( f板块{sector_divergence.index.tolist()}逆势上涨 需关注资金避险或结构性主线 ) # 炸板率异常 if sector_break_rate sector_break_rate_avg_20d: notes.append( f炸板率{sector_break_rate:.0f}% 高于近20日均值短线接力意愿偏弱 ) return {notes: notes, raw_keys: list(data.columns)}这段代码只是示意真正的实现会复杂得多但核心思想是一致的让模型看到的不是海量原始数据而是浓缩后的线索清单。模型的任务是从已有的线索里讲出逻辑自洽的故事而不是自己发明线索。5. 实操中的常见错误与排查心得5.1 数据口径不一致的坑这个坑我栽过不止一次。最典型的一次是某个数据源的成交量单位是“股”而我在入库时没有做映射脚本按“手”的假设直接计算结果整个量能数值翻了一倍。AI基于错误数据写出了“放量突破”的结论而实际上那天市场是明显缩量。方向完全反了。从那以后我立了一条铁律任何字段入库时都存成三件套——原始值、单位、口径。计算层只消费标准化后的字段单位换算只允许在入库阶段发生一次。你可以先花半天时间把字段映射关系表建好也不要在每次计算时临时处理单位。这个转换看起来不起眼但它是数据管道里最容易埋雷的地方。5.2 情绪指标误用案例情绪指标单独拎出来看很容易误判。比如上涨家数占比41%看起来空头占优但如果同时涨停有46家、跌停只有12家市場就不是一边倒的恐慌而是结构性分化。只因为看到了“多数下跌”就写“市场普跌”会把读者带偏。AI在做情绪分析时我会强制它同时呈现“广度指标”和“高度指标”两个维度。广度说的是涨跌家数高度说的是涨停跌停和连板高度。广度与高度背离时通常意味着资金在特定方向上寻找机会而不是全面撤退。5.3 大模型幻觉如何在复盘里控制大模型在写财经内容时有一个共性毛病它会为了让句子读起来更通顺自动补充一些不存在的数据或因果关系。控制幻觉不能靠提醒它“别编”来实现要从机制上解决。我的做法有四条。第一所有关键数字由程序注入提示词明确禁止模型改写。第二报告末尾自动附加一份“数据快照存根”把当天核心数值以纯文本形式重新打印一遍方便快速核对。第三设定归因分级模型只能说“板块上涨可能受到避险资金推动”不能说“板块上涨是因为避险资金推动”。第四每天报告生成后我会用五分钟手动核验开头标题里的三个核心数字。这个习惯坚持下来之后基本没有让错误结论流出过。风险现象可能的根因排查方法报告里的涨跌幅与源数据对不上模型在生成时悄悄改了数字提示词禁止数字改写数字由模板注入关键板块整个消失预筛逻辑里阈值设得太高查看日志中盘面摘要的筛选条件报告语气过于确定模型默认给结论加了因果引入归因分级强制标注确定/倾向/存疑量能方向反了不同数据源单位未统一入库前完成单位标准化计算层不碰原始值6. 用AI复盘很容易但别让AI替你做决策6.1 分析是辅助决策得有框架AI复盘能告诉你市场温度大概是几度但它不能告诉你该不该加衣服。投资决策涉及仓位、风险偏好、持有周期这些变量每一环都必须人自己判断。如果因为AI说了一句“情绪冰点”就满仓进场那不是工具的问题是使用方式的问题。我给自己的约束是三条不追涨、不满仓、不加杠杆。这不是什么高深的策略只是长期活在这个市场里的底线。AI让信息获取更高效了但并没有改变风险的本质。复盘的目的是理解今天发生了什么而不是让机器告诉自己明天该做什么。这两件事之间的边界使用者心里必须清楚。6.2 我踩过几次坑之后总结出来的纪律这套系统刚上线时我犯过一个低级错误。盘中临时拉取了一次数据触发的时间戳没有校验导致部分盘中数据混进了收盘快照。AI立刻在报告里写“午后跳水成交放大”但实际情况只是盘中瞬间波动。后来我加了硬性校验所有数据的时间戳必须严格等于当日收盘时点否则程序直接拒绝生成报告。从那以后我给自己定了四条纪律。第一数据验证永远优先于一切分析任何模块输出之前先做最小校验。第二当多个信号之间存在矛盾时主动在报告里降级表述使用“分歧”“存疑”这类词不硬凑结论。第三报告模板固定但观点不固定。模板只是骨架内容完全由数据驱动不能因为昨天这么写今天也顺手这么写。第四每天留出五分钟做“人机对账”手动核对报告里的三组核心数字不把AI当绝对权威。这套“AI观财经”用到现在我最大的体会是AI最大的价值不是告诉我今天涨了还是跌了而是逼我把每一天的复盘都拉到同一条标准化的流水线上。行情会变板块会换但一套可靠的分析框架不会。如果你也想搭一套自己的我的建议是别急着写报告先把数据管道夯实。数据干净AI才有存在的意义数据不干净再聪明的模型也只是在制造精美的错误。