Wind Alice-资产配置-行业轮动策略
下载地址
https://api.skillhub.cn/api/v1/download?slug=%40org-r64ixwde%2Falice-asset-allocation-sector-rotation-strategy将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-r64ixwde/alice-asset-allocation-sector-rotation-strategy。用于分析未来1-6个月股票行业相对强弱与行业内部权重倾斜,结合动量、资金面、估值和景气度因子输出超配/中性/低配清单、行业评分、约束检查和可选行业目标权重;仅调整股票内部结构,不改变股债等大类资产总仓位。
阅读全文 (展开查看完整说明)
概述
通过 alice-asset-allocation-sector-rotation-strategy 调用 Wind Alice Agent,一键生成行业轮动与股票内部结构优化方案。
核心原则:基础设施交给脚本处理;Agent 只负责把用户的问题拼成一句自然语言 prompt 传入。默认就执行 Asset Allocation – Sector Rotation Strategy 技能,无需也不要再指定其它 Skill。 任务完成后,只将 CLI stdout 中的
agentResult.value原文原样交给用户;CLI 静默下载的附件(reportFullFile=)不要读给用户看。宿主 Agent:执行任何 shell 命令前必须先读同目录 [
AGENT.md](./AGENT.md)(一页执行契约,与 IDE 无关,随 skill 包发布)。
何时调用本技能
官方技能:资产配置 – 行业轮动策略
行业轮动与股票内部结构优化工具。 基于宏观周期、行业景气度、资金流向、估值比较等多维因子,分析未来 1-6 个月内各行业的相对强弱,生成行业配置建议与权重优化方案。专注于股票资产内部的行业结构调整,不改变股债等大类资产总仓位。
适用场景
| 场景 | 解决的问题 |
|---|---|
| 行业配置决策 | 判断未来 1-6 个月哪些行业将跑赢市场 |
| 行业权重优化 | 在现有股票仓位内调整各行业配置比例 |
| 景气度跟踪 | 监测各行业基本面、盈利预期、政策环境变化 |
| 风格轮动捕捉 | 识别成长/价值、大盘/小盘等风格切换机会 |
| 同业对比分析 | 比较不同行业的估值水平、盈利增速、资金流向 |
| 组合结构调整 | 为现有股票组合提供行业层面的调仓建议 |
核心能力
- 多维因子框架
- 动量:行业相对收益、趋势强度
- 资金面:北向资金、ETF 申赎、主力资金流向
- 估值:PE/PB 分位数、行业间估值比较
- 景气度:盈利预期、政策环境、产业链景气
- 行业相对强弱研判
- 覆盖申万一级/二级、中信等行业分类
- 输出超配 / 中性 / 低配评级
- 行业综合评分与排序
- 权重优化与约束检查
- 可选行业目标权重区间
- 行业集中度、风格偏离等约束校验
- 仅调整股票内部结构,股债总仓位不变
试试这样问
- "未来 3 个月哪些行业值得超配?"
- "当前市场环境下应该侧重哪些行业?"
- "科技和消费行业哪个更有配置价值?"
- "帮我分析下周期行业的轮动机会"
- "近期资金流向哪些行业板块?"
- "新能源行业还值得继续持有吗?"
- "金融行业和低估值板块的配置建议"
- "未来半年行业轮动的主线是什么?"
- "如何调整我的行业配置权重?"
- "医药和电子行业哪个景气度更高?"
输出形式
- Agent 向用户展示的内容:CLI stdout 中的
agentResult.value正文(服务端流式返回) - 自动生成的结构化内容包含:超配/中性/低配清单、行业评分、约束检查、可选行业目标权重
- 多维度分析:宏观周期、景气度、估值、资金、政策
- 部分场景下 CLI 会静默把完整报告附件下载到用户
Downloads/文件夹或-d指定目录(供用户本地查阅);Agent 向用户展示时只用agentResult.value,不要粘贴附件正文 - 当 CLI stdout 含
已保存:行(图片附件)时,Agent 须用file://+ URL-encoding 直接引用 Downloads 路径(反斜杠→正斜杠/、空格→%20、(→%28、)→%29、前加file:///),如(详见AGENT.md「图片附件交付规范」);禁止复制到工作区design/_sector_assets/(旧规范,已弃用);禁止直接用未编码的 Windows 绝对路径引用图片(反斜杠 + 空格 + 括号会导致渲染失败) - 数据受限时在对应模块明确标注
💡 使用提示
- 聚焦股票内部行业结构调整,不改变股债总仓位
- 分析周期:未来 1-6 个月的中短期行业轮动
- 覆盖全市场行业:申万一级/二级行业、中信行业分类等
- 多维度分析框架:宏观周期、景气度、估值、资金、政策
- 输出结构化建议:超配/低配/标配评级 + 目标权重区间
- 动态跟踪调整:根据最新数据更新行业强弱判断
- 与 TAA 配合使用:战术资产配置决定股债比例,行业轮动决定股票内部结构
触发场景与 prompt 构造
用户提问命中以下任一场景即可调用:行业轮动 / 行业超配低配 / 行业权重调整 / 板块资金流向 / 行业景气度对比 / 风格轮动 / 股票内部结构调整。
把用户关注的行业、时间窗口(1-6 个月)和关注维度拼成一句自然语言。不要加 使用「...」技能: 前缀,CLI 内部已自动注入。
CLI 参数
<SKILL_DIR> = 本文件所在目录绝对路径。Windows 一律用方案 A(PowerShell 5.x 不支持 &&,见 [AGENT.md](./AGENT.md)「命令模板」与「禁止写法(Windows)」);macOS / Linux 用 node scripts/cli.mjs。
命令行调用
# Windows(方案 A)
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" --prompt "<USER_QUESTION>" --no-wait [-d "<DIR>"] [--new]# macOS / Linux
node scripts/cli.mjs --prompt "<USER_QUESTION>" --no-wait [-d "<DIR>"] [--new]参数
| 参数 | 说明 |
|---|---|
--prompt, -p | 用户提问(研究对象 + 关注角度,自然语言)。必填;CLI 自动加 使用「资产配置-行业轮动策略」技能: 前缀,Agent 不要再加 |
--no-wait | Agent 默认必带——CLI 内部自旋 tasks/get 直到终态。默认 60s 一次探针、每轮 30min、全程 60min;到轮上限 CLI 自动续轮;Agent 禁止外层 Start-Sleep 或连发多条 |
-d, --download-dir | 报告附件落地目录;不传则用户 Downloads/ 文件夹(Windows %USERPROFILE%Downloads)。不存在自动创建;同名冲突自动加 (1) 后缀,绝不覆盖 |
--new | 用户明确要求并行新建时清除本地记录后新建;须先 check-conflict 询问用户 |
--continue-session | 显式请求延续上一次多轮会话上下文(opt-in)。默认每次 CLI 调用视为全新会话,contextId 每次新生成,避免跨 Agent / 跨话题的 context 污染。宿主 Agent 判定为同一会话追问时(省略式追问 / 明确承接前文 / 代词指代等)应自动加此参数,不再要求用户显式说「接着刚才那个话题继续」。CLI 会复用上次落盘的 contextId(不设时间窗口);无落盘记录时退化为新会话。与 --new 正交:--new 决定是否新建 taskId、--continue-session 决定是否复用 contextId |
--new-session | 显式强制新建会话上下文(与默认行为一致,保留兼容旧脚本)。与 --continue-session 同时给时以 --new-session 为准 |
--session-scope <ID> | 宿主 Agent 会话隔离标识(推荐始终传入)。同一 OS 用户下 Cursor / Trae 等宿主 Agent 默认共享 ~/.wind-aifinmarket/current-session.json;不隔离会出现"A Agent 的续接读到 B Agent 的 contextId"这类跨宿主污染。传入 <ID> 后按 current-session.<ID>.json 隔离到宿主自己的文件。也可用环境变量 WIND_ALICE_SESSION_SCOPE 统一设置(命令行 --session-scope 优先)。非法字符(空格 / 冒号 / 路径分隔符 / 中文等)自动替换成 _,长度上限 64 |
--once | 配合 --no-wait,单次探针;仅脚本调试,Agent 禁止外层循环 |
--no-strict | 关闭 strict 模式(默认开启:未输出 DONE 行时 exit=0 改成 6);Agent 禁止传 |
--watch-interval / --watch-timeout / --watch-absolute-max | 自旋节奏与上限调优(秒),通常默认即可 |
--help, -h | 查看帮助 |
已废弃:
--watch/-w(--no-wait默认即内部自旋)。
调用示例
# Windows(方案 A)
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" -p "未来 3 个月哪些行业值得超配" --no-wait
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" -p "科技和消费行业哪个更有配置价值" --no-wait
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" -p "帮我分析下周期行业的轮动机会" --no-wait -d "D:reportssector-rotation"
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" -p "重新分析未来半年的行业轮动主线" --no-wait --new # 仅用户说"重新跑"才加# macOS / Linux
node scripts/cli.mjs -p "未来 3 个月哪些行业值得超配" --no-wait
node scripts/cli.mjs -p "科技和消费行业哪个更有配置价值" --no-wait
node scripts/cli.mjs -p "帮我分析下周期行业的轮动机会" --no-wait -d "/reports/sector-rotation"
node scripts/cli.mjs -p "重新分析未来半年的行业轮动主线" --no-wait --new附件用 WIND_API_KEY 自动鉴权下载到 Downloads/ 或 -d 目录(CLI 在 DONE 行给出 reportFullFile= 路径仅供落盘核对);Agent 交付用户时只用 agentResult.value,不要展示下载附件内容。
子命令
只读 / 配置类,不消耗服务端额度:
| 子命令 | 用途 |
|---|---|
apikey-set <KEY> / apikey-get / apikey-clear | 写入 / 查看(脱敏)/ 清除 ~/.wind-aifinmarket/config.env 中的 API Key |
status --prompt <Q> | 查询本地 tasks.json 中该 prompt 最近一条任务的落盘路径 |
check-conflict --prompt <Q> | 主调用前的并发预检:检测是否有同/相似 prompt 的 running 任务。无冲突 → exit=0;命中 → exit=11,stdout 列出 EXISTING_TASK ...,Agent 必须把详情列给用户、由用户三选一(attach / --new / 取消)。详见 AGENT.md「check-conflict 后用户三选一」 |
解析下载目录意图
扫描用户对话中是否说过"下载到 X / 保存到 X / 放到 X 目录"。
- 命中 → 用
-d "<DIR>"传入(多次指定取最近一次,含空格的路径必须加双引号)。 - 未命中 → 不要传该参数;CLI 落到用户
Downloads/文件夹。
环境与配置
1. Node.js 18+
CLI 基于 Node.js(18+ 自带 fetch)。node -v 检查,未达标到 nodejs.org 下载。
2. 获取并配置 WIND_API_KEY
获取:浏览器打开 Wind Alice → 我的账号 → 总览,在「API Key」一栏点「生成」/「复制」(失效或泄漏点「重置」会让旧 Key 立即作废)。
写入(推荐用 CLI 子命令):
# Windows(方案 A)
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" apikey-set <KEY>
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" apikey-get
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_DIR>scriptsaasrs.ps1" apikey-clear# macOS / Linux
node scripts/cli.mjs apikey-set <KEY> # 写入(KEY 裸值,不加引号)
node scripts/cli.mjs apikey-get # 查看是否已配置 + 脱敏末四位
node scripts/cli.mjs apikey-clear # 清除CLI 把 Key 写到 ~/.wind-aifinmarket/config.env(Windows %USERPROFILE%.wind-aifinmarketconfig.env),dotenv 格式单行 WIND_API_KEY=...——这是唯一受支持的位置。历史路径仍可读取(同目录无后缀 config、旧目录 ~/.wind-alice/config.env 与 config),apikey-set 只写新路径。
手动写入(无 Node 运维场景):
# macOS / Linux
mkdir -p ~/.wind-aifinmarket && printf 'WIND_API_KEY=...n' > ~/.wind-aifinmarket/config.env && chmod 600 ~/.wind-aifinmarket/config.env# Windows PowerShell
New-Item -ItemType Directory -Force "$env:USERPROFILE.wind-aifinmarket" | Out-Null
"WIND_API_KEY=..." | Set-Content -Encoding ascii "$env:USERPROFILE.wind-aifinmarketconfig.env"安全:CLI 不读环境变量,也不读 skill 目录内的
config.json——避免 Key 残留在 shell 历史 / CI 日志 / 提交记录。apikey-set/apikey-getstdout 仅回显脱敏 Key;macOS/Linux 会自动把文件权限收到600。
配置位置与环境变量
| 路径 / 变量 | 内容 | 必备 |
|---|---|---|
~/.wind-aifinmarket/config.env(Win: %USERPROFILE%.wind-aifinmarketconfig.env) | dotenv:WIND_API_KEY=<KEY>,唯一受支持位置(不读环境变量、不读 skill 目录 config.json) | ✅ |
~/.wind-aifinmarket/tasks.json | 本地任务注册表(CLI 自动维护) | 自动 |
~/.wind-aifinmarket/results/<taskId>.md | 每条任务的 agentResult.value 落盘副本(stdout 截断时 Agent 可读) | 自动 |
WIND_ALICE_API_URL(环境变量) | Alice Agent 接口地址,默认 https://mcp.wind.com.cn/skills/alice,一般无需修改 | 否 |
兼容:历史路径仍可读取(同目录无后缀
config、旧目录~/.wind-alice/config.env与config),apikey-set只写新路径。
中文乱码(Windows 必读)
根因:Node 输出 UTF-8 字节,Trae / PowerShell 5.x 管道捕获时默认按 GBK 解码 → live 输出变成 鏈繘绋嬪皢闃诲...,不是 CLI 坏了。
三层防护(由 CLI 自动提供):
scripts/aasrs.ps1:调用前切 UTF-8 代码页(Windows Agent 优先用它代替裸node)。ALICE_SESSION_LOG=:非 TTY 管道场景下,CLI 会把全部输出 tee 到~/.wind-aifinmarket/logs/<promptHash>.session.log(完整 64 位 promptHash,UTF-8 BOM)。只能读 stdout 打印的那条路径,禁止view_folder logs/扫描:
# ✅ 从本次 CLI stdout 复制 ALICE_SESSION_LOG= 的完整路径
Get-Content -Path "$env:USERPROFILE.wind-aifinmarketlogs<promptHash>.session.log" -Encoding UTF8 -Tail 200 -Wait
# ❌ 禁止:按 mtime 挑「最新」或只认 12 位前缀——不同 prompt(同公司)会落在不同文件- 落盘
.md(results/、Downloads/、--detach日志)均带 UTF-8 BOM,Get-Content即使不写-Encoding UTF8通常也能正确显示。
禁止:因 live 乱码就改 prompt 重试、连发多条 CLI、或手工 Start-Sleep 轮询 tasks.json。
查看 --detach 日志(避免中文乱码)
~/.wind-aifinmarket/logs/<hash>.log 由 CLI 以 UTF-8 写入。PowerShell 5.x 的 Get-Content 默认按 GBK 解码,会把 UTF-8 中文显示成 鏈繘绋嬪皢闃诲... 这类乱码——不是日志坏了,是读法错了。
# ✅ 正确:显式指定 UTF-8
Get-Content -Path "$env:USERPROFILE.wind-aifinmarketlogs969e4c647aae.log" -Encoding UTF8 -Tail 50 -Wait
# ❌ 错误:省略 -Encoding UTF8,中文 Windows 上几乎必乱码
Get-Content -Path "...969e4c647aae.log" -Tail 50 -Wait自新版 CLI 起,--detach 创建的日志文件会写入 UTF-8 BOM,部分环境下即使不写 -Encoding UTF8 也能正常显示;仍建议 Agent 始终带 -Encoding UTF8。
执行契约(七步流程 / 红线 / 完成判定 / replay / 退出码 / 交付顺序 / 会话续接 / 命令模板 / 自检清单)见 [
AGENT.md](./AGENT.md)——唯一权威来源,本文不重复。排障与常见问题(任务幂等性与停止行为、CLI 执行失败处理、Q&A)见 [
TROUBLESHOOTING.md](./TROUBLESHOOTING.md)。