akquant
生成 akquant 框架的可执行量化策略代码,涵盖数据接口、事件驱动、风控与优化。当用户需要开发量化策略、配置回测环境、设置风控规则、进行参数优化、实现横截面轮动策略,或提及…
RQAlpha 米筐开源事件驱动回测框架。支持A股和期货,模块化架构,可自由扩展;当用户需要快速回测A股/期货策略、使用内置数据(download-bundle)、开发Mod插件,或提及 rqalpha、米筐时使用。与 backtrader 相比,rqalpha 内置A股日线数据、安装更简便,适合快速验证;backtrader 更灵活、社区更大。若用户仅需数据获取而无回测需求,引导使用 baostock/akshare/tushare 等数据 Skill。
$ npx -y skills add lzwme/finance-quant-skills --skill rqalpha --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rqalphaContext preview
The summary Claude sees to decide when to auto-load this skill.
RQAlpha 米筐开源事件驱动回测框架。支持A股和期货,模块化架构,可自由扩展;当用户需要快速回测A股/期货策略、使用内置数据(download-bundle)、开发Mod插件,或提及 rqalpha、米筐时使用。与 backtrader 相比,rqalpha 内置A股日线数据、安装更简便,适合快速验证;backtrader 更灵活、社区更大。若用户仅需数据获取而无回测需求,引导使用 baostock/akshare/tushare 等数据 Skill。
name: rqalpha
description: RQAlpha 米筐开源事件驱动回测框架。支持A股和期货,模块化架构,可自由扩展;当用户需要快速回测A股/期货策略、使用内置数据(download-bundle)、开发Mod插件,或提及 rqalpha、米筐时使用。与 backtrader 相比,rqalpha 内置A股日线数据、安装更简便,适合快速验证;backtrader 更灵活、社区更大。若用户仅需数据获取而无回测需求,引导使用 baostock/akshare/tushare 等数据 Skill。
metadata: {"openclaw":{"emoji":"📈","requires":{"bins":["python3"]}}}[RQAlpha](https://github.com/ricequant/rqalpha) 是 [米筐科技](https://www.ricequant.com) 开发的开源事件驱动回测框架。提供A股和期货市场的策略开发、回测和模拟交易完整解决方案。高度模块化,支持插件(Mod)系统扩展。
> 文档:https://rqalpha.readthedocs.io
pip install rqalpha # 下载内置数据包(A股日线数据) rqalpha download-bundle # 验证安装 python -c "import rqalpha; print(rqalpha.__version__)"
from rqalpha.api import * # 导入所有 API 函数(含 logger)
def init(context):
"""策略启动时调用一次 — 设置订阅和参数"""
context.stock = '000001.XSHE'
context.fired = False
def handle_bar(context, bar_dict):
"""每根K线调用 — 主要交易逻辑"""
if not context.fired:
order_shares(context.stock, 1000)
context.fired = True
logger.info('买入完成') # logger 通过 from rqalpha.api import * 自动可用
def before_trading(context):
"""每个交易日开盘前调用"""
pass
def after_trading(context):
"""每个交易日收盘后调用"""
pass> **注意**:`from rqalpha.api import *` 会自动导入 `logger`,可直接使用 `logger.info()`、`logger.warn()`、`logger.error()` 输出日志。
rqalpha run \
-f strategy.py \
-s 2024-01-01 \
-e 2024-06-30 \
--account stock 100000 \
--benchmark 000300.XSHG \
--plotfrom rqalpha.api import *
from rqalpha import run_func
config = {
"base": {
"start_date": "2024-01-01",
"end_date": "2024-06-30",
"accounts": {"stock": 100000},
"benchmark": "000300.XSHG",
"frequency": "1d",
},
"extra": {
"log_level": "warning",
},
"mod": {
"sys_analyser": {"enabled": True, "plot": True},
},
}
result = run_func(init=init, handle_bar=handle_bar, config=config)
print(result)---
| 市场 | 后缀 | 示例 | |---|---|---| | 上海A股 | `.XSHG` | `600000.XSHG`(浦发银行) | | 深圳A股 | `.XSHE` | `000001.XSHE`(平安银行) | | 指数 | `.XSHG/.XSHE` | `000300.XSHG`(沪深300) | | 期货 | `.XSGE/.XDCE/.XZCE/.CCFX` | `IF2401.CCFX`(沪深300期货) |
---
# 按股数买卖
order_shares('000001.XSHE', 1000) # 买入1000股
order_shares('000001.XSHE', -500) # 卖出500股
# 按手买入(1手=100股)
order_lots('000001.XSHE', 10) # 买入10手(1000股)
# 按金额买入
order_value('000001.XSHE', 50000) # 买入5万元
# 按组合比例买入
order_percent('000001.XSHE', 0.5) # 买入组合值50%的仓位
# 目标仓位
order_target_value('000001.XSHE', 100000) # 调整到10万元
order_target_percent('000001.XSHE', 0.3) # 调整到组合的30%
# 撤单
cancel_order(order_id)# 开仓
buy_open('IF2401.CCFX', 1) # 买入开多1手
sell_open('IF2401.CCFX', 1) # 卖出开空1手
# 平仓
sell_close('IF2401.CCFX', 1) # 卖出平多1手
buy_close('IF2401.CCFX', 1) # 买入平空1手def handle_bar(context, bar_dict):
# 当前K线数据
bar = bar_dict['000001.XSHE']
price = bar.close
volume = bar.volume
dt = bar.datetime
# 历史数据(返回DataFrame)
prices = history_bars('000001.XSHE', bar_count=20, frequency='1d',
fields=['close', 'volume', 'open', 'high', 'low'])
# 检查股票是否可交易
tradable = is_valid_price(bar.close)
# 检查是否停牌
suspended = is_suspended('000001.XSHE')def handle_bar(context, bar_dict):
# 组合信息
cash = context.portfolio.cash # 可用资金
total = context.portfolio.total_value # 总资产
market_value = context.portfolio.market_value # 持仓市值
pnl = context.portfolio.pnl # 总盈亏
returns = context.portfolio.daily_returns # 日收益率
# 持仓信息
positions = context.portfolio.positions
for stock, pos in positions.items():
print(f'{stock}: quantity={pos.quantity}, '
f'sellable={pos.sellable}, '
f'avg_price={pos.avg_price:.2f}, '
f'market_value={pos.market_value:.2f}, '
f'pnl={pos.pnl:.2f}')from rqalpha.api import *
def init(context):
# 每个交易日指定时间运行函数
scheduler.run_daily(rebalance, time_rule=market_open(minute=5))
# 每周运行(每周一)
scheduler.run_weekly(weekly_task, tradingday=1, time_rule=market_open(minute=5))
# 每月运行(首个交易日)
scheduler.run_monthly(monthly_task, tradingday=1, time_rule=market_open(minute=5))
def rebalance(context, bar_dict):
pass---
RQAlpha的模块化架构允许通过Mod扩展功能:
config = {
"mod": {
"sys_analyser": {
"enabled": True,
"plot": True,
"benchmark": "000300.XSHG",
},
"sys_simulation": {
"enabled": True,
"matching_type": "current_bar", # 撮合方式:current_bar(当前Bar)或 next_bar(下一Bar)
"slippage": 0.01, # 滑点(元)
},
"sys_transaction_cost": {
"enabled": True,
"commission_rate": 0.0003, # 手续费率
"tax_rate": 0.001, # 印花税(仅卖出)
"min_commission": 5, # 最低手续费
},
},
}| Mod | 说明 | |---|---| | `sys_analyser` | 绩效分析和图表绘制 | | `sys_simulation` | 撮合模拟 | | `sys_transaction_cost` | 手续费和税费计算 | | `sys_accounts` | 账户管理 | | `sys_benchmark` | 基准追踪 | | `sys_progress` | 进度条显示 | | `sys_risk` | 风险管理检查 |
---
更多完整策略示例(双均线、多股等权、RSI均值回归、止损止盈、期货CTA)见 [references/advanced-strategies.md](references/advanced-strategies.md)。
运行回测后,`sys_analyser` Mod会输出以下指标:
| 指标 | 说明 | |------|------| | `total_returns` | 总收益率 | | `annualized_returns` | 年化收益率 | | `benchmark_total_returns` | 基准总收益率 | | `alpha` | Alpha值 | | `beta` | Beta值 | | `sharpe` | 夏普比率 | | `sortino` | Sortino比率 | | `max_drawdown` | 最大回撤 | | `tracking_error` | 跟踪误差 | | `information_ratio` | 信息比率 | | `volatility` | 波动率 |
| 错误 | 原因 | 解决方法 | |------|-
一个面向金融量化交易领域的 Claude Skills 技能维护仓库,基于 Agent Skills 标准构建。
Repo: lzwme/finance-quant-skills
生成 akquant 框架的可执行量化策略代码,涵盖数据接口、事件驱动、风控与优化。当用户需要开发量化策略、配置回测环境、设置风控规则、进行参数优化、实现横截面轮动策略,或提及…
Backtrader 开源量化回测框架,支持多数据源、多策略、多周期回测与实盘交易,纯Python实现。当用户需要开发量化策略、进行回测分析、编写交易逻辑、回测参数优化,或提及…
机构级投研报告生成技能。覆盖中国A股、港股、美股上市公司。输出模式:1)投资速览:3-5页,含公司概览、核心财务指标、估值倍数、投资逻辑与风险因素;2)深度研报:≥25页,含行业分析、产业…
聚宽(JoinQuant)官网策略开发指南,涵盖回测、模拟交易、数据 API、交易函数、因子与技术指标。当用户编写聚宽策略、回测、模拟盘、查询聚宽…