如何获取下单信息
<h4><strong>简要说明</strong></h4>
<ul>
<li>
<p>可使用ths_api包中提供的全局变量:</p>
<ol>
<li>全局全量委托表:包含当日的可撤、不可撤委托单信息
①g_fullorder,以股票代码为键输出的字典格式
②g_htbh_fullorder,以合同编号为键输出的字典格式</li>
<li>全局可撤委托表dict:仅包含当日的可撤委托单信息
①g_order,以股票代码为键输出的字典格式
②g_htbh_order,以合同编号为键输出的字典格式</li>
<li>全局委托汇总表dict: g_ordersum</li>
</ol>
</li>
<li>下面以g_fullorder、g_ordersum举例说明以下问题:
<ol>
<li>如何查看下单的完整信息</li>
<li>如何获取下单信息中某笔委托的某个字段的值</li>
<li>如何对下单信息进行过滤</li>
<li>如何对下单信息进行汇总</li>
</ol></li>
</ul>
<hr />
<h4><strong>1. 如何查看下单的完整信息</strong></h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例1:输出全局全量委托表
print(xd.g_fullorder)</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>{
'000001': [
{
'wtsj': '16:06:08',
'bz': '未成交',
'cjjj': 0.0,
'gdzh': '00107220280',
'jysc': '深圳A股',
'wtrq': '20191017',
'wtsl': 100,
'zqdm': '000001',
'zqmc': '平安银行',
'wtjg': 16.56,
'cjsl': 0,
'cz': '买入',
'cxsl': 0,
'htbh': '1237222163'
}
],
'002886': [
{
'htbh': '1237021991',
'bz': '全部成交',
'wtsj': '14:08:22',
'zqmc': '沃特股份',
'wtrq': '20191017',
'cxsl': 0,
'cjsl': 400,
'zqdm': '002886',
'wtjg': 25.62,
'gdzh': '00107220280',
'wtsl': 400,
'cjjj': 25.61,
'cz': '买入',
'jysc': '深圳A股'
}
]
}
#为了便于阅读,这里对输出的格式进行了调整,输出内容不变,可通过json,或我们提供的xiadan.py内的pretty_print_dict函数调整输出格式,可参见文末补充示例。</code></pre>
<p><strong>输出字段说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">wtsj</td>
<td style="text-align: left;">委托时间</td>
</tr>
<tr>
<td style="text-align: left;">bz</td>
<td style="text-align: left;">备注</td>
</tr>
<tr>
<td style="text-align: left;">cjjj</td>
<td style="text-align: left;">成交均价</td>
</tr>
<tr>
<td style="text-align: left;">gdzh</td>
<td style="text-align: left;">股东代码</td>
</tr>
<tr>
<td style="text-align: left;">jysc</td>
<td style="text-align: left;">交易市场</td>
</tr>
<tr>
<td style="text-align: left;">wtrq</td>
<td style="text-align: left;">委托日期</td>
</tr>
<tr>
<td style="text-align: left;">wtsl</td>
<td style="text-align: left;">委托数量</td>
</tr>
<tr>
<td style="text-align: left;">zqdm</td>
<td style="text-align: left;">证券代码</td>
</tr>
<tr>
<td style="text-align: left;">zqmc</td>
<td style="text-align: left;">证券名称</td>
</tr>
<tr>
<td style="text-align: left;">wtjg</td>
<td style="text-align: left;">委托价格</td>
</tr>
<tr>
<td style="text-align: left;">cjsl</td>
<td style="text-align: left;">成交数量</td>
</tr>
<tr>
<td style="text-align: left;">cz</td>
<td style="text-align: left;">操作</td>
</tr>
<tr>
<td style="text-align: left;">cxsl</td>
<td style="text-align: left;">撤销数量</td>
</tr>
<tr>
<td style="text-align: left;">htbh</td>
<td style="text-align: left;">合同编号</td>
</tr>
</tbody>
</table>
<hr />
<h4>2. 如何获取下单信息中某笔委托的某个字段的值</h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
#例2:输出全局全量委托表中000001的所有委托单的成交数量
xd.pretty_print_dict(xd.g_fullorder) #将全局全量委托表按不同股票的委托单换行输出的方式输出,便于阅读。
for item in xd.g_fullorder['000001']: #对每笔000001的委托单遍历
print(item['cjsl']) #输出每笔委托单中的“成交数量”的值</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>{"000001": [{'gdzh': '00108607233', 'htbh': '1251720142', 'zqmc': '平安银行', 'wtrq': '20191031', 'cjjj': 16.3, 'cz': '买入', 'wtsl': 100, 'cxsl': 0, 'jysc': '深圳A股', 'wtsj': '10:47:17', 'bz': '全部成交', 'wtjg': 16.33, 'zqdm': '000001', 'cjsl': 100}, {'gdzh': '00108607233', 'htbh': '1251731877', 'zqmc': '平安银行', 'wtrq': '20191031', 'cjjj': 16.31, 'cz': '买入', 'wtsl': 200, 'cxsl': 0, 'jysc': '深圳A股', 'wtsj': '10:47:23', 'bz': '全部成交', 'wtjg': 16.31, 'zqdm': '000001', 'cjsl': 200}],
"300033": [{'gdzh': '00108607233', 'htbh': '1251726945', 'zqmc': '同花顺', 'wtrq': '20191031', 'cjjj': 0.0, 'cz': '买入', 'wtsl': 200, 'cxsl': 0, 'jysc': '深圳A股', 'wtsj': '10:47:37', 'bz': '未成交', 'wtjg': 97.77, 'zqdm': '300033', 'cjsl': 0}],
"002886": [{'gdzh': '00108607233', 'htbh': '1251761350', 'zqmc': '沃特股份', 'wtrq': '20191031', 'cjjj': 0.0, 'cz': '买入', 'wtsl': 100, 'cxsl': 0, 'jysc': '深圳A股', 'wtsj': '11:03:53', 'bz': '未成交', 'wtjg': 23.53, 'zqdm': '002886', 'cjsl': 0}]}
100
200
</code></pre>
<hr />
<h4><strong>3.对下单信息进行过滤</strong></h4>
<p><strong>示例代码</strong></p>
<pre><code>#例3:对全局全量委托表按照股票代码'000001'进行过滤
from ths_api import *
dic = xd.g_fullorder['000001']
print(dic)</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>[
{
'wtsj': '16:06:08',
'bz': '未成交',
'cjjj': 0.0,
'gdzh': '00107220280',
'jysc': '深圳A股',
'wtrq': '20191017',
'wtsl': 100,
'zqdm': '000001',
'zqmc': '平安银行',
'wtjg': 16.56,
'cjsl': 0,
'cz': '买入',
'cxsl': 0,
'htbh': '1237222163'
}
]
#为了便于阅读,这里对输出的格式进行了调整,输出内容不变</code></pre>
<p><strong>示例代码</strong></p>
<pre><code>#例4:对全局全量委托表按照委托状态'未成交'进行过滤
from ths_api import *
df = xd.order_to_dataframe(xd.g_fullorder) #请勿直接使用pandas的DataFrame函数,可能会出错。
print(df[df['bz']=='未成交'])</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>{
'000001': [
{
'wtsj': '16:06:08',
'bz': '未成交',
'cjjj': 0.0,
'gdzh': '00107220280',
'jysc': '深圳A股',
'wtrq': '20191017',
'wtsl': 100,
'zqdm': '000001',
'zqmc': '平安银行',
'wtjg': 16.56,
'cjsl': 0,
'cz': '买入',
'cxsl': 0,
'htbh': '1237222163'
}
]
}
#为了便于阅读,这里对输出的格式进行了调整,输出内容不变</code></pre>
<hr />
<h4><strong>4.对当日下单信息进行汇总(按代码及买卖方向汇总)</strong></h4>
<p><strong>示例代码</strong></p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
from ths_api import *
print(xd.g_ordersum)
</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>{
'000001':
{
'jmcwtsl': 400,
'jmrcjjj': 16.434000,
'jmrcjsl': 600,
'jmccjsl': 200,
'jmccjjj': 16.217000,
'jmrcxsl': 0,
'jmrwtsl': 600,
'jmccxsl': 0
}
}</code></pre>
<p><strong>输出字段说明:</strong></p>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">jmcwtsl</td>
<td style="text-align: left;">当日卖出委托数量</td>
</tr>
<tr>
<td style="text-align: left;">jmrcjjj</td>
<td style="text-align: left;">当日买入成交均价</td>
</tr>
<tr>
<td style="text-align: left;">jmrcjsl</td>
<td style="text-align: left;">当日买入成交数量</td>
</tr>
<tr>
<td style="text-align: left;">jmccjsl</td>
<td style="text-align: left;">当日卖出成交数量</td>
</tr>
<tr>
<td style="text-align: left;">jmccjjj</td>
<td style="text-align: left;">当日卖出成交均价</td>
</tr>
<tr>
<td style="text-align: left;">jmrcxsl</td>
<td style="text-align: left;">当日买入撤销数量</td>
</tr>
<tr>
<td style="text-align: left;">jmrwtsl</td>
<td style="text-align: left;">当日买入委托数量</td>
</tr>
<tr>
<td style="text-align: left;">jmccxsl</td>
<td style="text-align: left;">当日卖出撤销数量</td>
</tr>
</tbody>
</table>
<hr />
<h4>补充:不同格式的委托表输出方式</h4>
<p><strong>示例代码</strong></p>
<pre><code>from ths_api import *
import json
dic = xd.g_fullorder
print(dic,'\n') #方式1:直接输出
xd.pretty_print_dict(dic) #方式2:采用xiadan.py的pretty_print_dict函数输出
j1 = json.dumps(dic, ensure_ascii = False, indent = 2) #方式3:采用json输出
print(j1)</code></pre>
<p><strong>运行结果</strong></p>
<pre><code>{'000001': [{'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '000001', 'zqmc': '平安银行', 'htbh': '1252085759', 'gdzh': '00108647829', 'wtjg': 16.29, 'wtsl': 200, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:27', 'cxsl': 0, 'bz': '未成交'}, {'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '000001', 'zqmc': '平安银行', 'htbh': '1252085164', 'gdzh': '00108647829', 'wtjg': 16.3, 'wtsl': 100, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:34', 'cxsl': 0, 'bz': '未成交'}], '300033': [{'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '300033', 'zqmc': '同花顺', 'htbh': '1252085610', 'gdzh': '00108647829', 'wtjg': 97.52, 'wtsl': 300, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:42', 'cxsl': 0, 'bz': '未成交'}]}
{"000001": [{'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '000001', 'zqmc': '平安银行', 'htbh': '1252085759', 'gdzh': '00108647829', 'wtjg': 16.29, 'wtsl': 200, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:27', 'cxsl': 0, 'bz': '未成交'}, {'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '000001', 'zqmc': '平安银行', 'htbh': '1252085164', 'gdzh': '00108647829', 'wtjg': 16.3, 'wtsl': 100, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:34', 'cxsl': 0, 'bz': '未成交'}],
"300033": [{'cjjj': 0.0, 'jysc': '深圳A股', 'wtrq': '20191031', 'zqdm': '300033', 'zqmc': '同花顺', 'htbh': '1252085610', 'gdzh': '00108647829', 'wtjg': 97.52, 'wtsl': 300, 'cjsl': 0, 'cz': '买入', 'wtsj': '13:32:42', 'cxsl': 0, 'bz': '未成交'}]}
{
"000001": [
{
"cjjj": 0.0,
"jysc": "深圳A股",
"wtrq": "20191031",
"zqdm": "000001",
"zqmc": "平安银行",
"htbh": "1252085759",
"gdzh": "00108647829",
"wtjg": 16.29,
"wtsl": 200,
"cjsl": 0,
"cz": "买入",
"wtsj": "13:32:27",
"cxsl": 0,
"bz": "未成交"
},
{
"cjjj": 0.0,
"jysc": "深圳A股",
"wtrq": "20191031",
"zqdm": "000001",
"zqmc": "平安银行",
"htbh": "1252085164",
"gdzh": "00108647829",
"wtjg": 16.3,
"wtsl": 100,
"cjsl": 0,
"cz": "买入",
"wtsj": "13:32:34",
"cxsl": 0,
"bz": "未成交"
}
],
"300033": [
{
"cjjj": 0.0,
"jysc": "深圳A股",
"wtrq": "20191031",
"zqdm": "300033",
"zqmc": "同花顺",
"htbh": "1252085610",
"gdzh": "00108647829",
"wtjg": 97.52,
"wtsl": 300,
"cjsl": 0,
"cz": "买入",
"wtsj": "13:32:42",
"cxsl": 0,
"bz": "未成交"
}
]
}
</code></pre>