PeopleQuant帮助文档:异常交易防范:频繁报撤单、自成交
import random#大单拆分lots = 1000#多头持仓小于目标数量while positons.pos_long < lots: #循环执行直到持仓开完lot = random.randrange(10, 100) #在10~100之间随机生成下单数量lot = min(lot, lots - positons.pos_long) #剩余下单数量#默认按超价1跳下单,排队价偏离1跳后自动撤单,重新追单r = pqapi.open_close(symbol,"kaiduo",lot,price='超价',n_price_tick=1,order_info='大单拆分')lots -= r['shoushu']
#跌停价买入,默认价格偏离1跳撤单,预计下单后会立即触发撤单pqapi.open_close("FG610",'kaiduo',1,quote1.LowerLimitPrice,n_price_tick = 1,OrderMemo='')#涨停价卖出,默认价格偏离1跳撤单,预计下单后会立即触发撤单pqapi.open_close("FG610",'kaikong',1,quote1.UpperLimitPrice,n_price_tick = 1,OrderMemo='')'''日志输出:'''2026-04-16 13:57:32.213099 -open_close报单错误,合约:FG610,交易方向:kaiduo,下单价格:1019.0,买入价:1019.0,卖出价:1019.0,当前排队价1108.0,已满足撤单条件:价格偏离1跳,极易触发立即撤单2026-04-16 13:57:32.213810 -open_close报单错误,合约:FG610,交易方向:kaikong,下单价格:1221.0,买入价:1221.0,卖出价:1221.0,当前排队价1110.0,已满足撤单条件:价格偏离1跳,极易触发立即撤单

2026-04-16 13:54:22.610278 -open_close卖一价1110.0存在未成交的挂单,未成交数量1,有自成交可能,合约:FG610,交易方向:kaiduo,下单价格:1221.0,买入价:1221.0,卖出价:1221.0,下单手数:12026-04-16 13:54:22.610858 -open_close买一价1108.0存在未成交的挂单,未成交数量1,有自成交可能,合约:FG610,交易方向:kaikong,下单价格:1019.0,买入价:1019.0,卖出价:1019.0,下单手数:1
#自成交检查kaiping ="kaiduo" #交易方向,买price = quote.AskPrice1 #买入价格direction = 'Sell' if kaiping in ["kaiduo","pingkong"] else 'buy'#查询合约相反方向的未成交委托单orders = pqapi.get_symbol_order(symbol,OrderStatus="Alive",Direction=direction)for od in orders:#如果报单价格处在对手价上if kaiping in ["kaiduo","pingkong"] and price >= od["LimitPrice"] == quote.AskPrice1:'''买入价格等于对手价,对手价有相反方向未成交挂单,存在自成交可能,则不下单'''
#报单次数、撤单次数、多空开仓成交总手数、自成交数、信息量、重复报单数 阈值orders_insert,orders_cancel,daylots,self_trade,order_exe,repeat = 4,2,1,1,1,2#获取报撤单、信息量统计orderrisk = pqapi.get_order_risk(symbol)if orderrisk["order_count"] >= orders_insert: print(f"警告,报单笔数已超预警{orderrisk['order_count']} >= {orders_insert}")if orderrisk["cancel_count"] >= orders_cancel: print(f"警告,撤单笔数已超预警{orderrisk['cancel_count']} >= {orders_cancel}")if orderrisk["repeat"] >= repeat: print(f"警告,重复报单笔数已超预警{orderrisk['repeat']} >= {repeat}")
#策略阈值day_cancel,day_order = 0,0 #初始值pqapi.open_close("FG610",'kaiduo',1,quote.LowerLimitPrice,n_price_tick = 1,OrderMemo='')day_order += r['day_order']day_cancel += r['che_count']
pip install -U PeopleQuant
夜雨聆风