从 Point-in-Time 股票筛选到统一 Web 前端的完整链路: 筛选 → 画像 → 策略 → 回测 → Walk-forward → 绩效分析 → 报告/前端。 架构 - 数据层与策略层分离;策略代码不写 SQL,只经 data/repo.py 取数 - 所有业务阈值集中在 config/*.yml,代码零硬编码(字段写错直接报错) - 报告只做「run_id → SQL → 渲染」,不做任何计算,数字可追溯 - 前后端分离:output/ 静态站点 + hdiv web 提供的 REST API 数据安全 - 只增不删:SQL 钩子拦截 DELETE/DROP/TRUNCATE,并有源码扫描测试守护 - qlib 原有表只读,本项目数据写入 hd_ 前缀表 - 回补使用 INSERT IGNORE,保证既有行零改动 - .env 存密钥且已 gitignore;output/、logs/、.venv/ 不入库 交付物 - 30 张 hd_* 表、7 个 YAML 配置、283 项自动化测试 - 统一 Web 前端(hash 路由 SPA)+ nginx 部署配置与 launchd 托管脚本 如实声明的限制 - 策略缺少稳定的样本外超额收益(Walk-forward 7 窗口均值 -0.95%, 基准 +2.29%);其价值体现在回撤控制,而非超额收益 - 涨跌停/停牌约束仅覆盖 2019 年起;index_weight 尚未填充 - AI Agent 层(plan.md 第四版 P8)未实现 详见 docs/user-guide.md 与 docs/implementation-status.md。
44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
# ============================================================
|
||
# 交易成本模型(★ 可直接修改)
|
||
# 对应 plan.md §29:Commission / Stamp Duty / Transfer Fee / Slippage
|
||
# A 股默认口径(2023 年后):
|
||
# 佣金 双边 万2.5,最低 5 元
|
||
# 印花税 卖出 千1(2023-08-28 起由千1减半为万5,此处按现行万5)
|
||
# 过户费 双边 万0.1
|
||
# 滑点 10 bps(可改为 tick / fixed)
|
||
# ============================================================
|
||
version: 1
|
||
model: a_share_default
|
||
|
||
commission:
|
||
rate: 0.00025 # 万 2.5
|
||
min: 5.0 # 单笔最低佣金(元)
|
||
side: both # both | buy | sell
|
||
|
||
stamp_duty:
|
||
rate: 0.0005 # 万 5,仅卖出
|
||
side: sell
|
||
|
||
transfer_fee:
|
||
rate: 0.00001 # 万 0.1,双边
|
||
side: both
|
||
|
||
slippage:
|
||
# bps —— 按成交金额的万分比
|
||
# fixed —— 每股固定价差(元)
|
||
# tick —— A 股最小变动价位 0.01 元的倍数
|
||
mode: bps
|
||
value: 10
|
||
|
||
# ------------------------------------------------------------
|
||
# 分红所得税(plan.md §30/§31 的正确性依赖)
|
||
# 持股期限差异化税率;持有超过 1 年免征
|
||
# ------------------------------------------------------------
|
||
dividend_tax:
|
||
enabled: true
|
||
holding_based: true
|
||
rates:
|
||
"1m": 0.20 # 持股 <= 1 个月
|
||
"1y": 0.10 # 1 个月 < 持股 <= 1 年
|
||
"gt1y": 0.00 # 持股 > 1 年
|