vue使用echarts如何获取后台数据_如何使用Python获取指定股票的周K线数据?

本篇仅介绍指定股票的数据拉取,批量拉取将在之后的教程中进行介绍,首先你需要安装BaoStock,参见往期教程:

如何使用Python安装BaoStock?

该数据是从2015年开始的,优点是可以用Python直接调用。如果你想获得更全的日线数据,请参照教程用通达信获取(这个会比较麻烦,需要每天手动维护):

如何免费轻松获得最完整可靠的股票期货等历史数据?

周K线数据分为不复权,前复权和后复权三种,你根据自己的需要复制以下代码,它们的区别只是把adjustflag改了一下,技术分析的时候一般会选择前复权的数据:

1.前复权版本【adjustflag="2",frequency="w"】(优先选择)

import baostock as bsimport 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,pctChgrs = bs.query_history_k_data_plus("sh.600000",    "date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg",    start_date='', end_date='',    frequency="w", adjustflag="2")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("C:\\Py\\sh600000_week_3.csv", index=False)print(result)#### 登出系统 ####bs.logout()

2.不复权版本【adjustflag="3",frequency="w"】(备选代码)

import baostock as bsimport 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,pctChgrs = bs.query_history_k_data_plus("sh.600000",    "date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg",    start_date='', end_date='',    frequency="w", 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("C:\\Py\\sh600000_week_2.csv", index=False)print(result)#### 登出系统 ####bs.logout()

3.后复权版本【adjustflag="1",frequency="w"】(备选代码)

import baostock as bsimport 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,pctChgrs = bs.query_history_k_data_plus("sh.600000",    "date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg",    start_date='', end_date='',    frequency="w", adjustflag="1")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("C:\\Py\\sh600000_week_1.csv", index=False)print(result)#### 登出系统 ####bs.logout()

新建一个文件,命名为WEEK.py,并将上述代码中的任意一份粘贴到你的文件中。

987ebafd534dc08db7921c74c5aff9d6.png

修改代码中的红色部分为你需要的股票代码和输出路径,上证股票就是sh.6XXXXX,深证股票是sz.00XXXX,创业板股票是:sz.30XXXX,科创板是688XXX,上证指数是sh.000001,深证成指是sz.399001,中小板指是sz.399005,创业板是sz.399006。

312d37d1649f7d8e500d254b8cd2ea8d.png

我们以浦发银行(sh.600000)的前复权数据为例,也就是上边的第一份代码,打开命令提示行,输入python C:\PY\WEEK.py:

70fa42e751562f86bb7aaca6d6ae9a34.png

输入回车运行脚本,得到如下结果,说明拉取是成功,否则请检查程序的安装问题,以及网络:

e548f1f2283e6368babbdd547c74887a.png

另外在指定目录中生成了CSV的文件,这个文件很容易被Python,Matlab和各种程序解析:

625d526ef93465ae551dfca0dcb3528d.png

周指标参数
参数名称参数描述说明算法说明
date交易所行情日期格式:YYYY-MM-DD
code证券代码格式:sh.600000。sh:上海,sz:深圳
open开盘价格精度:小数点后4位;单位:人民币元
high最高价精度:小数点后4位;单位:人民币元
low最低价精度:小数点后4位;单位:人民币元
close收盘价精度:小数点后4位;单位:人民币元
volume成交数量单位:股
amount成交金额精度:小数点后4位;单位:人民币元
adjustflag复权状态不复权、前复权、后复权
turn换手率精度:小数点后6位;单位:%
pctChg涨跌幅(百分比)精度:小数点后6位涨跌幅=[(区间最后交易日收盘价-区间首个交易日前收盘价)/区间首个交易日前收盘价]*100%

f98ee923fbe39c7e7db8790fac984c94.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值