Polymarket

exchange.IO("SetCategory")

Polymarket 专属。设置 exchange.GetMarkets() 拉取的市场分类。

语法

python
exchange.IO("SetCategory", category)

参数

参数类型必填说明
categorystr是分类 slug,如 crypto、politics、sports。自动转为小写

返回值

  • dict:成功返回空字典 {}
  • None:分类不存在等错误(写入策略日志),原分类保持不变

说明

  1. 在线校验:托管者请求 Gamma GET /tags?slug={category},非 200 时报错 category 'x' not found。
  2. 可用值:内置列表见 exchange.IO("GetCategories");理论上任何 Gamma 中存在的 tag slug 都可设置。
  3. 默认值:从未设置时 GetMarkets() 按 crypto 处理。
  4. 去重规则:只有 crypto 分类会对 {coin}-updown-{period}-{timestamp} 周期市场去重(只保留正在进行的一期),其他分类返回全部活跃市场。
  5. 设置保存在当前交易所实例中,实盘重启后恢复默认;IO() 固定作用于 exchanges[0]。

示例

拉取体育分类市场

python
exchange.IO("SetCategory", "sports")
markets = exchange.GetMarkets()
Log(f"体育分类共 {len(markets)} 个标的")

遍历多个分类

python
for cat in ["crypto", "politics", "finance"]:
    if exchange.IO("SetCategory", cat) is None:
        continue
    markets = exchange.GetMarkets() or {}
    Log(f"{cat}: {len(markets)} 个标的")

相关方法