Files
stock-analysis/docs/可行性分析.md
WarrenZhou e28bfec957 Initial commit: 可转债轮动分析系统
- 实时行情:东财push2主源 + 腾讯批量报价备用源(自动切换)
- 历史K线:东财push2his主源 + 腾讯web子域备用源(含熔断机制)
- 增量同步:支持 -incr/-since 参数按存档日期增量入库
- 策略回测:净值曲线/10指标/基准对比,含基本面过滤
- 用户认证:用户名密码 + 邮箱验证码双登录方式
- 前端:三Tab SPA(实时行情/策略回测/数据管理)
2026-08-17 20:23:22 +08:00

6.6 KiB
Raw Permalink Blame History

stock-analysis 可行性分析

项目:可转债轮动策略分析系统(Go B/S 架构) 日期:2026-08-12

1. 项目目标

搭建一个基于 Go 语言的 B/S 架构量化分析系统,实现:

  • 策略制定:用户自定义可转债轮动策略(选债因子、权重、调仓频率、风控规则)
  • 历史回测:用历史数据验证策略表现(年化收益、最大回撤、胜率、夏普比率)
  • 实时交易:通过东方财富开放平台模拟交易 API(方案4)自动下单,仅在模拟盘运行

2. 技术可行性

维度 方案 结论
后端语言 Go 1.25.0 ✅ 高并发 HTTP 拉取、B/S API 开发成熟
前端 原生 HTML/JS + ECharts(无构建链,轻量) ✅ 满足回测曲线/持仓展示
数据库 SQLite(modernc.org/sqlite,纯 Go 无 CGO) ✅ 单机部署零依赖
定时任务 Go 标准库 + goroutine 调度 ✅ 盘中定时轮询行情
回测引擎 自研(事件驱动,逐日模拟) ✅ 日频数据足够

3. 数据源可行性(东方财富免费接口)

3.1 实时全量可转债列表

GET https://push2.eastmoney.com/api/qt/clist/get
  ?pn=1&pz=100&po=1&np=1&fltt=2&invt=2&fid=f3&fs=b:MK0354
  &fields=f2,f3,f12,f14,f26,f227,f228,f230,f232,f234,f235,f236,f237,f238,f239,f240
字段 含义 状态
f2/f3 转债最新价 / 涨跌幅 ✅ 实测确认
f12/f14 转债代码 / 名称 ✅
f26 上市日期 ✅
f227 纯债价值 ✅ 对照数据中心确认
f228 正股最新价 ✅
f230 正股涨跌幅 ✅
f232/f234 正股代码 / 名称 ✅
f235 转股价 ✅
f236 转股价值 ✅
f237 转股溢价率(%) ✅
f238 纯债溢价率(%) ✅
f239/f240 回售/强赎触发价 ✅
f229 剩余规模 ⚠️ 实测与剩余规模不符,疑似成交额,弃用
剩余规模 选债关键因子 ⏳ M2 待定方案(datacenter 无此字段,需评估集思录等替代源)

实测方法:请求 fields 后与东财数据中心详情页(data.eastmoney.com/kzz/detail)数值逐一对照。 注意:东财字段值可能是数字或 "-" 字符串,解析须容错;单页 pz 上限 100,需分页拉取。

3.2 历史K线(回测数据)

GET https://push2his.eastmoney.com/api/qt/stock/kline/get
  ?secid=1.113050&klt=101&fqt=0&beg=20200101&end=20500101&fields1=f1,f2,f3&fields2=f51,f52,f53,f54,f55,f56,f57
  • 支持日(101)/周(102)/月(103)K线,前复权/不复权
  • 返回 OHLC + 成交量 + 成交额,满足回测需求

3.3 频率限制与对策

风险 对策
无官方 SLA,接口可能变动 解析层隔离,字段映射集中管理
高频调用可能被封 IP 全局限速器 500ms/请求 + 失败重试 + 指数退避
盘中数据延迟 以 3-5 秒轮询为主,不做毫秒级

4. 回测可行性

  • 数据:日频 K 线全量可下载,覆盖近 5 年
  • 交易模拟:按收盘价/次日开盘价撮合,计入佣金(万 0.5)、印花税(可转债免)、滑点(0.1%)
  • 停牌处理:停牌日跳过,不产生交易
  • 策略基准:中证转债指数(可下载)对照超额收益

5. 交易执行可行性(方案4:东方财富开放平台)

5.1 能力清单

能力 支持情况
模拟交易下单 ✅ 需要申请模拟账户 + app_id/access_token/trade_key
订单查询 / 撤单 ✅
持仓 / 资金查询 ✅
实盘交易 ❌ 本项目不接入实盘

5.2 限制

  • 仅 A 股标的(可转债含在 A 股范围内,需确认模拟盘支持可转债)
  • API 调用频率限制约 15 秒/次
  • 仅交易时段(9:15-15:00)可用
  • 非官方文档化,接口以实际返回为准

5.3 结论

模拟盘对接可行,但先完成数据与回测模块,交易模块作为独立阶段开发,风险隔离。

6. 系统架构

┌─────────────────────────────────────────────┐
│ Web 前端 (HTML + ECharts)                   │
│  策略配置 / 回测结果 / 持仓展示 / 下单操作   │
└─────────────────────┬───────────────────────┘
                      │ HTTP API
┌─────────────────────▼───────────────────────┐
│ Go 后端                                      │
│  ┌──────────┐ ┌──────────┐ ┌──────────────┐  │
│  │ 策略引擎  │ │ 回测引擎  │ │ 交易模块     │  │
│  └──────────┘ └──────────┘ └──────────────┘  │
│  ┌──────────────────────────────────────┐    │
│  │ 数据层:东财接口客户端 + 限速 + 缓存   │    │
│  └──────────────────────────────────────┘    │
│  ┌──────────────────────────────────────┐    │
│  │ 存储:SQLite(行情缓存/回测结果/配置)  │    │
│  └──────────────────────────────────────┘    │
└──────────────┬───────────────────────────────┘
               │
    ┌──────────▼──────────┐
    │ 东方财富免费行情接口  │   ┌─────────────────┐
    │ (push2 / push2his)  │   │ 开放平台模拟交易  │
    └─────────────────────┘   └─────────────────┘

7. 里程碑规划

阶段 内容 状态
M1 可行性分析 + 项目骨架 + 数据拉取模块 本次
M2 回测引擎 + 轮动策略 + 回测结果可视化 后续
M3 模拟盘交易模块(方案4对接) 后续
M4 定时任务 + 持仓跟踪 + 风控告警 后续

8. 结论

  • 技术、数据、回测:完全可行
  • 交易(方案4模拟盘):有条件可行,需先开通模拟账户
  • 建议路径:M1 → M2 优先,M3/M4 在模拟账户开通后进行