本文は、暗号通貨取引の基礎を理解し、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 が市場を包括的に判断できるようにします。
さらに、以下の設定を行うことをお勧めします。右下の⚙️をクリック:
- シンボルの最新価格ラベルを開くことで、最新の値を読み取れないのを防ぎます
- インジケーター値ラベルを閉じて、スクリーンショット内のテキストを減らし、AI が数値ではなく変化により注目できるようにします
- 高値と安値のラベルと価格ラインを開く:高低点を表示し、重要な抵抗と支持レベルを示します
- バーのクローズまでのカウントダウンを閉じる:不必要な干渉情報を減らします
設定が完了したら、メニューバーの「保存」をクリックしてレイアウトを保存します。
4.2 スクリーンショット#
スクリーンショットを撮る際は、時間のスパンが小さすぎたり大きすぎたりしないように注意し、右クリック - チャートビューをリセットすれば大丈夫です。
次に、ページのスクリーンショット機能を使用するか、スクリーンショットツールで手動でスクリーンショットを撮ります。私は通常、MacOS の Take better screenshots and GIFs ソフトウェアを使用して手動でスクリーンショットを撮ります。
スクリーンショット内の文字と線が明確に読み取れることを確認し、ボットが最初のステップで読み取る指標の数字が誤っている場合は、スクリーンショットが十分に明確で簡潔であるかどうかを考慮する必要があります。他の言語インターフェースも認識エラーを引き起こす可能性があります。
以下は完全なスクリーンショットの参考です。
4.3 LLM とのインタラクション#
CoinGlass MyShell ボットにアクセスし、https://app.myshell.ai/bot/rYbENf/1713925324 、"+" をクリックしてスクリーンショットを追加するか、Ctrl+V でスクリーンショットを貼り付けて送信します。
ボットとのインタラクション時には:
- 無関係な情報を最小限にする:直接チャートを提供し、不必要なテキストを追加しないようにして、ボットの判断に影響を与えないようにします
- 英語を使用する:判断の一貫性を保つために、ボットとのインタラクションは直接英語で行うことをお勧めします
- メモリをクリアする:異なる通貨を分析する前に、「メモリをクリア」ボタンをクリックして以前の対話記録をクリアし、ボットが多時間軸分析と誤解しないようにします
- 多時間軸分析:連続した対話で異なる時間枠のチャートを提供し、包括的な見解を得ます。
- 市場の変化への対応:市場に明らかな変化があった場合、最新のチャートと現在のポジション情報を提供し、ボットに提案を更新するように依頼します。
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 つの方法があります:
方法一#
-
すべての指標のステータスラインの値をオフにします
-
インジケーター値ラベルをオンにします。
-
レイアウトを保存します。
-
チャートをドラッグし、最後の 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 を採用することで、より良い結果が得られることが期待されます。