script (⏱,💰)

script (⏱,💰)

用 LLM 进行技术分析靠谱吗?

本文面向了解加密货币交易基础,希望利用 AI 进行技术分析的读者

1. 背景#

近期社区内合约交易讨论增多,展现出了潜在市场需求。考虑到大语言模型(LLM)在编程领域已超过一般程序员,所以我在 MyShell 平台开发了 AI 交易助手机器人 CoinGlass,验证 LLM 在交易领域的能力。

CleanShot 2024-08-05 at 10.54.03@2x

CoinGlass 名称源自提供全面合约交易指标的数据平台 coinglass.com 。使用时,需上传 CoinGlass 的截图供机器人分析。此外,该机器人也支持分析其他技术指标图表,如 Tradingview 或 交易所图表。

MyShell 是一个 Web3 AI 平台,允许用户创建、共享 AI 应用并从中获利。创作者无需编写代码,即可利用强大的 LLM 快速开发和发布 AI 应用。

该机器人被设定为加密货币衍生品交易专家。经过大量回测和迭代优化,它在多数情况下都表现出色。这是 8 月 4 日 SOL 还在 150 + 的时候的开空建议: https://app.myshell.ai/share/AjMbEj

注意:金融市场行情不可预测。虽然建议由 AI 提供,但用户应始终警惕风险。

2. 设计思路#

技术指标的有效性因情况而异。你需要深入理解指标的作用,并根据不同的交易策略进行选择。

顶级交易者通常专注于当下可控的因素和风险管理,而非预测难以把握的未来市场走向。

设计提示词(Prompt)时,我参考了多位交易员的经验,选择了几个加密货币交易常用指标。指标参数设置与最大加密货币交易所 Binance 的默认界面保持一致。

开发过程中遇到的主要问题:

  • 同样图表只有微小差别,输出结果不一致
  • 用不同语言回复,输出结果不一致
  • 难以精确识别指标具体值,尤其是均线与价格的关系
  • 无法准确解读异常指标的含义

经过多次迭代,最新版本采用思维链(CoT)技术,按以下步骤分析: 1. 读图 2. 识别指标特征 3. 分析方向 4. 寻找阻力支撑 5. 计算盈亏比 6. 判断交易可行性 7. 量化指标分数 8. 计算总分 9. 提供交易建议。

所有后续分析均基于第一步获取的指标数据,确保结果的一致性和可追溯性。

该机器人使用 Claude Sonnet 3.5 模型,温度参数设为 0,以确保相同输入产生一致的输出结果。

3. LLM 在技术分析中的优劣势#

在开发时我发现,使用 LLM 进行技术分析有以下值得关注的优劣势:

优势#

  • 图像模式识别: LLM 在训练过程中接触了大量图像数据,因此在 K 线图等交易图表的模式识别方面表现出色
  • 技术指标理解: 它们可以解释常见技术指标并提供见解
  • 泛化能力: 能够解读各种图表和指标,回答多样化的问题,并支持多语言输出
  • 易用性:使用和构建都像聊天一样简单

劣势#

  • 需要指导: 有的技术指标你必须明确告诉它特定的隐藏信息,例如 CVD 和价格分歧时,有不同解读,但 LLM 往往无法发现潜在的信号
  • 幻觉:若不采用思维链(CoT)方法逐步分析,可能产生不一致或错误的结果。使用不同语言输出时,有时会导致交易建议的不一致
  • 自动化交易: 除非在本地做定制开发,否则无法接入实盘做自动化交易
  • 回测困难:与传统量化交易相比,评估模型和提示词的效果更为复杂,通常需要进行大量手动测试

4. 使用指南#

how to use

图例展示了基本操作流程:打开 CoinGlass、截图、将图片和文字输入给机器人,然后发送。然而,实际使用中还有许多细节需要注意。

首先打开 CoinGlass https://www.coinglass.com/tv/Binance_BTCUSDT 并注册(注册后才能保存布局)。

4.1 设置图表#

live layout

建议除了合约的重要数据外,再加上不同类型的指标作为补充,以下是我的选择的指标(点击顶部菜单的 "CoinGlass - Indicator" 和 "Indicators" 可选择其他指标):

  • 主价格:基础类。选择 1D 4H 1H
  • 均线 (MA):趋势均线类。选择 7/25/99,和币安默认一致
  • 成交量 (Volume):基础类。默认币安 SMA 9
  • 聚合现货累计成交量增量 (<CoinGlass>Aggregated Spot Cumulative Volume Delta):成交量类,简称 CVD。行情一般是现货引领期货市场,所以选择现货的 CVD。不同币种要选择不同交易所,BTC 2024 年 7 月 26-27 日 的反弹,CoinBase 的 CVD 一直在降,Karken 的 CVD 一直在升,说明是 Karken 的现货买入带来了价格上涨。点击⚙️图表修改,我一般勾选 Binance + CoinBase。

