zoukankan      html  css  js  c++  java
  • baostock

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

    官网 http://baostock.com

    安装

    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')

  • 相关阅读:
    WPF之感触
    C# WinForm 给DataTable中指定位置添加列
    MyEclipse 8.6 download 官方下载地址
    将博客搬至CSDN
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
  • 原文地址:https://www.cnblogs.com/baby123/p/13846161.html
Copyright © 2011-2022 走看看