策略交易工具文档差异对比


date: 2026-06-11 updated: 2026-06-11 conversation_id: 81f9c382-d7ba-42b9-b285-9b2ea9ee2b87 title: "策略交易工具文档差异对比" tags: [deepseek, conversation] ---

策略交易工具文档差异对比

创建时间: 2026-06-11 10:37

📎 处理文件中...

👤 用户:

一个需求文档,一个技术文档,请对比一下两个文档的差异


💭 思考过程

嗯,用户给了两个文档,一个是产品方案V1.3,另一个是技术设计说明书,要我对比一下差异。我先看看这两个文档分别是什么内容。

第一个文档是策略交易工具产品方案,看起来是业务需求文档,主要讲功能目标、系统登录、账户管理、账户组管理、手动交易、拖拉机策略、日志记录这些。有很多界面截图引用,描述的是用户能看到的界面和操作流程。

第二个文档是技术设计说明书,从技术实现角度写的,有加密规则、接口定义、数据库设计、策略执行流程这些内容。作者是刘青勇,版本1.0.0。

我需要仔细对比一下两个文档的差异。从宏观层面看,第一个文档偏重产品功能描述,第二个偏重技术实现细节。但具体内容上,应该有不少对应关系,也有遗漏或不一致的地方。

看看登录和用户管理部分。产品文档提到支持账号密码登录、超管重置密码、用户管理增删改查。技术文档有对应的接口设计,包括请求密钥、验证码、登录接口,还有用户管理的CRUD接口。这部分基本对应,但技术文档多了加密规则、JWT认证这些安全设计,产品文档没提到。

系统设置和账户管理方面,产品文档有交易账户管理,包括账户名称、券商、资金账号、状态、密码等。技术文档有资金账户的增删改查、启用禁用接口,基本对应。但技术文档多了资金账户扩展信息表,包含股东账号、营业部编号、柜台类型这些字段,产品文档没提。

手动交易部分差异比较大。产品文档有批量交易、手动交易、股票池管理、仓位调整等功能,描述比较详细。技术文档也有手动买入、手动卖出、批量购买、仓位调整的接口,但在执行逻辑上技术文档补充了很多细节,比如每秒扫描组持仓策略表、失败重试、延后处理机制等。产品文档里提到的涨停不卖、跌停继续挂单这些风控规则,在技术文档的“下单规则控制”部分也有体现。

拖拉机策略部分,产品文档讲了主账户触发、子账户跟单、固定金额/固定比例模式、资金持仓校验。技术文档有对应的策略管理接口,包括增删改查、启用禁用,还有策略执行逻辑。但技术文档的产品文档V1.3版中策略触发和执行的细节描述比较简略,更多是业务层面的描述,而技术文档补充了扫描策略执行规则表、按配置间隔控制下单频率等实现细节。

日志记录这块,产品文档分成手动交易日志、拖拉机交易日志、系统日志三类。技术文档有对应的查询接口设计,基本覆盖了产品文档的要求,还补充了柜台返回信息、异常错误码等字段。

我注意到产品文档里有“二期”标注的功能,比如ETF仓位、ETF数量、条件单配置、同步到合作商等,技术文档里完全没有提到这些。技术文档的当前版本只实现了一期功能,没有包含二期需求。

还有产品文档里有大量界面截图引用,技术文档没有这些内容,这是文档类型的自然差异。

数据设计方面,技术文档提供了具体的数据库表结构,包括用户表、资金账户信息表、资金账户扩展信息表,产品文档完全没有涉及这部分底层设计。

我要组织一个清晰的对比结构。可以从文档定位差异、功能范围差异、实现细节差异、数据模型差异、缺失与冗余内容这几个维度来组织。需要指出产品文档中的二期需求在技术文档中没有体现,这是一个重要的范围差异。还要说明技术文档中补充的安全设计、数据库设计等内容在产品文档中的缺失。

好的,我准备给出一个结构化的差异分析,帮助用户理解两个文档之间的关系和需要关注的问题点。

好的,已经仔细阅读并对比了您提供的两份文档。简单来说,这两份文档描述的是同一个项目的不同视角:

  • 《策略交易工具产品方案V1.3》 是一份产品需求文档,侧重于从用户和业务角度描述系统“要做什么”,包含功能目标、用户操作流程、界面元素和业务规则。
  • 《创新智能策交易工具-手机交易+拖拉机系统功能设计》 是一份技术设计文档,侧重于从开发人员角度描述系统“怎么做”,包含了接口定义、数据库设计、加密方案和具体的程序执行逻辑。

两份文档在核心功能上是一致的,可以认为是配套的“需求”与“实现”。但也存在一些范围、细节和描述重点上的差异。

以下是详细的对比分析:

