量化投资基础:金融数据查询与服务器分配
一、引言
量化投资是一种利用数学模型和计算机技术进行投资决策的方法。在量化投资中,获取准确、及时的金融数据是至关重要的。本文将介绍如何获取沪深市场的逐笔委托队列数据、千档盘口队列数据,以及如何分配服务器以进行数据查询和交易操作。相关内容参考了以下文章:
二、逐笔委托队列查询
(一)前置步骤
在进行逐笔委托队列查询之前,需要分配数据库服务器。服务器地址可通过分配服务器中的方法获取。
(二)查询模板
沪深委托队列查询的请求模板如下:
http://<数据库服务器>/sql?mode=order_book&code=<股票代码>&offset=<offset>&token=<token>
(三)查询参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | string | 查询类别,委托队列查询使用order_book |
| code | string | 需要查询的证券代码 |
| offset | string | 支持按队列偏移量查询,未指定则查询最新数据 |
| token | string | 用户账户的认证token,用于验证请求权限 |
(四)查询示例
- 查询最新委托列表
http://<数据库服务器>/sql?mode=order_book&code=000001&token=<token>
- 根据偏移量查询
http://<数据库服务器>/sql?mode=order_book&code=000001&offset=<offset>&token=<token>
(五)返回参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| offset | int | 偏移标记,用于继续查询前面的数据 |
| price | float | 委托价格 |
| volume | int | 档位挂单总量(股) |
| type | int | 委托类型,B表示买,S表示卖 |
| time | string | 委托时间 |
(六)返回数据示例
{
"code": 0,
"cnt": 1,
"msg": "",
"data": {
"code": "000001",
"slice": 192,
"fields": ["offset", "price", "volume", "type", "time"],
"list": [
[
90593065,
16.97,
800,
"B",
"09:32:02"
],
...
[
90592690,
16.98,
7400,
"S",
"09:31:58"
]
]
}
}
三、千档盘口查询
(一)前置步骤
同样需要先分配数据库服务器,参考分配服务器获取服务器地址。
(二)查询模板
千档盘口查询的请求模板为:
http://<数据库服务器>/sql?mode=level_queue&code=<股票代码>&token=<token>
(三)查询参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | string | 查询类别,千档盘口查询使用level_queue |
| code | string | 需要查询的证券代码 |
| token | string | 用户账户的认证token,用于验证请求权限 |
(四)查询示例
http://<数据库服务器>/sql?mode=level_queue&code=000001&token=<token>
(五)返回参数说明
查询结果以JSON格式返回,包含以下字段:
| List字段名 | 类型 | 说明 |
|---|---|---|
| type | string | 档位类别,买N或卖N,B表示买,S表示卖 |
| price | float | 档位价格 |
| volume_count | int | 档位挂单总量(股) |
| queue_count | int | 档位挂单笔数 |
| queue_slice | string | 档位挂单队列,以逗号分隔的挂单量列表 |
(六)返回数据示例
{
"code": 0,
"cnt": 1,
"msg": "",
"data": {
"code": "000001",
"count": 143,
"fields": ["S100", "S99",..., "B99", "B100"],
"list": [
{
"type": "S100",
"price": 12.53,
"volume_count": 3250700,
"queue_count": 386,
"queue_slice": "5500,600,15000,200,3500,1000,300,800..."
},
...
{
"type": "B100",
"price": 12.5,
"volume_count": 98100,
"queue_count": 28,
"queue_slice": "1300,1000,4900,6200,1800,1000,2000,30000..."
}
]
}
}
四、服务器分配
(一)重要性
为确保最佳用户体验,在进行各项业务(如实时行情获取、数据库服务查询、委托交易等)前,需要查询并获取服务器分配。每次分配的服务器地址可能不同,因此每次连接前务必重新查询。
(二)请求模板
http://jvQuant.com/query/server?market=<market>&type=<type>&token=<Token>
(三)请求参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| market | string | 市场标识,指定市场类别 |
| type | string | 业务类型,指定业务类别 |
| token | string | 您的账户Token,用于身份验证 |
(四)市场标识
| 市场 | 标识代码 |
|---|---|
| 沪深市场 | ab |
| 港股市场 | hk |
| 美股市场 | us |
(五)业务类型
| 业务 | 业务代码 |
|---|---|
| 实时行情 | websocket |
| 数据库服务 | sql |
| 委托交易 | trade |
(六)示例
- 分配沪深行情服务器
http://jvQuant.com/query/server?market=ab&type=websocket&token=<您的Token>
- 分配港股行情服务器
http://jvQuant.com/query/server?market=hk&type=websocket&token=<您的Token>
- 分配美股行情服务器
http://jvQuant.com/query/server?market=us&type=websocket&token=<您的Token>
- 分配沪深数据库服务器
http://jvQuant.com/query/server?market=ab&type=sql&token=<您的Token>
- 分配沪深交易服务器
http://jvQuant.com/query/server?market=ab&type=trade&token=<您的Token>
(七)返回结果示例
{
"code": "0",
"server": "<业务服务器地址>"
}
五、总结
通过以上介绍,我们了解了如何获取沪深市场的逐笔委托队列数据和千档盘口队列数据,以及如何分配服务器进行相关操作。在量化投资中,准确的金融数据和稳定的服务器连接是成功的关键。希望这些知识能够帮助读者更好地理解量化投资中的数据获取环节。同时,在实际操作中,还需要注意保护账户Token的安全,避免泄露造成不必要的损失。
浙公网安备 33010602011771号