这个项目能做什么

Sellside Research Engine 是一个开源 Python 流水线加静态网页仪表盘,可自动化核心股票研究闭环。它从 SEC EDGAR XBRL 获取经审计的基本面数据,从 Yahoo Finance(通过 yfinance)获取价格与一致预期,从 FRED 获取 2 年期美国国债收益率,从 ECB 获取 EUR/USD 汇率,然后筛选 21 只美股并对前 10 名进行估值。无需 API 密钥。 覆盖范围与输出 - 股票池:覆盖 8 个板块的 21 只美股,可通过 trg_workbench/config.py 中的 DEFAULT_US_TICKERS 配置。仪表盘展示研究评分前 10 名,每次刷新重新排名;可比公司、因子热力图和散点图覆盖全部 21 只。 - 估值:悲观/基准/乐观 FCF DCF,采用 5 年递减预测和 Gordon 终值;反向 DCF(当前价格隐含的增长率);面向银行、券商和保险公司的剩余收益与合理 P/B;估值区间足球场图;以及同业倍数。 - 风险:历史 VaR 和 CVaR(95%,1 日)、21D/63D 波动率、相对标普 500 的 beta、Sharpe、Sortino、最大回撤和相关性矩阵。 - 情绪与持仓:EPS 修正、盈利惊喜、推荐趋势、空头持仓和内部人活动。 - 板块与宏观:10 只 SPDR 板块 ETF 相对标普 500、轮动视图,以及实时 10Y、2Y、3M 国库券、VIX、DXY、WTI 和 EUR/USD。 - 输出:用于仪表盘的 dashboard_data.json、HTML 研究报告(海军蓝/金色模板)、通过 WeasyPrint 生成的 PDF(带 HTML 回退)、Markdown 报告和 150 DPI PNG 图表。 工作原理 CLI(main_v2.py)提供 fetch-all、build-report 和 build-all,并支持 --dry-run、--quiet 和 --formats 选项。数据在 data/normalized 下规范化,导出为 dashboard_data.json,并由单文件 index.html 在运行时加载该 JSON 进行渲染。GitHub Actions 工作流在每个工作日 22:00 UTC 运行,仅在 JSON 发生变化时提交,Vercel Git 集成在每次推送时重新部署。也支持两步构建(先 fetch-all,再 export_dashboard_data.py --skip-fetch)。 方法论说明 - FCF 代理 = SEC 净利润(Yahoo 回退)× 0.80;WACC 使用 CAPM 构建,采用 Blume 调整 beta 和固定 D/E 0.30;无风险利率为实时 10Y 美国国债收益率,回退值 5.3%。 - 增长默认采用一致预期 +1 年营收增长,回退为历史增长,两者都不存在时为 5%,并限制在 -20% 至 50%。 - 评级根据一致预期目标价上行空间机械生成:高于 +10% 为 BUY,低于 -10% 为 SELL,其余为 HOLD。 - 缺失值写为 null,并渲染为 n/a;已知缺口包括 FRED 比 Yahoo 滞后一天,以及 Yahoo 偶发单日缺口。 - 管理层评论是对 SEC 8-K 财报附件的关键词启发式分析,不是 LLM;由于 CI 没有缓存电话会议记录,实时网站上显示为 n/a。 设置与自定义 快速开始:克隆、pip install -r requirements.txt(Python 3.12)、运行 python export_dashboard_data.py,然后用 python -m http.server 8000 在本地提供服务。SEC 要求 API 用户通过 SEC_USER_AGENT 提供联系方式。fork 并通过 Vercel 导入即可部署个人副本;fork 必须保留 NOTICE 文件并注明原始仓库。自定义点包括股票池、build_research_dataset 中的因子权重、valuation.py 中的 DCF 假设,以及通过 data/analyst_views.csv 添加分析师覆盖(仅 v1 报告)。pytest 测试套件覆盖 SEC XBRL 提取、ECB 规范化、筛选、DCF 输入与情景、反向 DCF、剩余收益、可比公司、回报窗口、TTM/DuPont、情绪、JSON 导出、评论提取、模板和图表;目前尚无 pytest CI。 该项目采用 Apache 2.0 许可,定位为研究与教育工具,而非投资建议。路线图列出了计划工作,如 10-K/10-Q 情报、Monte Carlo DCF、历史倍数区间、Piotroski 和 Altman 评分、tearsheets、PowerPoint 导出、Docker 和 pytest CI。