快捷量化助手(Quick Quantitative Assistant)- 简洁易用的A股量化交易框架
Project description
QKA — 快量化
快捷量化助手(Quick Quantitative Assistant) — 简洁易用的 A 股量化交易框架。三行代码完成回测,从研究到实盘一路畅通。
三行代码跑回测
import qka
bt = qka.Backtest(qka.Strategy()).run(benchmark='000300.SH')
bt.report('我的策略') # 生成交互式 HTML 报告,浏览器自动打开
这就是全部。数据获取、回测执行、绩效计算、基准对比、图表可视化,一行搞定。
安装
# 推荐 — 用 uv
uv add qka
# 或
pip install qka
快速上手
1. 拿数据
import qka
data = qka.Data(
symbols=['000001.SZ', '600000.SH'],
period='1d',
adjust='qfq'
)
df = data.get()
2. 写策略
class MyStrategy(qka.Strategy):
def on_bar(self, date, get):
close = get('close')
# 价格低于10元买入1000股(注意前复权可能导致早期价格为负)
if '000001.SZ' in close and 0 < close['000001.SZ'] < 10:
self.broker.buy('000001.SZ', close['000001.SZ'], 1000)
3. 跑回测 + 看报告
bt = qka.Backtest(data, MyStrategy())
bt.run(benchmark='000300.SH') # 自动获取沪深300做基准对比
bt.report(title='我的策略') # 一键生成HTML报告
生成的 HTML 报告包含:
- 📊 净值曲线 + 基准对比(交互式 Plotly 图表)
- 📉 回撤曲线
- 📅 月度收益率热力图
- 📋 交易明细(含手续费)
- 🏆 绩效指标:年化收益、夏普比率、最大回撤、胜率、盈亏比……
4. 调整成本参数
bt = qka.Backtest(
data, strategy,
commission_rate=0.0003, # 佣金万分之三
stamp_duty_rate=0.001, # 印花税千分之一
slippage=0.001 # 滑点 0.1%
)
bt.run(benchmark='000300.SH')
💡 详细教程 👉 qka.quantai.chat
特性一览
| 特性 | 说明 |
|---|---|
| 🚀 极简 API | 统一的 Data/Strategy/Backtest 三件套,上手零门槛 |
| 📊 A 股数据 | 基于 Akshare,覆盖全市场 A 股数据 |
| ⚡ 并发下载 | 多线程批量拉数据,几百只股票秒级完成 |
| 🔄 高效回测 | 时间序列引擎,天然支持多股票横截面处理 |
| 📈 HTML 报告 | 一键生成自包含的交互式回测报告,浏览器直接打开 |
| 📉 基准对比 | 自动获取沪深300做基准,曲线叠加展示 |
| 💰 成本模型 | 佣金/印花税/滑点全支持,贴近实盘 |
| 🔧 模块化 | 核心、经纪商、MCP、Server 各模块可独立使用 |
| 📝 文档完善 | qka.quantai.chat |
核心模块
Data — 数据获取
多数据源、自动缓存、并发下载、统一格式。支持日线/分钟线,前复权/后复权。
Strategy — 策略编写
事件驱动框架,在 on_bar 里写你的交易逻辑,get() 拿到当前截面数据做决策。
Backtest — 回测引擎
时间序列驱动,支持多资产、成本模型、基准对比。run() 执行,report() 出报告,summary() 打印绩效指标。
Brokers — 实盘交易(建设中)
集成 QMT 接口,客户端/服务器架构,支持远程交易。
文档站
完整文档、API 参考、最佳实践:
许可证
致谢
⚠️ 量化交易存在风险,请充分了解风险后再使用本框架。作者不对任何投资损失负责。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qka-1.2.2.tar.gz.
File metadata
- Download URL: qka-1.2.2.tar.gz
- Upload date:
- Size: 46.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d43c26b4a5ead9e4ba389ab510ce5884908be2b61ea77b8a9d6a20bbe32faed
|
|
| MD5 |
f7207a7176a5565756d6b591c818ba28
|
|
| BLAKE2b-256 |
59b96bfb3cc5af03a4c572203a00f363954dfd518073eb0f309d42565515c20c
|
File details
Details for the file qka-1.2.2-py3-none-any.whl.
File metadata
- Download URL: qka-1.2.2-py3-none-any.whl
- Upload date:
- Size: 45.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11e509431e033b715a5238294e6ad12e783ab941fa240d738c1816d057483ce0
|
|
| MD5 |
329e7f5d07e613b9c69c212b52a61b9c
|
|
| BLAKE2b-256 |
98a78376027a9a9263556b1024f80a733cfdc76a38730bd2133258e9f2a12f11
|