Skip to content

Commit 4c4fc4b

Browse files
shinny-hongyanshinny-chenli
authored andcommitted
Update Version 3.9.1
1 parent 9438946 commit 4c4fc4b

40 files changed

Lines changed: 2414 additions & 255 deletions

PKG-INFO

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 2.1
22
Name: tqsdk
3-
Version: 3.9.0
3+
Version: 3.9.1
44
Summary: TianQin SDK
55
Home-page: https://www.shinnytech.com/tqsdk
66
Author: TianQin

doc/advanced/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
order.rst
1111
backtest.rst
1212
multi_strategy.rst
13+
tq_trading_unit.rst
1314
gui.rst
1415
dingding.rst
1516
for_vnpy_user.rst

doc/advanced/tq_trading_unit.rst

Lines changed: 110 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
.. _tq_trading_unit:
22

33
============================
4-
tqsdk 多策略使用手册
4+
TqSdk 多策略使用手册
55
============================
66

77
概述
8-
====
9-
`tqsdk` 提供了 `TqTradingUnit` 账户类型,支持一个实盘账号在多个策略中交易,每个策略交易数据相互隔离
8+
=====
9+
随着对收益曲线稳定的追求,较多用户需要在一个账户下去运行多个策略,当多个策略交易同一标的时,则面临着不同策略的持仓管理,绩效归因等问题
10+
11+
为了解决该问题, :ref:`enterprise` 中提供了本地众期多策略系统,支持用户在本地将一个实盘账户拆分为多个策略(多个前端账户),每个策略交易数据相互隔离,且跨日有效
12+
13+
同时该方案会提供多策略的管理界面,支持可视化观察各个多策略的持仓,委托,资金和盈亏情况,也支持以策略维度(前端账户)登录 `快期专业版 <https://www.shinnytech.com/qpro>`_ 进行管理与交易
1014

1115
系统配置要求
1216
============
1317
- **Windows**: >= Windows 10
1418
- **Linux**: >= Ubuntu 22.04
19+
- **tqsdk**: >= 3.8.0
20+
- **快期专业版**: >= 2504.659
1521

1622
安装
1723
====
18-
使用 `TqTradingUnit` 账户类型需要安装 `tqsdk-zq` 包,用来初始化本地环境::
24+
使用本地众期多策略系统需要安装 `tqsdk-zq` 包,用来初始化本地环境::
1925

2026
pip install tqsdk-zq
2127

@@ -29,26 +35,120 @@ tqsdk 多策略使用手册
2935

3036
tqsdk-zq init --kq-name=xx --kq-password=xx --web-port=xx
3137

32-
- 初始化完成后,控制台会输出多策略管理页的账户、密码以及网址
38+
- kq-name 是快期账户,kq-password 是快期密码,web-port 是可选项,不用指定
39+
- 初始化完成后,控制台会输出多策略管理页的账户、密码以及网址,默认账户密码均为 admin,
40+
- 后续跨交易日,重启电脑,不用再执行初始化步骤,直接运行 python 代码即可
3341
- 打开浏览器,访问控制台输出的网址
3442

43+
44+
3545
2. **打印多策略控制台地址**::
3646

3747
tqsdk-zq web
3848

3949
- 如果机器重启或者网页打不开了,请执行以上命令
4050
- 进程重新拉起后,控制台会输出管理页网址
51+
- web 管理端在跨交易日后,需要输入 tqsdk-zq web 拉起
52+
53+
.. image:: ../images/tq_zq_init.png
54+
55+
3. **访问众期管理页**:
56+
57+
- 在运维和日常管理页添加组
58+
- 在组中选择模式为多策略
59+
- 在策略组中,选择账户及交易模式,然后点击右侧的+号,添加后端账号(实盘账户或simnow账户)
60+
- 继续点击+号添加前端账户(多策略)并设置入金金额
61+
- 如果后端账户有持仓,则需要在资金监控和强平强撤页的持仓明细来分配各个前端账户的持仓
4162

42-
3. **访问多策略管理页**:
63+
.. image:: ../images/tq_zq_strategy.png
4364

44-
- 在多策略管理页添加策略组
45-
- 在策略组中添加后端账号
46-
- 在策略组中添加前端号并入金
65+
.. image:: ../images/tq_zq_backen.png
66+
67+
.. image:: ../images/tq_zq_front.png
68+
69+
.. image:: ../images/tq_zq_assign.png
4770

4871
4. **使用 TqTradingUnit 登录前端账户**::
4972

5073
from tqsdk import TqApi, TqTradingUnit, TqAuth
5174

