ETF 季度轮动选基 · 双报告技能
把「行业主升浪 + 季节轮动 + 双报告交付」方法论落成一个可复用、可分发的工作流。
核心信条:一支 ETF 一年几乎只出现一次主升浪(2~3 个月窗口),抓住主线行情的主升浪,是普通人用最少时间精力获取最高回报的最优路径;而单一赛道终有尽,轮动吃肉无绝期——所以既要抓"当前热点主线",也要按"季节规律"预判"下一站主线"。
交付铁律:凡出可视化报告,必须同时产出「专业版 + 长辈版」两套并一起呈现(见下方"双报告强制规则")。
触发词 / 场景
- "帮我选下一个主线行业" / "下一个主线是什么" / "接下来轮到哪个行业"
- "当前市场热点主线" / "现在最热的主线" / "当前该买什么行业 ETF"
- "季节主线" / "这个季节炒什么" / "下个季度热门行业" / "季度行业热点轮动表"
- "选主线 ETF" / "按新广大高帮我筛行业"
- "我有 X 万,每个品种该买多少" / "给个配比方案"
- "我持仓了 xxxETF,该不该卖" / "帮我诊断持仓"
> 只要问题指向"行业主线选择 + ETF 落地 + 报告交付",即调用本技能。
核心方法论(必须内化)
- 新广大高 四字真言(选赛道):新=技术够新(新兴 vs 传统存量博弈);广=覆盖广度够广(多场景、能容纳大资金);大=想象空间够大;高=政策高度高+壁垒高+景气度高。句式:赛道要新,前景要广,空间要大,背书要高。(详见 references/kb.md 第三节)
- 主线 + 时机 双核驱动:选对高景气赛道只是第一步,必须用时机工具确认买卖点。时机用通用技术(MACD / 均线 / 量价),不使用缠论专属分析(中枢/笔/分型);可选调参 MACD(24,56,18) 借顶/底背离捕捉主升浪起点与终点(脚本见 scripts/fetch_market.py)。
- 行业轮动复利:不押单一赛道,按时间窗口接力不同主线(课程实证:原油 1–4 月 + 半导体 4–7 月,半年两波 +97%+81%)。
- 选好 ETF:同指数多只 ETF 选"股性最强 / 成交额最大"的一只,建立自己的 ETF 基金池(映射表见 references/kb.md 第一节)。
双报告强制规则(每次必做)
凡本轮涉及可视化报告,必须在结尾主动同时产出(或刷新)两套并一起 present_files 预览——不待用户重复要求、不反问"是不是别的主题":
- 专业版:信息密度高、设计精致;含数据明细表、MACD 时机扫描、入选依据列、多套方案等细节。
- 长辈版:大字号、高对比、少术语、布局疏朗、口语化,方便长辈阅读。
- 纯文字聊天、代码、数据文件不需要两版。
- 两套共用同一份数据,长辈版 = 专业版的"降密度 + 放大字号 + 口语化"重排,不新增结论;若数据/主题未变,直接呈现已有两版即可,避免重复生成同名文件。
长辈版设计要点(务必遵守)
- 基础字号 ≥18px(标题 28–34px)、深黑字
#1a1a1a配白底。 - 板块用粗边框大卡片;表格列数尽量少、加大内边距。
- 专业词用括号白话解释(如"主升浪中继"→"正在上涨、走势最强")。
- 核心结论放最前,用一句话讲清;多用"现在该看什么""怎么买""几条保命规矩"等口语板块。
- 风险/提示用醒目色块(红框)强调。
> 两套 CSS 主题变量与骨架见 references/report_templates.md,生成时直接套用。
三类报告(均可产出专业版 + 长辈版)
报告 1 · 季度行业热点轮动表
- 数据来源:纯知识库(references/kb.md),无需联网。
- 结构(专业版):口径说明 → 当前定位卡(按当前日期算季节/季度+下一节点+本月主线,高亮当前季)→ 季节框架四卡 → 季度细分轮动明细大表(Q1–Q4 逐月:基调/主线/逻辑/ETF/风险,当前季高亮)→ 当前季操作提示 → 四字真言四卡 → ETF 映射表。
- 长辈版:一句话"现在是几月属哪季" → 四季各炒什么(大卡片)→ 每月"炒什么+买什么(ETF)"大卡片(当前季标记)→ 现在该看什么 → 四句口诀。
- ⚠️ 必须标注两套月份口径不同(日历 Q:1–3/4–6/7–9/10–12 月;季节框架:春3–5/夏6–8/秋9–11/冬12–2 月),结论方向一致,按当前月份落点对齐。
报告 2 · 本金配比方案(如"我有 2 万怎么配")
- 数据来源:结合报告 1 的当前季节定位 + 用户本金。
- 结构(专业版):当前定位卡 → 三套方案(A 纯季节 / B 季节+热点混合 / C 按月节奏★推荐,含金额+ETF代码+逻辑+占比)→ 风控纪律(单只止损15%/20%、账户回撤20%停加、单赛道≤50%、券商≤30%、小ETF限价小单)→ ETF 映射。
- 长辈版:一句话定位 → 三套分法(大字号金额行)→ 推荐方案分步怎么买 → 保命规矩(大字号列表)。
- 方案 C 默认推荐:不满仓、跟季节分步买,先买约 80% 即达标,留机动等科技信号。
报告 3 · 持仓诊断(如"xxxETF 该不该卖")
- 数据来源:scripts/fetch_market.py 拉实时/历史行情 + 技术指标(站上哪条均线、MACD 金叉/死叉、年线位置、近20/60/120/250日涨跌、最大回撤、规模)。
- 结构(专业版):数据时点与口径 → 持仓成本缺失提示(若用户只给市值没给成本,明确说明算不出实际盈亏)→ 核心数据对比表 → 逐只诊断(趋势/均线/MACD/年线 + 结论卡:持有设止损 / 反弹减仓)+ 技术支撑压力位 → 组合层面 → 风控纪律。
- 长辈版:一句话结论(该拿还是该减)→ 每只"现在怎么样+该怎么办"大白话 → 组合提醒 → 保命规矩。
- ⚠️ 不给买卖点结论、不荐股,只给技术面"止损/止盈技术位"与"该不该减仓"框架;务必提示补充买入成本才算实际盈亏。
工作流(执行步骤)
- 判定意图与报告类型:当前主线 / 季节轮动表 / 配比方案 / 持仓诊断(可组合,如"选主线+给配比")。
- 取数(如需要):对涉及具体 ETF/指数的,运行
scripts/fetch_market.py取行情与指标(见下"数据获取")。纯轮动表用 kb.md 即可。 - 按当前日期定位季节/季度:用 kb.md 第二节规则算当前季、下一季、本月主线。
- 产出专业版:按上面对应报告结构生成自包含 HTML(套用 report_templates.md 的专业版主题)。
- 产出长辈版:同一数据降密度、放大字号、口语化重排(套用长辈版主题)。
- 结尾主动 present_files:同时给出专业版与长辈版预览链接;附风险提示(ETF 有风险、本结果仅方法论/技术面梳理、不构成投资建议;ETF 代码与流动性以券商软件为准)。
数据获取(scripts/fetch_market.py)
- 接口:腾讯财经公开接口。K 线用
web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={market}{code},day,...,qfq(必须带 sh/sz 市场前缀,如sh516620);实时用qt.gtimg.cn/q=...(返回 GBK 编码,需raw.decode('gbk'))。 - 计算:MA20/60/120/250、MACD(12,26,9)(标准)、可选调参 MACD(24,56,18)、近20/60/120/250日涨跌幅、近250日最大回撤、现价 vs 年线。
- Windows/Git Bash 注意:脚本内路径用 Windows 绝对路径;若用 managed Python 直跑,避免 MSYS
/c/...路径偏移。 - 东方财富
push2接口在沙箱常被限流,优先用腾讯源;涨跌家数如取不到,诚实标注"以券商软件为准",勿编造。
用法
# 拉取若干 ETF 技术指标(带 sh/sz 前缀)
python fetch_market.py --codes sh516620 sh517520 sh515220
# 拉取五大指数 + 成交额概况
python fetch_market.py --index
注意事项
- 本技能不荐股、不给买卖点结论,只做"主线识别 + ETF 映射 + 技术面梳理 + 信息整理"。
- ETF 代码表为通用整理(references/kb.md 第一节),使用前必须核对(跟踪指数、成交额、最新代码);标注「待补充」的暂无对应 ETF,务必明确标注、勿编造代码。
- 季节→主线为通用框架,A 股受政策与产业周期影响大,每年需动态修正;若用户给的具体日期/节气与通用框架冲突,以"通用框架 + 当年实际情况"提示并请用户确认。
- 实时榜单依赖外部数据工具;若不可用,先说明限制,再用 kb.md 的季节框架给出结果,并提示需联网补数据。
- 双报告是交付铁律,不可只出一版。