python用baostock 获取五分钟线
时间: 2024-03-23 09:43:29 浏览: 21
您好,使用Baostock获取五分钟K线数据可以按照以下步骤进行:
1. 首先安装Baostock库,可以使用pip命令进行安装:`pip install baostock`
2. 导入Baostock库并登录:
```python
import baostock as bs
lg = bs.login()
if lg.error_code != '0':
print("登录失败")
else:
print("登录成功")
```
3. 设置查询条件,包括证券代码、开始日期和结束日期:
```python
code = "sh.600000" # 证券代码,这里以中国工商银行为例
start_date = "2021-01-01"
end_date = "2021-01-31"
```
4. 设置K线类型为5分钟K线:
```python
frequency = "5" # K线类型,5分钟K线
```
5. 使用Baostock的API获取K线数据:
```python
rs = bs.query_history_k_data_plus(code,
"date,time,open,high,low,close,volume",
start_date=start_date, end_date=end_date,
frequency=frequency, adjustflag="3")
```
6. 将获取到的数据转换为DataFrame格式便于处理:
```python
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
# 将数据转换为DataFrame格式
data_df = pd.DataFrame(data_list, columns=rs.fields)
```
7. 关闭Baostock的连接:
```python
bs.logout()
```
完整代码如下:
```python
import baostock as bs
import pandas as pd
# 登录Baostock
lg = bs.login()
if lg.error_code != '0':
print("登录失败")
else:
print("登录成功")
# 设置查询条件
code = "sh.600000" # 证券代码,这里以中国工商银行为例
start_date = "2021-01-01"
end_date = "2021-01-31"
# 设置K线类型为5分钟K线
frequency = "5" # K线类型,5分钟K线
# 使用Baostock的API获取K线数据
rs = bs.query_history_k_data_plus(code,
"date,time,open,high,low,close,volume",
start_date=start_date, end_date=end_date,
frequency=frequency, adjustflag="3")
# 将获取到的数据转换为DataFrame格式
data_list = []
while (rs.error_code == '0') & rs.next():
data_list.append(rs.get_row_data())
data_df = pd.DataFrame(data_list, columns=rs.fields)
# 关闭Baostock的连接
bs.logout()
print(data_df.head())
```
注意:Baostock的数据有延迟,获取到的数据可能不是最新的。如果需要获取实时数据,请使用其他API或者数据源。