CVD setting

  • 持仓加权平均资金费率 (<CoinGlass>Funding Rates):合约类。
  • 多空持仓人数比 (<CoinGlass>Long/Short Ratio (Accounts)):合约类。也可以选择 Top Trader Ratio (Accounts)
  • 持仓 (k 线)(<CoinGlass>Open Interest (Candles)):合约类。
  • 随机相对强弱指数 (Stoch RSI):振荡器类。默认设置 14 14 3 3,和币安一致。
  • 币种爆仓 (<CoinGlass>Aggregated Liquidations):合约类。
  • ATR:趋势强度类,默认 14。
  • 聚合合约订单薄深度差值 (<CoinGlass> Aggregated Spot Orderbook Liquidity Delta(±1%)):订单流类。开单时深度参考。

以上指标涵盖了基础指标,重要合约指标,均线类、成交量类、振荡器类、趋势强度类、订单流类各一个,能让 AI 对市场有全面的判断。

另外建议进行以下设置,点击右下角的⚙️:

  • 打开 Symbol last price label,避免读不到最新值
  • 关闭 Indicator value labels,减少截图中的文字,让 AI 更关注变化而不是数值

setting 1

  • 打开 High and low price labels 和 Price line:显示高低点,是重要压力和支撑位
  • 关闭 Count down to bar close:减少不必要的干扰信息

setting 2

设置完毕后,点击菜单栏的 "Save" 保存布局。

4.2 截图#

截图时需注意时间跨度不要过小或过大,右键 - Reset chart view 即可。

Reset chart view

然后用页面的截图功能,或者截图工具手动截图。我通常使用 MacOS 的 Take better screenshots and GIFs 软件手动截图。

Copy image

截图中应保证图片中的文字和线条清晰可读,如果发现机器人第一步读图的指标数字是错误的,就需要考虑截图是否足够清晰和简洁。其他语言界面也会导致识别错误。

以下是一张完整的截图参考。

screenshot ref

4.3 与 LLM 互动#

访问 CoinGlass MyShell 机器人 https://app.myshell.ai/bot/rYbENf/1713925324 ,点击 "+" 添加截图,或者 Ctrl+V 粘贴截图,然后发送。

CleanShot 2024-08-05 at 11.22.37@2x

在与机器人互动时:

  • 最小化无关信息:直接提供图表,避免添加不必要的文本,以防影响机器人判断
  • 使用英文:为保持判断一致性,建议直接使用英文与机器人交互
  • 清除记忆:分析不同币种前,建议点击 "Clear memory" 按钮清除之前的对话记录,避免机器人误解为多时间维度分析

Clear memory

  • 多时间维度分析:连续对话,提供不同时间框架的图表,获取全面观点。
  • 市场变化应对:市场出现明显变化时,提供最新图表和当前仓位信息,请求机器人更新建议。

add text

4.4 建立头寸#

为了优化盈亏比,我采用以下策略:

  1. 分析 1 天和 4 小时时间框架的图表。当两者趋势一致时,确定做多(LONG)或做空(SHORT)方向。
  2. 在 1 小时图表上观察 Stochastic RSI 指标:
    • 做多条件:超卖(双线超过 80)
    • 做空条件:超买(双线小于 20)
    • 更稳健的入场信号:
      a) Stochastic RSI 快线穿过慢线
      b) Stochastic RSI 与价格出现背离
      观察下图,添加每日周期线后,该策略几乎每天都能发现超买或超卖的交易机会。
      Stoch RSI
  3. Stach RSI 达到目标,向机器人发送 1H 图表,加上文字 "find entry to LONG/SHORT",它会告诉你入场点位,也可以直接发送图表,无需附加文字。
  4. 手动下单并设置止盈止损

注意事项:

  • 根据个人交易习惯调整策略
  • 保持耐心,等待最佳入场机会
  • 在确认大趋势正确的前提下,优化入场点以提高盈利潜力
  • 单边大波动行情 1 H 给的止盈止损相对保守,可以用 4H 或者 1D 的

4.5 如何回测#

如果需要回测,图表上不能有最新值出现,有两种办法:

方法一#

  1. 关闭所有指标的 Values in status line
    CleanShot 2024-08-05 at 11.48.28@2x

  2. 打开 Indicators value labels。
    CleanShot 2024-08-05 at 11.49.55@2x

  3. 保存布局。

  4. 拖动图表,最后一根 k 线到想回测的时间。截图。

方法二#

  1. 拖动图表,最后一根 k 线到想回测的时间。
  2. 将鼠标移动到最后一根 K 线任意指标位置。 当出现垂直虚线时,显示的各指标值即为历史值。
  3. 第三方工具截图。

CleanShot 2024-08-05 at 12.06.57@2x

多时间维度回测注意事项#

在进行多时间维度回测时,需要注意不同周期 K 线之间的时间对应关系。以下是具体的对应方式:

  • 日线对应下一日 4 小时线的 20:00 和 1 小时线的 23:00。如果是北京时间 UTC+8,就是第二天 04:00 和 07:00。
  • 4 小时线的 04:00 对应 1 小时线的 07:00
  • 1 小时线的 09:00 对应 15 分钟线的 09:45

这种对应关系确保了回测过程中不同时间维度数据的正确同步,有助于获得更准确的回测结果。

5. 总结#

LLM 通过提供深入见解和趋势识别能力,有潜力增强交易策略和盈利。其用户友好的特性,使普通交易者也能够轻松使用。

未来会持续改进提示词设计并探索其他用例,可以进一步提高 AI 在交易中的效果。采用新兴模型如 Claude Opus 3.5 有望带来更好的结果。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。