写量化指标这事,挺容易把人磨没耐心。
一开始只是想算个 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
