@tom_doerr: 在 Indicator Go 中计算超过 80 个技术指标并运行策略回测。 https://github.com/cinar/indicator
摘要
Indicator Go 是一个 Go 库,提供超过 80 个技术分析指标、一个回测框架,并通过 MCP 与 AI 工具集成,用于算法交易。
查看缓存全文
缓存时间: 2026/08/27 07:40
在 Indicator Go 中计算 80 多种技术指标并进行策略回测。https://t.co/UVAnZ1krU0 https://t.co/RncTLF0U5S — # cinar/indicator 来源: https://github.com/cinar/indicator Indicator Go ============ Indicator 是一个 Golang 模块,提供了一整套技术分析指标、策略,以及一个用于回测和实时策略执行的框架。 > 一个用于算法交易的广泛技术分析库——包含 80 多种指标、回测框架以及通过 MCP 的 AI 集成。 ### v2 的主要改进: - 增强的代码质量: 进行了完全重写,以实现并保持至少 90% 的代码覆盖率。 - 改进的可测试性: 每个指标和策略都有专用的 CSV 格式测试数据,便于验证。 - 精简的数据处理: 该库被重写为基于数据流(Go 通道)进行输入和输出操作。如果您更喜欢使用切片,可以使用辅助函数,如 helper.SliceToChan 和 helper.ChanToSlice。或者,您仍然可以使用 v1 版本 (https://github.com/cinar/indicator/tree/v1)。 - 可配置的指标和策略: 所有指标和策略均设计为完全可配置,无预设值。 - 泛型支持: 该库利用 Golang 泛型来支持各种数值数据格式。 - MCP 支持: 库中集成了 MCP(多客户端协议服务器)支持,便于与各种 AI 工具一起使用。 我现在还有一个 TypeScript 版本的此模块,即 Indicator TS (https://github.com/cinar/indicatorts)。 ⚠️ 风险披露与免责声明 —————————–– 财务风险: 交易股票、期货和加密货币涉及重大损失风险,不适合所有投资者。使用杠杆工具可能导致超过初始投资的损失。 非财务建议: 本项目中提供的信息和工具严格用于教育和信息目的,不应被解释为买卖任何证券的建议或招揽。它们不构成财务、投资或交易建议。Onur Cinar 不是财务顾问。 无保证: 本软件按“原样”提供,不作任何明示或暗示的保证。技术分析指标基于历史数据,不保证未来结果。尽管我们力求 90% 以上的测试覆盖率,但软件可能存在缺陷。 责任限制: 在任何情况下,作者或贡献者均不对因使用本库而引起的任何财务损失、数据丢失或任何其他损害负责。使用风险自负。 👆 提供的指标 ––––––––––– 此包当前支持以下指标列表: ### 📈 趋势指标 - 绝对价格振荡器 (APO) - 阿隆指标 - 力量平衡 (BoP) - 钱德预测振荡器 (CFO) - 商品通道指数 (CCI) - 包络线 - 赫尔移动平均线 (HMA) - 去趋势价格振荡器 (DPO) - 双指数移动平均线 (DEMA) - 指数移动平均线 (EMA) - 考夫曼自适应移动平均线 (KAMA) - 肯定指数 (KST) - 质量指数 (MI) - 麦金利动态指标 - 移动平均收敛散度 (MACD) - 移动最小二乘 (MLS) - 移动线性回归 (MLR) - 移动最大值 - 移动最小值 - 移动总和 - 枢轴点 - 随机指标 (KDJ) - 变动率 (ROC) - 随机指标 - 慢速随机指标 - 沙夫趋势周期 (STC) - 滚动移动平均线 (RMA) - 简单移动平均线 (SMA) - 自变动以来 - 斜率 - 平滑移动平均线 (SMMA) - 三重指数移动平均线 (TEMA) - 三角移动平均线 (TRIMA) - 三重指数平均数 (TRIX) - 真实强度指数 (TSI) - 蒂尔森 T3 - 典型价格 - 成交量加权移动平均线 (VWMA) - 加权收盘价 - 加权移动平均线 (WMA) ### 🚀 动量指标 - 奥什尔振荡器 - 蔡金振荡器 - 康纳斯 RSI - 库普克曲线 - 伊勒-雷伊指数 - 费舍尔变换 - 一目均衡图 - 内部条形强度 (IBS) - 马丁·普林的特殊 K - 百分比价格振荡器 (PPO) - 百分比成交量振荡器 (PVO) - 蜡烛图 - 相对强弱指数 (RSI) - 相对活力指数 (RVI) - 随机振荡器 - 随机 RSI - 汤姆·迪马克序列 - 终极振荡器 - 威廉 R ### 🎢 波动率指标 - 百分比布林带 - 加速度带 - 年化历史波动率 (AHV) - 平均真实范围 (ATR) - 布林带宽度 - 布林带 - 吊灯止损 - 平滑指数 (CHOP) - 唐奇安通道 (DC) - 历史波动率 (HV) - 肯特纳通道 (KC) - 移动标准差 (Std) - 投射振荡器 (PO) - 超级趋势 - 真实范围 (TR) - 溃疡指数 (UI) - Z-分数 ### 📢 成交量指标 - 累积/派发 (A/D) - 蔡金资金流量 (CMF) - 简易波动指标 (EMV) - 力量指数 (FI) - 克林格成交量振荡器 (KVO) - 资金流量指数 (MFI) - 资金流量乘数 (MFM) - 资金流量成交量 (MFV) - 负成交量指数 (NVI) - 能量潮指标 (OBV) - 成交量价格趋势 (VPT) - 成交量加权平均价格 (VWAP) ### 💰 资产估值 - 未来价值 (FV) - 净现值 (NPV) - 现值 (PV) 🧠 提供的策略 ––––––––––– 此包当前支持以下策略列表: ### ⚖ 基础策略 - 买入持有策略 ### 📈 趋势策略 - 鳄鱼策略 - 绝对价格振荡器 (APO) 策略 - 阿隆策略 - 力量平衡 (BoP) 策略 - 钱德预测振荡器策略 - 商品通道指数 (CCI) 策略 - 双指数移动平均线 (DEMA) 策略 - 包络线策略 - 黄金交叉策略 - 赫尔移动平均线 (HMA) 策略 - 考夫曼自适应移动平均线 (KAMA) 策略 - 移动平均收敛散度 (MACD) 策略 - 蜡烛图策略 - 随机指标 (KDJ) 策略 - 平滑移动平均线 (SMMA) 策略 - 三角移动平均线 (TRIMA) 策略 - 三重指数平均数 (TRIX) 策略 - 三重移动平均线交叉策略 - 真实强度指数 (TSI) 策略 - 成交量加权移动平均线 (VWMA) 策略 - 加权收盘价策略 ### 🚀 动量策略 - 奥什尔振荡器策略 - 库普克曲线策略 - 伊勒-雷伊策略 - 一目均衡图策略 - RSI 策略 - 随机振荡器策略 - 随机 RSI 策略 - 三重 RSI 策略 - 威廉 R 策略 ### 🎢 波动率策略 - 布林带策略 - 唐奇安通道突破策略 - 超级趋势策略 ### 📢 成交量策略 - 蔡金资金流量策略 - 简易波动指标策略 - 力量指数策略 - 资金流量指数策略 - 负成交量指数策略 - 能量潮指标 (OBV) 策略 - 百分比带和 MFI 策略 - 加权平均价格策略 ### 🧪 复合策略 复合策略合并多个策略以产生综合建议。它们使用各种决策逻辑结合单个策略的建议。 - 与策略 - 多数策略 - MACD-RSI 策略 - 或策略 - 拆分策略 ### 🎁 装饰器策略 装饰器策略提供了一种改变其他策略建议的方式。 - 反向策略 - 无损策略 - 止损策略 🗃 仓库 ––––––– 仓库用作 资产快照 的集中存储和检索位置。提供以下 仓库实现。 - 文件系统仓库 - 内存中仓库 - Tiingo 仓库 - Alpaca Markets 仓库 (https://github.com/cinar/indicatoralpaca) 同步函数 通过采用多工作器并发来促进指定源仓库和目标仓库之间资产的同步,以提高效率。此函数用于从远程仓库获取最新快照并将其无缝传输到本地仓库(如文件系统仓库)。 indicator-sync 命令行工具还提供在 Tiingo 仓库和文件系统仓库之间同步数据的功能。 为说明其用法,请考虑以下示例命令: bash $ indicator-sync \ -source-name tiingo \ -source-config $TIINGO_KEY \ -target-name filesystem \ -target-config /home/user/assets \ -days 30 此命令有效地从 Tiingo 仓库获取位于 /home/user/assets 目录中的资产的最新快照。如果本地资产文件为空,它会自动扩展同步范围,同步 30 天的快照,确保仓库全面且最新。 ⏳ 回测 ––––––– 回测功能 使用 Outcome 严格评估应用于一组定义资产的指定策略的潜在性能。它为每个策略-资产配对生成全面的可视化表示。 go report := backtest.NewHTMLReport(outputDir) bt := backtest.NewBacktest(repository, report) bt.Names = append(bt.Names, "brk-b") bt.Strategies = append(bt.Strategies, trend.NewApoStrategy()) err = bt.Run() if err != nil { t.Fatal(err) } indicator-backtest 命令行工具使用户能够对位于指定仓库中的资产进行全面回测。此功能涵盖应用所有当前已识别的策略,最终在指定的输出目录中生成详细报告。 bash $ indicator-backtest \ -source-name filesystem \ -source-config /home/user/assets \ -output /home/user/reports \ -workers 1 ☁️ MCP 服务器 -------------- [MCP 服务器](mcp/README.md)(多客户端协议服务器)为向多个客户端提供交易策略提供了一个健壮且可扩展的解决方案。它支持实时策略执行和数据处理,使其成为需要高吞吐量和低延迟交互交易算法的应用程序的理想选择。 🐳 Docker --------- 最简单的入门方式是使用我们的 Docker 镜像。它处理一切——从 Tiingo 同步市场数据并生成回测报告——只需一条命令。 ### 快速开始 bash # 在此处获取您的免费 Tiingo API 密钥: https://www.tiingo.com/ # 对特定资产运行回测 docker run -it –rm \ -v $(pwd)/output:/app/output \ ghcr.io/cinar/indicator:latest \ –api-key YOUR_TIINGO_API_KEY \ –days 365 \ –assets aapl msft googl # 查看结果 (macOS) open output/index.html # 查看结果 (Linux) xdg-open output/index.html `` ### 选项 | 标志 | 描述 | 默认值 | |——|———––|———| | --api-key | Tiingo API 密钥(必需) | - | | --days | 要获取的历史数据天数 | 365 | | --last | 要回测的最近天数 | - |
相似文章
@tom_doerr: Automates AI, Grid, and Dollar Cost Averaging trading strategies across 15+ exchanges including Binance and Hyperliquid…
OctoBot is a free open-source crypto trading bot with a visual interface that automates AI, grid, and DCA strategies across 15+ exchanges, including Binance and Hyperliquid. A new beta introduces node mode with a unified dashboard and mobile app.
@tom_doerr: 使用Claude生成并严格验证算法交易策略 https://github.com/zostaff/ai-quant-rese…
ai-quant-lab是一个开源的Python框架,它利用Claude生成算法交易策略,并通过统计测试严格验证以避免过拟合。
@tom_doerr:这个简单的Python库可从TradingView Screener检索数据。它具有一个可视化代码生成器,可创建r…
一个简单的Python库可从TradingView Screener检索数据,具有可视化代码生成器,支持超过13,000个字段,并为AI助手提供模型上下文协议(MCP)支持。
@geekbb: 开源 A 股量化工作台,用 TickFlow 的数据,做选股、实时监控、回测三件事。内置 20 个选股策略(Polars 向量化跑全 A 股秒级出结果),支持不写代码的自定义信号、AI 帮你写策略、多条件监控规则+飞书推送。 https:…
开源A股量化工作台,基于TickFlow数据实现选股、实时监控和回测三大功能,内置20个Polars向量化策略,支持AI写策略及飞书推送。
@milesdeutscher: 如何用Vibe Code通过TradingView MCP和Claude Fable 5创建自定义交易指标。我完全不精通技术,而且我…
一份关于如何使用TradingView MCP和Claude Code在Pine Script中创建自定义交易指标的指南,无需技术技能。