Indicator:Go 写量化指标,顺手把回测也塞进来了

写量化指标这事,挺容易把人磨没耐心。

一开始只是想算个 MA。

接着 RSI、MACD、布林带。

写着写着,参数要改,K 线字段名不一样,数据源又换了一套格式。

策略还没动,先在这些小东西上耗了半天。

我最近看到一个 Go 项目,叫 Indicator。

名字很直。

它里面不是只放几个常见函数,指标给得挺满,80 多个。趋势、动量、成交量、波动率这些都有。还有一些现成策略,不用从空文件开始写。

我多看了两眼它的处理方式。

它用了 Go 的 channel。

这个设计我还挺喜欢。行情数据本来就不是一张死表,更多时候是一根 K 线一根 K 线进来,一个报价一个报价进来。

channel 串起来以后,代码读起来就像数据在往前走。

不是每次都抱着一个大数组来回切。

周期、窗口、阈值也能改。

这个地方没什么好吹的,但确实省事。调参数的时候,最烦的就是为了一个 14 改成 21,又去复制一套函数。Indicator 这块没搞得太重。

还有回测。

这个我觉得比指标数量更要紧一点。

很多指标库做到“给你算出结果”就停了。后面怎么拿历史数据跑,交易点怎么画,收益曲线怎么出,都得自己补。

Indicator 直接把回测和报告放进来了。

我以前自己拼过这种东西。

最烦的不是公式,是结果出来以后你还得看:交易点对不对,曲线是不是漏了一段,统计值有没有算偏。

一个图画歪了,就开始怀疑前面所有代码。

它还给了 Docker 跑法。

填数据源 key,拉起来先跑。

不想一上来配 Go 环境、改路径、找依赖的人,这一步挺关键。先看看项目到底能不能跑,再说别的。

MCP 也留了口子。

这块我没展开看太深。现在不少人会把 Claude、Cursor 这类工具接到代码和策略说明里,让模型帮忙看参数、看信号、看回测结果。

Indicator 把这个接口留着,后面要接 AI 工具,至少不是从零挖洞。

量化项目还是那句话。

指标再多,也不会自动变成赚钱策略。

不过对 Go 用户来说,Indicator 至少把一堆边角活收进一个项目里了:指标、策略、回测、报告、Docker。

少造一点轮子。

GitHub 地址: https://github.com/cinar/indicator

返回分类列表