From 52afa9510399bf7959d6ae135368e27e5fa71c19 Mon Sep 17 00:00:00 2001 From: zhulinsen <42829555+ZhuLinsen@users.noreply.github.com> Date: Thu, 2 Jul 2026 22:50:02 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=8F=B0=E8=82=A1?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=96=87=E6=A1=A3=E5=85=A5=E5=8F=A3=20(#1884?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: update Taiwan stock support docs * docs: simplify README market coverage --- README.md | 8 ++++---- docs/CHANGELOG.md | 1 + docs/README_CHT.md | 8 ++++---- docs/README_EN.md | 8 ++++---- docs/market-support.md | 24 ++++++++++++++---------- 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 25a84d311..92453976c 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ #1 Python Repository Of The Day | Trendshift Featured|HelloGitHub

-> 🤖 基于 AI 大模型的 A股/港股/美股/日股/韩股自选股智能分析系统,每日自动分析并推送「决策仪表盘」到企业微信/飞书/Telegram/Discord/Slack/邮箱 +> 🤖 基于 AI 大模型的 A股/港股/美股/日股/韩股/台股自选股智能分析系统,每日自动分析并推送「决策仪表盘」到企业微信/飞书/Telegram/Discord/Slack/邮箱 [**产品预览**](#-产品预览) · [**功能特性**](#-功能特性) · [**快速开始**](#-快速开始) · [**推送效果**](#-推送效果) · [**文档中心**](docs/INDEX.md) · [**完整指南**](docs/full-guide.md) @@ -41,7 +41,7 @@ | 能力 | 覆盖内容 | |------|------| | AI 决策报告 | 核心结论、评分、趋势、买卖点位、风险警报、催化因素、操作检查清单 | -| 多市场数据聚合 | A股、港股、美股、ETF:行情、K 线、技术指标、资金流、筹码、新闻、公告和基本面;日股/韩股(`.T` / `.KS` / `.KQ`):YFinance 日线与基础行情、技术指标可用,`capital_flow`、`dragon_tiger`、`boards` 与部分高阶区块会按市场边界降级为 `not_supported`(见 [市场支持边界](docs/market-support.md)) | +| 多市场数据聚合 | 覆盖 A股、港股、美股、日股、韩股、台股和 ETF,支持行情、K 线、技术指标、新闻、公告、基本面与报告辅助数据;不同市场的数据源和能力边界见 [市场支持边界](docs/market-support.md) | | Web / 桌面工作台 | 手动分析、任务进度、历史报告、完整 Markdown、回测、持仓、配置管理、浅色 / 深色主题 | | Agent 策略问股 | 多轮追问,支持均线、缠论、波浪、趋势、热点、事件、成长、预期等 15 种内置策略,覆盖 Web/Bot/API | | 智能导入与补全 | 图片、CSV/Excel、剪贴板导入;股票代码/名称/拼音/别名补全 | @@ -107,7 +107,7 @@ | Secret 名称 | 说明 | 必填 | |------------|------|:----:| -| `STOCK_LIST` | 自选股代码,如 `600519,hk00700,AAPL,7203.T,005930.KS` | ✅ | +| `STOCK_LIST` | 自选股代码,如 `600519,hk00700,AAPL,7203.T,005930.KS,2330.TW` | ✅ | **新闻源配置(推荐)** @@ -158,7 +158,7 @@ python main.py ```bash python main.py --debug python main.py --dry-run -python main.py --stocks 600519,hk00700,AAPL +python main.py --stocks 600519,hk00700,AAPL,2330.TW python main.py --market-review python main.py --schedule python main.py --serve-only diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index ca99dc1f1..082576c8d 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -37,6 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/). - [修复] 台股(tw)市场阶段(`market_phase`)新增收盘集合竞价识别:`_CLOSING_AUCTION_WINDOW_MINUTES` 缺 `tw` 键时 `.get(market, 0)` 得零宽窗口,TWSE/TPEx 13:25–13:30 的 5 分钟收盘竞价此前永远无法判定为 `closing_auction`(收盘前一刻仍 `intraday`、13:30 直接 `postmarket`);补 `"tw": 5` 修正,附阶段边界回归测试。仅 tw 加项,cn/hk/us 与 jp/kr 行为不变。 - [新功能] 新增 AI 建议决策风格重评估预览接口与页面预览。 +- [文档] 更新 README 三语入口和市场支持边界,明确台股个股分析已支持 `.TW` / `.TWO` suffix、三大法人报告区块、TWD 标注与收盘竞价识别,同时保留台股股票池自动补全、大盘复盘和大盘红绿灯告警的未覆盖边界。 ## [3.24.1] - 2026-06-28 diff --git a/docs/README_CHT.md b/docs/README_CHT.md index 52efbc6bc..7b1ce04fd 100644 --- a/docs/README_CHT.md +++ b/docs/README_CHT.md @@ -13,7 +13,7 @@ #1 Python Repository Of The Day | Trendshift Featured|HelloGitHub

-**基於 AI 大模型的 A股/港股/美股/日股/韓股自選股智能分析系統** +**基於 AI 大模型的 A股/港股/美股/日股/韓股/台股自選股智能分析系統** 每日自動分析自選股 -> 生成決策儀表盤 -> 推送到 Telegram / Discord / Slack / 郵件 / 企業微信 / 飛書。 @@ -43,7 +43,7 @@ | 能力 | 覆蓋內容 | |------|------| | AI 決策報告 | 核心結論、評分、趨勢、買賣點位、風險警報、催化因素、操作檢查清單 | -| 多市場數據聚合 | A股、港股、美股、ETF:行情、K 線、技術指標、資金流、籌碼、新聞、公告和基本面;日股/韓股(`.T` / `.KS` / `.KQ`):目前僅支援 YFinance 日線與基礎行情、技術指標,`capital_flow`、`dragon_tiger`、`boards` 與其他高階區塊會依市場邊界降級為 `not_supported`(見 [市場支持邊界](market-support.md)) | +| 多市場數據聚合 | 覆蓋 A股、港股、美股、日股、韓股、台股和 ETF,支援行情、K 線、技術指標、新聞、公告、基本面與報告輔助數據;不同市場的數據源和能力邊界見 [市場支持邊界](market-support.md) | | Web / 桌面工作台 | 手動分析、任務進度、歷史報告、完整 Markdown、回測、持倉、配置管理、淺色 / 深色主題 | | Agent 策略問股 | 多輪追問,支援均線、纏論、波浪、趨勢、熱點、事件、成長、預期等 15 種內建策略,覆蓋 Web/Bot/API | | 智能匯入與補全 | 圖片、CSV/Excel、剪貼簿匯入;股票代碼/名稱/拼音/別名補全 | @@ -108,7 +108,7 @@ | Secret 名稱 | 說明 | 必填 | |-------------|------|:----:| -| `STOCK_LIST` | 自選股代碼,如 `600519,hk00700,AAPL,7203.T,005930.KS` | ✅ | +| `STOCK_LIST` | 自選股代碼,如 `600519,hk00700,AAPL,7203.T,005930.KS,2330.TW` | ✅ | **新聞源配置(推薦)** @@ -159,7 +159,7 @@ python main.py ```bash python main.py --debug python main.py --dry-run -python main.py --stocks 600519,hk00700,AAPL +python main.py --stocks 600519,hk00700,AAPL,2330.TW python main.py --market-review python main.py --schedule python main.py --serve-only diff --git a/docs/README_EN.md b/docs/README_EN.md index 21b6c8e91..d21ca4c36 100644 --- a/docs/README_EN.md +++ b/docs/README_EN.md @@ -13,7 +13,7 @@ #1 Python Repository Of The Day | Trendshift Featured|HelloGitHub

-**AI-powered stock analysis system for A-shares / Hong Kong / US / Japanese / Korean stocks** +**AI-powered stock analysis system for A-shares / Hong Kong / US / Japanese / Korean / Taiwan stocks** Analyze your watchlist daily -> generate a decision dashboard -> push to Telegram / Discord / Slack / Email / WeChat Work / Feishu. @@ -43,7 +43,7 @@ English | [简体中文](../README.md) | [繁體中文](README_CHT.md) | Capability | Coverage | |------------|----------| | AI decision reports | Core conclusion, score, trend, entry/exit levels, risk alerts, catalysts, and action checklist | -| Multi-market data | A-shares, Hong Kong, US, ETFs: quotes, K-lines, technical indicators, capital flow, chips, news, announcements, and fundamentals; Japanese/Korean (Yahoo `.T` / `.KS` / `.KQ`): currently MVP supports YFinance basic/quote + daily data and technical indicators only, while capital flow, dragon_tiger, boards, and related advanced blocks may return `not_supported` (see [market boundaries](market-support.md)) | +| Multi-market data | Covers A-shares, Hong Kong, US, Japanese, Korean, Taiwan stocks, and ETFs, with quotes, K-lines, technical indicators, news, announcements, fundamentals, and report context. Data-source coverage and market boundaries are documented in [market boundaries](market-support.md) | | Web / desktop workspace | Manual analysis, task progress, history, full Markdown reports, backtest, portfolio, settings, and light/dark themes | | Agent strategy chat | Multi-turn Q&A with 15 built-in strategies across Web/Bot/API | | Smart import & autocomplete | Image, CSV/Excel, clipboard import; code/name/pinyin/alias autocomplete | @@ -108,7 +108,7 @@ More channels, signatures, email groups, and Markdown-to-image settings are in [ | Secret Name | Description | Required | |-------------|-------------|:--------:| -| `STOCK_LIST` | Watchlist codes, such as `600519,hk00700,AAPL,7203.T,005930.KS` | ✅ | +| `STOCK_LIST` | Watchlist codes, such as `600519,hk00700,AAPL,7203.T,005930.KS,2330.TW` | ✅ | **News sources (recommended)** @@ -159,7 +159,7 @@ Common commands: ```bash python main.py --debug python main.py --dry-run -python main.py --stocks 600519,hk00700,AAPL +python main.py --stocks 600519,hk00700,AAPL,2330.TW python main.py --market-review python main.py --schedule python main.py --serve-only diff --git a/docs/market-support.md b/docs/market-support.md index ae4986073..14807d0fe 100644 --- a/docs/market-support.md +++ b/docs/market-support.md @@ -89,9 +89,11 @@ PY 回滚方式:从 `MARKET_REVIEW_REGION` 合法值、Web 设置枚举、MarketProfile/MarketStrategy、`_MARKET_REVIEW_MARKETS` 和本文档中移除 `jp` / `kr`。 -## 台湾个股 suffix-only MVP(Issue #1772,Refs #1772) +## 台湾个股支持(suffix-only,Issue #1772 / #1777) -当前阶段支持手动输入台湾股票的 Yahoo Finance 后缀代码,进入既有个股分析、历史保存和基础报告展示链路。TWSE 上市股票使用 `.TW` 后缀,TPEx 上柜(柜买)股票使用 `.TWO` 后缀,二者折叠为同一 `tw` 市场标签。**本次覆盖市场识别(detection)、数据路由层、DecisionSignal/Portfolio/Intelligence 服务层与 API 市场枚举,以及 DecisionSignal/Portfolio 前端市场类型与筛选**;台股股票索引/种子、Web 自动补全与告警(大盘红绿灯)市场放行仍作为后续 PR。对齐 #1718 日韩 MVP 模式。 +当前阶段支持手动输入台湾股票的 Yahoo Finance 后缀代码,进入既有个股分析、历史保存、报告渲染、DecisionSignal、Portfolio 和 Intelligence 链路。TWSE 上市股票使用 `.TW` 后缀,TPEx 上柜(柜买)股票使用 `.TWO` 后缀,二者折叠为同一 `tw` 市场标签。 + +近期台股链路已从早期 MVP 收敛为一等个股分析市场:市场识别、数据路由、交易日历/市场阶段、YFinance 日线与基础行情、主要指数、服务层/API/Web 市场枚举、TWD 币种标注、三大法人报告区块与 LLM prompt 消费均已接入。仍需保留的边界是:台股股票池种子/自动补全、大盘复盘 `MARKET_REVIEW_REGION=tw`、Market Light 大盘红绿灯告警和完整台股市场宽度/板块排行尚未纳入。 支持格式: @@ -101,22 +103,24 @@ PY 约束与边界: -- **严格 suffix-only**:裸 `2330`、`00878` 等不带后缀的代码不会进入台股语义(`detect_market` / `get_market_for_stock` 仅在显式 `.TW`/`.TWO` 后缀时返回 `tw`)。本次**不引入任何台股股票索引/种子解析**,故裸码不可能经本地/远程股票池被改写为台股 suffix;该索引解析(与 jp/kr 同款的裸码命中行为)属后续 PR。 +- **严格 suffix-only**:裸 `2330`、`00878` 等不带后缀的代码不会进入台股语义(`detect_market` / `get_market_for_stock` 仅在显式 `.TW`/`.TWO` 后缀时返回 `tw`)。当前未内置台股股票索引/种子解析,Web 自动补全不承诺完整台股股票池;未命中时请手动输入完整 suffix 代码。 - 台股日线和基础实时/近实时行情只走 `YfinanceFetcher`,不尝试 AkShare、Tushare、Efinance、Pytdx、Baostock 等 A 股专属数据源。 -- 基本面复用既有 offshore yfinance 轻量路径;A 股专属资金流、龙虎榜、板块等能力按 `not_supported` 降级。 -- 报告 Prompt 已增加台股市场语义(新台币、三大法人、TWSE/TPEx ±10% 涨跌停),避免套用 A 股北向资金、龙虎榜等概念。 +- 基本面复用既有 offshore yfinance 轻量路径;`institution` 区块额外消费台股三大法人资料并渲染到报告,A 股专属资金流、龙虎榜、板块等能力按 `not_supported` 降级。 +- 报告 Prompt 已增加台股市场语义(新台币、三大法人、TWSE/TPEx ±10% 涨跌停),并将三大法人净买卖超注入 LLM 分析上下文,避免套用 A 股北向资金、龙虎榜等概念。 - 交易日历注册 `tw: XTAI / Asia/Taipei`。TWSE 为 09:00–13:30 连续交易、无午休;收盘集合竞价 13:25–13:30 已按 5 分钟启发式窗口建模(`_CLOSING_AUCTION_WINDOW_MINUTES["tw"]=5`,`market_phase` 可返回 `closing_auction`),jp/kr 暂未建模。若本地 `exchange-calendars` 版本缺少对应日历,既有 fail-open/fail-closed 语义保持不变。 - 主要指数提供加权指数 `^TWII` 与柜买指数 `^TWOII`。 -- 三大法人买卖超(institutional flows)资料层:`TwInstitutionalFetcher`(`data_provider/tw_institutional_fetcher.py`)提供上市(TWSE T86,legacy `rwd` 端点)/ 上柜(TPEx OpenAPI)每日外资·投信·自营商·三大法人买卖超(单位:**股数**;按日期+市场做单日全市场缓存再过滤个股,TPEx 民国年转西元有单测覆盖)。接口失败/限流/空响应/字段缺失一律 **fail-open** 返回无数据,不中断分析;仅对 `.TW`/`.TWO` 生效,不改动现有市场流程。资料来源为政府开放资料,采「政府资料开放授权条款第 1 版」(OGDL v1,允许商用与再散布,需标示来源)。**三大法人已接入台股报告的 `institution` 区块(展示原始买卖超净额,默认开启、fail-open,取不到数据维持 `not_supported`);Web 展示、评分权重与 `capital_flow_signal` 派生仍为后续。** +- 三大法人买卖超(institutional flows)资料层:`TwInstitutionalFetcher`(`data_provider/tw_institutional_fetcher.py`)提供上市(TWSE T86,legacy `rwd` 端点)/ 上柜(TPEx OpenAPI)每日外资·投信·自营商·三大法人买卖超(单位:**股数**;按日期+市场做单日全市场缓存再过滤个股,TPEx 民国年转西元有单测覆盖)。接口失败/限流/空响应/字段缺失一律 **fail-open** 返回无数据,不中断分析;仅对 `.TW`/`.TWO` 生效,不改动现有市场流程。资料来源为政府开放资料,采「政府资料开放授权条款第 1 版」(OGDL v1,允许商用与再散布,需标示来源)。 +- 三大法人 fetcher 已具备并发缓存防击穿和按 TWSE/TPEx 分流的熔断保护;TPEx OpenAPI 仅服务最新交易日,传入与服务日期不符的明确日期会 fail-open 返回无数据,避免错日资料静默进入报告。 +- 台股财务金额会使用 TWD -> 「新台币」标注,避免落入 A 股语境下的默认「元」。 不承诺项: - 不承诺实时行情;Yahoo Finance 数据可能延迟或字段缺失。 -- 不承诺完整基本面、行业/板块、市场宽度、涨跌家数或台股大盘复盘。 -- 台股股票索引/种子、Web 自动补全与告警(大盘红绿灯)市场放行仍作为后续 PR;告警 MarketRegion 与后端 market_light 仍为 cn/hk/us,未含 tw。 -- 不补齐 Portfolio 的 TWD 汇率、成本、市值完整口径(属上述后续 PR 范围)。 +- 不承诺完整基本面、行业/板块、市场宽度、涨跌家数或台股大盘复盘;`MARKET_REVIEW_REGION` 仍只接受 `cn/hk/us/jp/kr/both` 或这些市场的逗号子集。 +- 台股股票索引/种子和 Web 自动补全仍未完整接入;告警 MarketRegion 与后端 Market Light 告警仍为 `cn/hk/us`,未含 `tw`。 +- 不补齐 Portfolio 的 TWD 汇率、成本、市值完整口径;台股 Portfolio 当前属于 partial valuation 市场。 -回滚方式:移除 `tw` 市场识别、交易日历注册、YFinance 路由扩展与服务层/API 市场枚举及前端市场类型放行,并删除本文档中的能力声明。 +回滚方式:移除 `tw` 市场识别、交易日历注册、YFinance 路由扩展、三大法人资料层/报告消费、TWD 标注、服务层/API 市场枚举及前端市场类型放行,并删除本文档中的能力声明。 ## 日本/韩国 Portfolio 与 Market Light 边界(Issue #1815 Phase 3)