Skip to content

Repository files navigation

Bybit-Trading-Tools

Bybit の USDT P2P 取引を行っていた時期に、作業を自動化・省力化するために作成した Python スクリプト集です。

収益については雑所得として確定申告済みです。

このリポジトリは、当時の検証コードや運用補助コードを整理して公開しています。

Purpose

  • P2P 取引まわりの手作業を減らす
  • 通貨変換・内部送金・通知を自動化する
  • 価格差の観測や履歴集計を行う

Security

認証情報は .env で管理します。

Disclaimer

  • このコードは当時の運用・検証を再現するための公開です
  • 投資助言ではありません
  • API 仕様変更、銘柄仕様変更、手数料変更により現状そのままでは動作や収益性が変わる可能性があります

Setup

  1. 依存関係をインストール
pip install -r requirements.txt
  1. .env.example をコピーして .env を作成
copy .env.example .env
  1. .env に API キーを設定
BYBIT_API_KEY=your_key
BYBIT_API_SECRET=your_secret
  1. Windows 通知を使う場合は plyer が必要
pip install plyer

全体像

このリポジトリの処理は大きく 4 系統です。

  1. 市場調査系
  • Get_JPYUSDrate_yahoo.py
  • Low_exchange_coin.py
  1. 売却・送金オペレーション系
  • Transfer.py
  1. 価格差トレード検証系
  • USDTC_trade.py
  • BUSD.py
  1. 履歴集計・枠管理系
  • P2P_csv.py
  • Paypay.py

Scripts

USDTC_trade.py

  • 目的: USDCUSDT の板情報と残高を使い、買い/売り指値を反復実行
  • 主な処理:
    • Unified account の USDT/USDC availableToWithdraw を参照
    • 残高が 3USD 以上なら USDCUSDT に Limit 注文
    • 0.5 秒間隔でループ
  • 依存 API:
    • get_orderbook
    • get_wallet_balance
    • place_order
  • 出力:
    • 合計値 total を標準出力

Transfer.py

  • 目的: 着金検知後に対象コインを USDT に売却し、Funding へ内部送金して通知
  • 監視コイン:
    • BTC
    • ETH
    • USDT
  • 主な処理:
    • check_balance で USD 換算 1 以上の残高を検知
    • trade で Market Sell
    • transfer で UNIFIED から FUND に内部送金
    • unlock_status で confirmations を監視
    • plyer で通知
  • 依存 API:
    • get_wallet_balance
    • get_instruments_info
    • place_order
    • create_internal_transfer
    • get_deposit_records

BUSD.py

  • 目的: BUSDUSDT の価格帯ずれを利用した反復注文検証
  • 主な処理:
    • 既存注文を cancel_all_orders で全キャンセル
    • best bid/ask を取得
    • 閾値条件で PostOnly Limit 注文を実施
    • order_log.txt に記録
    • 90 秒スリープで反復
  • 依存 API:
    • get_open_orders
    • cancel_order
    • get_wallet_balance
    • get_orderbook
    • place_order

Low_exchange_coin.py

  • 目的: USDT 建てと USDC 建ての板を比較し、銘柄ごとの価格差を把握
  • 主な処理:
    • USDCUSDT の bid/ask を取得
    • 監視銘柄リストの USDT/USDC 板を比較
    • 価格リストを標準出力

Get_JPYUSDrate_yahoo.py

  • 目的: USDJPY レートと取引所価格の比較用データを取得
  • 主な処理:
    • Yahoo Finance から JPY=X をスクレイピング
    • Bybit の各銘柄 USDT 板を取得
    • BITPOINT API の円価格を取得
    • 比較用配列を作成

P2P_csv.py

  • 目的: P2P 取引履歴 xls を集計し、売買別集計と簡易損益列を出力
  • 入力:
    • スクリプト配置フォルダの .xls 全件
  • 出力:
    • 標準出力に集計表示
    • t.txt に BUY/SELL 明細を書き出し

Paypay.py

  • 目的: PayPay CSV から送金完了分を集計し、月次上限管理を補助
  • 入力:
    • スクリプト配置フォルダで最初に見つかった .csv 1件
    • 実行時入力の Buy price
  • 出力:
    • 合計値
    • 残り可能額計算
    • 価格入力に対する換算結果

開発フロー

国内取引所と海外取引所Bybitでの価格差を用いた利益の生み出すシステムを構築。 そこで、現在のUSD/JPYの価格の取得を自動で行い、それに基づいてP2Pでの販売価格を決定するためGet_JPYUSDrate_yahoo.pyを開発。

また、P2Pの資金源となるUSDTはBITPOINTで購入した通貨(XRP,ADAなど)をBYBITに送金してそれをUSDTにSPOT取引を用いて変換するために Transfer.pyを開発して着金監視、売却、送金、通知を実装。

また、ほかのアービトラージ的な戦略でUSDTとUSDC取引の価格差、BUSDとUSDTの周期的価格差の変動を利用した利益を狙ったプログラムUSDTC_trade.py ,BUSD.py を開発。

確定申告のための雑所得計算や取引可能額を自動計算するためのP2P_csv.py / Paypay.py を開発。

推定運用順 (記憶ベース)

  1. Get_JPYUSDrate_yahoo.py で外部価格感を把握
  2. Low_exchange_coin.py で銘柄ごとの差分を確認
  3. Transfer.py で着金監視、売却、送金、通知
  4. P2P_csv.py と Paypay.py で履歴集計

実行例

python Get_JPYUSDrate_yahoo.py
python Transfer.py
python P2P_csv.py

About

Python-based utility suite for Bybit: Automated transfer workflows, P2P history aggregation, and stablecoin spread trading experiments (USDC/USDT/BUSD).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages