BaoStock:一個免費、開源的python證券數據接口包


https://blog.csdn.net/dongdong2980/article/details/79059789

如果需要獲取歷史行情數據,www.baostock.com是個很好的免費、開源的Python證券數據接口包。

特點:使用方便、免費免費免費,返回的絕大部分的數據格式都是pandas DataFrame類型。

 

入門代碼如下:

import baostock as bs
import pandas as pd
 
#### 登陸系統 ####
lg = bs.login(user_id="anonymous", password="123456")
# 顯示登陸返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)
 
#### 獲取歷史K線數據 ####
# 詳細指標參數,參見“歷史行情指標參數”章節
rs = bs.query_history_k_data("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,peTTM,pbMRQ,psTTM,pcfNcfTTM,isST",
    start_date='2017-06-01', end_date='2017-12-31', 
    frequency="d", adjustflag="3") #frequency="d"取日k線,adjustflag="3"默認不復權
print('query_history_k_data respond error_code:'+rs.error_code)
print('query_history_k_data respond  error_msg:'+rs.error_msg)
 
#### 打印結果集 ####
data_list = []
while (rs.error_code == '0') & rs.next():
    # 獲取一條記錄,將記錄合並在一起
    data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
#### 結果集輸出到csv文件 ####
result.to_csv("D:/history_k_data.csv", encoding="gbk", index=False)
print(result)
 
#### 登出系統 ####
bs.logout()

 

 

各方法及含義如下:

登錄
login()
方法說明:登錄系統。

使用示例:lg = login(user_id="anonymous", password="123456")


參數含義:

user_id:用戶id,默認為"anonymous";
password:密碼,默認為"123456"。

返回信息:

lg.error_code:錯誤代碼,當為“0”時表示成功,當為非0時表示失敗;
lg.error_msg:錯誤信息,對錯誤的詳細解釋。
登出
logout()
方法說明:登出系統

使用示例:lg = logout(user_id="anonymous")


參數含義:

user_id:用戶id,默認為"anonymous"。

返回信息:

lg.error_code:錯誤代碼,當為“0”時表示成功,當為非0時表示失敗;
lg.error_msg:錯誤信息,對錯誤的詳細解釋。
獲取歷史A股K線數據
獲取歷史A股K線數據:query_history_k_data()
方法說明:獲取A股歷史交易數據(包括均線數據),可以通過參數設置獲取日k線、周k線、月k線,以及5分鍾、15分鍾、30分鍾和60分鍾k線數據,適合搭配均線數據進行選股和分析。

返回類型:pandas的DataFrame類型。

V0.5版本只能獲取近3年的數據(2015-01-01至當前時間);

可查詢不復權、前復權、后復權數據。

 

 

參數含義:

code:股票代碼,sh或sz.+6位數字代碼,或者指數代碼,如:sh.601398。sh:上海;sz:深圳。此參數不可為空;
fields:指示簡稱,支持多指標輸入,以半角逗號分隔,填寫內容作為返回類型的列。詳細指標列表見歷史行情指標參數章節。此參數不可為空;
start:開始日期(包含),格式“YYYY-MM-DD”,為空時取2015-01-01;
end:結束日期(不包含),格式“YYYY-MM-DD”,為空時取最近一個交易日;
frequency:數據類型,默認為d,日k線;d=日k線、w=周、m=月、5=5分鍾、15=15分鍾、30=30分鍾、60=60分鍾k線數據,不區分大小寫;周線每周最后一個交易日才可以獲取,月線第月最后一個交易日才可以獲取。
adjustflag:復權類型,默認不復權:3;1:后復權;2:前復權。已支持日k線、分鍾線前后復權;暫不支持周k線、月k線前后復權。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM