# 西楚量化交易系统 XichuQuant｜实战教学提示词

项目页：https://xichugeek.com/projects/xichuquant/#prompts
源码：https://github.com/xichugeek/XichuQuant/tree/a27fae080c0d8b4a328499bcb78d96b77d0087ba

以下根据固定源码提交与安装、Demo 和部署文档整理，为重建的教学示例，不是原始历史会话或 Episode 007 成片。逐组复制，先阅读现有代码，再在自己的隔离环境练习。

将工作目录设为自己的学习仓库，固定源码提交 a27fae080c0d8b4a328499bcb78d96b77d0087ba。公开 Demo 仅供只读浏览；需要写入、回测执行或内部 Paper 练习时，使用自己的独立 Demo 数据库。

推荐顺序 P01 → P02 → P03 → P04 → P05。P06 只用于准备自己服务器的部署计划。

所有练习只用 DEMO / SYNTHETIC 数据，Broker OFFLINE、TWS read-only。合成行情不构成真实历史收益证据，不接入真实账户，不提交外部订单。

## P01｜核对现有源码与系统边界

从真实仓库确认服务、数据来源和已实现功能，避免重新生成已有系统。

```text
请先检查当前 XichuQuant 学习仓库的 Git 提交与工作树，固定 a27fae080c0d8b4a328499bcb78d96b77d0087ba，阅读 README 与 docs/LOCAL_INSTALLATION_GUIDE.md。不要自动切换有未提交修改的工作树。

列出 Next.js Web、NestJS/Prisma API、Python Quant Engine、TypeScript Broker Connector 与 SQL Server 的实际关系；定位 Dashboard、持仓、风险、回测与内部 Paper 的页面、接口和数据表。已有源码先检查，不重新生成；空目录先给出最小学习路线，等待选择来源。

区分 DEMO、SYNTHETIC、HISTORICAL、INTERNAL_PAPER 与外部 IBKR Paper。保持 Broker OFFLINE/DISABLED、TWS read-only，不输入券商密码、不执行外部订单，不把合成回测说成历史盈利。

验收输出实际源码身份、服务和模块映射、只读公共体验与本地写入练习的区别，以及仍需实际验证的项目。不要沿用文档里的旧验收数量。
```

## P02｜运行自己的隔离 Demo 数据库

核对环境、独立库和虚构 Seed，再用真实页面与接口证明数据已加载。

```text
请按 docs/LOCAL_INSTALLATION_GUIDE.md 在我的隔离学习环境运行 XichuQuant。先核对 Node、pnpm、Python、SQL Server 与 sqlcmd 的实际版本和监听地址，不擅自改全局环境。

只使用全新的 XichuQuantDemo_local 数据库和独立私有环境文件。确认库名、目标身份和空库条件后才初始化、迁移和导入虚构 Seed；已有库不能 reset、清空、删卷或覆盖。秘密使用本地受保护配置，不放进 Git、截图或命令参数。

配置 DEMO 数据、明确 CREATE_FICTIONAL_DEMO，Broker OFFLINE/DISABLED、TWS read-only，外部账号、白名单和地址留空。按文档先 CheckOnly，再显式初始化，随后启动生产入口和健康检查。

实际登录后核对 Dashboard 非空、虚构账户、DLA2/DLB2 持仓与 SYNTHETIC 行情；比较接口与页面，不能用前端 Mock 掩盖 API 失败。验收记录独立库名、健康、真实账户/持仓数量及重复 Seed 是否保留已有数据；不输出密码或 Cookie。
```

## P03｜验证持仓与风险统计

用虚构案例检查仓位、风险主题与告警，不放宽保护规则来制造通过。

```text
在自己的隔离 XichuQuant Demo 中检查账户风险总览、持仓与风险纪律模块。先定位实际 Risk Engine 与测试，沿数据库 → API → 页面核对金额和来源。

用虚构 DLA2/DLB2 案例检查杠杆 ETF 仓位、现金占比、风险主题有效敞口、浮亏与已实现盈利的关系；核对告警、阈值和建议动作是否来自相同快照。没有可信账户数据时应明确不可用，不能显示正常或把零值当真实账户。

只在本地专用库验证边界与拒绝场景，公开 Demo 仅浏览。不能修改真实账户、引入外部行情、关闭风控或制造虚假的真实盈利。

验收输出实际输入、计算结果、接口来源标记、页面一致性和相关测试通过/失败/跳过数。发现问题先复现，修复范围限定到具体缺陷，不重构全站。
```

