Agent Skills
返回列表
港股多因子选股

港股多因子选股

行业专业 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_ecbd3b70/hk-stock-factor。

技能介绍

要解决的问题

在港股做多因子选股,第一步就卡在数据:行情、估值、财报、资金流分散在不同接口,手动拼接容易出错;标的池也要从恒指成分股和港股通名单交叉筛选,88只股票逐只拉数据既慢又浪费限频。更麻烦的是港股和A股的数据特性差异——财务字段一次就能拿到,但资金流只有当日快照,PE 还可能是负的,一套照搬A股的脚本往往跑不通。

工作方式

这个技能把数据获取、存储、计算、回测和报告串成一条流水线。

数据源统一走 westock-mcp(腾讯自选股的 WorkBuddy 原生连接器),通过 DeferExecuteTool 批量调用:

  • data_kline 拿前复权日 K 线(默认 520 根)
  • data_quote 拿估值、规模、52周高低和短期涨跌
  • data_finance 一次返回毛利率、加权 ROE、资产负债率、营收和净利同比等综合财务字段
  • data_fund_flow 拿当日主力、散户和总净流入
  • 基准用恒生指数 hkHSI 的日 K 线

标的池由三份本地文件交叉得到:恒指成分股 93 只、港股通 615 只取交集后剩 88 只。

因子覆盖价值、规模、动量、波动、情绪、质量、成长、技术八个维度共 20 个,composite 是各因子截面 z 分数的带符号均值。数据存到 sqlite(data/stock.db),时间序列表用 INSERT OR REPLACE 增量 upsert,快照表每次全量覆盖。

主流程分两步:先按需补数据(python fetch.py 分批拉取,每批 15~20 只,两轮并发限频),然后一条命令 python run_all.py --top-pct 0.1 跑完 land→calc→backtest→report,自动生成 HTML 报告和 CSV 明细。

注意点

  • 港股财务单次取足:不像 A 股要合并 income+balance,data_finance(type=income) 直接给全
  • 资金流仅快照:只有当日值,没有 5 日/20 日均值和换手率细分,情绪因子是横截面当期值
  • PE 可能为负:亏损股的 ep 因子直接用现有数据计算,刷新数据是选做项,不浪费限频
  • 快照因子不随时间重算:估值、规模、质量、成长、资金流在时间序列上恒为最新快照,回测据此评估
  • 数据量过大时建议先取一二十只验证管线

使用场景

  • 日常接收收盘后因子选股任务,用本地已有数据直接跑计算、回测和报告生成,无需重复取数。
  • 需要把选股范围从恒指和港股通交叉得到 88 只标的批量拉取行情、财报和资金流并落盘。
  • 量化研究员要评估 20 个因子的截面表现和 top 10% 组合的夏普、回撤等指标。
  • 投资助理要把选股明细带到 Excel 里继续分析,需要导出不乱码且列完整的 CSV。

适合人员

  • 量化研究员:需要在固定股票池上验证 20 个因子的组合效果和月度回测表现。
  • 港股研究员:日常要从恒指与港股通交叉标的里筛选候选股并生成可复现报告。
  • 数据工程师:要把行情、财报、资金流取数和 SQLite 增量更新做成可重跑的离线管线。
  • 初级交易员:希望每天用统一流程拿到 top 10% 候选股和因子明细,减少手动拼表。