ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

ptrade

Ptrade 恒生量化交易平台 - 策略运行在券商服务器上,低延迟执行,支持A股、期货、融资融券等中国证券市场。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/coderwpf/ptrade
Or

Ptrade(恒生量化交易平台)

Ptrade 是恒生电子开发的专业量化交易平台。策略运行在券商服务器(内网)上,低延迟执行。采用事件驱动的Python策略框架。

⚠️ 需要券商开通Ptrade权限。策略运行在券商云端——无法访问外网。不能pip安装,仅可使用内置第三方库。

支持的市场和业务类型

回测支持:

  1. 普通股票交易(单位:股)
  2. 可转债交易(单位:张,T+0)
  3. 融资融券担保品买卖(单位:股)
  4. 期货投机交易(单位:手,T+0)
  5. LOF基金交易(单位:份)
  6. ETF基金交易(单位:份)

实盘交易支持:

  1. 普通股票交易(单位:股)
  2. 可转债交易(T+0)
  3. 融资融券交易(单位:股)
  4. ETF申赎、套利(单位:份)
  5. 国债逆回购(单位:份)
  6. 期货投机交易(单位:手,T+0)
  7. ETF基金交易(单位:份)

默认支持Level2十档行情。部分券商提供免费L2逐笔数据。

价格精度规则

资产类型最小变动单位小数位数
股票0.012
可转债0.0013
LOF / ETF0.0013
国债逆回购0.0053
股指期货0.21
国债期货0.0053
ETF期权0.00014

⚠️ 使用 limit_price 下单时,价格必须符合正确的小数精度,否则订单将被拒绝。

股票代码格式

  • Shanghai: 600570.SS
  • Shenzhen: 000001.SZ
  • Index: 000300.SS (CSI 300)

策略生命周期(事件驱动)

def initialize(context):
    """Required — Called once at startup. Used to set stock pool, benchmark, and scheduled tasks."""
    g.security = '600570.SS'
    set_universe(g.security)

def before_trading_start(context, data):
    """Optional — Called before market open.
    Backtest mode: Executes at 8:30 each trading day.
    Live mode: Executes immediately on first start, then at 9:10 daily (default, broker-configurable)."""
    log.info('Pre-market preparation')

def handle_data(context, data):
    """Required — Triggered on each bar.
    Daily mode: Executes once at 14:50 daily (default).
    Minute mode: Executes at each minute bar close.
    data[sid] provides: open, high, low, close, price, volume, money."""
    current_price = data[g.security]['close']
    cash = context.portfolio.cash

def after_trading_end(context, data):
    """Optional — Called at 15:30 after market close."""
    log.info('Trading day ended')

def tick_data(context, data):
    """Optional — Triggered every 3 seconds during market hours (9:30-14:59, live only).
    Must use order_tick() to place orders in this function.
    data format: {stock_code: {'order': DataFrame/None, 'tick': DataFrame, 'transcation': DataFrame/None}}"""
    for stock, d in data.items():
        tick = d['tick']
        price = tick['last_px']           # Latest price
        bid1 = tick['bid_grp'][1]         # Best bid [price, volume, count]
        ask1 = tick['offer_grp'][1]       # Best ask [price, volume, count]
        log.info(f'{stock}: {price}, upper_limit={tick["up_px"]}, lower_limit={tick["down_px"]}')
        # Level2 fields (requires L2 access, otherwise None):
        order_data = d['order']           # Tick-by-tick orders
        trans_data = d['transcation']     # Tick-by-tick trades

Metadata

Author@coderwpf
Stars3409
Views1
Updated2026-03-25
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-coderwpf-ptrade": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.