Tushare Daily Market Sense
基于 Tushare Pro A 股 daily 日线数据生成盘后市场研报的方法论 skill。当用户要求做每日盘面趋势、上证/创业板指数趋势、情绪指数趋势、赚钱效应与上涨主线分析、爆量下跌识别、容量上涨/科创板月线突破/10:30前涨停等特征分组分析、历史某日复盘、基于 daily/daily_basic/涨跌... Skill: Tushare Daily Market Sense Owner: chinfi-codex Summary: 基于 Tushare Pro A 股 daily 日线数据生成盘后市场研报的方法论 skill。当用户要求做每日盘面趋势、上证/创业板指数趋势、情绪指数趋势、赚钱效应与上涨主线分析、爆量下跌识别、容量上涨/科创板月线突破/10:30前涨停等特征分组分析、历史某日复盘、基于 daily/daily_basic/涨跌... Tags: latest:2.0.3 Version history: v2.0.3 | 2026-06-01T00:59:11.450Z | user Analyst-style tone and report template refinement with bundled shared runtime helpers. v2.0.2 | 2026-05-20T01:09:56.626
Rank
62
Safety
84
Downloads
1.0k
Updated
Oct 11, 2026
Version
2.0.3
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 2.0.3release · observed Jun 1, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s175ywf2hg7sy9p90712m993ah83g0p6:tushare-daily-market-sense- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chinfi-codex-tushare-daily-market-sense/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
77,003 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
--- name: tushare-daily-market-sense description: 基于 Tushare Pro A 股 daily 日线数据生成盘后市场研报的方法论 skill。当用户要求做每日盘面趋势、上证/创业板指数趋势、情绪指数趋势、赚钱效应与上涨主线分析、爆量下跌识别、容量上涨/科创板月线突破/10:30前涨停等特征分组分析、历史某日复盘、基于 daily/daily_basic/涨跌停/指数数据做量化选股观察时,必须优先使用本 skill。本 skill 先生成确定性证据包,再由模型或 Codex/Claude Code 等通用 agent 的 subagent 编排能力按模块撰写;不在脚本中调用 LLM,不提供买卖建议,不按申万、同花顺、东方财富等现成行业/概念口径分组。 version: 2.0.3 --- # Tushare Daily Market Sense ## 目标 基于 Tushare 日线、指数、成交额与本地情绪历史,为 A 股盘后复盘生成结构化研报:盘面趋势、成交额集中度、赚钱效应与上涨主线、爆量下跌风险、特征分组分析。 不做单股基本面深度研究、港股/美股/基金/期货/加密分析、超短线交易决策、自动下单、组合优化或买卖建议。脚本只负责取数、计算、筛选、切分 JSON;主题归纳、风险措辞和研报写作由模型完成。 ## 核心理念 成交额优先。所有强弱判断都要有成交额证据:上涨主线按成交额厚度确认,爆量下跌按放量异常与跌幅强度识别,特征分组按命中规则与成交额证据分开呈现。 主题主线由模型基于业务事实临时归纳,不套现成行业或概念标签。共同性不足时明确写“暂不构成主线”或“资金轮动”。 ## 工作流程 1. 确定交易日:解析“今天/最近”或具体日期,默认只使用 `D` 及以前数据;只有用户明确要求后验时才允许 `--allow-future`。 2. 生成证据包:运行 `scripts/run_daily_panel.py`。脚本会直接调用数据管线,写出完整 evidence、轻量 `report_context` 和模块级 JSON。 3. 选择撰写模式: - 有 subagent 编排能力时,主 agent 将 5 个模块 JSON 分发给 5 个 subagent 并行撰写。 - 没有 subagent 能力时,按同样模块顺序单会话执行,每次只加载当前模块的 JSON、方法论和模板段。 4. 聚合成稿:主 agent 读取 6 段输出、`assembled_checks.json` 与 `reference/methodology/output_discipline.md`,补一句话盘面判断、风险传导提示和最终语气校准。默认不做外部收评校验、不搜索第三方行情综述、不在报告中加入“外部校验参考”;只有用户明确要求时才补充外部来源。 5. 按需生成 HTML:当用户要求 HTML、网页、可视化报告或截图风格输出时,先完成并核对 `reports/report_YYYYMMDD.md`,再运行 `scripts/render_report_html.py` 生成同日期 HTML。HTML 是展示层产物,不新增研报判断、不删减 Markdown 正文;若同目录存在 `evidence_YYYYMMDD_utf8.json`,HTML 会自动读取其中的上证指数、创业板指数 120 日 K 线并插入对应指数趋势分析前。 6. 证据包边界:`reports/evidence_YYYYMMDD_utf8.json` 是本 skill 的 Market Evidence Pack,只属于 skill 输出目录。即使在 AlphaVault 中写入趋势复盘,也不要把该证据包复制或登记为 `RAW/crawlers/` 来源;AlphaVault 侧只写最终趋势复盘 Markdown/HTML、索引和日志。 7. 清理临时产物:确认 `reports/report_YYYYMMDD.md` 已写入并可读后,删除同日期的临时证据与上下文文件,只保留最终报告。若已按需生成 HTML,则同时保留 `reports/report_YYYYMMDD.html`。必须清理: - `reports/evidence_YYYYMMDD_utf8.json` - `reports/evidence_YYYYMMDD_utf8.stderr.log` - `reports/report_context_YYYYMMDD.json` - `reports/module_context_YYYYMMDD/` 不要删除 `reports/report_YYYYMMDD.md` 和已生成的 `reports/report_YYYYMMDD.html`,不要跨日期批量清理,除非用户明确要求。 ## 数据获取 环境变量: ```bash TUSHARE_TOKEN=your_token ALPHA_DB_BACKEND=postgresql ALPHA_PG_URL=postgresql://alpha_user:alpha_pass@/alpha_data?host=/tmp ``` 数据库连接统一走 `scripts/_shared/db_core.py`(开发仓库中为 `shared/db_core.py`)。首次进入任意 Agent 环境时先运行 `python3 scripts/_shared/db_ping.py --alpha-schema`;源仓库开发态用 `python3 ../../shared/db_ping.py --alpha-schema`。如果不能使用 Unix socket,再把 `ALPHA_PG_URL` 改为 `postgresql://alpha_user:alpha_pass@localhost:5432/alpha_data`。 运行脚本会先更新 `reference/market_data.csv`,并同步维护派生文件 `reference/market_data.json`,再生成情绪趋势:AKShare `stock_market_activity_legu()` 默认提供上涨、涨停、下跌、跌停、平盘、活跃度、情绪值、成交额等盘面情绪字段;搜狐涨跌停历史页仅在 AKShare 不可用或字段缺失时作为 fallback;Tushare `margin` 汇总 T-1 交易日融资净买入,Tushare `daily` 与 `daily_basic.circ_mv` 计算流通市值加权的全市场换手率。因此环境中还需安装 `akshare`。 基础命令: ```powershell cd C:\Users\chenh\OneDrive\skills\stock-skills\a-stock-daily-market-sense python scripts\run_daily_panel.py --asof 20260429 --lookback 120 --market-trend-d
scripts/_shared/html_report/README.md
# shared/html_report
仓库级 HTML 报告渲染器。各 skill 在 SKILL.md 工作流末端调用它,把 Markdown 研报 + JSON 证据包套成一份自包含的 HTML 单页。
## 调用方式
```python
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / "_shared"))
from html_report import HtmlReportBuilder, ChartHook
builder = HtmlReportBuilder(
title="600519 贵州茅台 基本面分析",
theme="default", # "default" 或 "print"
meta_text="600519 · 贵州茅台 · 2026-05-23",
)
builder.add_chart_hook(ChartHook(
name="valuation-band",
payload={"bands": {...}, "series": [...]},
js=VALUATION_BAND_JS, # 字符串,在 IIFE 内执行,可读 __payload
))
builder.add_ui_decoration(SUMMARY_HERO_JS) # 可选:把 "核心判断" 段升格成 hero 卡
html = builder.render(markdown_text) # validate_text_preserved 自动跑
Path(out_path).write_text(html, encoding="utf-8")
```
## ChartHook JS 协议
每个 hook 的 JS 在专属 IIFE 中执行,渲染器自动注入:
- `__payload` — 当前 hook 的 payload(已经 JSON.parse)
- `window.__chartData` — 整个 envelope `{ hookName: payload, ... }`,供需要跨 hook 取数据的场景
```js
/* 示例 hook JS */
const root = document.getElementById("report-body");
if (!root) return;
const series = __payload.series || [];
// ... 构造 SVG 插入到 root
```
## 主题
- `default`:Claude-UI 暖橙 + 数据红绿,默认值
- `print`:黑白衬线、A4 友好、移除 hover/动效,适合导出 PDF 或邮件附件
新增主题:在 `themes/` 下放 `<name>.css`,`list_themes()` 自动发现。SVG 图表色板由各 hook JS 控制,主题层不强制约束。
## 同步路径
仓库源码位于 `shared/html_report/`。通过 `skill-sync.yaml` 的 `shared.bundles` 同步到目标 skill 的 `scripts/_shared/html_report/`,各 skill 用 `sys.path` 引导导入。_meta.json
{
"ownerId": "kn7450t2xk0c4fzwzv90194pgd82q8yk",
"slug": "tushare-daily-market-sense",
"version": "2.0.3",
"publishedAt": 1780275551450
}scripts/_shared/POSTGRESQL.md
# CH Skills PostgreSQL 连接契约
本仓库所有需要数据库的 skill 默认使用同一套 PostgreSQL 连接入口:`shared/db_core.py`。不要在单个 skill 里重新发明连接配置、连接池或表存在性检查。
## 快速连接
在仓库根目录验证连接:
```bash
export ALPHA_DB_BACKEND=postgresql
export ALPHA_PG_URL="${ALPHA_PG_URL:-postgresql://alpha_user:alpha_pass@/alpha_data?host=/tmp}"
python3 shared/db_ping.py --alpha-schema
```
如果当前环境没有 Unix socket,改用 TCP:
```bash
export ALPHA_PG_URL="postgresql://alpha_user:alpha_pass@localhost:5432/alpha_data"
python3 shared/db_ping.py --alpha-schema
```
在同步后的 skill 包里验证连接:
```bash
python3 scripts/_shared/db_ping.py --alpha-schema
```
## 环境变量优先级
| 变量 | 作用 | 默认 |
|---|---|---|
| `ALPHA_DB_BACKEND` | `postgresql` 或 `sqlite` | `postgresql` |
| `ALPHA_PG_URL` | CH Skills 标准 PostgreSQL DSN,最高优先级 | 空 |
| `DATABASE_URL` | 通用 Agent / 调度器兼容 fallback | 空 |
| 内置 DSN | 未设置前两者时使用 Unix socket | `postgresql://alpha_user:alpha_pass@/alpha_data?host=/tmp` |
| `ALPHA_PG_CONNECT_TIMEOUT` | 连接超时秒数 | `5` |
| `ALPHA_PG_POOL_MAX` | 单进程连接池上限 | `8` |
| `ALPHA_SQLITE_DIR` | SQLite fallback 目录 | 当前目录 |
`ALPHA_PG_URL` 是唯一推荐写法;`DATABASE_URL` 只是为了兼容某些 Agent 沙箱或 scheduler 已经注入的环境。
## 新 skill 接入方式
脚本只依赖 `db_core`,不要直接依赖 `psycopg2.connect`:
```python
import sys
from pathlib import Path
SCRIPT_DIR = Path(__file__).resolve().parent
BUNDLED_SHARED = SCRIPT_DIR / "_shared"
DEV_SHARED = SCRIPT_DIR.parents[2] / "shared"
sys.path.insert(0, str(BUNDLED_SHARED if BUNDLED_SHARED.exists() else DEV_SHARED))
from db_core import get_connection, table_exists
```
若 skill 会被同步到各 Agent 目录,并且需要数据库,在 `skill-sync.yaml` 的 `shared.bundles` 中把它加入 `skills` 列表,让 `shared/` 被打包到 `scripts/_shared/`。
## 诊断顺序
1. 先跑 `python3 shared/db_ping.py --alpha-schema`,确认是连接问题、依赖问题还是 schema 问题。
2. 如果报 `psycopg2 is required`,安装 `psycopg2-binary`,或临时设置 `ALPHA_DB_BACKEND=sqlite`。
3. 如果 socket DSN 失败,换成 `localhost:5432` TCP DSN。
4. 如果连接成功但缺表,执行 `psql -d alpha_data -f init_alpha_data.sql` 初始化 schema。
5. 不要把 `.env`、真实口令或个人云数据库地址提交进仓库;文档和日志只能输出脱敏 DSN。reference/methodology/module1_trend.md
# 模块 1:盘面趋势 使用 `module1_market_trend.json`。 只分析: - 上证指数 - 创业板指数 - `market.trend.sentiment` - `market.temperature` 不要加入科创板、风格指数、融资、创业板 PE、外围资产或新闻解释。 分析框架: 1. 情绪趋势:结合量能温度、全市场换手率、情绪温度和广度温度。若情绪历史不可用,只保留当日盘面快照。 2. 上证趋势:判断趋势阶段、量价质量、均线位置和最近支撑压力。 3. 创业板趋势:使用同样四项框架,并与上证强弱对比。 4. 盘面定性:明确写成共振、背离或分化。 写作要求: - 不要把单日涨跌写成趋势。 - 上证指数趋势、创业板指数趋势只写文字段落,不输出表格。指数数据用于支撑判断,关键数值直接嵌入句子,例如“收盘站上 MA20,成交额为近 20 日均量 1.2 倍,临近 20 日压力位”。这样避免指数部分挤占篇幅,也让报告重点回到盘面判断。 - 指数上涨但缩量时,写“反弹质量待确认”。 - 成交额与全市场换手率同步抬升、上涨家数同步改善时,写“良性放量加速,风险中性偏高”。 - 全市场换手率上升但上涨/下跌家数转弱时,写“换手加速但承接分化,风险升温”。 - 指数强但广度/情绪弱时,写“指数掩盖分化”。 - 情绪先修复但指数未确认时,写“情绪先行修复但指数尚未确认”。
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/chinfi-codex/skills/tushare-daily-market-sense",
"sourceUrl": "https://clawhub.ai/chinfi-codex/skills/tushare-daily-market-sense",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T16:57:57.660Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chinfi-codex-tushare-daily-market-sense/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chinfi-codex-tushare-daily-market-sense/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T16:57:57.660Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceUrl": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T16:57:57.660Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "2.0.3",
"href": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceUrl": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-01T00:59:11.450Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chinfi-codex-tushare-daily-market-sense/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chinfi-codex-tushare-daily-market-sense/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 2.0.3",
"description": "Analyst-style tone and report template refinement with bundled shared runtime helpers.",
"href": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceUrl": "https://clawhub.ai/chinfi-codex/tushare-daily-market-sense",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-06-01T00:59:11.450Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
