一、立项背景与目标
背景
传统股票技术分析工具存在数据获取不稳定、多周期联动分析困难、筛选条件单一等痛点。投资者往往需要在多个软件之间切换,手动对比不同周期的技术指标,效率低下且容易错失交易机会。
目标
打造一款智能、高效、全周期覆盖的股票技术分析辅助系统,实现数据自动化采集、多维度条件筛选、可视化图表展示,并通过AI大模型赋能,为投资者提供智能化的交易决策支持。
二、核心功能模块
2.1 数据智能采集模块
多源数据接入(东方财富、新浪财经等)
全周期覆盖(30分钟/日线/周线/月线)
智能增量更新,避免重复下载
本地化存储,数据安全可控
2.2 多周期SKDJ分析模块
自动计算K值与D值
独立周期条件设置
趋势智能识别(上升/下降/震荡)
成交量异动检测
2.3 AI大模型智能分析模块
智能信号解读:接入大模型,自动解读SKDJ金叉/死叉信号,生成自然语言分析报告
多周期共振分析:AI自动识别30分钟、日线、周线三个周期的信号一致性,判断共振强度
趋势预测辅助:基于历史SKDJ走势,大模型给出短期趋势概率评估
个性化策略推荐:根据用户筛选条件,AI推荐适配的交易策略(超跌反弹/强势追涨/趋势跟踪)
异动预警:结合成交量异动与SKDJ位置,AI自动标记异常波动股票
智能问答:用户可直接提问(如"当前超卖股票中哪些有放量迹象"),大模型实时分析并返回结果
2.4 可视化图表模块
K线图+成交量+SKDJ三图合一
多周期标签页切换
最后30根K线高亮标记
超买超卖区域可视化
三、业务流程
3.1 数据采集流程
用户启动系统 → 选择更新范围 → 系统自动获取股票列表 → 增量下载缺失数据 → 本地存储 → 更新完成
3.2 筛选分析流程
选择周期(30分钟/日线/周线)→ 设置筛选条件(K值范围/趋势/成交量)→ 点击扫描 → 系统读取本地数据 → 计算SKDJ指标 → 应用筛选条件 → 展示结果列表
3.3 AI智能分析流程
筛选出结果列表 → 点击「AI分析」按钮 → 系统将股票数据发送至大模型 → AI自动分析多周期共振情况 → 生成智能解读报告 → 推送交易建议 → 用户参考决策
3.4 详细查看流程
点击股票「详情」→ 系统加载多周期K线数据 → 展示三图合一图表 → 用户查看技术形态 → AI同步生成该股票的技术分析简报 → 辅助投资决策
四、技术优势
特性 说明
零成本 完全免费,无需付费数据接口
本地化 数据存储在本地,隐私安全
高效率 增量更新机制,每日更新仅需数分钟
智能化 接入大模型AI,提供智能分析辅助
全周期 支持30分钟/日线/周线/月线四周期联动
可视化 三图合一,直观展示技术形态
一、整体架构
采用数据-业务-展示三层解耦架构:
数据层:AkShare多源采集 + 本地CSV分级存储 + 增量更新机制
业务层:SKDJ指标计算 + 多周期独立筛选 + 异步数据加载
展示层:PyQt5 GUI + Matplotlib可视化 + 三图合一渲染
AI层:DeepSeek大模型接入 + 智能信号解读 + 自然语言交互
二、核心技术栈
层级 技术
前端 PyQt5、Matplotlib
后端 Python、Pandas、NumPy
数据源 AkShare(东方财富/新浪)
AI引擎 DeepSeek API
三、关键技术难点与解决方案
1. 数据源稳定性问题
难点:BaoStock频繁报socket错误,连接被重置
方案:替换为AkShare,增加重试机制与随机延迟,30分钟线限制时间窗口
2. 界面响应卡顿
难点:全量数据加载导致界面假死10秒以上
方案:QThread异步加载 + 数据缓存 + K线图限流显示(最多200条)
3. SKDJ趋势误判
难点:传统算法对V型反转识别不准
方案:采用5周期多数原则(3/5 K>D判定上升)
4. 大模型接入挑战
难点:API延迟高、Token限制、成本控制
方案:批量分析 + 结构化Prompt + 结果缓存 + 按需调用
5. 多周期筛选复杂
难点:30分钟/日线/周线条件需独立设置并组合
方案:条件封装为独立控件,逐周期串行校验
6. 数据存储混乱
难点:多周期多股票文件难以管理
方案:分级目录 + 日期粒度切片存储