claude_dev
|
b27c3b479c
|
fix(live/shadow): 实例锁第二层——按账户复制策略适配文件(live_3/live_5共用QMT账号被误判重复实例拒启);bullet_trade实例锁判重键=主机+strategy_path+broker+account_identity,同账号多策略是合法场景须路径互异 [vps]
CI/CD / test (push) Successful in 18s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 13s
|
2026-08-14 20:28:14 +08:00 |
|
claude_dev
|
e1cafac451
|
fix(live/shadow): bullet_trade单实例runtime锁按账户分目录(live_{id}/shadow_{id});VPS实况=影子进程持默认./runtime锁,两个组合实盘LiveLockBusyError起不来;多实盘并行+双轨§8的前提 [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 16s
|
2026-08-14 20:14:23 +08:00 |
|
claude_dev
|
ea736acb29
|
fix(shadow): ShadowBroker补LiveEngine 0.9.2协议方法(supports_account_sync/cleanup等5个);VPS实况=影子进程启动即崩进崩溃循环(引擎_start_background_jobs无条件调supports_account_sync);加协议完整性防回归测试 [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-14 20:04:59 +08:00 |
|
claude_dev
|
c16c78aaf8
|
ci(vps-gate): vps-deploy加口令闸门(用户拍板): dispatch必填confirm=推vps,不符第一步fail; 前置=nas-verify绿+用户NAS验收+报待推清单+用户原话说「推vps」,不得代填/推断/沿用旧授权(2026-08-14两次违规教训固化); CLAUDE.md部署规则同步 [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-14 19:52:03 +08:00 |
|
claude_dev
|
c9bc654d3a
|
fix(paper): 实走/影子隐藏起止日期(用户指正:开放账户区间无意义): 前端仅回放显示日期,卡片标题资金与区间→资金+说明文案; 后端非回放强制start=创建当天end空(组合日终重放依赖start_date空值会崩); 区间断言进测试 [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 13s
|
2026-08-14 19:45:09 +08:00 |
|
claude_dev
|
f00730482f
|
feat(shadow-desk): P1-d 影子主管+通路策略增强(用户拍板): channel_test universe分6类资产各3只(宽基/行业/跨境商品ETF/主板蓝筹/中盘/创业板,个股只主板+创业板无科创北交铁律)hold 6只每日跨类型轮换;盘中4时点场景(9:35主调仓卖全买等权/10:45部分加减仓/13:45卖后买资金复用/14:30 T+1拒单探针)每天全场景,适配15m; shadow supervisor --auto轮询paper库自动拉起/停止/重启影子账户子进程(env映射SANGUO_LIVE_+SANGUO_SHADOW_契约); 11新测试 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 15s
|
2026-08-14 19:14:13 +08:00 |
|
claude_dev
|
2ee6043592
|
feat(live): 实盘组合策略下拉加通路测试标签(channel_test 自动进 registry 扫描,双轨验证入口) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 23s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-14 14:35:59 +08:00 |
|
claude_dev
|
102f602aee
|
fix(paper): 模拟盘列表创建时间UTC转北京时间显示(存的是UTC isoformat,直接截串少8h) [nas]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-14 14:34:58 +08:00 |
|
claude_dev
|
36db2ed5a6
|
feat(shadow-desk): 通路测试策略channel_test+模拟盘列表改造: 策略=每日等权轮换ETF/蓝筹(卖旧买新走全买卖通路)+T+1当日卖探针(两端应一致拒单,验证拒单通路),注册backtest/live/前端,默认universe 5只高流动ETF,4单测(坑:BrokerFacade是dataclass,子类方法被父类__init__实例属性遮蔽须实例注入); 模拟盘列表:加类型列(个股/组合)+创建时间列,标的去JSON中括号,列宽重排,模式筛选加影子 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-14 14:32:52 +08:00 |
|
claude_dev
|
6220fc5943
|
refactor(paper): 影子升级为第三种运行模式(回放/实走/影子,用户拍板CTA和组合都可走影子): 模式卡三选一替代组合卡内撮合引擎单选; engine由mode推导(shadow→shadow否则eod_replay,CTA/组合统一); 日终20:30 job只遍历mode=live天然隔离影子账户; 列表徽标mode=shadow亮'影子'+组合live标'日终'; 2新测试 [vps]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-14 12:55:26 +08:00 |
|
claude_dev
|
8e7e7282de
|
feat(shadow-desk): P1-b/c 影子柜台常驻进程+本地撮合broker+前端引擎选择: ShadowBroker(实时价±滑点即时成交/佣金印花最低佣金/A股整手/T+1日锁/资金不足拒单/均价加权/duck-typed BrokerBase协议); runner挂bullet_trade LiveEngine同实盘唯一差=broker_factory换影子(双轨对账基础),成交落paper_trades+30s快照落持仓净值; CLI单实例文件锁(python -m sanguo_trader.shadow); paper_accounts加engine列(eod_replay/shadow迁移); 前端:模拟盘新建组合卡撮合引擎单选+列表影子/日终徽标; 10 broker单测 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-14 12:16:05 +08:00 |
|
claude_dev
|
861c7faa8c
|
feat(portfolio): P1-a 组合策略K线周期字段(前后端): 模拟盘新建组合卡显周期下拉(原v-if藏起,实走/影子用miniQMT档位); live组合分支不写死d(空=d默认,cta空=15m); 组合回测加interval(d=day,非d拒400+runner拒ValueError,分钟档等数据层); worker params存interval供回放预填; 前端组合回测表单加下拉(仅日线可选,其余disabled标注影子可用) [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 12s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-14 12:05:23 +08:00 |
|
claude_dev
|
ce62de5522
|
docs(shadow-desk): P0对账标记已通过(all_weather 2024全年全量vs3段续跑,持仓逐只/现金总值/净值<1e-6,跨除权覆盖);下一步P1常驻进程 [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 14s
|
2026-08-14 10:33:44 +08:00 |
|
claude_dev
|
1e7d696f45
|
feat(shadow-desk): P0对账spike(runner加initial_positions通道+final_portfolio产出): BacktestEngine续跑注入初始持仓(引擎原生支持,不消耗现金); 期末现金/持仓/总值从engine.context.portfolio直取; run_backtest_json透传initial_positions+final_portfolio; scripts/shadow_desk/spike_p0全量vs 3段续跑对账(持仓逐只/现金总值/净值曲线<1e-6,自动月初分段或--split压除权边界); 6测试 [vps]
CI/CD / test (push) Successful in 16s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-14 10:10:51 +08:00 |
|
claude_dev
|
8f184c9f2e
|
ci(vps-deploy): 纳入前端dist同步+API重启(治公网前端无管线手动步骤): Mac构建+tar+scp→VPS换dist(脚本入仓scripts/nas_sync,vps_update_dist.py); 重启加端口释放等待(防end→run竞态10048静默崩,今日实踩)+起服探活(上限10min) [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-14 10:06:54 +08:00 |
|
claude_dev
|
a5f19f5b43
|
fix(live): vt_symbol 默认值改裸码600000(前后端;后端create自动补后缀,默认值无需带SSE) [nas]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 24s
CI/CD / nas-verify (push) Successful in 10s
|
2026-08-14 09:33:52 +08:00 |
|
claude_dev
|
94e1b59ec1
|
feat(web): K线周期下拉统一共享常量:列全miniQMT成品K线(1m~60m/日/周/月,周月由日线合成),默认日线;模拟盘/实盘/策略实例三表单同源;标注回放数据可用性(d/15m本地有) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 14s
|
2026-08-14 09:18:27 +08:00 |
|
claude_dev
|
fff9119f38
|
docs(design): 影子柜台+双轨一致性验证(用户需求):影子vs实盘同跑对账——一致性参数表(费率/滑点标定/涨跌停/T+1对齐)+日终对账报表(笔数/价差<10bps/持仓/净值月<0.5%) [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 16s
|
2026-08-14 09:11:39 +08:00 |
|
claude_dev
|
02ece66e86
|
docs(design): 影子柜台设计v2(用户反馈):miniQMT实时订阅驱动(替代schtask轮询,与实盘同款)+实时价撮合+步长=策略自身周期(tick~月线)+每实例独立虚拟账户;对账兜底保留 [nas]
CI/CD / test (push) Successful in 19s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 13s
|
2026-08-14 09:05:03 +08:00 |
|
claude_dev
|
869a758b89
|
fix(web): 任务耗时活计时钳0(本机时钟慢于服务端时短暂显示—) [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 17s
|
2026-08-14 08:35:46 +08:00 |
|
claude_dev
|
7e94339e42
|
docs(design): 模拟盘影子交易柜台设计(验收四轮#4):checkpoint增量+VPS盘中15m schtask+自有撮合;可行性已验(引擎initial_positions+attribute_history直查源) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 31s
CI/CD / nas-verify (push) Successful in 10s
|
2026-08-14 08:32:42 +08:00 |
|
claude_dev
|
234b44e141
|
feat(live): CTA实盘vt_symbol裸6位码自动补交易所后缀(6→SSE,0/3→SZSE);表单提示+单策略原因说明(实盘需A股适配,陆续扩展) [nas]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Successful in 32s
CI/CD / nas-verify (push) Successful in 13s
|
2026-08-14 08:30:56 +08:00 |
|
claude_dev
|
5850a60561
|
feat(api+web): 任务列表管理(验收四轮批1):历史任务→任务列表改名;DELETE /task/{id}单/批删除(进行中拒删);GET /task/{id}/params参数回放+点任务ID跳参数页预填;真创建时间+耗时列(提交即记,进行中活计时);进行中禁查看;组合任务params全量存 [nas]
CI/CD / test (push) Failing after 10m39s
CI/CD / nas-deploy (push) Has been skipped
CI/CD / nas-verify (push) Has been skipped
|
2026-08-14 08:29:20 +08:00 |
|
claude_dev
|
94de7191f5
|
feat(backtest): 任务提交时间表task_submissions+按task_id删结果(行+曲线文件+提交记录); record_submission/load_submissions/delete_result_by_task_id [vps]
|
2026-08-14 08:29:20 +08:00 |
|
claude_dev
|
02a862349a
|
fix(portfolio): worker Mac分支(SSH到VPS)remote_cmd也补--provider unified(同VPS分支基准空根因,Mac开发路径防踩) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 35s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-14 07:10:45 +08:00 |
|
claude_dev
|
a6f6956c5d
|
fix(portfolio): worker VPS分支也走unified provider:默认local(仅parquet)无指数点位致基准曲线恒空(dbbardata才有);冒烟实证VPS unified全链路OK [vps]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Successful in 29s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-13 23:29:12 +08:00 |
|
claude_dev
|
849e437244
|
fix(strategy): dirty误标根治:Monaco setValue回写modelValue(含换行规整)与nextTick复位竞态;改载入宽限窗口300ms(echoGrace),窗口内code变更不算用户编辑 [nas]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 23s
CI/CD / nas-verify (push) Successful in 8s
|
2026-08-13 23:23:13 +08:00 |
|
claude_dev
|
f0a0e6bc8a
|
fix(strategy): 编辑器加载文件误标未保存(code程序化赋值触发watch置dirty,运行回测被拦);select后nextTick复位 [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-13 23:19:58 +08:00 |
|
claude_dev
|
6728872d72
|
fix(portfolio): 基准装载时序修正:load_strategy()会reset_settings()清掉预设,须在initialize闭包内set_benchmark(聚宽同款模式);构造参数与预run设置双失效 [vps]
CI/CD / test (push) Successful in 9s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-13 23:09:58 +08:00 |
|
claude_dev
|
c8b7be69c9
|
fix(portfolio): 基准曲线恒空根因=bullet_trade 0.9.x BacktestEngine(benchmark=)构造参数收而不用,须set_benchmark()设全局settings(VPS冒烟实测benchmark_data恒None);run前显式设,幂等 [vps]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 30s
CI/CD / nas-verify (push) Successful in 8s
|
2026-08-13 22:59:03 +08:00 |
|
claude_dev
|
95d621874f
|
feat(strategy): 文件树分组支持点击折叠/展开(箭头旋转动效) [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-13 20:40:03 +08:00 |
|
claude_dev
|
929f52e3c2
|
feat(portfolio): 组合回测加持仓变化图(daily_positions每日聚合count/value经worker/routes透传,柱=持仓数线=市值)+超额收益曲线(策略/基准净值-1,聚宽标配,前端算);2测试 [vps]
|
2026-08-13 20:40:03 +08:00 |
|
claude_dev
|
ced95d006a
|
feat(strategy): 代码编辑文件树按类型分组(组合策略/个股策略+数量徽标) [nas]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 13s
|
2026-08-13 20:33:49 +08:00 |
|
claude_dev
|
fd0b9d0c36
|
feat(live): 组合策略实盘(R3-1): live_accounts加strategy_type/pool/max_pool/benchmark列(ALTER迁移); supervisor对组合行拉runner_live子进程(env传参+崩溃检测); runner_live重写适配bullet_trade 0.9.2新API(strategy_file+broker_factory,旧initialize=/broker=已废弃)+live_strategy.py适配文件挂StrategyTemplate; 前端live/New双卡表单+列表组合徽标; 8测试 [vps]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 12s
|
2026-08-13 19:57:23 +08:00 |
|
claude_dev
|
baaa459481
|
test(api): 修2个stale测试(benchmark-curve/risk-series未知任务从404改断言降级200空序列,对齐b2c41c7降级设计) [nas]
|
2026-08-13 19:57:23 +08:00 |
|
claude_dev
|
819198919c
|
feat(portfolio): 组合回测结果页加月度收益热力图(年×月+年度合计)+滚动夏普/波动双轴图(63日窗,业界标准);前端从equity_curve算零后端改动;strategy query预填 [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 27s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-13 19:40:24 +08:00 |
|
claude_dev
|
82c9edb092
|
fix(strategy): 编辑器代码空白根因=/strategy/files不含code; 加GET /strategy/file/{name}按需拉取; 运行回测改回跳参数页+按策略预填(New.vue读query.class,推翻上轮直接发起) [nas]
|
2026-08-13 19:40:18 +08:00 |
|
claude_dev
|
b9d9285246
|
fix(frontend): paper New.vue 行内 @click if 表达式 rolldown 编译不过(run576 vite build 失败根因)改 setMode 方法 [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-13 18:35:27 +08:00 |
|
claude_dev
|
e2d118fa38
|
fix(frontend): CI vue-tsc -b 三处类型错(live List重复import/paper List initial_capital可空/组合净值series宽类型);本地改用 -b 模式校验对齐CI [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 12s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:33:42 +08:00 |
|
claude_dev
|
d030cfc91f
|
feat(paper): 组合策略接入模拟盘实走(E1+E2): paper_accounts加strategy_type列(含迁移); portfolio_paper每晚20:30全量重放→当日成交/末日持仓/净值落paper表(幂等,回测引擎为单一真相源); run_live_step按类型分流; create支持portfolio(仅live); 前端新建模拟盘策略类型选择+组合字段(策略/池/上限/基准) [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 11s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:32:09 +08:00 |
|
claude_dev
|
3e7d40ad5f
|
fix(frontend): Code.vue StrategyFile 接口补 type 字段(CI vue-tsc -b 报 TS2339,run570-572 build 失败根因) [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Failing after 11s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:28:19 +08:00 |
|
claude_dev
|
ccf958c5d6
|
feat(paper/live): 生命周期管理补全: paper停止/恢复(实走20:30 step跳过stopped)/删除(连带净值成交持仓挂单)/编辑(名称标的资金); live删除(运行中拒绝)/编辑(stopped才可改); 前端列表+结果页按钮/编辑弹窗/删除确认 [vps]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Failing after 11s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:27:32 +08:00 |
|
claude_dev
|
d8c156e6de
|
feat(strategy): 策略库灌入vnpy内置8策略模板(DoubleMa/AtrRsi/BollChannel/DualThrust/KingKeltner/MultiSignal/MultiTimeframe/TurtleSignal); registry自研目录优先加载(编辑副本即刻生效,pip兜底); 分类器识别vnpy_ctastrategy import风格 [vps]
CI/CD / test (push) Successful in 10s
CI/CD / nas-deploy (push) Failing after 12s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:24:40 +08:00 |
|
claude_dev
|
08aec403f7
|
feat(portfolio): 组合回测结果增强: 基准对比曲线(对齐交易日+归一化)+回撤序列+扩展指标(波动/Sortino/Calmar/超额/Alpha/Beta), worker与API透传, 结果页净值对比+回撤图 [vps]
CI/CD / test (push) Successful in 15s
CI/CD / nas-deploy (push) Failing after 13s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:22:10 +08:00 |
|
claude_dev
|
c41fd862ea
|
feat(frontend): 验收UX批A: CTA回测提交统一跳任务中心; 代码编辑「运行回测」直接发起(默认参数+最近1年,CTA/组合分流); 模拟盘策略改下拉; 状态徽标实走文案+去排队兜底 [nas]
CI/CD / test (push) Successful in 12s
CI/CD / nas-deploy (push) Failing after 11s
CI/CD / nas-verify (push) Has been skipped
|
2026-08-13 18:17:16 +08:00 |
|
claude_dev
|
976c99de07
|
fix(history): 创建时间 UTC→北京时间(+8); 标的列加宽(100→130)治折行 [nas]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 6s
|
2026-08-13 14:17:23 +08:00 |
|
claude_dev
|
5248062102
|
feat(history): 任务列表加创建时间(created_at)+类型命名统一菜单(个股回测/组合回测/参数优化/因子分析)+列宽均衡(去实例列) [nas]
CI/CD / test (push) Successful in 17s
CI/CD / nas-deploy (push) Successful in 22s
CI/CD / nas-verify (push) Successful in 8s
|
2026-08-13 14:04:57 +08:00 |
|
claude_dev
|
b99e58bca1
|
fix(api): GET /task 合并内存 running/pending 任务(任务中心看到刚提交的,治只查DB看不到运行中) [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-13 14:00:45 +08:00 |
|
claude_dev
|
728b8ccec9
|
feat(portfolio): 任务中心UX(GitHub Actions模式)—提交后跳历史任务页+自动刷新运行中状态+发起新回测入口; PortfolioBacktest 回归表单/查看两态(治单任务跟踪丢失) [nas]
CI/CD / test (push) Successful in 14s
CI/CD / nas-deploy (push) Successful in 26s
CI/CD / nas-verify (push) Successful in 11s
|
2026-08-13 13:50:24 +08:00 |
|
claude_dev
|
15f132ccb5
|
feat(portfolio): 参数表单分块(策略与选股/时间与资金/基准与费用); 进行中页加「发起新回测」(治等待页无法新建) [nas]
CI/CD / test (push) Successful in 13s
CI/CD / nas-deploy (push) Successful in 25s
CI/CD / nas-verify (push) Successful in 9s
|
2026-08-13 11:36:35 +08:00 |
|