## P04｜练习合成回测与内部 Paper

在自己的可写 Demo 学习回测与账本，公开只读站不执行任务。

```text
请阅读 docs/DEMO_MODE.md，检查自己的隔离 Demo 环境具备真实 Quant Engine、独立数据库与 Broker OFFLINE。公开站只读，不能用公开站进行以下写入练习。

按现有文档使用 BUY_AND_HOLD_AAPL、AAPL、2025-01-02 至 2025-06-30、SEED_V1_3 的合成行情，执行现有回测流程。核对参数、数据来源、实际任务状态与结果，不手工填写曲线或盈利数。

内部 Paper 使用独立虚构账户、审批、资金分配、Stop 和退出条件，验证风险门禁、实际内部 Fill、重复任务幂等与账本隔离；拒绝时报告具体原因，不放宽规则。禁止连接 IBKR Gateway 或提交外部订单。

验收记录真实回测与内部账本输出，并说明 SYNTHETIC 结果不是历史盈利证据。原始 Seed 没有已运行回测时如实显示空列表，不伪造结果。
```

## P05｜验证只读访客、会话与真实界面

用两个独立访客检查登录、退出、来源标记和写请求拒绝。

```text
请按 docs/PUBLIC_DEMO_DEPLOYMENT_PLAN.md 检查我已授权的隔离公共 Demo 候选环境。记录固定源码、独立库和部署配置，保持 PUBLIC_DEMO_READ_ONLY=true、DEMO/SYNTHETIC、Broker OFFLINE/DISABLED 与 TWS read-only。

实际打开两个独立浏览器会话：A 登录后 B 登录，A 仍可读取；B 退出后 A 不受影响。检查 Secure/HttpOnly/SameSite、Origin、Session 与 CSRF，不输出 Cookie。测试无会话或失效会话访问应回到明确入口，不能展示虚假的空账户。

只在已授权的候选 Demo 验证上传、交易、同步、回测执行及其他业务写请求被拒绝。保持 SQL/API/内部服务无公网端口，校验受信 HTTPS 和真实代理 IP。

在 1440px 与 390px 检查 Dashboard、持仓、风险、策略、回测中心、内部 Paper 和事故复盘；核对实际 API 数据与来源、图片/导航及横向溢出。输出本轮真实测试数量、截图和未解决问题，不用健康检查替代页面验收。
```

## P06｜准备自己的 Docker 发布与恢复计划

固定版本、资源、私网、备份和回滚，在写服务器前先形成可审查方案。

```text
我准备把本地验收的 XichuQuant Demo 部署到自己的 Linux x86-64 服务器。先阅读 docs/DOCKER_LOCAL_DEPLOYMENT.md 和 docs/PUBLIC_DEMO_DEPLOYMENT_PLAN.md，本组只授权环境检查与计划，不自动执行服务器写入。

固定干净 SHA，检查现有容器、RAM、磁盘、网络和域名。使用独立 Compose project、独立 XichuQuantDemo_* 数据库/卷/internal 网络；数据库和内部服务不开放公网，仅专用反代接 HTTPS 网关。明确 CPU/RAM 与 10 MiB × 3 日志上限，顺序构建并限制构建器资源，先等 SQL healthy 再启动 API。

使用私有强凭据，Broker OFFLINE/DISABLED、TWS read-only，不配置真实账号或 Gateway。发布前核验原生 SQL COPY_ONLY/CHECKSUM 备份、配置与镜像/源码身份，准备实际异地下载和新库隔离恢复，禁止覆盖现有数据库。

计划包含只读与双访客检查、公开 HTTPS、桌面/手机、重启持久化及受保护旧服务对比。失败仅撤销新路由并停止本项目，保留卷；不执行全局 down/prune。输出具体步骤、恢复与回滚入口、已验证事实和待执行项，待我批准实际目标后再发布。
```
