版本信息 了解最新动态
样式简介
- 重要改动
- 新加的特性
- 删除的特性
- 修改的特性
更新说明
推出了一套NTQ的基线性能指标
增强了tag和strategy的profiler,帮助性能测试收集必要的数据
对tag模块的切片模式增加了数据游标,性能测试6-9倍提升,且数据量越大提升越明显
修复了windows找不到文件的问题,现在windows能够正常运行了
修复了python3.13的依赖问题
修复了枚举UI上会显示没有机会的单个股票的bug
修复了UI进度显示不准确的问题
重新定义了回测的缓存指纹,提高了效率和可靠性,让tag和strategy使用同一套指纹逻辑
修复了UI上修改参数后会产生2个缓存版本的bug
更新说明
重大更新:回测器和标签计算器支持多股并行的切片式回测
使用多进程分散计算和数据预读取的方式加快效率
加入探针,对切片进行自动大小分配以提高运行效率
新增加低价策略来演示幸存者偏差
增加了新的空的策略和标签模版,可以直接拷贝和修改
ui新增加“高级功能”, 包含特征标签,数据源(暂时不能更新),数据契约
在设置中增加了data.json全局数据管理的设置,并在一些页面显示被截断的警告,策略扫描演示模式的截止时间变成读取data.json
给设置里增加清除缓存的功能
在策略调试的界面加入“上一步”的按钮
(破坏性改动)重构tag的设置格式,分组并移除了一些配置,让配置更简单和直观
重写了 cli 和 devcli 的命令,使用更加标准直观的方式
重新写了项目readme,更新用例
- 清理了core/global_enums文件夹,将枚举分散到各自的主模块里
更新说明
重大更新:新增加了3组共9个层层递进的演示策略来帮助理解框架和概念(注意:回测结果仅供参考,不是任何投资建议)
重大更新:增加策略回测report里的单股K线的点击界面,能够打开单个股票查询详细机会和交易回测点位
重大更新:重建回测的UI,将三层回测变成三个单独页面而不再集中在一页上,提升了用户体验并且减小了UI渲染压力
(破坏性改动)将策略 settings 的一些信息字段收入meta中, 顶层只留is enabled字段;
(破坏性改动)改动了data.json, 重命名了数据截断日期为 as of latest completed date
(破坏性改动)所有k线的最高最低价从highest和lowest变成high和low
(破坏性改动)将K线的数据契约从一个按照周期分成了3个,补上了STOCK_INDICATORS_DAILY的数据契约
(破坏性改动)策略设置里指标的声明归入了数据的私有属性,不再是 data 的根目录
(破坏性改动)对公司财务表加入了披露日期的列
新增加了个股资金流向数据表
新增加了策略导入和导出功能
让复权因子可以根据data.json的配置先行导入可用的数据,大大降低了更新的时间
策略 settings 加入display name作为展示名称
新增加命令行和UI的策略导入和导出功能
修复了UI上的回测缓存有的时候会取错的bug
重新定义了复权因子的存储结构和计算方式,使复权因子能够累加而不是刷新式更新。增加了复权因子链式检查以确保实效性。
修复了UI上有的时候回测报告会显示无效数据的bug
修复了回测进度完成后会马上返回一份report然后又被另一个专门拿report的API覆盖的bug
修复了回测进度只管回测股票进度的bug,现在整个回测进度由加载数据,分发任务,执行计算和总结结果4个部分构成
修复了market profile忘了加入T+1交易的逻辑
修复了价格回测在遇到跌停无法卖出导致交易最终无法平仓的bug
修复策略报告 K 线 tooltip 将 dataIndex 误显示为开盘价的问题
简化命令行入口文件名,从 start-cli.py 改名成为 cli.py,从 dev-cli.py 改成 devcli.py
更新说明
- 引入duckdb,当前项目不再依赖任何第三方数据库,只要有python就可以运行了
- 计算管道与多进程更新:现在回测效率提高了6倍以上:以前全流程约180秒,现在约30秒
- 在dev-cli里加入init userspace的自动打包命令和清除缓存命令
- duckdb:更新data source模块,使用批量写入以避免duckdb单写瓶颈
- duckdb:更新并加入duckdb锁管理器,避免子进程和主进程抢占duckdb的单进程锁
- duckdb:给所有写入操作加入完成后自动checkpoint之类,避免wal和db文件双重锁导致的随机错误,牺牲一小点写入代价换取数据库锁的稳定和可预测性
- 清理所有模块的module info,并且加入每个模块的change log
- 性能更新:原单进程处理单只股票变成单进程处理多只股票,降低数据库读取时的IO,大幅度提升效率
- 性能更新:更改了K线读取,复权还有计算指标的逻辑,提高内存使用,降低数据查询次数,大幅提高效率
- 性能更新:加入探针模式,让内存和进程进行自动分配。
- 性能更新(破坏性改动):从原来策略的设置里去掉了性能配置,放入全局设置,减小用户心智
- 将回测引擎的数据加载和缓存彻底委托给数据契约,现在的数据读取和缓存全部由数据契约完成。
修改了策略使用采样发生变化依然会触发缓存的bug
(破坏性改动)修改了userspace的文件夹结构,对原来的平铺结构进行收纳,突出核心文件夹,并且配有中文文件夹结构说明文档
更新说明
- 纳入退市停牌等等信息进入回测系统,避免所有回测都是基于“活下来”的股票的幸存者偏差
- 重构获取股票列表的handler(处理器),获取全量股票列表,包括退市的
- 增加交易日历表和数据获取逻辑
- 增加股票所属的地域信息
- 增加风险时段表,记录每个股票的黑历史
- 资金回测过程中加入交易量限制,提高模拟准确性
- 在dev-cli里加入自动检查python 3.9不支持语法的检查
- 在dev-cli加入数据打包功能(-ex)
- 重新打包了init_data里边包含回测期间已经退市的股票,清理老的数据表,减小对用户的认知负担
- 优化了K线指标计算逻辑,指标计算速度提升65%以上
破坏性改动:
- stock list(全量股票)表发生了结构变化,与之前不兼容
更新说明
- 增加market profile(市场画像)模块,细化回测时候的交易规则
- 优化UX(用户体验),为很多地方添加了解释的tooltip(提示信息)。对次要内容使用tooltip进行归纳。最后增强了tooltip的视觉效果。
- 在userspace中提供了可以复写/添加新的market profile的配置
- 最小买入手数从100股变成了不同板块不同股数
- 加入涨停和跌停时限制交易的配置
- 根据不同股票或不同上市阶段,限制不同最大最小涨跌幅度
- 新增加了一些UI样式:比如读取的动画,随机背景
- 为核心参数设置增加了大窗口编辑模式
- UI header上的版本号改为从API获取
- 重新划分了project context(工程上下文)模块的职责边界
- 修复了核心设置的json发生变化就会导致整个设置区域消失的bug
- 在回测报告里加上了回测时间区间信息,并改进了枚举器关于时间的IO,大概提高6-8%的执行效率
- 优化了策略工作台执行步骤的进度显示
- 修复了工作台版本差异状态的变化显示错误
更新说明
- 增加updater(升级器)模块以及一些基础功能,为将来UI一键升级做准备
- 让UI端口使用python server,取消了使用者的Nodejs依赖(开发仍然需要)
- 增加了回测准确性的配置,可以配置交易终结价格以什么价格为主,从而更贴近现实交易回测
- 将setup步骤变成UI版和命令行版本
- 修复了UI的npm安全性问题
- 修复了前端ESLint的警告
更新说明
重大更新:UI系统发布,引入nodejs依赖
加入 `launcher.py`,一键启动 app 和 UI,自动发现安装状态并引导完成 Setup
在核心内加入BFF和UI,引入前端UI
完成策略工作台和策略扫描的UI和BFF
在userspace里放入tables的文件夹,加入文档引导用户建立自己的数据表
Strategy里加上了为支持输出的launcher和支持UI的adapter
扫描系统加入缓存,如果当日扫描过,将直接返回结果
收敛复权因子的逻辑进入model底层,并且为K线复权做了一条特殊快速通道,以便回测减小IO次数
对齐UI和命令行的report,使输出结果保持一致
对命令行和UI的回测加入缓存系统,现在重复的回测会直接返回report
重构strategy核心模块的组织方式,变成更直观的编排层 + flow流模式
清理start cli,变成代理层
- 清理文件夹结构,将backup文件夹放入userspace,将docker以及badge生成还有自动更新readme这类代码放入devtools文件夹并更新代码引用和文档
破坏性改动:
- 引入Nodejs依赖
- app不再自带userspace文件夹,而是安装的时候自动创建
- start-cli 的扫描命令现在降级成一次只能用一个策略进行扫描
simulator的回测report格式发生了变化
backup文件夹从更目录移动到了userspace
更新说明
增加了Readme里的小徽章和相应的github gitee自动化
添加英文Readme
增加了单元测试的覆盖率和合并的最小要求
为官网增加了不少新的样式
在官网重新写了API文档,对NTQ的死链接进行了清理
修复了官网注册不成功的bug,修改了官网注册后出现email的无法发送的bug
对所有模块增加了测试的覆盖率,修复Github的CI错误
更新说明
为所有模块设计并添加了info的信息文件,并增加了对核心的版本支持能力
- 重构所有文档的位置和内容,让文档保持最新状态
- 重构userspace里的用户readme文档,让概念和例子更加易懂
定义了文档标准并记录在docs/module-doc-standard.md
cli增加显示版本信息的命令python start-cli --verison
- 废弃并删除了core/data_class
更新说明
- 新增加了data contract(数据契约)的核心模块,为核心策略和标签模块增加了用户可扩展的数据契约
在tag和strategy里集成了data contract模块
增加了所有相关UT
制作了一个最小demo合集,让用户5分钟能跑起来框架
去掉了tag模块写死的多进程分配逻辑,变成可自动通过内存变化分配进程的auto模式