QuantDo Trader SDK for quants
Project description
qdtrader交易接口
简介
qdtrader交易接口可以通过pip直接安装在用户本地,实现在任意python环境下进行策略开发、回测、模拟交易和实盘交易。
安装说明
首先,您的系统上必须已经安装了python环境(版本3.7或以上),推荐使用anaconda3. 然后,就可以按照如下步骤安装了。
-
windows环境
-
安装Microsoft C++ Build Tools
下载链接:
注:该工具版本号需要在14以上
-
安装Redis-server数据库服务
可以使用我们提供的安装配套的redis-server服务。下载链接:
下载后运行该工具即可
qdtrader使用的Redis端口号是6379。若需要修改为其他端口号,需要在qdtrader安装完毕后修改qdtrader的配置
-
安装qdtrader
pip install -U qdtrader --timeout=60
注: 若要加快安装速度,可以使用国内镜像站点
-
-
linux环境配置
-
安装Redis
linux下安装Redis最简单快捷的方式是使用Docker安装
首先用docker pull 下载redis最新版本
sudo docker pull redis
然后启动redis容器
sudo docker run -itd --name redis-server -p 6379:6379 redis
-
安装qdtrader
pip install -U qdtrader --timeout=60
注: 若要加快安装速度,可以使用国内镜像站点
-
使用说明
-
启动网页服务
-
写一个python文件命名为runWeb.py
from qdtrader.qeweb import runWebpage runWebpage()
-
在Anaconda的命令行环境下进入runWeb.py所在目录,并运行如下命令
python runWeb.py
运行后web网页服务将启动,用户可以实时查看订单委托,成交,持仓,权益和日志信息,并可以观察行情图。
按键Ctrl+C或者关闭窗口可以终止该服务,网页将无法查看,重新运行上述命令后可恢复。
-
-
编写策略文件并运行
-
如下是一个python策略文件范例
import qdsdk from datetime import datetime,timedelta from qdtrader import * qdsdk.auth('Your username','Your authcode') user_setting = {'investorid':'000000', 'password':'XXXXXXXXXXXXXX','broker':'simnow'} user = 'myname' def getLastToken(user): acclist = listSimuAccounts(user) if len(acclist)>0: return acclist[-1] else: return createSimuAccount(user, initCap=10000000) class mystrat(qeStratBase): def __init__(self): self.instid=['AG2306.SFE'] self.datamode='minute' self.freq = 1 def crossDay(self,context): pass def onBar(self,context): print(get_bar(context,1)) def handleData(self,context): pass if __name__=='__main__': strat1 = mystrat() token_code = getLastToken(user) runStrat(user,'real', [strat1], simu_token=token_code, real_account=user_setting)
注:
1.auth语句中授权码需要在https://quantease.cn上注册登录后点击主页右上角菜单'授权码'获取。
2.user_setting中账户信息需要换成您自己的账户信息
3.运行后复制给出的网页链接在浏览器中查看运行结果即可
-
-
修改系统配置
-
获取系统配置
from qdtrader import read_sysconfig read_sysconfig()
获取结果为
{'redis': {'host': '127.0.0.1', 'port': 6379, 'password': ''}, 'webpage': {'host': '127.0.0.1', 'port': 5814}}
-
修改Redis配置
接口函数为
setRedisConfig(host='127.0.0.1', port=6379, password='')
根据您本地Redis-server配置修改该接口,使得qdtrader可以访问您的本地数据库。
比如您本地Redis端口号为6380, 那么可以这么运行
from qdtrader import setRedisConfig setRedisConfig(port=6380)
恢复默认出厂设置仅需要调用不带参数的setRedisConfig即可
from qdtrader import setRedisConfig setRedisConfig()
-
修改网页配置
接口函数为
setWebConfig(host='127.0.0.1',port=5814)
如果qdtrader网页服务默认端口号5814和您本地端口冲突,您可以修改为其他端口号,比如修改为5008。
from qdtrader import setWebConfig setWebConfig(port=5008)
恢复默认出厂设置仅需要调用不带参数的setWebConfig即可
from qdtrader import setWebConfig setWebConfig()
在浏览器测试一下输入网址http://127.0.0.1:5814, 出现如下文字代表启动成功
qdtrader网页展示服务已经成功启动
-
如何编写策略
参照官方文档文档说明
插件使用说明
安装
以“algoex“插件为例,下载插件代码如下:
from qdsdk import auth
auth('your username','your authcode')
from qdtrader.qeplugins import installPlugin
installPlugin('algoex')
运行代码后,出现如下提示代表安装成功:
插件algoex下载成功
在策略文件中按如下格式import该插件:
from qdtrader.plugins.qealgoex import plugin_algoex
注;下载插件需要成为VIP付费客户,否则会下载失败。注册VIP请联系客服
引用插件
以'algoex'为例,根据按照的说明,在code中使用:
from qdsdk import auth
##授权码
auth('your username','your authcode')
from qdtrader import listSimuAccounts, createSimuAccount,runStrat
from qdtrader.plugins.qealgoex import plugin_algoex
##实盘账户信息
user_setting = {'investorid':'xxxxxx', 'password':'xxxxxxxx','broker':'xxxxxx'}
if __name__=='__main__':
##换成自己的用户名
user='myname'
##如果有模拟账户,用第一个账户,没有新建一个
tokenlist = listSimuAccounts(user)
if len(tokenlist) > 0:
token = tokenlist[0]
else:
token = createSimuAccount(user)
##运行策略,algoex插件本身就是个策略实例,可以直接使用
runStrat(user,'real',[plugin_algoex], simu_token=token,real_account=user_setting)
Project details
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
File details
Details for the file qdtrader-0.0.1.tar.gz
.
File metadata
- Download URL: qdtrader-0.0.1.tar.gz
- Upload date:
- Size: 195.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b62330a4d60882d918757a2769b83edf59242ca8138e0b79b682eb092464cb87 |
|
MD5 | fd10e2d422f018c2b6b71c18f6445edd |
|
BLAKE2b-256 | 09e99dcb25565ca7e3de720fbc9f5a149909cf865066ed29cb01c224b9fda8a1 |
File details
Details for the file qdtrader-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: qdtrader-0.0.1-py3-none-any.whl
- Upload date:
- Size: 208.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d7aca44a39cd1a080cbf2c5e03a36fae8cb8624efa68a4ba87def8790b8edbd |
|
MD5 | c55101b1094a2d396ff8dfc0b19f6fd5 |
|
BLAKE2b-256 | a9d6f5c9b83a932dd7ae0147a15349f7ffb8f35f99c3cf56d1926e986f626d45 |