本文は、暗号通貨取引の基礎を理解し、AI を利用して技術分析を行いたい読者を対象としています。
1. 背景#
最近、コミュニティ内での契約取引に関する議論が増え、潜在的な市場需要が示されています。大規模言語モデル(LLM)がプログラミング分野で一般的なプログラマーを超えていることを考慮し、私は MyShell プラットフォームで AI 取引アシスタントボットCoinGlassを開発し、LLM の取引分野での能力を検証しました。
CoinGlassという名前は、包括的な契約取引指標を提供するデータプラットフォームcoinglass.comに由来しています。使用する際は、CoinGlass のスクリーンショットをアップロードしてボットに分析させる必要があります。また、このボットは Tradingview や取引所のチャートなど、他の技術指標チャートの分析もサポートしています。
MyShellは、ユーザーが AI アプリを作成、共有し、利益を得ることを可能にする Web3 AI プラットフォームです。クリエイターはコードを書くことなく、強力な LLM を利用して迅速に AI アプリを開発および公開できます。
このボットは暗号通貨デリバティブ取引の専門家として設定されています。大量のバックテストと反復最適化を経て、ほとんどの場合において優れたパフォーマンスを示しています。これは 8 月 4 日に SOL が 150 以上の時のショート提案です: https://app.myshell.ai/share/AjMbEj
注意:金融市場の動向は予測不可能です。提案は AI によって提供されますが、ユーザーは常にリスクに注意する必要があります。
2. 設計思路#
技術指標の有効性は状況によって異なります。指標の役割を深く理解し、異なる取引戦略に基づいて選択する必要があります。
トップトレーダーは通常、現在制御可能な要因とリスク管理に焦点を当て、把握しにくい未来の市場動向を予測することはありません。
プロンプトを設計する際、私は複数のトレーダーの経験を参考にし、いくつかの暗号通貨取引で一般的に使用される指標を選択しました。指標のパラメータ設定は、最大の暗号通貨取引所 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. 使用ガイド#
図例は基本操作フローを示しています:CoinGlass を開き、スクリーンショットを撮り、画像とテキストをボットに入力して送信します。しかし、実際の使用には多くの詳細に注意する必要があります。
まず、CoinGlass を開き、https://www.coinglass.com/tv/Binance_BTCUSDT にアクセスし、登録します(登録後でないとレイアウトを保存できません)。
4.1 チャートの設定#
契約の重要なデータに加えて、異なるタイプの指標を補完として追加することをお勧めします。以下は私が選んだ指標です(上部メニューの「CoinGlass - Indicator」と「Indicators」をクリックすると他の指標を選択できます):
- 主価格:基礎的なもの。1D、4H、1H を選択
- 移動平均 (MA):トレンド移動平均。7/25/99 を選択し、Binance のデフォルトと一致
- 成交量 (Volume):基礎的なもの。デフォルトは Binance の SMA 9
- 集約現物累積成交量増加 (
<CoinGlass>Aggregated Spot Cumulative Volume Delta
):成交量のクラス、略称 CVD。一般的に現物が先導するため、現物の CVD を選択します。異なる通貨は異なる取引所を選択する必要があります。BTC の 2024 年 7 月 26-27 日の反発では、CoinBase の CVD は常に減少し、Karken の CVD は常に増加しており、Karken の現物買いが価格上昇をもたらしたことを示しています。⚙️をクリックしてチャートを変更し、私は通常 Binance + CoinBase を選択します。
- ポジション加重平均資金調達率 (
<CoinGlass>Funding Rates
):契約のクラス。 - ロング / ショートポジション数比 (
<CoinGlass>Long/Short Ratio (Accounts)
):契約のクラス。Top Trader Ratio (Accounts) を選択することもできます。 - ポジション (k 線)(
<CoinGlass>Open Interest (Candles)
):契約のクラス。 - ストキャスティック相対強弱指数 (Stoch RSI):オシレーターのクラス。デフォルト設定は 14 14 3 3 で、Binance と一致。
- 通貨の強制清算 (
<CoinGlass>Aggregated Liquidations
):契約のクラス。 - ATR:トレンド強度のクラス、デフォルトは 14。
- 集約契約注文薄深度差 (
<CoinGlass> Aggregated Spot Orderbook Liquidity Delta(±1%)
):注文フローのクラス。オープンポジション時の深度を参考にします。
これらの指標は、基礎指標、重要な契約指標、移動平均、成交量、オシレーター、トレンド強度、注文フローの各 1 つをカバーしており、AI が市場を包括的に判断できるようにします。
さらに、以下の設定を行うことをお勧めします。右下の⚙️をクリック:
- Symbol last price label を開いて、最新の値を読み取れるようにします。
- Indicator value labels を閉じて、スクリーンショット内のテキストを減らし、AI が数値ではなく変化にもっと注目できるようにします。
- High and low price labels と Price line を開いて、高低点を表示し、重要な抵抗と支持レベルを示します。
- Count down to bar close を閉じて、不必要な干渉情報を減らします。
設定が完了したら、メニューバーの「Save」をクリックしてレイアウトを保存します。
4.2 スクリーンショット#
スクリーンショットを撮る際は、時間のスパンが小さすぎたり大きすぎたりしないように注意し、右クリック - Reset chart view でリセットできます。
その後、ページのスクリーンショット機能を使用するか、スクリーンショットツールで手動でスクリーンショットを撮ります。私は通常、MacOS の Take better screenshots and GIFs ソフトウェアを使用して手動でスクリーンショットを撮ります。
スクリーンショット内の文字や線が明確に読み取れることを確認し、ボットが最初のステップで読み取る指標の数字が間違っている場合は、スクリーンショットが十分に明確で簡潔であるかを考慮する必要があります。他の言語のインターフェースも認識エラーを引き起こす可能性があります。
以下は完全なスクリーンショットの参考です。
4.3 LLM とのインタラクション#
CoinGlass MyShell ボットにアクセスし、https://app.myshell.ai/bot/rYbENf/1713925324 、"+" をクリックしてスクリーンショットを追加するか、Ctrl+V でスクリーンショットを貼り付けて送信します。
ボットとのインタラクション時には:
- 無関係な情報を最小限に抑える:直接チャートを提供し、不必要なテキストを追加しないようにして、ボットの判断に影響を与えないようにします。
- 英語を使用する:判断の一貫性を保つために、ボットと直接英語でやり取りすることをお勧めします。
- メモリをクリアする:異なる通貨を分析する前に、「Clear memory」ボタンをクリックして以前の対話記録をクリアし、ボットが多時間軸分析と誤解しないようにします。
- 多時間軸分析:連続した対話で、異なる時間枠のチャートを提供し、包括的な視点を得ます。
- 市場の変化への対応:市場に明らかな変化があった場合、最新のチャートと現在のポジション情報を提供し、ボットに提案を更新するように依頼します。
4.4 ポジションの構築#
利益と損失の比率を最適化するために、以下の戦略を採用しています:
- 1 日と 4 時間の時間枠のチャートを分析します。両者のトレンドが一致する場合、ロング(LONG)またはショート(SHORT)の方向を決定します。
- 1 時間チャートでストキャスティック RSI 指標を観察します:
- ロング条件:過剰売り(両線が 80 を超える)
- ショート条件:過剰買い(両線が 20 未満)
- より堅実なエントリーシグナル:
a) ストキャスティック RSI の速い線が遅い線を越える
b) ストキャスティック RSI と価格に乖離が生じる
下の図を観察し、日次周期線を追加した後、この戦略はほぼ毎日過剰買いや過剰売りの取引機会を発見できます。
- ストキャスティック RSI が目標に達したら、ボットに 1H チャートを送信し、「find entry to LONG/SHORT」というテキストを追加します。ボットはエントリーポイントを教えてくれます。また、チャートを直接送信することもでき、追加のテキストは不要です。
- 手動で注文を出し、利益確定と損切りを設定します。
注意事項:
- 個人の取引習慣に応じて戦略を調整します。
- 忍耐を持ち、最良のエントリー機会を待ちます。
- 大トレンドが正しいと確認した上で、エントリーポイントを最適化し、利益の可能性を高めます。
- 一方向の大きな変動市場では、1H の利益確定と損切りは比較的保守的であり、4H または 1D を使用することができます。
4.5 バックテストの方法#
バックテストが必要な場合、チャートに最新の値が表示されないようにする必要があります。以下の 2 つの方法があります:
方法一#
-
すべての指標の Values in status line をオフにします。
-
Indicators value labels をオンにします。
-
レイアウトを保存します。
-
チャートをドラッグして、最後の K 線をバックテストしたい時間に移動させ、スクリーンショットを撮ります。
方法二#
- チャートをドラッグして、最後の K 線をバックテストしたい時間に移動させます。
- マウスを最後の K 線の任意の指標位置に移動させます。垂直の点線が表示されると、表示される各指標の値が歴史的な値となります。
- 第三者ツールでスクリーンショットを撮ります。
多時間軸バックテストの注意事項#
多時間軸バックテストを行う際は、異なる周期の 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 を採用することで、より良い結果が期待されます。