0
算法交易有个老大难问题:从想到一个点子,到看到回测结果,中间要等太久。
现有工具分两类。一类是QuantConnect、TradingView、MetaTrader 5这类托管平台,界面友好,但模拟器是封闭的,有些还用Pine Script、MQL5这类专有语言,底层逻辑你看不到。另一类是Rust开源方案,Nautilus Trader和Barter都能做回测和实盘,但策略代码和框架耦合较深。
Chapaty的做法是把算法彻底拆出来。策略逻辑只写在一个act函数里,订单执行、撮合引擎、数据同步、报告生成全塞进模拟环境背后。你改策略,不用碰其他代码。
它的API抄了OpenAI Gym的reset/step/act模式。每次step喂进来一个观测值,参数网格是一等公民。作者跑了个例子:400组参数网格,9年日终数据,8核笔记本上1秒跑完。
几个关键设计:
时间同步:不同周期数据(1分钟、1小时、财经日历)混用时,模拟器按严格递增的point_in_time时间戳步进,避免偷看未来数据。
保守评估:同一根K线里同时触发入场和止盈/止损,默认按最坏情况算(先止损)。可以切乐观模式。
滑点与手续费:成交按止损/止盈价算,事后在日志里扣百分比手续费和滑点。作者坦承这不算微观结构级精确,下个版本会改进。
数据解耦:框架不绑数据源,任何带point_in_time的结构化事件都能喂进去。
核心动机就一句话:让写策略的人不用管基础设施,把Build-Measure-Learn循环转起来。