This website requires JavaScript.
Explore
Help
Register
Sign In
sanguo
/
sanguo_vnpy_v2
Watch
3
Star
0
Fork
0
You've already forked sanguo_vnpy_v2
Code
Issues
3
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
d2364a36c5e56f16b1883ec956f2bbe5c2964a1e
sanguo_vnpy_v2
/
sanguo_portfolio
T
History
claude_dev
d2364a36c5
CI/CD / test (push)
Successful in 14s
Details
CI/CD / nas-deploy (push)
Successful in 33s
Details
CI/CD / nas-verify (push)
Successful in 17s
Details
refactor(provider): TET Phase3老接口内部委托Fetcher——①四老方法(get_price/get_closes_panel/get_index_stocks/get_fundamentals_df)旧体删除,改调同款Fetcher(与_ex两张皮,strict契约自此对老接口生效:非法frequency/fq/count/日期/空列表→ValueError,查询失败raise;Phase2副本对照4/4语义等值已验issue#19)②qfq因子二次读库归一:_build_qfq_factor/_apply_qfq_batch拆为_read_qfq_rows+_qfq_factor_from_rows与_read_qfq_events+_apply_qfq_events(IO/纯计算),因子读全挪进extract_data,transform零IO③all_weather四处get_fundamentals_df(choice)补空守卫(空候选集=调用方业务态)④3个宽松断言回归测试改strict(1m频率/空stocks/空symbols);938绿 [vps]
2026-08-17 09:12:47 +08:00
..
factors
feat(portfolio): sanguo_portfolio 组合策略框架(BulletTrade+miniQMT,不用jqdatasdk)
2026-07-18 19:08:18 +08:00
providers
refactor(provider): TET Phase3老接口内部委托Fetcher——①四老方法(get_price/get_closes_panel/get_index_stocks/get_fundamentals_df)旧体删除,改调同款Fetcher(与_ex两张皮,strict契约自此对老接口生效:非法frequency/fq/count/日期/空列表→ValueError,查询失败raise;Phase2副本对照4/4语义等值已验issue#19)②qfq因子二次读库归一:_build_qfq_factor/_apply_qfq_batch拆为_read_qfq_rows+_qfq_factor_from_rows与_read_qfq_events+_apply_qfq_events(IO/纯计算),因子读全挪进extract_data,transform零IO③all_weather四处get_fundamentals_df(choice)补空守卫(空候选集=调用方业务态)④3个宽松断言回归测试改strict(1m频率/空stocks/空symbols);938绿 [vps]
2026-08-17 09:12:47 +08:00
strategies
refactor(provider): TET Phase3老接口内部委托Fetcher——①四老方法(get_price/get_closes_panel/get_index_stocks/get_fundamentals_df)旧体删除,改调同款Fetcher(与_ex两张皮,strict契约自此对老接口生效:非法frequency/fq/count/日期/空列表→ValueError,查询失败raise;Phase2副本对照4/4语义等值已验issue#19)②qfq因子二次读库归一:_build_qfq_factor/_apply_qfq_batch拆为_read_qfq_rows+_qfq_factor_from_rows与_read_qfq_events+_apply_qfq_events(IO/纯计算),因子读全挪进extract_data,transform零IO③all_weather四处get_fundamentals_df(choice)补空守卫(空候选集=调用方业务态)④3个宽松断言回归测试改strict(1m频率/空stocks/空symbols);938绿 [vps]
2026-08-17 09:12:47 +08:00
__init__.py
feat(portfolio): 移植3聚宽策略到BulletTrade + 8bug修正 + 数据缺口文档
2026-07-28 22:20:49 +08:00
filters.py
feat(portfolio): B fundamentals批量 + C涨跌停filter修复(get_limit_status_batch接入)
2026-07-30 07:37:03 +08:00
live_strategy.py
fix(vps验收五问题之四): ①#84个股回测/回放提交秒败——L2校验end>latest且end<=today(周末/节假日/当日未灌)不再400,引擎区间过滤自然截到latest;新增start>latest仍400(必空跑);VPS实况=结束默认今天周日>最新周五,首提即败 ②#85组合任务标的列永远000300.XSHG——worker symbol=benchmark改pool(spec透传,benchmark已在params);内存任务两处symbol回退symbol→pool→benchmark ③#42影子拉起即崩——live_strategy工厂表补4个TET副本映射(all_weather_ex等,01184c2改名后回测认得但影子/实盘runner不认,VPS shadow#42实录) ④#88影子快照刷垃圾行——_snapshot_loop每30s无条件写date=''行(40号半天97行),改_should_write_balance同日一行+空行情不写(+3测试) ⑤可观测性——supervisor子进程stdout/stderr落logs/shadow_{aid}.log(>5MB重置)+主管自身日志落logs/shadow_supervisor.log(原schtask控制台=黑洞,41/42崩因至今零线索);933绿 [vps]
2026-08-16 18:28:18 +08:00
runner_backtest.py
fix(portfolio): 收益单位口径统一小数+用户验收四问题——①1044%真因:bullet_trade返回百分数字面值(10.44=10.44%),组合结果页直显(对)但档案回写/策略库按小数×100(错1044%);_extract_metrics统一÷100归一小数(注释单位契约),组合结果页fmtPct改×100(与CTA/empyrical全平台一致;历史任务NAS一次性迁移)②回测灯/回测历史'找不到结果':done无task_id(老回测)兜底跳任务中心不过滤(instance过滤对老任务为空)③实走/实盘灯'还是参数页':三级fallback——同类型在跑直达监控,实例任何在跑(如只有影子)跳列表过滤,无在跑才发起④模式列折行:宽118+日终并入单chip(实走·日终,title悬浮说明)⑤模拟盘名加版本号={实例名}·{模式}v{N}(同实例同模式递增,对齐实盘);927绿+build绿 [vps]
2026-08-16 10:06:12 +08:00
runner_live.py
fix(live): 监控页三修——①收益率改首快照基线(与列表同口径,治共用QMT账户下cap兜底的假900%)②组合实盘成交落库_sync_trades(轮询broker当日成交→live_trades,此前完全没人写成交表)③updated_at北京时间显示+策略参数JSON改表格 [vps]
2026-08-14 22:07:30 +08:00