返回顶部
m

myquant掘金量化

掘金量化Python SDK - 事件驱动量化平台,支持A股、期货、期权、ETF、可转债回测与实盘交易。

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

myquant

掘金量化(MyQuant / GoldMiner)

掘金量化 是专业量化交易平台,提供事件驱动策略开发、回测、模拟交易和实盘交易。支持A股、期货、期权、ETF、可转债和融资融券,通过统一的Python SDK(gm.api)操作。

需要在 https://www.myquant.cn 注册获取Token进行认证。实盘交易需要通过掘金终端连接券商账户。

安装

bash
pip install gm

也可从官网下载:https://www.myquant.cn/docs/downloads/698

架构概述

你的Python脚本(strategy.py)
↓ gm SDK(from gm.api import *)
├── 回测模式 → 掘金回测引擎(云端/本地)
├── 模拟交易 → 掘金模拟交易服务器
└── 实盘交易 → 掘金终端 → 券商网关

策略程序结构

所有策略遵循事件驱动架构,包含生命周期函数:

python
from gm.api import *

def init(context):
初始化函数 — 策略启动时调用一次,用于设置订阅和参数
# 订阅两只股票的30秒K线,保留最近5根历史K线
subscribe(symbols=SHSE.600000,SZSE.000001, frequency=30s, count=5)
context.my_param = 0.8 # 自定义上下文属性

def on_bar(context, bars):
K线事件 — 每根K线收盘时触发,在此编写主要交易逻辑
bar = bars[0]
if bar[close] > bar[open]:
# 收盘价高于开盘价,以限价单买入1000股
order_volume(symbol=bar[symbol], volume=1000,
side=OrderSideBuy, ordertype=OrderType_Limit,
positioneffect=PositionEffectOpen, price=bar[close])

def on_tick(context, tick):
Tick事件 — 每次Tick推送时触发(实时模式)
print(tick[symbol], tick[price])

def onorderstatus(context, order):
订单状态事件 — 订单状态变化时触发
print(f订单 {order[clordid]}: 状态={order[status]})

def onexecutionreport(context, execrpt):
成交回报事件 — 交易成交时触发
print(f已成交: {execrpt[symbol]} {execrpt[filledvolume]}@{execrpt[filledvwap]})

if name == main:
run(strategyid=yourstrategy_id,
filename=main.py,
mode=MODE_BACKTEST, # 运行模式:回测
token=your_token,
backteststarttime=2024-01-01 09:30:00, # 回测开始时间
backtestendtime=2024-06-30 15:00:00, # 回测结束时间
backtestinitialcash=1000000, # 初始资金1,000,000
backtestcommissionratio=0.0003, # 手续费率0.03%
backtestslippageratio=0.001, # 滑点0.1%
backtestadjust=ADJUSTPREV) # 前复权



基本函数

init — 策略初始化

python
def init(context):
# 订阅日K线,保留最近20根
subscribe(symbols=SHSE.600000, frequency=1d, count=20)
context.ratio = 0.8 # 自定义参数

  • - 策略启动时调用一次
  • 用于设置订阅、定义参数和初始化状态
  • 回测模式下init中不允许下单(模拟/实盘模式允许)

schedule — 定时任务

python
def init(context):
# 每个交易日09:40:00执行algo_1函数
schedule(schedulefunc=algo1, daterule=1d, timerule=09:40:00)
# 每月第一个交易日14:30:00执行algo_2函数
schedule(schedulefunc=algo2, daterule=1m, timerule=14:30:00)

def algo_1(context):
# 选股/调仓逻辑
pass

def algo_2(context):
# 市价单买入200股
order_volume(symbol=SHSE.600000, volume=200,
side=OrderSideBuy, ordertype=OrderType_Market,
positioneffect=PositionEffectOpen)

  • - daterule: 1d(每日)、1w(每周,仅回测)、1m(每月,仅回测)
  • timerule: HH:MM:SS格式,必须补零(例如09:40:00,而非9:40:0)

run — 运行策略

python
run(strategyid=strategy1,
filename=main.py,
mode=MODEBACKTEST, # MODEBACKTEST=2(回测),MODE_LIVE=1(实盘/模拟)
token=your_token,
backteststarttime=2024-01-01 09:30:00,
backtestendtime=2024-06-30 15:00:00,
backtestinitialcash=1000000, # 初始资金
backtesttransactionratio=1, # 成交比例
backtestcommissionratio=0.0003, # 手续费率
backtestslippageratio=0.001, # 滑点比例
backtestadjust=ADJUSTPREV) # ADJUSTNONE=0(不复权),ADJUSTPREV=1(前复权),ADJUST_POST=2(后复权)

stop — 停止策略

python
stop() # 优雅停止并退出策略



数据订阅

subscribe — 订阅行情数据

python
subscribe(symbols=SHSE.600000,SZSE.000001,
frequency=60s, # 频率:tick、1s~300s、60s、300s、900s、1800s、3600s、1d
count=5, # context.data中保留的历史K线数量
wait_group=True, # 等待组内所有标的就绪后再触发回调
waitgrouptimeout=5s) # 等待超时时间

unsubscribe — 取消订阅

python
unsubscribe(symbols=SHSE.600000, frequency=60s)



数据事件


事件触发条件参数
ontick(context, tick)每次Tick推送包含价格、买卖盘、成交量的Tick字典
onbar(context, bars)
每根K线收盘 | K线字典列表 |
| on_l2transaction(context, l2transaction) | Level 2逐笔成交 | L2Transaction字典 |
| on_l2order(context, l2order) | Level 2逐笔委托 | L2Order字典 |
| onl2orderqueue(context, l2order_queue) | Level 2委托队列 | L2OrderQueue字典 |


数据查询函数

current — 实时快照

python
data = current(symbols=SZSE.000001)

返回: [{symbol: SZSE.000001, price: 16.56, open: 16.20, high: 16.92, low: 16.15,


quotes: [{bidp: 16.55, bidv: 209200, askp: 16.56, askv: 296455}, ...],


cumvolume: 160006232, cumamount: 2654379585.66, created_at: ...}]

  • - 回测模式:仅返回 symbol、price、created_at
  • 实盘模式:返回完整tick字段,包含5档买卖盘

history — 历史K线/Tick

python
df = history(symbol=SHSE.000300, frequency=1d,
starttime=2024-01-01, endtime=2024-06-30,
fields=open,close,high,low,volume,eob,
skip_suspended=True, # 跳过停牌日
fill_missing=None, # 缺失值填充:None、NaN、Last
adjust=ADJUST_PREV, #

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 myquant-1776114160 技能

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

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

通过命令行安装

skillhub install myquant-1776114160

下载

⬇ 下载 myquant v1.0.3(免费)

文件大小: 18.19 KB | 发布时间: 2026-4-15 13:32

v1.0.3 最新 2026-4-15 13:32
myquant 1.0.3

- Added a demo project directory with two new files: demo_project/README.md and demo_project/demo.py
- Provides example code and documentation to help users get started quickly with the SDK.

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

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

p2p_official_large
返回顶部