アービトラージボットのベースソース探しその3

https://github.com/kelvinau/crypto-arbitrage/blob/master/engines/exchange_arbitrage.py
取引所間のアビトラ。すごくシンプル。

コードの概要
このPythonスクリプトは、暗号通貨市場における裁定取引の機会を見つけるためのツールです。具体的には、同じ暗号通貨が異なる取引所や取引ペアで異なる価格で取引されている場合、その価格差を利用して利益を得る可能性を探します。

主な機能と構成要素
ライブラリのインポート:

pymarketcapライブラリを使用して、CoinMarketCapから市場データを取得します。
argparseを使用して、コマンドライン引数を解析し、ユーザーが検索条件をカスタマイズできるようにします。
コマンドライン引数の設定:

-m, –minimum_vol: 各取引所での最低取引量のパーセンテージを指定します。
-p, –pairs: 裁定取引に使用する通貨ペアを指定します(デフォルトはすべてのペア)。
-l, –coin_list: カスタムの通貨リストを指定し、トップNのコインに代わって使用します。
-c, –coins_shown: 表示するコインの数を指定します。
-e, –exchanges: 対象とする取引所を指定します(デフォルトはすべての取引所)。
-s, –simple: エラーや設定の詳細を非表示にします。
-t, –top: 上位N位までのコインを対象にします。
市場データの取得:

指定されたコインリストまたは上位のコインを対象に、各コインの市場データを取得します。
各コインについて、以下の情報を収集します:
最安値で購入できる取引所、価格、取引ペア、取引量。
最高値で売却できる取引所、価格、取引ペア、取引量。
裁定取引の機会の分析:

各コインの最安値と最高値の価格差を計算し、パーセンテージで表します。
指定された条件(取引量、取引ペア、取引所など)を満たす市場のみを対象とします。
結果の表示:

価格差の大きい順に情報をソートし、指定された数のコインについて結果を表示します。
表示される情報には、コイン名、価格変化率、購入価格・取引所・ペア・取引量、売却価格・取引所・ペア・取引量が含まれます。
コードの流れ
コマンドライン引数を解析して設定を取得します。
pymarketcapを使用して、指定されたコインの市場データを取得します。
各コインについて、指定された条件を満たす市場をフィルタリングします。
フィルタリングされた市場から、最安値と最高値の取引情報を取得します。
価格差とその他の情報をリストに追加します。
収集した情報をソートし、フォーマットして表示します。
利益の源泉(エッジ)の解説
このトレードロジックのエッジ、つまり利益の源泉は、「異なる取引所間での価格差を利用した裁定取引」にあります。

利益を得る仕組み
価格差の存在: 同じ暗号通貨でも、取引所や取引ペアによって価格が異なることがあります。これは市場の非効率性や、取引所ごとの需要と供給の差によって生じます。

低価格で購入、高価格で売却: スクリプトは、最も安く購入できる市場と、最も高く売却できる市場を特定します。

価格差の利用: 最安値と最高値の間に十分な価格差(スプレッド)がある場合、その差額が利益となります。

裁定取引の実行:

購入: 最安値の取引所で暗号通貨を購入します。
売却: 最高値の取引所で暗号通貨を売却します。
利益確定: 購入価格と売却価格の差額から、取引手数料などのコストを差し引いた残りが利益となります。
この方法で利益が出る理由
市場の非効率性の活用: 暗号通貨市場は分散化されており、各取引所間での情報伝達や価格調整に時間差があります。そのため、一時的な価格差が生じます。

リアルタイムのデータ分析: スクリプトはCoinMarketCapからリアルタイムにデータを取得し、最新の価格差を検出します。

条件のカスタマイズ: ユーザーは取引量、取引ペア、取引所などの条件を指定できるため、自身の戦略やリスク許容度に合わせて裁定取引の機会を探すことができます。

高速な意思決定: プログラムによる自動化により、人間が手動で分析するよりも迅速に価格差を見つけることができます。

利益を最大化するためのポイント
取引手数料の考慮: 実際の取引では、取引手数料や出金手数料が発生します。これらのコストを差し引いても利益が出る価格差であることが重要です。

取引速度: 価格差は短時間で解消されることが多いため、迅速に取引を行う必要があります。

流動性の確認: 取引量が十分でない市場では、大口の注文を出すと価格に影響を与えてしまい、期待した利益が得られない可能性があります。

リスク管理: 為替変動や取引の失敗などのリスクを考慮し、適切なリスク管理を行うことが重要です。

注意点
スリッページのリスク: 市場の流動性が低い場合、注文した価格で取引が成立しない可能性があります。

資金移動の時間とコスト: 取引所間で資金(暗号通貨)を移動させる必要がある場合、時間がかかり、その間に価格が変動するリスクがあります。

取引所の信頼性: 取引所のセキュリティや運営状況を確認し、信頼できる取引所を利用することが重要です。

まとめ
このスクリプトは、暗号通貨市場の一時的な価格差を利用して利益を得るためのツールです。異なる取引所間での価格の不整合を検出し、低価格で購入し高価格で売却することで、裁定取引の機会を見つけます。市場の非効率性を活用し、迅速かつ戦略的に取引を行うことで、利益を追求することが可能です。

コメント

タイトルとURLをコピーしました