baostock详解编程语言

一个免费、开源的证券数据服务平台

官网 IT虾米网

安装

pip install baostock -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn

获取A股K线数据

import baostock as bs 
import pandas as pd 
 
#### 登陆系统 #### 
lg = bs.login() 
# 显示登陆返回信息 
print('login respond error_code:'+lg.error_code) 
print('login respond  error_msg:'+lg.error_msg) 
 
#### 获取沪深A股历史K线数据 #### 
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。 
# 分钟线指标: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("sz.000001", 
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST", 
    start_date='2020-10-10', end_date='2020-10-20', 
    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) 
 
#### 打印结果集 #### 
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("k_data.csv", index=False) 
print(result) 
 
#### 登出系统 #### 
bs.logout()

结果

>python test.py
login success!
login respond error_code:0
login respond error_msg:success
query_history_k_data_plus respond error_code:0
query_history_k_data_plus respond error_msg:success
date code open high low … adjustflag turn tradestatus pctChg isST
0 2020-10-12 sz.000001 15.2200 16.0500 15.2100 … 3 0.820000 1 4.743100 0
1 2020-10-13 sz.000001 15.9000 16.1100 15.7700 … 3 0.468300 1 1.006300 0
2 2020-10-14 sz.000001 16.0400 16.1200 15.8000 … 3 0.341400 1 -0.186800 0
3 2020-10-15 sz.000001 16.2000 16.9200 16.1500 … 3 0.824500 1 3.306300 0
4 2020-10-16 sz.000001 16.5600 17.3700 16.5400 … 3 1.079900 1 3.260900 0
5 2020-10-19 sz.000001 17.3000 18.1000 17.3000 … 3 1.038900 1 2.222200 0
6 2020-10-20 sz.000001 17.4800 17.6000 17.2500 … 3 0.494700 1 0.343200 0

[7 rows x 14 columns]
logout success!

使用mpl_finance画K线图

import baostock as bs 
import pandas as pd 
import mplfinance as mpf 
#### 登陆系统 #### 
lg = bs.login() 
# 显示登陆返回信息 
print('login respond error_code:'+lg.error_code) 
print('login respond  error_msg:'+lg.error_msg) 
 
#### 获取沪深A股历史K线数据 #### 
# 详细指标参数,参见“历史行情指标参数”章节;“分钟线”参数与“日线”参数不同。 
# 分钟线指标: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("sz.000001", 
    "date,code,open,high,low,close", 
    start_date='2020-05-10', end_date='2020-10-20', 
    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) 
 
#### 打印结果集 #### 
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("k_data.csv", index=False) 
#### 登出系统 #### 
bs.logout() 
data = result.loc[:, ['date','open', 'high', 'low', 'close']] 
data=data.apply(pd.to_numeric, errors='ignore') 
data.set_index('date', inplace=True) 
data.index = pd.DatetimeIndex(data.index) 
mpf.plot(data, type='candle', style='charles')

baostock详解编程语言

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/20461.html

(0)
上一篇 2021年7月19日 23:27
下一篇 2021年7月19日 23:27

相关推荐

发表回复

登录后才能评论