【宽客学院】通过API获取自己/订阅的模拟交易持仓数据


(iQuant) #1

本文讲解如果在本地通过python代码获取自己/订阅的模拟交易运行结果。

一、BigQuant API Token

API key 是BigQuant平台每位用户模拟交易接口的唯一标识,如下图所示可以在主页点击进入"模拟交易API"页面,

可以找到属于自己账号的API Token

image

二、获取计划交易

将自己账号的API Token填入下面的代码中,并在本地运行代码就可以获取交易记录。

代码示例
import requests
import json

def request_plan_order(notebook_id, key):
  url = 'https://bigquant.com/bigwebapi/algo_info/planned_orders'
  headers = {'Authorization': 'Bearer {}'.format(key.strip().replace("\n", ""))}
  data = {
      'id_list': notebook_id
  }
  r = requests.post(url=url, data=data, headers=headers)
  res_dict = json.loads(r.text)
  return res_dict

key = 'xxxx'
print(request_plan_order('xxx- notebook_id1 -xxx;xxx- notebook_id2 -xxx',key))

三、获取持仓记录

代码示例
import requests
import json
def request_position_by_api_key(uname, key,notebook_id):
    position_url = 'https://www.bigquant.com/bigwebapi/algo_info/position'
    r = requests.get(url=position_url, params={
        'api_key': key,
        'notebook_id': notebook_id,
    })
    return json.loads(r.text)

key = 'xxxxx'

print(request_position_by_api_key('xx usename xx', key, 'xxx- notebook_id -xxx'))

四、获取交易记录

代码示例
import requests
import json
def request_sold_transaction_by_api_key(uname, key,notebook_id):
    sold_transaction_url = 'https://www.bigquant.com/bigwebapi/algo_info/sold_transaction'
    r = requests.get(url=sold_transaction_url, params={
        'api_key': key,
        'notebook_id': notebook_id,
    })
    return json.loads(r.text)

key = 'xxxxx'

print(request_sold_transaction_by_api_key('xx usename xx', key, 'xxx- notebook_id -xxx'))

五、API Token的重要性

切记保管好自己的API Token,平台通过API Token实施权限管理,同时平台开发的期货实盘工具也是通过API Token访问平台历史数据。


模拟交易API简介
AI量化策略开发第八步:模拟实盘
怎么加载当前的持仓,股票,试了很多方法都不行
(bigquantshan) #2

填入下面的代码中,并在本地运行代码就可以获取交易记录?
填到哪个代码中?怎么本地运行?


(达达) #3

本地运行python代码,本地新建一个py文件,粘贴代码并运行。相当于提供了一个网络接口,通过上述代码通过网络请求的方式返回对应信息给到你本地。


(crain) #4

为什么这里总是:json.loads(r.text)得不到东西呢?print出来是none,直接用代码返回:
return json.loads(r.text)
JSONDecodeError: Expecting value: line 1 column 1 (char 0)