昨天看到群里有人在问如何在集合竞价阶段发送消息,实现买卖的”快人一步“。 今天有空就写个教程!
不久前,JoinQuant提供了send_message的功能,详情见这里
不过鉴于大伙都是懒癌患者,截图如下:
说明
就我的使用情况看,send_message发送的消息与卖卖推送的不冲突,即不管是不是用send_message,买卖信息还是会推送。
所以大伙可以使用send_message在集合竞价阶段发送开盘欲购买的股票,或是盘中的一些信息。不过一天5条限制,使用前请斟酌。
send_message只要条件触发即可使用,用法就如print一样。
实例代码:
一、清仓止损(发送消息)
def before_trading_start(context):
g.is_stop = dp_stoploss(kernel=2, n=10, zs=0.03)
if g.is_stop:
if len(context.portfolio.positions.keys())>0:
for stock in context.portfolio.positions.keys():
order_target(stock, 0)
send_message("清仓")
return
二、购买股票(发送股票池)
def before_trading_start(context):
g.is_stop = dp_stoploss(kernel=2, n=10, zs=0.03)
df = get_fundamentals(query(
valuation.code, valuation.market_cap
).filter(
valuation.code.in_(chosed_stocks)
).order_by(
# 按市值降序排列
valuation.market_cap.asc()
))
g.per_buylist = list(df['code'])
send_message(g.per_buylist)