电竞比分网-中国电竞赛事及体育赛事平台

分享

標準行情 pytdx.hq · pytdx

 imelee 2017-08-10

行情接口API

下面是如何在程序里面調(diào)用本接口

+

首先需要引入

+

from pytdx.hq import TdxHq_API

然后,創(chuàng)建對象

+

api = TdxHq_API()

之后,通常是如下的格式

+

if api.connect('119.147.212.81', 7709):
    # ... same codes...
    api.disconnect()

當然,我們也支持with 語法,可以省略disconnect()語句

+

with api.connect('119.147.212.81', 7709):
    # some codes

我們的數(shù)據(jù)獲取屆接口一般返回list結(jié)構(gòu),如果需要轉(zhuǎn)化為pandas Dataframe接口,可以使用 api.to_df 進行轉(zhuǎn)化 如:

+

data = api.get_security_bars(9, 0, '000001', 0, 10) #返回普通list
data = api.to_df(api.get_security_bars(9, 0, '000001', 0, 10)) # 返回DataFrame

可以使用的api方法有下列的幾個。

+

api方法列表

參數(shù)一般性約定

一般來說,股票代碼和文件名稱使用字符串類型,其它參數(shù)都使用數(shù)值類型

+

1 : 獲取股票行情

可以獲取只股票的行情信息

+

需要傳入一個列表,每個列表由一個市場代碼, 一個股票代碼構(gòu)成的元祖構(gòu)成 [ (市場代碼1, 股票代碼1),(市場代碼2, 股票代碼2) ... (市場代碼n, 股票代碼n) ]

+

如:

api.get_security_quotes([(0, '000001'), (1, '600300')])

2 : 獲取k線

  • category->

    +

    K線種類
    0 5分鐘K線 1 15分鐘K線 2 30分鐘K線 3 1小時K線 4 日K線
    5 周K線
    6 月K線
    7 1分鐘
    8 1分鐘K線 9 日K線
    10 季K線
    11 年K線
    
  • market -> 市場代碼 0:深圳,1:上海

    +

  • stockcode -> 證券代碼;
  • start -> 指定的范圍開始位置;
  • count -> 用戶要請求的 K 線數(shù)目,最大值為 800

如:

api.get_security_bars(9,0, '000001', 4, 3)

3 : 獲取市場股票數(shù)量

0 - 深圳, 1 - 上海

+

api.get_security_count(0)

4 : 獲取股票列表

參數(shù):市場代碼, 起始位置, 數(shù)量 如: 0,0 或 1,100

+

api.get_security_list(1, 0)

5 : 獲取指數(shù)k線

  • category->

    +

    K線種類
    0 5分鐘K線 1 15分鐘K線 2 30分鐘K線 3 1小時K線 4 日K線
    5 周K線
    6 月K線
    7 1分鐘
    8 1分鐘K線 9 日K線
    10 季K線
    11 年K線
    
  • market -> 市場代碼 0:深圳,1:上海

    +

  • stockcode -> 證券代碼;
  • start -> 指定的范圍開始位置;
  • count -> 用戶要請求的 K 線數(shù)目,最大值為 800

如:

api.get_index_bars(9,1, '000001', 1, 2)

6 : 查詢分時行情

參數(shù):市場代碼, 股票代碼, 如: 0,000001 或 1,600300

+

api.get_minute_time_data(1, '600300')

7 : 查詢歷史分時行情

參數(shù):市場代碼, 股票代碼,時間 如: 0,000001,20161209 或 1,600300,20161209

+

api.get_history_minute_time_data(TDXParams.MARKET_SH, '600300', 20161209)

注意,在引入 TDXParams 之后, (from pytdx.params import TDXParams) 我們可以使用 TDXParams.MARKET_SH , TDXParams.MARKET_SZ 常量來代替 1 和 0 作為參數(shù)

+

8 : 查詢分筆成交

參數(shù):市場代碼, 股票代碼,起始位置, 數(shù)量 如: 0,000001,0,10

+

api.get_transaction_data(TDXParams.MARKET_SZ, '000001', 0, 30)

9 : 查詢歷史分筆成交

參數(shù):市場代碼, 股票代碼,起始位置,日期 數(shù)量 如: 0,000001,0,10,20170209

+

api.get_history_transaction_data(TDXParams.MARKET_SZ, '000001', 0, 10, 20170209)

10 : 查詢公司信息目錄

參數(shù):市場代碼, 股票代碼, 如: 0,000001 或 1,600300

+

api.get_company_info_category(TDXParams.MARKET_SZ, '000001')

11 : 讀取公司信息詳情

參數(shù):市場代碼, 股票代碼, 文件名, 起始位置, 數(shù)量, 如:0,000001,000001.txt,2054363,9221

+

api.get_company_info_content(0, '000001', '000001.txt', 0, 100)

注意這里的 起始位置, 數(shù)量 參考上面接口的返回結(jié)果。

+

12 : 讀取除權(quán)除息信息

參數(shù):市場代碼, 股票代碼, 如: 0,000001 或 1,600300

+

api.get_xdxr_info(1, '600300')

13 : 讀取財務(wù)信息

參數(shù):市場代碼, 股票代碼, 如: 0,000001 或 1,600300

+

api.get_finance_info(0, '000001')

14 : 讀取k線信息

參數(shù):市場代碼, 開始時間, 結(jié)束時間

+

get_k_data('000001','2017-07-03','2017-07-10')

參考 https://github.com/rainx/pytdx/issues/5

+

多線程支持

由于Python的特性,一般情況下,不太建議使用多線程代碼,如果需要并發(fā)訪問,建議使用多進程來實現(xiàn),如果要使用多線程版本,請在初始化時設(shè)置multithread參數(shù)為True

+

api = TdxHq_API(multithread=True)

心跳包

由于長時間不與服務(wù)器交互,服務(wù)器將關(guān)閉連接,所以我們實現(xiàn)了心跳包的機制,可以通過

+

api = TdxHq_API(heartbeat=True)

設(shè)置心跳包,程序會啟動一個心跳包發(fā)送線程,在空閑狀態(tài)下隔一段時間發(fā)送一個心跳包,注意,打開heartbeat=True選項的同時會自動打開multithread=True

+

調(diào)試模式

如果您需要調(diào)試本代碼,監(jiān)控傳輸過程中的數(shù)據(jù)包傳輸情況,可以使用調(diào)試模式,使用方法是設(shè)定環(huán)境變量 TDX_DEBUG 為 1 如

+

> TDX_DEBUG=1 hqget -f 1

行情服務(wù)器列表

為了方便連接服務(wù)器,我把一些常用的服務(wù)器列表整理到到 hosts.py 文件中. 在程序中可以通過

+

from pytdx.config.hosts import hq_hosts

獲取列表, 列表里的數(shù)據(jù)參考了 https://github.com/rainx/pytdx/issues/3

+

歡迎補充并發(fā)送pr

+

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多