Hi everyone,
I’m the maintainer of indicator, a library I’ve been developing for technical analysis and time-series data in Go. I wanted to share it with the community here for anyone building financial tools, trading systems, or analytical dashboards.
The project has grown significantly and currently has 831 stars. The goal has always been to provide a “pure Go” alternative to C-based wrappers, ensuring easy cross-compilation and a secure supply chain with zero external dependencies.
What’s inside:
* 80+ Technical Indicators: A comprehensive collection including Trend (SMA, EMA, Ichimoku), Momentum (RSI, Stochastic), and Volatility (Bollinger Bands, ATR) indicators.
* 30+ Strategy Templates: Basic logic blocks for trend-following and mean reversion.
* Backtesting Utility: Simple structures to evaluate indicators against historical data.
Technical Design:
* Architecture: Supports both slice-based calculations for batch processing and channel-based streaming for real-time data updates.
* Generics: Fully leverages Go generics for type safety across different numeric types.
* Testing: The library maintains extensive test coverage to ensure mathematical correctness across all implementations.
Disclaimer:
This library is a technical tool designed for software development and data analysis. It does not provide financial or investment advice. Any strategies included are for demonstration and backtesting purposes; users are responsible for their own trading risks.
I’m always looking for feedback on the API ergonomics—especially the streaming implementation—and I’m happy to answer any questions about the underlying math or architecture.
