OpenClaw x Polymarket: Kamay upang turuan ka kung paano gagawa ng isang automated trading machine People

Ano ba ang Panitikang Pangmarket?
Ang politemarket ang pinakamalaking pamilihan sa daigdig, kung saan maaaring ipagpalit ng mga gumagamit ang probabilidad ng mga pangyayari — mula sa mga paligsahan sa isport hanggang sa pulitikal na mga eleksiyon, mula sa nakakalupkop na mga presyo ng salapi sa mga balita ng siyensiya at teknolohiya. Ang paraan ng pagraranggo ng transaksiyon ay katulad ng "dwal power": ay bumibili ng isang "oo" o "wala" na pananda para sa isang ibinigay na resulta at ginagantimpalaan kung ang resulta ay mangyari.
Ang pangunahing lakas nito ay:
- Ganap na disente.: Buksan at naaaninag batay sa kadenang Polygon
- Real-time na pagtuklas ng presyo: Ang mga pagtaya sa pamilihan ay mas tumpak kaysa sa tradisyonal na mga surbey
- Bukás ang API: Maglaan ng kumpletong mga transaksiyon API upang suportahan ang awtomatikong mga transaksiyon
Paghahanda
Pagkakabit ng Python Dependence
Kailangan natin ito. py-clob-client Opisyal na SDK:
pip install py-clob-client requests python-dotenv
2. Access sa mga wallet at Susi ng API
Itinataguyod ng Polymark ang dalawang uri ng pagiging totoo:
- EOA Wallet( Ibayad mo ang iyong sarili sa Gas)
- Nakasisira na Pader(Walang - saysay na transaksiyon)
Narito ang pinakasimpleng paraan upang maipakita - ang pitakang EOA:
- Gumawa ng pitakang Polygon (itinatag kasama ng MetaMask)
- Deposit USDC.e.(para sa kalakal) at maliit POL(para sa Gas)
- Para sa pitaka. Pribadong Susi
- Paggamit ng SDK
create_or_derive_api_creds()Pamamaraang awtomatikong lumikha ng mga API EXPO
3. Kapaligirang OpenClaw
Buksan ang Batas exec Ang kasangkapan ay pumapatay sa kodigong Python at angkop na angkop upang isagawa ang awtomatikong sulat na ito.
Nagtagumpay ang Kodigo ng Core
Mahalaga: Subukin ang Market + Automatikong Talaan
import os
import time
import requests
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY, SELL
HOST = "https://clob.polymarket.com"
CHAIN_ID = 137
PRIVATE_KEY = os.getenv("POLYMARKET_PRIVATE_KEY")
FUNDER_ADDRESS = os.getenv("POLYMARKET_FUNDER")
def init_client():
temp_client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID)
api_creds = temp_client.create_or_derive_api_creds()
client = ClobClient(HOST, key=PRIVATE_KEY, chain_id=CHAIN_ID, creds=api_creds, signature_type=0, funder=FUNDER_ADDRESS)
return client
def get_markets(tag=None, limit=10):
url = "https://gamma-api.polymarket.com/markets"
params = {"active": "true", "closed": "false", "limit": limit}
if tag:
params["tagName"] = tag
resp = requests.get(url, params=params)
return resp.json()
def get_price(token_id):
url = f"https://gamma-api.polymarket.com/markets/{token_id}/price"
resp = requests.get(url)
return resp.json()
def place_order(client, token_id, price, size, side=BUY):
order = client.create_and_post_order(
OrderArgs(token_id=token_id, price=price, size=size, side=side, order_type=OrderType.GTC),
options={"tick_size": "0.01", "neg_risk": False}
)
return order
Pagsulong: Katamtamang return stratehiya machine Mga tao
Ang pangunahing ideya ng estratehiyang ito ay ang awtomatikong bilhin ito kapag ang mga presyo ay lumihis mula sa katamtaman at maghintay sa pagbabalik.
import logging
import time
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class MeanReversionBot:
def __init__(self, client, token_id, threshold=0.1, size=10):
self.client = client
self.token_id = token_id
self.threshold = threshold
self.size = size
def get_mid_price(self):
data = get_price(self.token_id)
return float(data.get("price", 0.5))
def check_and_trade(self):
mid_price = self.get_mid_price()
logger.info(f"当前中间价: {mid_price}")
if mid_price < 0.5 - self.threshold:
logger.info(f"价格偏低,买入!")
order = place_order(self.client, self.token_id, mid_price, self.size, BUY)
logger.info(f"订单已下单: {order}")
elif mid_price > 0.5 + self.threshold:
logger.info(f"价格偏高,卖出!")
order = place_order(self.client, self.token_id, mid_price, self.size, SELL)
logger.info(f"订单已下单: {order}")
else:
logger.info("价格在合理区间,不交易")
def run(self, interval=60):
logger.info(f"机器人启动,监控 token: {self.token_id}")
while True:
try:
self.check_and_trade()
except Exception as e:
logger.error(f"错误: {e}")
time.sleep(interval)
if __name__ == "__main__":
client = init_client()
markets = get_markets(tag="politics", limit=1)
if markets:
token_id = markets[0]["clobTokenIds"][0]
print(f"监控市场: {markets[0]['question']}")
bot = MeanReversionBot(client, token_id, threshold=0.15, size=5)
bot.run(interval=120)
Paglilipat ng Buksang Batas
Napakasimpleng patakbuhin ang robot na ito sa OpenClaw. Maitatabi mo ang kodigo sa itaas bilang polymarket_bot.py, at pagkatapos ay isasagawa sa OpenClaw:
运行 python polymarket_bot.py
Atensiyon
Mga tip sa panganib
- Ang nakaplanong halaga ng pamilihan, pakisuyong gamitin lamang ang mga pondo na abot - kaya
- Iminumungkahi na subukin muna natin ang network.
- Ang mga transaksiyon sa robot ay nangangailangan ng patuloy na pagsubaybay upang maiwasan ang kalabisan.
2. Mga Paghihigpit sa API
- Buksan ang API nang walang patunay
- Ang API ay nangangailangan ng pitaka at Susi ng API
- Mag - ingat sa itinakdang bilis.
Optimisasyon ng Gas
- Ang EOA mode ay nangangailangan ng POL na bayad Gas
- Maaari kang mag - aplay para sa mga proxy wallet upang isagawa ang transaksiyong Gasless