52-
account = TqTradingUnit(account_id="前端账户", tags=["铜品种策略", "套利策略"])
75+
# 在天勤中登录前端账户时,只用输入账户名即可,不用输入前端账户密码
76+
account = TqTradingUnit(account_id="前端账户号")
5377
api = TqApi(account, auth=TqAuth("快期账户", "账户密码"))
5478

79+
80+
异常委托分配
81+
=============
82+
83+
当使用众期多策略进行交易后,系统默认该后端账户下的所有交易指令,均由前端账户发出,当后端账户发出了某笔委托而未指定前端账户时,则会被归类为异常委托范围
84+
85+
当系统存在异常委托时,会每隔固定时间,向前端账户推送通知,提醒用户将异常委托进行分配到具体前端账户,如果本交易日未进行分配,会导致下一个交易日众期系统初始化失败
86+
87+
在下一个交易日如果由于该原因初始化失败后,前端账户的持仓将都会清空,用户需要重新从后端账户往前端账户分配持仓
88+
89+
90+
.. image:: ../images/tq_zq_unclear_order.png
91+
92+
快期专业版里面登录多策略(前端账户)
93+
==============================================
94+
- 点击左上角交易按钮里面的配置众期服务器
95+
- 在备注项设置站点名称,服务器地址项设置本地交易地址,本地交易地址为 ws://localhost ,端口号在用户不设置的情况下默认为 8342
96+
- 在登录的站点里面选择刚刚添加的站点登录
97+
98+
.. image:: ../images/tq_zq_config.png
99+
100+
.. image:: ../images/tq_zq_config2.png
101+
102+
.. image:: ../images/tq_zq_broker.png
103+
104+
105+
其他事项
106+
=========
107+
- 当用户在众期多策略系统中添加实盘账户时,仍然占用企业版3个实盘账户的名额,如果需要额外购买实盘账户名额请联系我们的商务同事 QQ:1539404802
108+
- 多策略的拆分和运行均在本地,不支持跨电脑使用多策略功能
109+
- 如果需要删除前端账户,需要先清除持仓(平仓,或者通过持仓划转),然后将出入金转出,才可以删除
110+
111+
112+
版本变更
113+
=========
114+
使用 `pip install -U --upgrade-strategy eager tqsdk-zq` 更新多策略功能所有依赖包
115+
116+
.. line-block::
117+
**2025/12/10**
118+
tqsdk-zq: 1.0.3
119+
tqsdk-zq-server: 1.0.6
120+
tqsdk-zq-history: 1.0.0
121+
tqsdk-zq-pgserver: 1.0.0
122+
tqsdk-zq-proxy: 1.0.0
123+
124+
* 修复: 撤单失败的问题
125+
126+
.. line-block::
127+
**2025/06/16**
128+
tqsdk-zq: 1.0.3
129+
tqsdk-zq-server: 1.0.5
130+
tqsdk-zq-history: 1.0.0
131+
tqsdk-zq-pgserver: 1.0.0
132+
tqsdk-zq-proxy: 1.0.0
133+
134+
* 新增: 添加历史结算信息查询功能
135+
136+
.. line-block::
137+
**2025/06/03**
138+
tqsdk-zq: 1.0.2
139+
tqsdk-zq-server: 1.0.4
140+
tqsdk-zq-pgserver: 1.0.0
141+
tqsdk-zq-proxy: 1.0.0
142+
143+
* 修复: 快期模拟添加进用户实盘账户列表
144+
145+
.. line-block::
146+
**2025/04/29**
147+
tqsdk-zq: 1.0.2
148+
tqsdk-zq-server: 1.0.3
149+
tqsdk-zq-pgserver: 1.0.0
150+
tqsdk-zq-proxy: 1.0.0
151+
152+
* 修复: 和本地其他 postgres 进程端口冲突的问题
153+
* 修复: 持仓划转失败的问题
154+
* 修复: 风控规则高级模式没有正确传递 enable 参数的问题

doc/advanced/unanttended.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ TqSdk可以在windows/linux或macosx环境下运行. 无论您选择使用window
1818
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1919
将每个策略程序配置为独立直连实盘账号. 在创建 TqApi 时, 传入TqAccount实例. 注意期货公司名称需要与天勤中的名称一致::
2020

21-
api = TqApi(TqAccount("H海通期货", "022631", "123456"), auth=TqAuth("快期账户", "账户密码"))
21+
api = TqApi(TqAccount("H宏源期货", "022631", "123456"), auth=TqAuth("快期账户", "账户密码"))
2222

2323

2424
检查策略程序
@@ -67,7 +67,7 @@ TqSdk可以在windows/linux或macosx环境下运行. 无论您选择使用window
6767

6868
from tqsdk import TqApi, TqAccount
6969

