先对齐数据,再计算分数
核对年报期、估值日和 TTM 字段;缺失财务信息时保留不完整状态,避免用旧值拼出看似完整的结果。
数据处理源码 ↗我将公开投资方法写成可运行的规则,开发财务筛选、跨框架共识和含成本回测,并为每次计算保留可检查的产物。
我未为项目付费投流或刷量,Star、Fork 均为自然增长。真实取数使用 AKShare,原始取数记录、筛选结果与验证记录均已公开。
把研究流程拆成可运行、可检查的模块。Agent 按任务加载 Skill,也可以直接调用 Python CLI。
真实取数记录与两个独立的合成场景分别展示。这里呈现已保存的结果,不会在网页中请求行情或执行交易。
通过 AKShare 1.19.3 取得 2021–2025 年报数据并完成当次筛选。下方字段摘自原始 JSON,记录估值交易日与数据完整状态。
{
"code": "600519",
"score_status": "complete",
"financial_periods": [
"2021-12-31",
"2022-12-31",
"2023-12-31",
"2024-12-31",
"2025-12-31"
],
"valuation_date": "2026-10-23",
"historical_point_in_time": false
}
这份单股记录验证了当次取数和计算。historical_point_in_time: false 表示它不是严格历史时点数据快照,也不证明策略收益。
质量示例与动量示例各包含 3 个合成代码。CLI 使用框架内排名计算共识,保留两份原始分数与覆盖数。
| 合成代码 | 质量原始分 | 动量原始分 | 共识分 | 覆盖数 |
|---|---|---|---|---|
| 000003 | 30 | 20 | 83.3 | 2 |
| 000001 | 10 | 30 | 66.7 | 2 |
| 000002 | 20 | 10 | 50.0 | 2 |
共识分表示示例中的排名汇总,不是胜率。这个场景与下一个回测场景使用各自的独立输入。
人为设定价格为 100 → 110 → 99,首期建仓收取 10 bps 成本;第二期持仓不变,期末不强制清仓。
初始资产 1.00000 首期建仓后 1 × 0.999 两期净期末资产 0.999 × 1.1 × 0.9 = 0.98901 基准期末资产 1.01000
运行脚本后,可检查两期持仓明细、毛净收益、换手与输入缓存哈希。测试会核对数值并检查是否改写输入。
这些数字是程序核算样本,不是真实行情回测或实盘业绩。实际披露时点、复权分红和可成交约束仍需进一步建模。
需要 Python 3.11+。安装依赖后,演示读取仓库内的 CSV,不访问市场数据服务。
git clone https://github.com/Serennity007/awesome-stock-quant-skills.git cd awesome-stock-quant-skills python -m pip install -r requirements-demo.txt
python scripts/run_demo.py
完成后打开 output/demo/run-…/REPORT.md。报告连接到共识 CSV、回测持仓、输入哈希与日志;重复运行创建新目录,保留已有结果。