Polymarket の暗号資産 Up/Down 市場が、数分後の実市場価格に先行するかを検証するためのペーパートレード実験です。
実資金注文は出しません。Polymarket の公開 Gamma API から Up/Down 価格を読み、Coinbase の公開 ticker を現物価格の代替として使い、仮想ポジションと損益を data/ に記録します。
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
Copy-Item .env.example .envpython -m remotetrade.app --once1回だけシグナルを評価します。
python -m remotetrade.appPOLL_SECONDS 間隔で継続実行します。
patterns.json に複数の戦略パラメータを定義しています。
scalp_fast: 反応を早めた高回転型balanced: 標準型strong_only: 強いオッズ変化だけを使う慎重型
python -m remotetrade.app --once --patterns patterns.json各パターンは別々の状態ファイルと取引ログを持ちます。
data/scalp_fast_state.json
data/scalp_fast_trades.csv
data/balanced_state.json
data/balanced_trades.csv
data/strong_only_state.json
data/strong_only_trades.csv
記事に近い形で、Polymarket を「イベント期待の参考データ」として読み、関連株をペーパートレードするモードもあります。Polymarket では取引しません。
python -m remotetrade.app --once --stock-patterns stock_patterns.jsonstock_patterns.json では、イベントカテゴリごとにロング候補とショート候補を分けています。
例:
- イラン停戦期待上昇:
AAL/LUVロング、OXYショート - イラン停戦期待低下:
OXYロング、AAL/LUVショート - Fed 利下げ期待上昇:
ARKKロング、BACショート - Fed 利下げ期待低下:
BACロング、ARKKショート - 暗号政策/ETF期待上昇:
COIN/HOOD/MSTRロング、BITIショート - BTC proxy期待上昇:
MSTR/MARA/RIOT/CLSKロング、BITIショート - Stablecoinリスク上昇:
BITIロング、COIN/HOOD/MSTRショート
株価は鍵なしで動かしやすい Stooq の公開CSVから取得します。実運用判断ではなく検証用です。
.env または GitHub Actions secrets に DISCORD_WEBHOOK_URL を設定します。
python -m remotetrade.app --once --patterns patterns.json --discord取引イベントだけ通知したい場合:
python -m remotetrade.app --patterns patterns.json --discord --discord-events-onlypaper-trade.yml は5分ごとに起動し、暗号資産版はジョブ内で約270秒間、POLL_SECONDS=15 のペーパートレードを回します。株式イベント版は同じジョブで1 tickだけ評価します。
使うには、GitHub の repository secrets に以下を追加してください。
DISCORD_WEBHOOK_URL
Actions の実行環境は毎回消えるため、data/ は actions/cache で引き継ぎます。
- Polymarket の Up/Yes 価格を前回観測値と比較し、短時間のオッズ変化をシグナル化します。
odds_delta >= ENTRY_THRESHOLDなら、数分後の上昇を見込んでロングします。odds_delta <= -ENTRY_THRESHOLDなら、数分後の下落を見込んでショートします。- ポジションは
TAKE_PROFIT_PCT、STOP_LOSS_PCT、HOLD_SECONDS経過、または強い逆方向シグナルで閉じます。 - 1回の取引サイズは
min(資金 * RISK_FRACTION, MAX_TRADE_SIZE_USD)に制限します。
これは仮説検証用のベースラインです。Polymarket の市場ごとのルール、満期、参照価格、流動性、スプレッドを無視すると結果が歪むため、本番判断には使わないでください。