70-
api = TqApi(TqAccount("H海通期货", "0330203", "123456"), auth=TqAuth("快期账户", "账户密码"))
70+
api = TqApi(TqAccount("H宏源期货", "0330203", "123456"), auth=TqAuth("快期账户", "账户密码"))
7171
# 开仓两手并等待完成
7272
order = api.insert_order(symbol="SHFE.rb1901", direction="BUY", offset="OPEN", limit_price=4310,volume=2)
7373
while order.status != "FINISHED":
@@ -100,7 +100,7 @@ TqSdk可以在windows/linux或macosx环境下运行. 无论您选择使用window
100100

101101
要通过命令行运行此策略, 可以输入::
102102

103-
python args.py --broker=H海通期货 --user_name=0330203 --password=123456 --symbol=SHFE.cu1901
103+
python args.py --broker=H宏源期货 --user_name=0330203 --password=123456 --symbol=SHFE.cu1901
104104

105105

106106
要在 PyCharm 中同时执行此程序的多种参数版本, 可以通过 PyCharm 的 Run Configuration 实现.

doc/ai_editor/index.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
.. _ai_editor:
2+
3+
通过 AI 工具使用 TqSdk
4+
========================================
5+
6+
.. toctree::
7+
:maxdepth: 2
8+
9+
tqsdk_trae.rst
10+
tqsdk_codex.rst
11+
tqsdk_skills.rst
12+
nl_research.rst

