免费获取所有股票5分钟级别及以上的交易数据
平臺介紹
證券寶www.baostock.com是一個(gè)免費(fèi)、開源的證券數(shù)據(jù)平臺(無需注冊)。
- 提供大量準(zhǔn)確、完整的證券歷史行情數(shù)據(jù)、上市公司財(cái)務(wù)數(shù)據(jù)等。
- 通過python API獲取證券數(shù)據(jù)信息,滿足量化交易投資者、數(shù)量金融愛好者、計(jì)量經(jīng)濟(jì)從業(yè)者數(shù)據(jù)需求。
- 返回的數(shù)據(jù)格式:
- pandas DataFrame類型,以便于用pandas/NumPy/Matplotlib進(jìn)行數(shù)據(jù)分析和可視化。
- 同時(shí)支持通過BaoStock的數(shù)據(jù)存儲功能,將數(shù)據(jù)全部保存到本地后進(jìn)行分析。
- 支持語言:目前版本BaoStock.com目前只支持Python3.5及以上(暫不支持python 2.x)。
- 持續(xù)更新:BaoStock.com還在不斷的完善和優(yōu)化,后續(xù)將逐步增加港股、期貨、外匯和基金等方面的金融數(shù)據(jù),為成為一個(gè)免費(fèi)金融數(shù)據(jù)平臺努力。
- 分享優(yōu)化:請通過微信、網(wǎng)站博客或者知乎文章等方式分享給大家,使它能在大家的使用過程中逐步得到改進(jìn)與提升,以便于更好地為大家提供免費(fèi)服務(wù)。
- 平臺麥克:證券寶BaoStock.com從發(fā)布到現(xiàn)在,已經(jīng)幫助很多用戶在數(shù)據(jù)方面減輕了工作量,同時(shí)也得到很多用戶的反饋。它將一如既往的以免費(fèi)、開源的形式分享出來,希望給有需要的朋友帶來一些幫助。
下載安裝
方式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
注意:程序運(yùn)行時(shí),文件名、文件夾名不能是baostock。
版本升級
pip install --upgrade baostock使用前提:
安裝Python
安裝pandas(pip install pandas)
建議安裝Anaconda,以免出現(xiàn)問題(Anaconda是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),下載地址https://www.anaconda.com/download/)。
每日最新數(shù)據(jù)更新時(shí)間:
- 當(dāng)前交易日17:30,完成日K線數(shù)據(jù)入庫;
- 當(dāng)前交易日20:30,完成分鐘K線數(shù)據(jù)入庫;
- 第二自然日1:30,完成前交易日“其它財(cái)務(wù)報(bào)告數(shù)據(jù)”入庫;
數(shù)據(jù)范圍說明
股票數(shù)據(jù)
- 日、周、月K線數(shù)據(jù),時(shí)間范圍:1990-12-19至今。
- 5、15、30、60分鐘K線數(shù)據(jù),時(shí)間范圍:1999-07-26至今。
指數(shù)數(shù)據(jù)
- 日、周、月K線已經(jīng)包含指數(shù):綜合指數(shù),規(guī)模指數(shù),一級行業(yè)指數(shù),二級行業(yè)指數(shù),策略指數(shù),成長指數(shù),價(jià)值指數(shù),主題指數(shù),基金指數(shù),債券指數(shù)。
- 時(shí)間范圍:2006-01-01至今。
季頻財(cái)務(wù)數(shù)據(jù)
- 已經(jīng)包含的財(cái)務(wù)數(shù)據(jù):部分上市公司資產(chǎn)負(fù)債信息、上市公司現(xiàn)金流量信息、上市公司利潤信息、上市公司杜邦指標(biāo)信息。
- 時(shí)間范圍:2007年至今。
季頻公司報(bào)告
- 上市公司業(yè)績預(yù)告信息,時(shí)間范圍:2003年至今。
- 上市公司業(yè)績快報(bào)信息,時(shí)間范圍: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ù)進(jìn)行選股和分析。
返回類型:pandas的DataFrame類型。
能獲取1990-12-19至當(dāng)前時(shí)間的數(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ù) #### # 詳細(xì)指標(biāo)參數(shù),參見“歷史行情指標(biāo)參數(shù)”章節(jié);“分鐘線”參數(shù)與“日線”參數(shù)不同。“分鐘線”不包含指數(shù)。 # 分鐘線指標(biāo):date,time,code,open,high,low,close,volume,amount,adjustflag # 周月線指標(biāo):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:指示簡稱,支持多指標(biāo)輸入,以半角逗號分隔,填寫內(nèi)容作為返回類型的列。詳細(xì)指標(biāo)列表見歷史行情指標(biāo)參數(shù)章節(jié),日線與分鐘線參數(shù)不同。此參數(shù)不可為空;
- start:開始日期(包含),格式“YYYY-MM-DD”,為空時(shí)取2015-01-01;
- end:結(jié)束日期(包含),格式“YYYY-MM-DD”,為空時(shí)取最近一個(gè)交易日;
- frequency:數(shù)據(jù)類型,默認(rèn)為d,日k線;d=日k線、w=周、m=月、5=5分鐘、15=15分鐘、30=30分鐘、60=60分鐘k線數(shù)據(jù),不區(qū)分大小寫;指數(shù)沒有分鐘線數(shù)據(jù);周線每周最后一個(gè)交易日才可以獲取,月線每月最后一個(gè)交易日才可以獲取。
- adjustflag:復(fù)權(quán)類型,默認(rè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)因子簡介。
注意:
- 股票停牌時(shí),對于日線,開、高、低、收價(jià)都相同,且都為前一交易日的收盤價(jià),成交量、成交額為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)法”進(jìn)行復(fù)權(quán),詳細(xì)說明參考上文“復(fù)權(quán)因子簡介”。不同系統(tǒng)間采用復(fù)權(quán)方式可能不一致,導(dǎo)致數(shù)據(jù)不一致。
“漲跌幅復(fù)權(quán)法的”優(yōu)點(diǎn):可以計(jì)算出資金收益率,確保初始投入的資金運(yùn)用率為100%,既不會因?yàn)榉旨t而導(dǎo)致投資減少,也不會因?yàn)榕涔蓪?dǎo)致投資增加。
與同花順、通達(dá)信等存在不同。
| 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 | 開盤價(jià) | |
| high | 最高價(jià) | |
| low | 最低價(jià) | |
| close | 收盤價(jià) | |
| preclose | 前收盤價(jià) | 見表格下方詳細(xì)說明 |
| volume | 成交量(累計(jì) 單位:股) | |
| 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 | 漲跌幅(百分比) | 日漲跌幅=[(指定交易日的收盤價(jià)-指定交易日前收盤價(jià))/指定交易日前收盤價(jià)]*100% |
| peTTM | 滾動市盈率 | (指定交易日的股票收盤價(jià)/指定交易日的每股盈余TTM)=(指定交易日的股票收盤價(jià)*截至當(dāng)日公司總股本)/歸屬母公司股東凈利潤TTM |
| pbMRQ | 市凈率 | (指定交易日的股票收盤價(jià)/指定交易日的每股凈資產(chǎn))=總市值/(最近披露的歸屬母公司股東的權(quán)益-其他權(quán)益工具) |
| psTTM | 滾動市銷率 | (指定交易日的股票收盤價(jià)/指定交易日的每股銷售額)=(指定交易日的股票收盤價(jià)*截至當(dāng)日公司總股本)/營業(yè)總收入TTM |
| pcfNcfTTM | 滾動市現(xiàn)率 | (指定交易日的股票收盤價(jià)/指定交易日的每股現(xiàn)金流TTM)=(指定交易日的股票收盤價(jià)*截至當(dāng)日公司總股本)/現(xiàn)金以及現(xiàn)金等價(jià)物凈增加額TTM |
| isST | 是否ST股,1是,0否 |
注意“前收盤價(jià)”說明:
證券在指定交易日行情數(shù)據(jù)的前收盤價(jià),當(dāng)日發(fā)生除權(quán)除息時(shí),“前收盤價(jià)”不是前一天的實(shí)際收盤價(jià),而是根據(jù)股權(quán)登記日收盤價(jià)與分紅現(xiàn)金的數(shù)量、配送股的數(shù)里和配股價(jià)的高低等結(jié)合起來算出來的價(jià)格。
具體計(jì)算方法如下:
1、計(jì)算除息價(jià):
除息價(jià)=股息登記日的收盤價(jià)-每股所分紅利現(xiàn)金額
2、計(jì)算除權(quán)價(jià):
送紅股后的除權(quán)價(jià)=股權(quán)登記日的收盤價(jià)/(1+每股送紅股數(shù))
配股后的除權(quán)價(jià)=(股權(quán)登記日的收盤價(jià)+配股價(jià)*每股配股數(shù))/(1+每股配股數(shù))
3、計(jì)算除權(quán)除息價(jià)
除權(quán)除息價(jià)=(股權(quán)登記日的收盤價(jià)-每股所分紅利現(xiàn)金額+配股價(jià)*每股配股數(shù))/(1+每股送紅股數(shù)+每股配股數(shù))
“前收盤價(jià)”由交易所計(jì)算并公布。首發(fā)日的“前收盤價(jià)”等于“首發(fā)價(jià)格”。
歷史行情指標(biāo)參數(shù)
| 參數(shù)名稱 | 參數(shù)描述 | 說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 今開盤價(jià)格 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| high | 最高價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| low | 最低價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| close | 今收盤價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| preclose | 昨日收盤價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| volume | 成交數(shù)量 | 單位:股 |
| amount | 成交金額 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) |
| turn | 換手率 | 精度:小數(shù)點(diǎn)后6位;單位:% |
| tradestatus | 交易狀態(tài) | 1:正常交易 0:停牌 |
| pctChg | 漲跌幅(百分比) | 精度:小數(shù)點(diǎn)后6位 |
| peTTM | 滾動市盈率 | 精度:小數(shù)點(diǎn)后6位 |
| psTTM | 滾動市銷率 | 精度:小數(shù)點(diǎn)后6位 |
| pcfNcfTTM | 滾動市現(xiàn)率 | 精度:小數(shù)點(diǎn)后6位 |
| pbMRQ | 市凈率 | 精度:小數(shù)點(diǎn)后6位 |
| isST | 是否ST | 1是,0否 |
| 參數(shù)名稱 | 參數(shù)描述 | 說明 | 算法說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD | |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 | |
| open | 開盤價(jià)格 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 | |
| high | 最高價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 | |
| low | 最低價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 | |
| close | 收盤價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 | |
| volume | 成交數(shù)量 | 單位:股 | |
| amount | 成交金額 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 | |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) | |
| turn | 換手率 | 精度:小數(shù)點(diǎn)后6位;單位:% | |
| pctChg | 漲跌幅(百分比) | 精度:小數(shù)點(diǎn)后6位 | 漲跌幅=[(區(qū)間最后交易日收盤價(jià)-區(qū)間首個(gè)交易日前收盤價(jià))/區(qū)間首個(gè)交易日前收盤價(jià)]*100% |
| 參數(shù)名稱 | 參數(shù)描述 | 說明 |
| date | 交易所行情日期 | 格式:YYYY-MM-DD |
| time | 交易所行情時(shí)間 | 格式:YYYYMMDDHHMMSSsss |
| code | 證券代碼 | 格式:sh.600000。sh:上海,sz:深圳 |
| open | 開盤價(jià)格 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| high | 最高價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| low | 最低價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| close | 收盤價(jià) | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| volume | 成交數(shù)量 | 單位:股 |
| amount | 成交金額 | 精度:小數(shù)點(diǎn)后4位;單位:人民幣元 |
| adjustflag | 復(fù)權(quán)狀態(tài) | 不復(fù)權(quán)、前復(fù)權(quán)、后復(fù)權(quán) |
?
總結(jié)
以上是生活随笔為你收集整理的免费获取所有股票5分钟级别及以上的交易数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAC 代理自动发现简介
- 下一篇: Lambda