免费获取所有股票5分钟级别及以上的交易数据
平臺介紹
證券寶www.baostock.com是一個免費、開源的證券數(shù)據(jù)平臺(無需注冊)。
- 提供大量準確、完整的證券歷史行情數(shù)據(jù)、上市公司財務(wù)數(shù)據(jù)等。
- 通過python API獲取證券數(shù)據(jù)信息,滿足量化交易投資者、數(shù)量金融愛好者、計量經(jīng)濟從業(yè)者數(shù)據(jù)需求。
- 返回的數(shù)據(jù)格式:
- pandas DataFrame類型,以便于用pandas/NumPy/Matplotlib進行數(shù)據(jù)分析和可視化。
- 同時支持通過BaoStock的數(shù)據(jù)存儲功能,將數(shù)據(jù)全部保存到本地后進行分析。
- 支持語言:目前版本BaoStock.com目前只支持Python3.5及以上(暫不支持python 2.x)。
- 持續(xù)更新:BaoStock.com還在不斷的完善和優(yōu)化,后續(xù)將逐步增加港股、期貨、外匯和基金等方面的金融數(shù)據(jù),為成為一個免費金融數(shù)據(jù)平臺努力。
- 分享優(yōu)化:請通過微信、網(wǎng)站博客或者知乎文章等方式分享給大家,使它能在大家的使用過程中逐步得到改進與提升,以便于更好地為大家提供免費服務(wù)。
- 平臺麥克:證券寶BaoStock.com從發(fā)布到現(xiàn)在,已經(jīng)幫助很多用戶在數(shù)據(jù)方面減輕了工作量,同時也得到很多用戶的反饋。它將一如既往的以免費、開源的形式分享出來,希望給有需要的朋友帶來一些幫助。
下載安裝
方式1:pip install baostock
使用國內(nèi)源安裝:
pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn方式2:訪問?https://pypi.python.org/pypi/baostock?下載安裝
python setup.py install或pip install xxx.whl
注意:程序運行時,文件名、文件夾名不能是baostock。
版本升級
pip install --upgrade baostock使用前提:
安裝Python
安裝pandas(pip install pandas)
建議安裝Anaconda,以免出現(xiàn)問題(Anaconda是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項,下載地址https://www.anaconda.com/download/)。
每日最新數(shù)據(jù)更新時間:
- 當前交易日17:30,完成日K線數(shù)據(jù)入庫;
- 當前交易日20:30,完成分鐘K線數(shù)據(jù)入庫;
- 第二自然日1:30,完成前交易日“其它財務(wù)報告數(shù)據(jù)”入庫;
數(shù)據(jù)范圍說明
股票數(shù)據(jù)
- 日、周、月K線數(shù)據(jù),時間范圍:1990-12-19至今。
- 5、15、30、60分鐘K線數(shù)據(jù),時間范圍:1999-07-26至今。
指數(shù)數(shù)據(jù)
- 日、周、月K線已經(jīng)包含指數(shù):綜合指數(shù),規(guī)模指數(shù),一級行業(yè)指數(shù),二級行業(yè)指數(shù),策略指數(shù),成長指數(shù),價值指數(shù),主題指數(shù),基金指數(shù),債券指數(shù)。
- 時間范圍:2006-01-01至今。
季頻財務(wù)數(shù)據(jù)
- 已經(jīng)包含的財務(wù)數(shù)據(jù):部分上市公司資產(chǎn)負債信息、上市公司現(xiàn)金流量信息、上市公司利潤信息、上市公司杜邦指標信息。
- 時間范圍:2007年至今。
季頻公司報告
- 上市公司業(yè)績預(yù)告信息,時間范圍:2003年至今。
- 上市公司業(yè)績快報信息,時間范圍:2006年至今。
?=========================================================================
下面是獲取K線數(shù)據(jù)具體操作過程
A股K線數(shù)據(jù)
獲取歷史A股K線數(shù)據(jù):query_history_k_data_plus()
方法說明:通過API接口獲取A股歷史交易數(shù)據(jù),可以通過參數(shù)設(shè)置獲取日k線、周k線、月k線,以及5分鐘、15分鐘、30分鐘和60分鐘k線數(shù)據(jù),適合搭配均線數(shù)據(jù)進行選股和分析。
返回類型:pandas的DataFrame類型。
能獲取1990-12-19至當前時間的數(shù)據(jù);
可查詢不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán)數(shù)據(jù)。
使用示例:
import baostock as bs import pandas as pd#### 登陸系統(tǒng) #### lg = bs.login() # 顯示登陸返回信息 print('login respond error_code:'+lg.error_code) print('login respond error_msg:'+lg.error_msg)#### 獲取滬深A(yù)股歷史K線數(shù)據(jù) #### # 詳細指標參數(shù),參見“歷史行情指標參數(shù)”章節(jié);“分鐘線”參數(shù)與“日線”參數(shù)不同。“分鐘線”不包含指數(shù)。 # 分鐘線指標:date,time,code,open,high,low,close,volume,amount,adjustflag # 周月線指標:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg rs = bs.query_history_k_data_plus("sh.600000","date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",start_date='2017-07-01', end_date='2017-12-31',frequency="d", adjustflag="3") print('query_history_k_data_plus respond error_code:'+rs.error_code) print('query_history_k_data_plus respond error_msg:'+rs.error_msg)#### 打印結(jié)果集 #### data_list = [] while (rs.error_code == '0') & rs.next():# 獲取一條記錄,將記錄合并在一起data_list.append(rs.get_row_data()) result = pd.DataFrame(data_list, columns=rs.fields)#### 結(jié)果集輸出到csv文件 #### result.to_csv("D:\\history_A_stock_k_data.csv", index=False) print(result)#### 登出系統(tǒng) #### bs.logout()參數(shù)含義:
- code:股票代碼,sh或sz.+6位數(shù)字代碼,或者指數(shù)代碼,如:sh.601398。sh:上海;sz:深圳。此參數(shù)不可為空;
- fields:指示簡稱,支持多指標輸入,以半角逗號分隔,填寫內(nèi)容作為返回類型的列。詳細指標列表見歷史行情指標參數(shù)章節(jié),日線與分鐘線參數(shù)不同。此參數(shù)不可為空;
- start:開始日期(包含),格式“YYYY-MM-DD”,為空時取2015-01-01;
- end:結(jié)束日期(包含),格式“YYYY-MM-DD”,為空時取最近一個交易日;
- frequency:數(shù)據(jù)類型,默認為d,日k線;d=日k線、w=周、m=月、5=5分鐘、15=15分鐘、30=30分鐘、60=60分鐘k線數(shù)據(jù),不區(qū)分大小寫;指數(shù)沒有分鐘線數(shù)據(jù);周線每周最后一個交易日才可以獲取,月線每月最后一個交易日才可以獲取。
- adjustflag:復(fù)權(quán)類型,默認不復(fù)權(quán):3;1:后復(fù)權(quán);2:前復(fù)權(quán)。已支持分鐘線、日線、周線、月線前后復(fù)權(quán)。?BaoStock提供的是漲跌幅復(fù)權(quán)算法復(fù)權(quán)因子,具體介紹見:復(fù)權(quán)因子簡介或者BaoStock復(fù)權(quán)因子簡介。
注意:
- 股票停牌時,對于日線,開、高、低、收價都相同,且都為前一交易日的收盤價,成交量、成交額為0,換手率為空。
如果需要將換手率轉(zhuǎn)為float類型,可使用如下方法轉(zhuǎn)換:result["turn"] = [0 if x == "" else float(x) for x in result["turn"]]
關(guān)于復(fù)權(quán)數(shù)據(jù)的說明:
BaoStock使用“漲跌幅復(fù)權(quán)法”進行復(fù)權(quán),詳細說明參考上文“復(fù)權(quán)因子簡介”。不同系統(tǒng)間采用復(fù)權(quán)方式可能不一致,導(dǎo)致數(shù)據(jù)不一致。
“漲跌幅復(fù)權(quán)法的”優(yōu)點:可以計算出資金收益率,確保初始投入的資金運用率為100%,既不會因為分紅而導(dǎo)致投資減少,也不會因為配股導(dǎo)致投資增加。
與同花順、通達信等存在不同。
| date | code | open | high | low | close | preclose | volume | amount | adjustflag | turn | tradestatus | pctChg | isST |
| 2017-07-03 | sh.600000 | 12.64 | 12.65 | 12.47 | 12.56 | 12.65 | 38778949 | 486264672 | 3 | 0.137985 | 1 | —0.711456 | 0 |
| 2017-07-04 | sh.600000 | 12.55 | 12.58 | 12.41 | 12.55 | 12.56 | 36659128 | 458434432 | 3 | 0.130442 | 1 | —0.07962 | 0 |
| 2017-07-05 | sh.600000 | 12.5 | 12.65 | 12.47 | 12.62 | 12.55 | 26470507 | 332542464 | 3 | 0.094188 | 1 | 0.557767 | 0 |
| 2017-07-06 | sh.600000 | 12.62 | 12.72 | 12.51 | 12.66 | 12.62 | 37414241 | 471582096 | 3 | 0.133129 | 1 | 0.316957 | 0 |
| 2017-07-07 | sh.600000 | 12.62 | 12.69 | 12.55 | 12.6 | 12.66 | 24667294 | 311101536 | 3 | 0.087772 | 1 | —0.473929 | 0 |
| 參數(shù)名稱 | 參數(shù)描述 | 算法說明 |
| date | 交易所行情日期 | |
| code | 證券代碼 | |
| open | 開盤價 | |
| high | 最高價 | |
| low | 最低價 | |
| close | 收盤價 | |
| preclose | 前收盤價 | 見表格下方詳細說明 |
| volume | 成交量(累計 單位:股) | |
| amount | 成交額(單位:人民幣元) | |
| adjustflag | 復(fù)權(quán)狀態(tài)(1:后復(fù)權(quán), 2:前復(fù)權(quán),3:不復(fù)權(quán)) | |
| turn | 換手率 | [指定交易日的成交量(股)/指定交易日的股票的流通股總股數(shù)(股)]*100% |
| tradestatus | 交易狀態(tài)(1:正常交易 0:停牌) | |
| pctChg | 漲跌幅(百分比) | 日漲跌幅=[(指定交易日的收盤價-指定交易日前收盤價)/指定交易日前收盤價]*100% |
| peTTM | 滾動市盈率 | (指定交易日的股票收盤價/指定交易日的每股盈余TTM)=(指定交易日的股票收盤價*截至當日公司總股本)/歸屬母公司股東凈利潤TTM |
| pbMRQ | 市凈率 | (指定交易日的股票收盤價/指定交易日的每股凈資產(chǎn))=總市值/(最近披露的歸屬母公司股東的權(quán)益-其他權(quán)益工具) |
| psTTM | 滾動市銷率 | (指定交易日的股票收盤價/指定交易日的每股銷售額)=(指定交易日的股票收盤價*截至當日公司總股本)/營業(yè)總收入TTM |
| pcfNcfTTM | 滾動市現(xiàn)率 | (指定交易日的股票收盤價/指定交易日的每股現(xiàn)金流TTM)=(指定交易日的股票收盤價*截至當日公司總股本)/現(xiàn)金以及現(xiàn)金等價物凈增加額TTM |
| isST | 是否ST股,1是,0否 |
注意“前收盤價”說明:
證券在指定交易日行情數(shù)據(jù)的前收盤價,當日發(fā)生除權(quán)除息時,“前收盤價”不是前一天的實際收盤價,而是根據(jù)股權(quán)登記日收盤價與分紅現(xiàn)金的數(shù)量、配送股的數(shù)里和配股價的高低等結(jié)合起來算出來的價格。
具體計算方法如下:
1、計算除息價:
除息價=股息登記日的收盤價-每股所分紅利現(xiàn)金額
2、計算除權(quán)價:
送紅股后的除權(quán)價=股權(quán)登記日的收盤價/(1+每股送紅股數(shù))
配股后的除權(quán)價=(股權(quán)登記日的收盤價+配股價*每股配股數(shù))/(1+每股配股數(shù))
3、計算除權(quán)除息價
除權(quán)除息價=(股權(quán)登記日的收盤價-每股所分紅利現(xiàn)金額+配股價*每股配股數(shù))/(1+每股送紅股數(shù)+每股配股數(shù))
“前收盤價”由交易所計算并公布。首發(fā)日的“前收盤價”等于“首發(fā)價格”。
歷史行情指標參數(shù)
| 參數(shù)名稱 | 參數(shù)描述 | 說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 今開盤價格 | 精度:小數(shù)點后4位;單位:人民幣元 |
| high | 最高價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| low | 最低價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| close | 今收盤價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| preclose | 昨日收盤價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| volume | 成交數(shù)量 | 單位:股 |
| amount | 成交金額 | 精度:小數(shù)點后4位;單位:人民幣元 |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) |
| turn | 換手率 | 精度:小數(shù)點后6位;單位:% |
| tradestatus | 交易狀態(tài) | 1:正常交易 0:停牌 |
| pctChg | 漲跌幅(百分比) | 精度:小數(shù)點后6位 |
| peTTM | 滾動市盈率 | 精度:小數(shù)點后6位 |
| psTTM | 滾動市銷率 | 精度:小數(shù)點后6位 |
| pcfNcfTTM | 滾動市現(xiàn)率 | 精度:小數(shù)點后6位 |
| pbMRQ | 市凈率 | 精度:小數(shù)點后6位 |
| isST | 是否ST | 1是,0否 |
| 參數(shù)名稱 | 參數(shù)描述 | 說明 | 算法說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD | |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 | |
| open | 開盤價格 | 精度:小數(shù)點后4位;單位:人民幣元 | |
| high | 最高價 | 精度:小數(shù)點后4位;單位:人民幣元 | |
| low | 最低價 | 精度:小數(shù)點后4位;單位:人民幣元 | |
| close | 收盤價 | 精度:小數(shù)點后4位;單位:人民幣元 | |
| volume | 成交數(shù)量 | 單位:股 | |
| amount | 成交金額 | 精度:小數(shù)點后4位;單位:人民幣元 | |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) | |
| turn | 換手率 | 精度:小數(shù)點后6位;單位:% | |
| pctChg | 漲跌幅(百分比) | 精度:小數(shù)點后6位 | 漲跌幅=[(區(qū)間最后交易日收盤價-區(qū)間首個交易日前收盤價)/區(qū)間首個交易日前收盤價]*100% |
| 參數(shù)名稱 | 參數(shù)描述 | 說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| time | 交易所行情時間 | 格式:YYYYMMDDHHMMSSsss |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 開盤價格 | 精度:小數(shù)點后4位;單位:人民幣元 |
| high | 最高價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| low | 最低價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| close | 收盤價 | 精度:小數(shù)點后4位;單位:人民幣元 |
| volume | 成交數(shù)量 | 單位:股 |
| amount | 成交金額 | 精度:小數(shù)點后4位;單位:人民幣元 |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) |
?
總結(jié)
以上是生活随笔為你收集整理的免费获取所有股票5分钟级别及以上的交易数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAC 代理自动发现简介
- 下一篇: Lambda