尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

耗时2年,我把江恩理论做成了开源量化系统!TsQuant完整架构与核心算法解析

耗时2年,我把江恩理论做成了开源量化系统!TsQuant完整架构与核心算法解析 耗时2年我把江恩理论做成了开源量化系统TsQuant完整架构与核心算法解析写在前面一个交易者的自我救赎入市前三年我一直在亏钱。明明看对了方向却总是因为情绪化交易被洗出局——追涨杀跌、扛单不止损、盈利拿不住……这些毛病一个不落。直到我重新研读江恩《趋势预测法》第七章才发现百年前的大师早就把交易规则写得清清楚楚“人性的弱点击败了绝大多数的交易者而不是市场击败了他们。在交易时我们必须排除主观臆断和猜测也不能依据希望和恐惧进行交易。”道理都懂但执行太难。于是我做了一个决定用代码把规则固化下来让系统替我执行。两年后有了 TsQuant天时量化。一、TsQuant是什么TsQuant是一套零编程的量化交易辅助工具专为中小型私募团队等专业用户设计。它将江恩理论第七章的七大交易原则完整工程化通过多规则加权评分体系实现趋势判断结合动态止盈止损、智能仓位管理提供从行情采集、策略信号生成、投资计划执行到交易报告分析的完整量化交易闭环。项目地址https://gitee.com/liebin/tsquant二、核心技术多规则加权评分体系这是 TsQuant 最核心的创新点。2.1 设计思想传统量化系统通常依赖单一指标或单一策略判断方向。而 TsQuant 的做法是多条趋势判断规则同时独立运行每条规则给出做多/做空/观望的判断及权重分数最终加权汇总得出综合趋势方向。SuperJeTradeRule(权重3.0) ──┐ SuperMaTradeRule(权重3.0) ──┤ MaXTradeRule ───────────────┤ Trend01Rule(权重3.0) ───────┤ Je01TradeRule ──────────────┼──→ 加权评分 → 综合趋势方向(B/S/W) Kf02TradeRule ──────────────┤ Kf03TradeRule ──────────────┤ Ma01TradeRule(2,否决) ─────┤ Ma02TradeRule(1,否决) ─────┤ Je02TradeRule(2,否决) ─────┤ Kf01TradeRule(权重6.0,否决) ─┘规则分类无否决权规则给出方向判断和权重分数参与加权计算有否决权规则权重较高如 Kf01 权重 6.0可覆盖其他规则的判断结果这种设计既保证了趋势判断的综合性多条规则互相印证又保留了风控的权威性关键规则拥有一票否决权。2.2 核心接口设计所有策略规则统一实现BaseStrategyRule接口publicinterfaceBaseStrategyRule{// 判断当前价格是否满足开仓条件booleanneedToOpen();// 判断当前持仓是否需要平仓止盈/止损/反转booleanneedToClose();// 获取主趋势方向DirectiongetMainDirection();// 计算止损价BigDecimalgetStopPrice();// 计算价格上下轨道买入线/卖出线PriceLinesgetPriceLines();}新策略只需实现此接口并在StrategyRuleMap中注册无需修改框架代码——开闭原则的典型实践。三、已实现策略一览策略编号策略名称策略类型说明TS00天时00号策略天时系列默认策略Dual-Thrust变体JE00江恩理论策略旧版江恩理论江恩理论旧版实现JE01江恩理论01号策略江恩理论基于江恩理论的趋势跟随手工开仓动态止盈止损JT01酒田战法01号策略酒田战法基于酒田战法的交易策略DM01双均线01号策略经典策略MA5/MA10均线价格确认的开仓策略RB01R-Breaker策略短线策略追踪盘中价格突破买入/反转卖出DT01Dual-Thrust策略短线策略基于N日高低收盘价计算上下轨FF01菲阿里四价策略短线策略昨日最高/最低价为上下轨四、量化交易11阶段流水线附Disruptor实现思路TsQuant 在交易时段内运行多阶段流水线通过LMAX Disruptor环形缓冲区连接各阶段行情采集(1秒) → 信号过滤(Disruptor) → 策略评估(Disruptor) → 订单生成(5ms) → 交易所提交(10ms) → 状态跟踪(1秒) → 成交监控(1秒) → 撤单重试(30秒) → 订单对账(5分钟) → 盈亏更新(30分钟) → 日终清理(19:30)为什么选择 Disruptor传统阻塞队列如 ArrayBlockingQueue在高并发场景下存在锁竞争问题。Disruptor 通过无锁环形缓冲区设计在单机场景下可以达到百万级 TPS的事件处理能力非常适合量化交易这种对延迟极度敏感的场景。核心配置思路环形缓冲区大小设置为 2 的幂次方如 1024利用位运算替代取模采用多生产者单消费者模式避免消费冲突通过等待策略YieldingWaitStrategy平衡延迟与 CPU 占用五、风控核心N值计算与动态止损TsQuant 的风控体系建立在K线画像KlineImage之上其中最核心的指标是N值最大亏损对应的价格变动数值。N值计算公式actualMultiple (1 ÷ 保证金比例) × 资金使用率 maxLossRatio lossProfitRatio ÷ actualMultiple N值 昨日收盘价 × maxLossRatio其中lossProfitRatio固定为 10%对应江恩的原则——“不拿超过10%的本金进行冒险”。实战示例焦煤期货参数数值保证金比率13%资金使用率10%实际杠杆(1÷0.13)×0.1 0.769倍价格止损率10% ÷ 0.769 13.0%开仓价1300元时N值1300 × 13.0% 169点结果价格跌至 1131 元即触发止损亏损精准控制在账户本金的 10% 以内。这套机制将江恩“严格止损”的原则量化为可计算的数学公式杜绝了“再扛一扛”的人性弱点。六、技术架构全景技术栈类别技术选型语言Java 17框架Spring Boot 3.5前端Vue3 ElementPlusRuoYi-Vue-Plus数据库MariaDB / MySQL缓存RedisRedisson消息队列LMAX Disruptor技术指标TA-Lib交易接口CTPJCTP、QMT、TqSdk模块结构tsquant/ ├── tsquant-base/ # 基础服务层 │ ├── tsquant-base-model/ # 数据模型 │ ├── tsquant-base-core/ # 核心枚举、常量 │ ├── tsquant-base-rule/ # 策略规则引擎江恩理论等 │ ├── tsquant-base-data/ # 行情数据处理 │ ├── tsquant-base-util/ # 回测引擎、TA-Lib封装 │ ├── tsquant-base-ctp/ # CTP期货接口 │ ├── tsquant-base-tqsdk/ # 天勤量化SDK │ └── tsquant-base-api/ # 对外API接口 ├── tsquant-client/ # 客户端应用层 │ ├── tsquant-client-gateway/# 网关服务 │ ├── tsquant-client-system/ # 系统管理 │ ├── tsquant-client-invest/ # 投资交易核心 │ └── tsquant-client-ui/ # Vue3前端 └── docs/ # 理论文档七、与其他开源量化框架对比对比维度TsQuantvn.pyWonderTraderBacktrader语言JavaPythonC/PythonPython理论体系江恩理论工程化通用CTA通用量化通用回测实盘接口CTP、QMT、TqSdk40接口CTP需扩展策略开发零编程/接口扩展Python编程Python编程Python编程适用场景私募团队、机构全场景高频/低延迟策略研究vn.py 的优势在于接口丰富、社区庞大Backtrader 长于回测研究。而 TsQuant 的差异化价值在于将江恩理论等经典交易思想完整工程化并提供了零编程的使用体验特别适合希望将成熟交易方法论落地、但又不愿投入大量研发资源的团队。八、快速上手环境要求JDK 17 / Maven 3.8MariaDB/MySQL 8.0 / Redis 6.0Node.js 163步启动# 1. 编译mvn cleaninstall-DskipTests# 2. 依次启动后端服务gateway → system → investcdtsquant-client/tsquant-client-gatewaymvn spring-boot:run# 3. 启动前端cdtsquant-client/tsquant-client-uinpminstallnpmrun dev在线演示地址https://47.113.224.221:8001/账号demo1 / 密码123456只读权限九、开源协议与商业合作开源许可AGPL-3.0适用于个人学习、开源项目商业许可闭源集成或私有化修改需获取商业许可证技术支持服务量化策略定制开发系统私有化部署与运维技术培训江恩理论 TsQuant 框架实战AI与大模型赋能舆情分析、智能问答最后将经典理论工程化从来不是一件容易的事。江恩用十几年实盘验证了这七条原则的有效性我们又花了两年时间把它们变成可执行、可回测、可复制的代码。项目地址https://gitee.com/liebin/tsquant作者邮箱lebin_zhengfoxmail.com如果你也在交易中吃过情绪的亏如果你也想把交易规则交给代码执行欢迎 Star、Fork、提 Issue。下期预告我将深入拆解 TsQuant 中的 K线画像KlineImage算法——如何从原始K线数据中提取 30 维度的特征向量敬请关注。选择 TsQuant让经典交易理论以现代科技赋能你的投资之路。
返回列表