前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BaoStock的股价前复权

BaoStock的股价前复权

作者头像
写一点笔记
发布2022-08-11 17:02:33
7130
发布2022-08-11 17:02:33
举报
文章被收录于专栏:程序员备忘录程序员备忘录

周末睡了两天,头都大了,最近蹭网来着,不知道咋回事,上不了了。想来想去准备改mac地址,最后发现咋电脑连自己的手机wifi都连不上了,看来咋错怪那个wifi了。最后发现咋dns不对,最后改成了之前一种用的一个114.114.114.114,解决了问题。乘着下午凉快,想着解决一下股票中的复权,因为我们看股票软件的时候呐,经常是断崖式的下跌,这基本就是除权等操作,大概的意思就是说送股,意思就是说成本不变,价格变成了原来的多少倍,当然股价的变动的落脚地就是流通股的数量的变化。总之就是这么一个过程。在一般的炒股软件中都有一个复权的按钮。比如通达信的在这里不复权:

不复权的话,我们第一感觉就是这股可能是个起伏很大的股票吧。我们看看它的前复权:

复权之后,会发现这股票咋后悔没买......

反思一下问题出在哪里呐,最浅显的就是我们按照技术派的图谱去看待趋势的,但是技术派并没有将复权这样的图给画出来。也就是如果技术指标上进行不除权操作,那么技术上的指标就要凉凉。所以我们写脚本企图财务自由则必须要对数据进行除权,这是量化的第一步!

我们想着呐,我们以后只看除权之后的数据。作者下午查了一下资料,发现咋自己的系统使用的baostock居然自带了除权的功能。就是在获取数据的时候改变一下参数就可以了。想想呐好高兴呀!让我们看看吧!下图是除权之后的效果。看样子和通达信的除权效果很类似哦!

下边是baostock官网上提供的获取日k线的代码。注意这里的参数adjustflag

代码语言:javascript
复制
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("sh.600000",
    "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST",
    start_date='2017-07-01', end_date='2017-12-31',
    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("D:\\history_A_stock_k_data.csv", index=False)
print(result)

#### 登出系统 ####
bs.logout()

这里呐字可能比较模糊,作者这里抄一下哈:

adjustflag=3 表示不复权 adjustflag=1 表示后复权 adjustflag=2 表示前复权

困扰作者许久的复权问题就这么迎刃而解,其实作者连复权的计算步骤都不知道,呵呵。除此之外呐,今天还把网上流行的通达信除权的问题给解决了,所以咋明天要做的就是删库,然后重新拉数据,然后再兼容通达信,nice!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档