Vibe AStock data-access — скилл
Скилл помогает агенту получать данные китайских акций и сохранять ответы источников вместе с временем и пропусками
- 964 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Скрипты обращаются к внешним рыночным источникам и записывают их ответы на диск
- Условия использования данных и полнота ответов зависят от конкретного источника
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/vibe-astock-data-accessОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Скрипты обращаются к внешним рыночным источникам и записывают их ответы на диск
- Условия использования данных и полнота ответов зависят от конкретного источника
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл `data-access` из Vibe AStock описывает, как получать котировки и финансовые данные через зарегистрированные Python-скрипты. Одни скрипты получают котировки, сведения о компании и накопленные финансовые показатели. Другие возвращают прогнозы аналитиков, дневные свечи и торговый календарь китайского рынка. Результат содержит статус получения данных, источник, время и записи с единицами измерения. При указании каталога запуска скрипты сохраняют ответы в `raw/`, а структурированный результат — в `fetch/`. Это позволяет агенту связать число в разборе с конкретным полученным файлом. Получение данных отделено от расчетов. Квартальные значения, годовые темпы и другие производные показатели должны проходить через модуль расчетов проекта. При частичном ответе инструкция требует показать пробелы и резервный источник, не подставляя числа из памяти модели.
Для кого. Создателям исследовательских агентов по китайским акциям, которым нужны файлы данных с источником и статусом получения.
Подходит, если
- Нужно сохранить ответ источника вместе с котировкой и временем получения
- Для отчета требуется различать накопленную финансовую величину и отдельный квартал
- Основной источник не отвечает и нужно зафиксировать переход на резервный
- Агенту нужно показать отсутствие данных вместо правдоподобного числа из памяти
Не подходит, если
- Нужна система размещения торговых заявок
- Нужно гарантировать доступность всех источников или точность прогноза
- Требуется готовая рекомендация по покупке конкретной акции
Пример запроса к агенту
Прочитай `data-access` и покажи команду получения котировки по коду 300308 как технический пример. Сохрани исходный ответ и JSON в отдельный каталог. Отметь источник, время и пропуски; выводов о покупке не делай.Ограничения
Скриптам нужен Python 3.11 или новее, рекомендуется 3.12; зависимости источников находятся в `scripts/requirements.txt` скилла. Права на доступ, коммерческое использование и распространение рыночных данных определяет каждый поставщик. Публичные API могут менять формат и давать неполные данные. Например, baostock не охватывает Пекинскую биржу; резервный прогноз одной организации нельзя выдавать за консенсус аналитиков. Сохраненный ответ и хеш показывают происхождение числа, но не доказывают правильность; проверяйте финансовый вывод отдельно.
Как отключить. Остановите выполняемые скрипты и удалите подключение `data-access` у агента. Проверьте сохраненные каталоги запусков перед удалением. Если отдельно запускали приложение Vibe AStock, остановите и его: удаление скилла не завершает серверы приложения.
Частые вопросы
Как выглядит отдельный вызов?
Из корня проекта используется шаблон `python3 .agents/skills/data-access/scripts/<script>.py --symbol 300308 --out-dir .local/runs/<run-id>`. Имя скрипта выберите из реестра скилла. Код бумаги в примере не служит рекомендацией.
Что означают коды завершения?
Для описанных скриптов `0` означает успешный ответ основного источника. Код `2` обозначает частичный результат или резервный источник, `3` указывает на отсутствие ключевых данных. Ненулевой код требует разобрать `errors` и пропуски.
Все источники работают без ключей?
Не все. Начальные отдельные скрипты используют публичный доступ без авторизации. В расширенном реестре для SEC нужен `VRA_SEC_CONTACT`, для iWencai — `IWENCAI_API_KEY`. Проверяйте требования выбранной записи.
Почему нельзя сразу вычесть квартальные показатели?
Часть финансовых ответов содержит накопленные значения за отчетный период. Скилл передает их без произвольного пересчета; разложение по кварталам выполняется в расчетном модуле с учетом периода и единиц.
Нужно ли запускать весь веб-интерфейс?
Нет для отдельного вызова Python-скрипта. Приложение и оркестратор добавляют полный процесс исследования; их устанавливают и подключают к выбранной модели отдельно.
Какая лицензия у кода Vibe AStock?
Apache 2.0. Она не заменяет права поставщиков на рыночные данные.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл с данными рынка акций Китая: котировки, отчеты, финансы, новости и еще 11 категорий из 34 источников без ключей
Скилл запрашивает у Arkvol данные по рынкам Китая, Гонконга и США и пересказывает их с датой, показателями и границами применения
Скилл с данными по американским и мировым рынкам: опционы, VIX, короткие продажи, сделки инсайдеров, ставки и курсы, без ключей API
Скилл для разбора секторов китайского рынка А-акций: политика, СМИ, потоки денег, компании и ETF с источниками и датами
Скилл и MCP-сервер дают агенту котировки, свечи и поиск тикеров по рынкам Китая, Гонконга и США
Четыре скилла для китайского рынка акций: котировки и индикаторы, сигналы отката в тренде, симулированный счет и бэктест
Коротко о README
Более широкий реестр проекта добавляет общую команду `scripts/fetch_endpoint.py` и описывает условия источников по записям. Не все его интерфейсы входят в начальный план исследования; часть вызывается только по запросу.
Бейдж для README
Исходный SKILL.md
---
name: data-access
description: A 股零鉴权取数手册。当需要真实的行情 / 市值 / 估值快照、季度报告期累计财务数据、机构一致预期 EPS、PE 历史序列、公告标题、日 K 线、交易日历时使用;只允许运行本 skill 登记的脚本取数(腾讯 / 新浪 / 同花顺 / baostock / 深交所 / 东财),禁止凭模型记忆给数,禁止自造爬虫。概念解释、观点讨论等不需要取数的话题不要加载。
---
# A 股零鉴权取数(data-access)
本 skill 是 研究宪法 §0 第 1 条("禁止凭记忆生成数据")与 §5("取数只用登记脚本")的落地:每个数字都来自本次运行的脚本调用,原始响应落盘,证据带齐契约字段。脚本只取数、不做算术(单季拆分 / TTM / 同比 / 分位一律交给 `calc/`)。
## 1. 调用方式
```bash
python3 .agents/skills/data-access/scripts/<script>.py --symbol 300308 --out-dir .local/runs/<run-id>
```
(示例代码 300308 为 Phase 0 验收标的,仅作命令行示例,不代表任何推荐。)
- `--symbol` 接受 `300308` / `SZ300308` / `300308.SZ`(前后缀二选一,矛盾即报错,绝不猜市场);输出统一 6 位 + 市场 `SH|SZ|BJ`。
- `--out-dir` 给运行目录:原始响应自动写到 `<out-dir>/raw/`,结构化结果写到 `<out-dir>/fetch/<script>.json`;不给则只打印 JSON 到 stdout(仍计算 sha256)。
- 退出码:`0` ok(主源成功)/ `2` partial(走了备源或部分字段缺失,看 `extra.degraded` 与 `errors`)/ `3` failed(关键数据全部失败)。**非 0 不是"没数据可以编",是"如实记缺口"。**
- 依赖:`scripts/requirements.txt`(requests / pandas / lxml / akshare / baostock);腾讯、深交所、东财 K 线只用标准库。需要联网;正式研究里由编排器在自己的进程中执行这些脚本,接进来的研究大脑(本机 Agent 或模型 API)不联网、也不直接跑脚本。
- 东财系请求全部经 `common.em_get`:**跨进程串行**(文件锁覆盖整个请求生命周期,任一时刻最多一个东财请求在途,间隔 ≥1s + 抖动)、403 不重试、代理失败自动直连重试、`push2` 断连自动轮询 `push2delay`。编排器并行启动多个脚本也会在锁上排队。
## 2. 脚本登记表
| 脚本 | 拿什么 | 主源 | 备源 | 研究中的地位 |
|---|---|---|---|---|
| `fetch_quote.py` | 现价 / 昨收 / 涨跌幅 / 换手 / PE_TTM / PE 静 / PB / 流通市值 / 总市值 / 成交额;僵尸报价疑似 `is_stale`(命中 → partial 且估值类 evidence 带 note;停牌 / 废码 / 盘前三者之一,可用性由 SOP 结合交易日历判定) | 腾讯 qt.gtimg.cn | 东财 push2(delay)(同样做僵尸判定,period 取源端行情时间) | ★ 必需(估值分子) |
| `fetch_profile.py` | 名称 / 上市日 / 在市状态 / 证监会行业 / 东财行业 / 总股本 / 流通股 / 市值 | 腾讯 + baostock | 东财 push2(delay)(可选增强,失败不拖垮) | ★ 必需 |
| `fetch_financials.py` | 最近 N 报告期**累计值**:营业总收入 / 归母净利润 / 扣非净利润 / 基本 EPS;关键字段 × 最近 8 期完整性校验 | 新浪财务摘要(akshare) | 新浪利润表直连(**无扣非**;主源部分缺失时只补营收 / 归母,补齐也算走备源 → partial) | ★ 必需(扣非×4 PE / TTM 同比) |
| `fetch_estimates.py` | 一致预期 EPS(FY T / T+1 / T+2):均值 / min / max / 机构数 | 同花顺 worth.html | 东财研报逐篇预测(**非一致预期**,partial) | ★ 必需(前瞻 CAGR) |
| `fetch_pe_history.py` | PE_TTM / PB 日频序列(默认 5 年)→ raw CSV;最新值 | baostock | —(北交所不支持) | ○ 可选(TTM PE 分位) |
| `fetch_announcements.py` | 最近 N 条公告标题 / 日期 / PDF 链接 | 深市:深交所官方;沪市 / 北交所:东财 | 深市备源东财 | ○ 可选(风险 / 反证线索) |
| `fetch_kline.py` | 日 K 前复权序列 → raw;最新收盘(逐行校验,坏行剔除→partial) | 腾讯 fqkline | 东财 push2his(本机网络常断) | ○ 可选(stale 二次验证时用) |
| `fetch_trade_calendar.py` | 全市场交易日历:last_trading_day / previous_trading_day / is_today_trading_day / session_phase(pre_open·trading·post_close·non_trading_day)/ **reference_quote_day**(此刻新鲜报价应有的日期)(evidence symbol=MARKET, market=CN) | baostock query_trade_dates | — | ★ 必需(判定报价日期差异是休市 / 盘前还是个股停牌) |
Phase 0 不在范围(Phase 1 进 `datasources/registry.yaml` 后再接):新闻正文、研报 PDF、资金流、龙虎榜、融资融券、股东户数、解禁、筹码、宏观。
## 3. 输出契约
每个脚本输出一个 JSON 信封: