关于 kelly-invest-stock
用于构建虚拟 A 股策略研究台的产品技能,面向 Kelly Invest Stock 应用的实现与维护。它规定以 Busabase 管理策略记录、人工评审阶段、虚拟组合和有日期的回归报告,并排除券商接入及真实资金交易。
主要功能
- 01跟踪 A 股策略与虚拟账户
- 02记录研究证据和评审决定
- 03管理人工设置的 L1/L2/L3 阶段
- 04查看有日期的回测报告
- 05使用 Busabase 持久化记录
- 06所有组合均为虚拟组合
适用场景
- 01构建策略概览与详情界面
- 02记录阶段变更的证据与审批
- 03查看虚拟账户和持仓表现
- 04检查已保存的策略回归报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mr-kelly/ skills --skill kelly-invest-stock安装后在 Claude Code 中输入/kelly-invest-stock确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
busabase.jsonagents/openai.yamlcontent/_folder.jsoncontent/kelly-invest-stock-app/_node.json.busabaseignore.gitignorepackage.jsonpnpm-lock.yamlpnpm-workspace.yamlserver.jscontent/kelly-invest-stock-app/app/base-ui.cssindex.htmlstyles.csscontent/kelly-invest-stock-app/app/js/app.jsbusabase-client.jsconfig.jsconnect-gate.jsruntime.jsstrategy-model.jscontent/kelly-invest-stock-app/app/js/providers/busabase-provider.jsdemo-provider.jsindex.jscontent/kelly-invest-stock-app/app/styles/editorial.csscontent/kelly-invest-stock-app/app/vendor/busabase-airapp-gate.cssbusabase-airapp-gate.jscontent/kelly-invest-stock-app/scripts/check-editorial.mjscheck.mjscontent/kelly-invest-stock-app/test/busabase-provider.test.mjsresource-provisioning.test.mjsstrategy-model.test.mjs详细介绍
Kelly Invest Stock
运营一个精简的策略实验台。首屏应以大型策略表为中心,简要展示投资论点、成熟度标签、账户净资产、收益率、基准、回撤、现金和虚拟持仓。打开一行可查看完整的策略和账本详情。
强制依赖项
修改应用前:
- 阅读并遵循
$kelly-app-skill-creator,了解产品行为、响应式 UI,以及规范的本地content/kelly-invest-stock-app/工件。 - 阅读并遵循
$busabase,了解连接、目标 Space、ChangeRequests、审核和合并行为。 - 阅读并遵循
$busabase-app-creator,了解资源建模、AirApp 运行时、安全、验证和部署。 - 修改市场数据采集前,阅读
references/stock-sdk.md。
如果依赖项不可用,请继续安全的本地工件工作,但在执行不可用的部署或 Busabase 操作前停止。切勿创建第二个持久化后端。
产品边界
- 将产品范围限定为中国大陆 A 股。保留六位股票代码,以中文证券名称作为主要标识;所有虚拟账户、价格、市值、盈亏和投资组合总额均使用 CNY。
- 所有账户、持仓、收益率、阶段和回归结果都必须是虚拟的。不得连接 Futu 或其他经纪商,不得创建下单界面,也不得调用交易 API。
- 每个策略只能有一个虚拟账户,且每个新策略的默认级别均为
L1。 - 将
L1、L2和L3视为应用于整个策略的手动标签,绝不能用于单只股票:L1:默认的基础观察;L2:手动标记的进阶观察;L3:手动标记的高置信度观察。
- 不要照搬
invest-ui中 L2/L3 的实盘交易含义。在本技能中,更改标签不会改变执行模式、账户类型或资金。 - 将投资论点、证据、假设、置信度和失效条件分开。标签或评分不是投资建议。
- 仅在经过审核的可信执行环境中使用精确锁定版本的
[email protected]。浏览器代码不得获取公开市场数据。
数据与模式
- 默认使用 Busabase 作为持久化数据源。常规调用或 URL 绝不能静默切换到 Demo。
- 仅在用户明确要求打开或更新 Demo 时才进入 Demo。Demo 数据具有确定性、明确标注且不持久化。
- 使用 10 个易于识别的投资者风格 Demo 策略示例,例如 Buffett、Munger、Duan Yongping、Peter Lynch、Howard Marks、Fisher、Graham、Li Lu、Templeton 或 Soros 风格。每个 Demo 投资组合都应由明确标注的 A 股示例构成,每个策略使用固定的 CNY 1,000,000 名义账户。将其标注为风格复现;绝不能暗示这些是实际持仓、获得背书或当前建议。
- 通过
busabase-sdk读取和写入持久化状态。阶段变更应通过records.changeRequest更新策略记录的status字段,并创建一条注明日期的审批记录,其中包含人工说明和账户快照。绝不能在浏览器存储或本地文件中持久化阶段变更。 - 在提供方内部控制 Busabase 记录的分页大小,不得超过 API 支持的最大值。持续跟随
nextCursor,直至数据耗尽;绝不能在 Base 声明中加入传输分页参数,也不能将单页视为完整数据集。 - 仅当 Busabase 工作区完全为空时,才提供确定性的课堂初始化数据。每个 Base 提交一个可审核的批量 ChangeRequest,且不自动合并;由用户或 Space 审核者决定是否合并。
核心资源
在一个应用文件夹下保留五个由应用管理的 Base:
strategies:名称、键、类别、status、投资论点、筛选规则、 失效规则、复核频率、下次复核时间、基准和置信度。ledger-accounts:每个策略对应一个虚拟账户,包含名义资本、NAV、 现金、基准收益、最大回撤、更新时间和收益基准日期。ledger-positions:虚拟持仓数量、入场价格、参考价格、市场 价值、权重、价格来源/时间、策略键、六位 A 股代码和中文证券名称。strategy-backtests:按日期记录的策略级报告,包含窗口起止时间、 方法、覆盖范围、基准、总收益、CAGR、波动率、Sharpe、 最大回撤、相对基准收益以及偏差/来源说明。strategy-reviews:按日期记录的研究来源、来源时效性、支持和反面 证据、账户快照、人工阶段决策、审核者、原因及关联的 ChangeRequest ID。
通过一个 Busabase 结构 ChangeRequest 按需配置新的空工作区,重新读取文件夹, 并且只使用经过验证的物化 ID。对于自有的旧版架构,只通过可审核的字段 ChangeRequest 提交已声明的后缀字段,等待批准,然后更新资源元数据。拒绝顺序 已更改、内容已变或其他不兼容的字段。忽略此声明之外由应用管理的旧版资源; 绝不隐式删除或接管它们。
操作循环
研究
在评估策略前,明确其投资论点、筛选规则、失效规则、基准、复核频率、 下次复核时间和虚拟账户。在按日期记录的复核记录中保留研究来源、来源日期、 支持证据、反面证据和数据时效性。
计划
说明下次复核所需的证据。新策略保持在 L1。将 L2/L3 变更视为人工成熟度 判断,而不是自动晋级或交易授权。
执行
允许更新经审核的研究、虚拟账本记录以及通过鼠标操作进行的人工阶段标记。 晋级前,要求策略规则完整、拥有一个带基准日期的账户、有按日期记录的研究 证据、报价来源可追溯且 NAV 已核对。每次阶段变更都必须提供人工原因并确认。 通过 Busabase ChangeRequest 提交持久化的阶段变更,写入审批时间线记录, 并在物化后重新加载规范记录。
复盘
比较虚拟收益、基准、最大回撤和对整体投资组合的贡献。更改策略规则前, 记录失败的是投资论点还是流程。
UI 契约
- 使用固定的桌面侧边栏,包含策略、L1、L2、L3、回归和帮助与设置。不要添加单独的虚拟账本标签页。
- 将策略路由设计为一个宽幅全屏表格,整合策略摘要和账本实际情况。点击整行即可打开策略详情。
- 在策略详情顶部放置手动 L1/L2/L3 分段控件和紧凑的表现摘要。下方按此顺序使用可分享、由哈希路由控制的标签页:
组合持仓、研究与审批、策略逻辑、回测表现。 - 默认打开
组合持仓。将其作为详情页的主要区域,展示账户净资产、资本、现金和盈亏、投资与现金的配置情况,以及一个全宽表格,列出证券中文名称、六位代码、数量、虚拟买入价、参考价、虚拟市值、组合权重和虚拟盈亏。将现金作为组合的一部分清晰展示,不要将其隐藏在摘要中。 - L1/L2/L3 路由用于筛选策略,而不是股票。
- 默认策略表按下次审核时间排序,缺失或已过期的审核日期排在最前。不要按收益或置信度对默认工作流排序。
- 在
研究与审批中,展示带日期的正面和反面证据、来源溯源信息、时效性、阶段决策、人工理由、审核人、快照指标和 ChangeRequest ID。明确说明 Demo 审批会在完整刷新后重置。 - Desk 加载后,将策略/L1/L2/L3 导航作为内存中的策略筛选。保留侧边栏和工作区页眉 DOM,只更新主要策略内容;这些路由切换不得重新获取 Busabase 数据,也不得显示整页加载状态。
- 将回归设计为带日期的策略回测表,并与
invest-ui保持一致:报告日期、开始/结束日期、窗口标签、方法、覆盖范围、总收益、年化复合增长率、波动率、夏普比率、最大回撤和相对基准收益。始终显示事后分析警告。在清晰分隔的次要区域中,展示当前虚拟账簿贡献(策略盈亏 / 总名义资本)及移除该策略后的情形。如果没有基于历史观测数据且带日期的存储报告,不得编造回测或任何历史指标。 - 只有在确实存在可信的历史市场数据工作流时,才显示重新运行操作。存储的报告是可检查的数据,不是可执行的回测引擎。
- 在移动端使用共享的画布外侧边栏、单独的详情路由和固定的返回操作;确保页面在 390px 或 360px 宽度下没有水平溢出。
- 始终明确显示仅限虚拟交易的边界。在此应用中的任何位置,都不要将 L2 描述为 Futu 模拟交易,也不要将 L3 描述为真实交易。
指标规则
- 按
数量 * (最新参考价 - 虚拟买入价)计算持仓盈亏,按净资产 / 名义资本 - 1计算账户收益率。 - 将账户基准日期视为名义资本表现的起始日期。如果缺少基准日期或报价来源信息,不要将收益视为可比较数据进行比较、排名或汇总。缺失的指标显示为不可用,绝不能显示为零。
- 将每个账户的净资产与现金加持仓市值进行核对。允许晋升前先标记不匹配情况。
- 根据账户净资产总和和名义资本总和计算账簿总收益率。
- 按
策略账户盈亏 / 总名义资本计算回归快照贡献;基于剩余账户计算移除该策略后的情形。 - 仅在确认报告日期、窗口开始/结束日期、方法、覆盖范围和基准均已填写后,才对带日期的回测报告进行排序和比较。
- 对比策略并排名前,确保它们使用相同的窗口和基准。
- 固定 Demo 观测数据并标注日期。绝不能将其呈现为实时数据。
- 账户和持仓金额以 CNY 显示。优先显示证券中文名称,并将六位代码作为次要标识。
完成标准
仅在满足以下条件时才算完成:
- 仍支持
pnpm --dir content/kelly-invest-stock-app dev,且通过确定性检查; - 策略概览/详情、L1/L2/L3 策略筛选、手动阶段标记和 Regression 均可在桌面端和移动端正常使用;
- 每个策略都有一个虚拟账户,以及明确的选择和失效规则;
- 五项资源声明、增量式架构迁移和延迟配置均通过 fixture 测试;
- 研究证据和手动审批持久化在 Busabase 中,且策略时间线中显示原因和账户快照;
- 普通模式使用 Busabase;Demo 模式需明确启用、具备确定性并标明身份;
- 不存在任何券商接入路径、实盘阶段、交易操作或个性化投资声明;并且
- 可用的依赖项技能部署和真实数据检查均通过。
停止条件
如果目标 Space 不明确、查看者没有权限、无法证明所有权、即将覆盖过时记录,或请求涉及券商交易执行或资金转移,则应在进行可能造成重大后果的 Busabase 修改之前停止。