聚宽 JoinQuant + Server酱:量化策略交易信号推送到微信
效果:聚宽策略触发交易信号或回测完成时,自动将股票代码、价格等信息推送到微信。
前置条件
- 获取 Server酱 SendKey:参考 30 秒获取教程
- 拥有聚宽 JoinQuant 账号,并可在策略研究环境中编写 Python 代码
配置步骤
在聚宽策略的 handle_data 或信号触发处,直接使用 requests.post 调用 Server酱 API。
第一步:在策略代码中引入 requests 并发送请求
import requests
def on_signal_triggered(stock_code, price, action):
requests.post("https://sctapi.ftqq.com/你的SENDKEY.send",
data={
"title": "交易信号",
"desp": f"股票: {stock_code}\n\n动作: {action}\n\n价格: {price}"
})
第二步:替换 SendKey
将代码中的 你的SENDKEY 替换为你真实的 SendKey。如果你的 SendKey 以 sctp 开头,请求地址需替换为 https://你的UID.push.ft07.com/send/你的SENDKEY.send(UID 为 sctp 与 t 之间的数字)。
第三步:在策略中调用
在聚宽策略的信号判断逻辑处,调用上述函数即可。注意平台对外网请求的沙盒限制,以聚宽当前策略环境是否放行 requests 为准。
完整示例
以下为聚宽策略中触发买入信号并推送的完整代码片段,可直接复制修改后使用:
import requests
def initialize(context):
g.stock = '000001.XSHE'
def handle_data(context, data):
current_price = data[g.stock].close
if current_price > 10:
requests.post("https://sctapi.ftqq.com/你的SENDKEY.send",
data={
"title": "买入信号触发",
"desp": f"股票代码: {g.stock}\n\n当前价格: {current_price}\n\n信号: 价格突破阈值"
})
常见问题
消息没收到怎么办?
检查聚宽策略运行日志,确认 HTTP 请求是否成功发出且未报错,并参考 常见问题与排查 检查 SendKey 与通道配置。
发送频率和额度有什么限制?
免费用户每天可发送 5 条消息,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
聚宽策略环境无法发送请求?
平台对外网请求存在沙盒限制,以聚宽当前策略环境是否放行 requests 为准。若被拦截,需等待平台放行或调整策略运行环境。
如何推送到企业微信或钉钉?
在 Server酱后台配置对应消息通道即可,详见 通道对比。