ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

多周期价格预测原理:PowerTrader AI的kNN预测器如何预测当前K线高低点

多周期价格预测原理:PowerTrader AI的kNN预测器如何预测当前K线高低点

【免费下载链接】PowerTrader_AI

Fully automated crypto trading powered by a custom price prediction AI and a structured/tiered DCA system. Website at PowerTrader.net

项目地址:https://gitcode.com/gh_mirrors/po/PowerTrader_AI
点击查看免费下载

PowerTrader AI是一款开源加密货币自动交易机器人,其核心是一个自研的kNN(k近邻)价格预测器:它在1小时到1周共7个时间周期上,通过匹配历史K线形态并做加权平均,实时预测当前未走完K线的高低点,并以此驱动 DCA 网格式建仓策略。

一句话概括:它不预测"明天涨不涨",而是预测"这根还没走完的K线,最高会到哪个价、最低会到哪个价"。

为什么说它是 AI?——kNN 属于"基于实例"的机器学习

提到 AI,很多人首先想到大语言模型和神经网络。PowerTrader AI 用的其实是一类更朴素但同样成立的机器学习方法——基于实例的 kNN(kernel-style / instance-based)预测器,并带有"在线可靠性权重":

  • 训练阶段:遍历该币在多个周期上的全部历史K线,把每一个"K线形态"连同形态出现后下一根K线的实际表现一起存入"记忆库";
  • 预测阶段:把当前最新形态与记忆库比对,取相似度最高的若干条记忆,按各自权重做加权平均,输出一根"预测K线";
  • 在线学习:每根K线收盘后,对比实际值与预测值,自动上调/下调参与预测的每条记忆的权重——预测得准的记忆权重涨,预测失准的权重降。

这种"从历史相似案例投票得出预测"的思路,正是 kNN 算法的精髓,在 README.md 中也有作者自己的定义。

多周期预测架构:7 个时间框架各出一份预测

PowerTrader AI 的预测不是单一周期,而是多周期并行。在 pt_trainer.py 中定义了全部周期:

周期1hour2hour4hour8hour12hour1day1week
含义1小时2小时4小时8小时12小时1天1周

每个周期都有独立的一套记忆库和权重文件,因此每个周期都会独立生成一根"预测K线"。短周期(1小时)对即时波动敏感,长周期(1周)则捕捉大级别趋势——多周期叠加后,系统能同时看到"微观情绪"和"宏观位置"。

预测当前K线高低点的三步流程

第 1 步:训练——把"形态 + 下一根K线结果"存进记忆库

在 Hub 中点击 Train All 后,pt_trainer.py 会从交易所拉取该币种最多 10 万根历史K线(见 pt_trainer.py 中的how_far_to_look_back = 100000),并逐根向前推进:

  1. 取最近几根K线的涨跌幅百分比序列作为"当前形态"(相对变化而非绝对价格,因此不同价位可比);
  2. 查看这个形态下一次在历史上出现时,下一根K线实际走到的高点/低点;
  3. 把"形态 + 高点偏移 + 低点偏移 + 可靠性权重"写入记忆文件:
    • pt_trainer.py 中定义了记忆文件(memories_{周期}.txt)、总权重、高点权重(memory_weights_high_*)、低点权重(memory_weights_low_*)四类数据。

这一步本质上是在为每个周期建立一本"案例手册":"过去长这样的走势,之后通常怎么收"。

第 2 步:实时匹配——在记忆里找"最像现在"的案例

预测由 pt_thinker.py 完成。它循环遍历 7 个周期,对每个周期:

  1. 拉取该周期正在进行的这根K线,计算其当前涨跌幅(见 pt_thinker.py 的current_candle计算);
  2. 逐条对比记忆库中的形态,计算相对差异diff_avg;
  3. 差异小于自适应阈值perfect_threshold的记忆被判为"完美匹配"(见 pt_thinker.py)。

这里的perfect_threshold是一个自适应阈值:匹配到的案例太多时自动收紧、太少时自动放宽(见 pt_trainer.py),始终让"参与投票的记忆"保持在一个合理的数量区间。若一条都匹配不到,该周期会被标记为inactive,不参与信号输出。

