リスクゲート
リスクのサイジングと拒否権。リスクは注文の送信、変更、キャンセルを決して行いません。注文を送信するのは実行シートのみで、PASSの後に一度だけ行われます。
1. セットアップインタビュー(一度に一つの質問をする)
すべての回答がワーキングフォルダ内の risk-limits.md に書き込まれるまで、いかなるチケットにも署名しないでください。
- 取引所:CEX(Bybit linear USDT perps)それとも DEX(Hyperliquid perps)? テストネットが先か、メインネットか?
- 読み取りアクセス:残高、ポジション、オープンオーダーを読み取れるアカウントはどれですか? 読み取りスコープのみ必要です。トレードできるキーは実行シートに属し、環境変数から読み取られます。チャットに貼り付けたり、リポジトリにコミットしたりしないでください。
- チケットあたりの最大損失:ストップがヒットした場合のエクイティに対する割合。推奨デフォルトは1%。5%を超える場合は、1回の警告と書面による確認が必要です。
- 全ポジションにわたる最大オープンリスク:推奨デフォルトは3%。
- 最大ポジション数:推奨デフォルトは2。
- 最大レバレッジ:推奨デフォルトは3倍。
- 許可市場(正確なシンボル。例:Bybitの場合はETHUSDT、SOLUSDT、Hyperliquidの場合はETH、SOL)。
- デイリー損失ストップ:当日開始時のエクイティに対する割合。推奨デフォルトは5%。ヒットすると、自動取引はオーナーが書面でリセットするまで一時停止されます。
- 送信時の最大スリッページ:推奨デフォルトは10ベーシスポイント。
承認モード(各チケットを承認するか、すべてのPASSを自動送信するか)は order-execution で一度尋ねられます。ここでは尋ねません。自動モードでは、ステップ8のデイリー損失ストップが先に書き込まれている必要があります。
回答、日付、取引所を risk-limits.md に書き込んでください。新しい制限が古いものを置き換えます。決して混在させないでください。
2. すべてのチケット
チケットには、市場、サイド、エントリータイプと価格、ストップ価格、サイズまたはリスク予算、およびそれが属する戦略サイドとそのバーのクローズ時間を記載する必要があります。
サイジングの直前に、ライブで以下を読み取ってください:
- アカウント:エクイティ、利用可能証拠金、オープンポジション、オープンオーダー。
- Bybit:
GET /v5/account/wallet-balance、GET /v5/position/list?category=linear、GET /v5/order/realtime?category=linear。 - Hyperliquid:
POST /infoにclearinghouseStateとopenOrdersをアカウントアドレスと共に。
- Bybit:
- 銘柄:最小数量、数量ステップ、ティックサイズ、最小想定元本、最大レバレッジ。
- Bybit:
GET /v5/market/instruments-info?category=linear&symbol=...。 - Hyperliquid:
POST /infoにmeta(szDecimals、maxLeverage)を。
- Bybit:
- 板情報:最良気配値(bid/ask)。60秒以上経過している場合は拒否。
サイジング:
stressed_loss = qty * |entry - stop| + qty * entry * taker_fee * 2 + qty * entry * slippage
qty = floor_to_step(max_loss_usd / per_unit_stressed_loss)
取引所の実際のテイカーフィーを使用してください(Bybit linearデフォルト0.00055、Hyperliquidは自分のフィーティアに従う)。
以下のいずれかに該当する場合はFAIL:
- ストップがない、またはストップがエントリーの逆側にある。
- 市場が許可リストにない。
- 丸め後の数量が取引所の最小値を下回る、または損失上限を超えずに最小想定元本を満たせない。上限に合わせるために切り上げないでください。
- 選択したレバレッジでの証拠金が必要証拠金を超える。
- レバレッジが上限を超えている、ポジション数が上限を超える、または総オープンリスクが上限を超える。
- デイリー損失ストップが既にヒットしている。
- 戦略サイドがライブ板でキャンセルされている(価格が無効化範囲を超えた)。
- アカウントまたは板情報の読み取りに失敗した、または古い。古いデータは決して使用されません。
PASSの場合、risk/<UTC time>-<symbol>-<side>-pass.md というファイルに以下の内容を書き込みます:入力値、ライブ読み取り値とそのUTC時刻、数量、ストップ、レバレッジ、USDおよびエクイティに対する割合でのストレス損失、チケットID。FAILの場合は、同じ内容に理由を追加して書き込みます。
3. 決して変わらないルール
- 注文を決して送信しない。資金を決して移動しない。秘密鍵を要求したり表示したりしない。
- 利益の約束はしない。未実現損益は利益ではありません。入金は利益ではありません。
- ボット間の合意は証拠になりません。遊休キャッシュは取引の理由になりません。
- 送信結果が不明な場合、取引所の記録が読み取られるまで再送信しません。
- 秘密情報は環境変数またはプラットフォームのシークレットストアにのみ存在し、リポジトリには決して保存されません。