返回顶部
p

ptradePtrade量化交易

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

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
356
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

ptrade

Ptrade(恒生量化交易平台)

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

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

支持的市场和业务类型

回测支持:

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

实盘交易支持:

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

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

价格精度规则

资产类型最小变动单位小数位数
股票0.012
可转债
0.001 | 3 | | LOF / ETF | 0.001 | 3 | | 国债逆回购 | 0.005 | 3 | | 股指期货 | 0.2 | 1 | | 国债期货 | 0.005 | 3 | | ETF期权 | 0.0001 | 4 |

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

股票代码格式

  • - 上海: 600570.SS
  • 深圳: 000001.SZ
  • 指数: 000300.SS (沪深300)

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

python
def initialize(context):
必需 — 启动时调用一次。用于设置股票池、基准和定时任务。
g.security = 600570.SS
set_universe(g.security)

def beforetradingstart(context, data):
可选 — 开盘前调用。
回测模式:每个交易日8:30执行。
实盘模式:首次启动立即执行,之后每天9:10执行(默认,券商可配置)。
log.info(盘前准备)

def handle_data(context, data):
必需 — 每根K线触发。
日线模式:每天14:50执行一次(默认)。
分钟模式:每分钟K线收盘时执行。
data[sid]提供:open, high, low, close, price, volume, money。
current_price = data[g.security][close]
cash = context.portfolio.cash

def aftertradingend(context, data):
可选 — 收盘后15:30调用。
log.info(交易日结束)

def tick_data(context, data):
可选 — 盘中每3秒触发一次(9:30-14:59,仅实盘)。
必须使用order_tick()在此函数中下单。
data格式:{股票代码: {order: DataFrame/None, tick: DataFrame, transcation: DataFrame/None}}
for stock, d in data.items():
tick = d[tick]
price = tick[last_px] # 最新价
bid1 = tick[bid_grp][1] # 买一 [价格, 数量, 笔数]
ask1 = tick[offer_grp][1] # 卖一 [价格, 数量, 笔数]
log.info(f{stock}: {price}, 涨停价={tick[uppx]}, 跌停价={tick[downpx]})
# Level2字段(需L2权限,否则为None):
order_data = d[order] # 逐笔委托
trans_data = d[transcation] # 逐笔成交

def onorderresponse(context, order_list):
可选 — 订单状态变化时触发(比get_orders更快)。
orderlist是字典列表,包含:entrustno, stock_code, amount, price,
businessamount, status, orderid, entrusttype, entrustprop, errorinfo, ordertime。
for o in order_list:
log.info(f订单 {o[stockcode]}: 状态={o[status]}, 成交={o[businessamount]}/{o[amount]})

def ontraderesponse(context, trade_list):
可选 — 成交时触发(比get_trades更快)。
tradelist是字典列表,包含:entrustno, stockcode, businessamount,
businessprice, businessbalance, businessid, status, orderid, entrustbs, businesstime。
注意:status=9表示废单。
for t in trade_list:
direction = 买入 if t[entrust_bs] == 1 else 卖出
log.info(f{direction} {t[stockcode]}: {t[businessamount]}@{t[business_price]})

策略执行频率

模式频率执行时间
日线每日一次回测: 15:00, 实盘: 14:50(可配置)
分钟
每分钟一次 | 每根分钟K线收盘时 | | Tick | 每3秒 | 9:30–14:59,通过 tickdata 或 runinterval |

时间参考

阶段时间可用函数
盘前9:30之前beforetradingstart, rundaily(time=09:15)
盘中
9:30–15:00 | handledata, rundaily, runinterval, tick_data | | 盘后 | 15:30 | aftertradingend, run_daily(time=15:10) |

初始化设置函数(仅在initialize中使用)

股票池与基准

python
def initialize(context):
set_universe([600570.SS, 000001.SZ]) # 必需:设置股票池
set_benchmark(000300.SS) # 回测基准指数

手续费与滑点(仅回测)

python
def initialize(context):
# 设置手续费:买入0.03%,卖出0.13%(含印花税),按成交金额计算,最低5元
setcommission(PerTrade(buycost=0.0003, sellcost=0.0013, unit=perValue, mincost=5))
set_slippage(FixedSlippage(0.02)) # 固定滑点0.02元
setvolumeratio(0.025) # 日成交量最大成交比例
setlimitmode(0) # 0=按成交量比例限制,1=按固定数量限制

定时任务

python
def initialize(context):
# run_daily:每天指定时间执行函数
rundaily(context, mymorning_task, time=09:31)
rundaily(context, myafternoon_task, time=14:50)

# run_interval:每N秒执行一次函数(仅实盘,最小3秒)
runinterval(context, mytick_handler, seconds=10)

策略参数(可从UI配置)

python
def initialize(context):
# 设置可从Ptrade UI动态修改的参数,无需修改代码
set_parameters(
context,
ma_fast=5, # 快线均线周期
ma_slow=20, # 慢线均线周期
position_ratio=0.95 # 仓位比例
)



数据函数

get_history — 获取最近N根K线

python
gethistory(count, frequency=1d, field=close, securitylist=None, fq=None, include=False, fill=nan, is_dict=False)

python

获取最近20个交易日的OHLCV数据


df = get_history(20, 1d, [open, high, low, close, volume], 600570.SS, fq=pre)

K线周期:1m, 5m, 15m, 30m, 60m, 120m, 1d, 1w/周线, mo/月线, 1q/季线, 1y/年线

fq复权:None(不复权),pre

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ptrade-1776128357 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ptrade-1776128357 技能

通过命令行安装

skillhub install ptrade-1776128357

下载

⬇ 下载 ptrade v1.0.3(免费)

文件大小: 19.09 KB | 发布时间: 2026-4-15 14:02

v1.0.3 最新 2026-4-15 14:02
- Added a new demo project directory with a sample README.md and demo.py script.
- No changes to main functionality; only new example/demo files introduced.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部