第 3 步:加权平均——合成当前K线的预测高点与低点

拿到所有匹配记忆后,预测就是一次带权平均(见 pt_thinker.py):

  • 每条记忆贡献 = 该记忆中"下一根K线的高/低点偏移" × 该记忆的可靠性权重;
  • 预测偏移 = 所有贡献的平均值;
  • 最终价格 = 当前最新价 ×(1 + 预测偏移)。

于是每个周期都得到了两个价格:预测高点和预测低点。7 个周期合计最多产生14 条预测价格线——这就是界面上密密麻麻水平线的来源。

在线学习:权重如何"越用越准"

这是该预测器最有意思的设计。K线收盘后,pt_trainer.py 会做三件事:

情况处理方式
实际价格明显高于某条记忆的预测该记忆权重+0.25(上限 2.0),说明它"敢看高"且看对了
实际价格明显低于某条记忆的预测权重-0.25(下限 0.0),预测失准的记忆被逐渐"边缘化"
完全没有相似记忆把当前形态作为新记忆入库,初始权重 1.0

权重文件按memory_weights_*.txt等格式落盘,配合内存缓存与批量写盘(pt_trainer.py 的flush_memory)保证长时间运行的效率。这意味着预测器持续跟随市场风格演化:牛市里的记忆和熊市里的记忆,会按各自的实战成绩自动获得不同的发言权。

预测结果怎么用:蓝线、橙线与 LONG/SHORT 信号

预测出的高低点会被整理成交易信号:

  • 每个周期的预测低点(下方)作为低吸参考,预测高点(上方)作为高抛参考;
  • 各周期结果统一排序、去重并强制最小间距(间距小于 0.25% 的线会被微调错开,见 pt_thinker.py),再外扩 0.5% 作为触发边界;
  • 当前价跌破某条低点线 → 该周期记一次LONG;突破高点线 → 记一次SHORT(见 pt_thinker.py);
  • 图表上,低点线画成蓝色、高点线画成橙色(绘制逻辑见 pt_hub.py),一眼就能看出价格处于预测区间的哪个位置。

交易端的规则非常直观:当 LONG 计数达到设定级别(如 3 或更高)且 SHORT 计数为 0 时开仓(规则说明见 README.md 的 Neural Levels 章节);之后价格每再跌破下一条蓝线就触发一次 DCA 加仓,直到触及利润线才平仓。

总结:这个 kNN 预测器好在哪

特点说明
🧠 可解释性强每次预测都能追溯是哪些历史记忆"投票"得出的,而非黑盒
📈 多周期视角1小时→1周共 7 个周期各自独立预测,长短趋势兼得
🔄 在线自我修正权重随每根K线的实际结果动态增减,适应市场风格切换
📊 相对变化建模用涨跌幅百分比而非绝对价格,跨价位、跨币种可比
🎯 直接服务于策略预测输出的高低线就是 DCA 入场/加仓的触发线,闭环完整

如果你想动手验证,只需安装 Python 依赖并依次运行训练与主程序(完整步骤见 README.md 的 Setup 章节),然后打开 Hub 即可在K线图上看到蓝橙预测线随行情实时刷新的效果。

⚠️ 风险提示:PowerTrader AI 会自动执行真实交易,预测模型不构成投资建议。请务必先理解 pt_thinker.py 与 pt_trader.py 的逻辑,并对自己的资金风险负责。

【免费下载链接】PowerTrader_AI

Fully automated crypto trading powered by a custom price prediction AI and a structured/tiered DCA system. Website at PowerTrader.net

项目地址:https://gitcode.com/gh_mirrors/po/PowerTrader_AI
点击查看免费下载

相关推荐

上一篇:JiuwenSymbiosis 文档中心完全指南:从快速入门到硬件移植的官方资料体系导航
下一篇:Uboreshaji Modeli 多模态微调框架实战指南:基于 Composable Strategy Pattern 的视觉、文本与语音 SFT 统一编排

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进