核心差异对比表

对比维度产品方案文档 (V1.3)技术设计文档关键差异分析
文档定位产品需求文档 (PRD)技术设计/功能说明书视角不同:前者定义业务需求,后者定义技术实现。
目标读者产品经理、项目经理、开发、测试后端开发、系统架构师技术文档包含了更底层的技术细节。
功能范围较全,覆盖一期和二期功能的规划。明确标注了“ETF仓位【二期】”、“条件单配置【二期】”等。严格聚焦于一期可实现的内容。完全没有提及任何“二期”功能。重大差异:技术文档仅设计了一期功能。产品文档中的二期功能尚未纳入当前开发计划。
安全设计几乎没有提及。仅在日志中提到了“密码修改记录”。重点详细描述。包含加密算法(XOR)、通讯加密、JWT认证、验证码校验等完整的安全方案。技术文档对产品方案中未明确的非功能性需求(安全性)进行了完整的设计。
技术细节无。仅提供业务逻辑层面的描述。非常详尽。包含API接口定义(请求/响应参数)、数据库表结构(字段、类型、索引)、代码级逻辑说明。技术文档是产品方案的具体化和技术落地。
功能描述深度偏重用户操作界面和流程。例如,描述如何点击按钮、填写表单、查看列表。偏重后台处理逻辑和接口交互。例如,描述服务器接收到请求后的校验、数据存储、消息分发和异常处理。产品方案说明“做什么”,技术文档说明“背后的程序如何做”。
特定功能细节1. 涨停/跌停风控:详细描述了“涨停不卖,跌停继续挂单”的业务规则。
2. 手动交易辅助配置:提到了“执行方式(立即/定时)”和“同步到合作商(二期)”。
1. 批量购买逻辑:补充了产品文档未提及的细节,如失败重试(延后一分钟执行)、按比例计算持仓后的动态调仓。
2. 下单规则控制:细化了资金不足时如何处理、卖出单未成交时如何等待等具体策略执行算法。
技术文档对部分复杂业务逻辑(尤其是批量交易)进行了更落地的补充和细化。
日志记录按业务类型(手动、拖拉机、系统)分类描述,明确了需要记录哪些内容。按技术功能分类,并设计了对应的日志查询接口,将产品需求转化为了可开发的具体功能。两者基本对应,技术文档将日志需求设计成了具体的API。

详细差异分析

1. 功能范围差异:二期功能缺失

这是两份文档最显著的差异。

  • 产品方案中明确提到但技术文档中缺失的功能:
  • ETF仓位、ETF数量:在产品方案的“分组配置”部分被标注为【二期】。
  • 条件单配置:在产品方案的“条件单配置【二期】”部分,包括了炸板卖出等一系列复杂配置项。
  • 同步到合作商:在产品方案的“批量交易”部分被标注为【二期】。

结论:技术设计文档只覆盖了一期开发内容。所有二期功能在当前的系统架构、接口和数据库设计中均未体现。这意味着,如果要开发二期功能,技术文档需要进行重大更新。

2. 安全性设计:从无到有

产品文档完全没有涉及任何安全相关的内容,而技术文档将此作为第一章进行了重点设计。这表明在需求阶段安全性是隐含要求,技术团队将其显式化并给出了具体方案。例如,产品文档只要求“账号密码登录”,技术文档则实现了防止暴力破解的验证码、链路加密防止密码泄露、以及JWT保持会话状态。

3. 技术实现细节的补充和明确

技术文档在多个方面对产品文档的模糊需求进行了细化和明确。

  • 批量交易/手动交易的具体执行逻辑:
  • 产品文档:描述了总体目标(卖出不在池中的,买入池中的)和风控(涨停/跌停)。
  • 技术文档
  • 设计了组持仓策略表组手动策略表策略执行规则表等来驱动整个流程。
  • 明确了每秒轮询的机制来触发策略。
  • 细化了“仓位调整”的算法:如何计算出需要卖出的比例和数量。
  • 明确了资金或持仓查询失败时的重试机制(如延后一分钟)。
  • 细化了在执行策略时,如何根据分组配置(买卖间隔)来控制下单频率。
  • “拆单”功能:
  • 产品文档:在“手动交易”部分提到支持“是否拆单”。
  • 技术文档:在接口和策略执行逻辑中都保留了“是否拆单”字段,但没有详细描述具体的拆单算法(如数量拆分、时间拆分)。这属于一个待定的技术点。
  • 主账户唯一性校验:
  • 产品文档:描述了业务规则。
  • 技术文档:在“增加/修改拖拉机策略组”接口的逻辑中,明确实现了“检查主账户是否已被其他启用策略绑定”的校验。

4. 数据模型的设计

产品文档完全没有涉及,而技术文档设计了一系列数据库表,这是开发的基础。这些表结构反映了系统设计者对业务的理解。例如:

  • usr_info (用户表)
  • tr_act (资金账户信息表)
  • group_info (分组信息表)
  • tractor_strategy (拖拉机策略表)
  • strategyexecrule (策略执行规则表)

通过对比产品文档的业务描述和这些表结构,可以验证技术实现是否完整覆盖了业务需求。

总结与建议

  1. 文档关系:这两份文档是同一个项目在不同阶段的产物,互为补充。《产品方案》是“蓝图”,《技术设计》是“施工图”。没有产品方案,技术设计无处下手;没有技术设计,产品方案无法落地。
  1. 主要发现:技术设计文档严格遵循了产品方案的一期范围,但完全未包含二期功能。这是一个清晰的版本边界。在项目规划和沟通时,需要明确本次开发仅包含一期内容,二期功能需要单独规划。
  1. 待确认/完善点
  • 二期功能:何时开发?技术方案需要单独设计。
  • 拆单算法:技术文档中提到了“拆单”,但没有给出具体实现逻辑,需要与产品经理确认细节(如拆成几笔?每笔间隔多久?)。
  • “手动交易”中的“股票池管理”:产品文档提到了“全局添加与删除”,但在技术文档的接口和逻辑描述中没有找到明确对应的功能模块。

总而言之,这两份文档质量都较高,且保持了良好的一致性(除二期功能外)。产品文档清晰地描述了用户需求和业务场景,技术文档则提供了一个扎实、可落地的实现方案,并补充了必要的安全和非功能性设计。

👤 用户:

是否有功能层上的差异


💭 思考过程

我们需要回答用户问的:是否有功能层上的差异?根据之前详细对比,已经提到了功能范围上的差异(二期功能缺失)。用户明确问“功能层上的差异”,即不仅仅是技术细节,而是功能本身是否存在不一致或遗漏。

回顾之前分析:产品方案包含二期功能(ETF仓位、条件单、同步合作商),技术文档没有。另外手动交易中产品方案提到“股票池管理”全局添加删除,技术文档似乎没明确对应接口;还有“暂停调仓”一键暂停,技术文档有没有?需要仔细核查。

用户要求输出最终答案,简洁明确:指出功能层面的差异。

基于两份文档的对比,在功能层面存在以下明确差异:

1. 二期功能缺失(最主要差异)

产品方案(V1.3)中明确规划为二期的功能,在技术设计文档中完全没有体现。这意味着这些功能不会在本次(一期)开发范围内实现。

  • ETF仓位、ETF数量:产品方案“分组配置”中提到(二期)。
  • 条件单配置(炸板卖出等):产品方案单独列出“条件单配置【二期】”,包含个股/账户止盈止损、炸板监控时间等详细参数。
  • 同步到合作商:产品方案“批量购买”中提到的“同步到合作商【二期】”。

2. 产品方案有但技术文档未描述或未覆盖的功能点

产品方案中的功能技术文档中是否有对应实现
手动交易 → 股票池管理(支持对系统内的自定义股票池进行全局添加与删除)未见明确接口或逻辑。技术文档的批量购买、手动买入等操作支持传入股票列表,但没有“全局股票池管理”的独立功能。
手动交易 → 暂停调仓(一键暂停调仓操作)未见对应设计。技术文档的策略执行依赖定时扫描,没有提供全局暂停调仓的控制开关。
批量交易 → 涨跌停控制(涨停不卖、跌停继续挂单并持续监控)部分实现但细节不一致。技术文档在执行策略逻辑中写有“涨停不卖”的判断,但对跌停场景只描述了“因资金不足或卖出单未成交时延后重试”,没有明确说明“跌停单继续挂单并每分钟监控打开后卖出”的完整机制。
主账户唯一启用(系统强制校验,同主账户只能有一个启用策略;启用冲突时提示并默认禁用)已实现。技术文档在增加/修改拖拉机策略接口中实现了主账户唯一性校验,但产品方案中提示用户“是否继续”的交互细节未在接口设计中体现(接口直接返回错误)。

3. 技术文档补充但产品方案未明确的功能(非差异,但可视为细化)

  • 失败重试机制:批量交易时资金/持仓查询失败会延后1分钟重试。
  • 下单间隔控制:根据分组配置的“每次买卖间隔”“账户间隔”控制下单频率。
  • 账户级别的可买资金计算:根据分组“使用资金比例”预留资金。

结论

有功能层上的差异。核心差异是产品方案中的二期功能在当前技术文档中完全缺失。此外,产品方案中的“股票池管理”“暂停调仓”等功能未在技术文档中体现,而部分风控细节(如跌停监控)的实现也未完全对齐。