doc/ai_editor/nl_research.rst

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
.. _nl_research:
2+
3+
自然语言投研:EDB 数据服务 + 扣子(Coze)
4+
================================================================================
5+
6+
本主题介绍如何把 `天勤 EDB 数据服务(HTTP) <https://edb.shinnytech.com/docs/index.html#>`_ 与 `扣子(Coze) <https://www.coze.cn/>`_ 结合起来,用自然语言完成“取数 → 验证想法 → 回测 → 产出图表/报告/代码”的投研闭环。
7+
8+
推荐使用的方式是:先在扣子中添加天勤 EDB 数据 SKILL,再直接提研究问题。无需再手动复制 EDB 文档给扣子。
9+
10+
你可以把扣子当作“自然语言的研究助理”,把 EDB 数据服务当作“可被调用的数据接口”。添加 SKILL 后,扣子可以继续生成:
11+
12+
- 可复用的 Python 脚本(pandas / matplotlib 等)
13+
- 研究结论与报告结构
14+
- 可视化图表(收益曲线、价差曲线、因子检验等)
15+
16+
案例链接(扣子分享)
17+
--------------------------------
18+
19+
- `股指期货收益来源可视化分析 <https://www.coze.cn/s/yvzxmWYMS3E/>`_
20+
- `ag2604 au2604 价差曲线分析 <https://www.coze.cn/s/okMcnINx3Po/>`_
21+
- `黄金2604策略逻辑及收益曲线绘制 <https://www.coze.cn/s/8nzZbuCrsXE/>`_
22+
23+
24+
前置准备
25+
--------------------------------
26+
27+
1. **添加扣子 SKILL(推荐)**
28+
29+
- SKILL 添加地址:`天勤 EDB 数据 SKILL <https://www.coze.cn/?skill_share_pid=7602130347391959083>`_
30+
- 添加后即可在对话中直接让扣子获取历史数据,并继续完成想法验证或策略回测。
31+
32+
.. figure:: ../images/coze_skill.png
33+
34+
扣子 SKILL 页面示意(点击“使用”完成添加)。
35+
36+
2. **EDB 数据服务**
37+
38+
- 行情历史服务(CSV 流式):文档:`行情历史服务 <https://edb.shinnytech.com/docs/md_server.html#>`__
39+
- Token 服务(JWT):文档:`Token 服务 <https://edb.shinnytech.com/docs/token_server.html#>`__
40+
- EDB 指标服务(JSON):文档:`非价量数据服务 <https://edb.shinnytech.com/docs/data_server.html#>`__
41+
42+
3. **扣子账号**
43+
44+
- 访问:`扣子(Coze) <https://www.coze.cn/>`_
45+
- 当每天使用频率较高时,可能需要购买扣子的月费会员(以扣子平台规则为准)。
46+
47+
数据权限与范围说明
48+
--------------------------------
49+
50+
- **免费访问(无需 token)**
51+
- 日线数据(``period=86400``):任意历史区间
52+
- 1 分钟线(``period=60``):最近 1 年
53+
- **专业版访问(需 token)**
54+
- 1 分钟线/日线:不限制历史长度
55+
- EDB 指标目录与数值查询(宏观/基本面等)
56+
57+
在扣子里直接提问(推荐)
58+
--------------------------------
59+
60+
完成 SKILL 添加后,直接把“你的需求 + 数据口径”说清楚即可。
61+
62+
下面是一段推荐的提问模板(把 ``XXXXX`` 替换成你的目标):
63+
64+
.. code-block:: text
65+
66+
我已经添加了天勤 EDB 数据 SKILL,请帮我获取历史数据并实现 XXXXX。
67+
建议的约束与输出要求:
68+
1) 明确用哪个 symbol、period、起止时间
69+
2) 输出可直接运行的 Python 代码
70+
3) 给出结论摘要,可视化结果与可复现说明(数据口径、假设、风险点)
71+
72+
.. figure:: ../images/coze_skill_use_teplate.png
73+
74+
添加 SKILL 后,可直接按模板在输入框中描述需求并发送。
75+
76+
.. note::
77+
78+
如果你需要 1 分钟线的更长历史区间或 EDB 指标数据,扣子可能会提示你需要 token(专业版权限)。
79+
80+
81+
对话提示词模板(建议)
82+
--------------------------------
83+
84+
为了让扣子更稳定地产出“可运行的 Python 代码 + 可复现的数据口径”,建议在提问时把关键信息说全:
85+
86+
- 合约/指标(symbol 或 指标关键词/ID)
87+
- 周期(``period=60`` 或 ``period=86400``)
88+
- 起止时间(建议给到日期或日期时间)
89+
- 输出字段(例如 ``open,high,low,close,volume``)
90+
- 研究目标(检验/回测逻辑、输出图表类型、需要的指标)
91+
92+
示例 1:隔夜 vs 日内收益拆分
93+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94+
95+
.. code-block:: text
96+
97+
我已经添加了天勤 EDB 数据 SKILL,请获取 KQ.m@CFFEX.IF,KQ.m@CFFEX.IC,KQ.m@CFFEX.IH 的日线数据,区间 2021-01-01 到 2026-01-31。
98+
计算并可视化:
99+
1) 隔夜收益(当日 open / 前日 close - 1)的累计收益
100+
2) 日内收益(当日 close / 当日 open - 1)的累计收益
101+
给出结论摘要,并输出可直接运行的 Python 代码。
102+
103+
示例 2:价差曲线分析
104+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105+
106+
.. code-block:: text
107+
108+
我已经添加了天勤 EDB 数据 SKILL,请获取 SHFE.ag2604 与 SHFE.au2604 的日线 close,计算价差 ag-au 并画出价差曲线;
109+
额外输出:价差的滚动均值/标准差(例如 20 日),并给出异常波动区间的解释思路。
110+
111+
示例 3:策略回测脚本生成
112+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
113+
114+
.. code-block:: text
115+
116+
我已经添加了天勤 EDB 数据 SKILL,请获取 period=60 的 SHFE.au2604 历史数据,并做一个简单策略回测:
117+
- 指标:20/60 均线金叉死叉
118+
- 交易规则:金叉开多、死叉平仓
119+
- 输出:权益曲线、最大回撤、年化收益
120+
如果免费权限不够,请提示我需要 token 并告诉我如何配置。
121+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# API 参考(摘要)
2+
3+
本参考为“天勤 EDB 数据服务”常用接口的快速摘要,便于在扣子(Coze)Skill 内编写脚本调用。
4+
5+
## 1) 行情历史服务(CSV)
6+
7+
- Base:`https://edb.shinnytech.com/md`
8+
- GET `/kline`
9+
10+
常用参数:
11+
12+
- `period``60`(1 分钟)或 `86400`(日线,按交易日)
13+
- `symbol`:如 `SHFE.rb2401``KQ.m@CFFEX.IF`
14+
- `start_time` / `end_time``YYYY-MM-DD HH:MM:SS`
15+
- `col`:逗号分隔列名(可选):`open,high,low,close,volume,open_oi,close_oi`
16+
- `token`:可通过 query 传入(不推荐)或用 Header 传入(推荐)
17+
18+
鉴权(专业版):
19+
20+
- `Authorization: Bearer <token>`
21+
22+
## 2) Token 服务(JSON)
23+
24+
- Base:`https://edb.shinnytech.com`
25+
- POST `/token`
26+
27+
请求体(JSON):
28+
29+
```json
30+
{"username":"<user>","password":"<password>"}
31+
```
32+
33+
响应(JSON):
34+
35+
```json
36+
{"token":"<access_token>"}
37+
```
38+
39+
## 3) EDB 指标服务(JSON,专业版)
40+
41+
- Base:`https://edb.shinnytech.com/data`
42+
43+
接口:
44+
45+
- POST `/index_table`:查询指标目录(支持 `ids``search`
46+
- POST `/index_data`:查询指标数值(`ids` + `start/end`
47+
48+
鉴权:
49+
50+
- `Authorization: Bearer <token>`
51+

0 commit comments

Comments
 (0)