No description
  • Python 96.6%
  • Cython 1.8%
  • C++ 1.1%
  • C 0.3%
  • TypeScript 0.1%
Find a file
Ubuntu fd74190a17 feat: backend/cli.py を main ブランチに追加
grid ブランチには含まれていたが、main ブランチにはなかったため追加
2026-05-04 09:58:59 +09:00
backend feat: backend/cli.py を main ブランチに追加 2026-05-04 09:58:59 +09:00
frontend feat: use TradingPair dropdown in OrderForm with step_size/min_qty validation 2026-04-28 13:13:14 +09:00
.env.example feat: initial project scaffold with Next.js frontend and FastAPI backend 2026-04-28 10:50:29 +09:00
.gitignore feat: initial project scaffold with Next.js frontend and FastAPI backend 2026-04-28 10:50:29 +09:00
mytrade fix: clean stale PID files before starting, recover from crashes 2026-04-28 12:23:07 +09:00
mytrade.code-workspace feat: initial project scaffold with Next.js frontend and FastAPI backend 2026-04-28 10:50:29 +09:00
README.md feat: add virtual position tracking with PnL for spot trading 2026-04-28 12:39:24 +09:00

MyTrade

Next.js + PythonFastAPIによる仮想通貨現物トレーダーの雛形。bitbank.cc日本国内取引所対応。

構成

mytrade/
├── backend/          # Python FastAPI バックエンド
│   ├── main.py         # API サーバー
│   ├── config.py       # 環境設定
│   ├── models/         # Pydantic モデル
│   ├── exchange/       # 取引所コネクタBinance
│   ├── trading/        # トレードエンジン
│   └── database/       # DBSQLite
├── frontend/         # Next.js フロントエンド
│   ├── app/            # App Router
│   ├── components/     # React コンポーネント
│   └── lib/            # API クライアント
├── docker-compose.yml
└── README.md

機能

  • 対応取引所: bitbank.cc日本国内/ Binance Global / Mockデモ
  • ダッシュボード: ポートフォリオ残高・マーケット情報・注文履歴の一覧表示
  • 注文フォーム: 現物の買い/売りMARKET/LIMIT
  • 市場データ: リアルタイム風ティッカー更新5秒間隔
  • 取引履歴: 約定済みトレードの確認
  • モックモード: API Key 不要で UI 開発・動作確認が可能

前提条件

  • Python 3.10+
  • Node.js 18+
  • bitbank.cc API Key実取引用または Mock モード

セットアップ

同時起動(推奨)

./start.sh
# Backend:  http://localhost:8000
# Frontend: http://localhost:3000

個別起動

1. バックエンド

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# EXCHANGE_TYPE を編集mock / bitbank / binance
python main.py
# http://localhost:8000
# API ドキュメント: http://localhost:8000/docs

2. フロントエンド

cd frontend
npm install
cp .env.example .env.local  # BACKEND_URL は通常変更不要
npm run dev
# http://localhost:3000

API エンドポイント

Method Path 説明
GET /api/v1/balance ポートフォリオ残高
GET /api/v1/tickers 全ティッカー
GET /api/v1/ticker/{symbol} 指定銘柄ティッカー
POST /api/v1/order 注文発行
DELETE /api/v1/order/{symbol}/{order_id} 注文キャンセル
GET /api/v1/orders 未約定注文一覧
GET /api/v1/trades 約定履歴
GET /api/v1/positions 仮想ポジション・PnL
POST /api/v1/sync/pairs 取引ペア同期
GET /api/v1/pairs 取引ペア情報

技術スタック

  • Backend: FastAPI, SQLAlchemy, httpx, uvicorn
  • Frontend: Next.js 14, React, TypeScript, Tailwind CSS
  • Database: SQLiteaiosqlite
  • 取引所連携: bitbank.cc REST API, Binance API, Mock Exchange

注意事項

  • bitbank.cc: 日本国内居住者が利用可能な取引所です。EXCHANGE_TYPE=bitbank に設定してください。
  • Binance Global: 日本国内居住者は規制対象です。VPN 等での利用は自己責任で。
  • Mock モード: 初期値は EXCHANGE_TYPE=mock で、API Key 不要で動作確認ができます。
  • API Key は .env ファイルに記載し、公開リポジトリにコミットしないでください。
  • 環境変数は .env より優先されます。例:EXCHANGE_TYPE=bitbank python main.py で一時的に切り替え可能です。