今儿个,咱来聊聊怎么搞到600188这只股票的历史交易数据。作为一个喜欢倒腾数据的小博主,我可是踩不少坑,今儿就来跟大家伙儿分享一下我的实战经验。
第一步:找数据的地儿
我也挺懵的,不知道从哪儿下手。后来发现,能找数据的地儿还不少:
- 各种股票交易软件: 像同花顺、东方财富啥的,都能直接看到历史数据,还能下载。不过有些软件下载的数据格式可能不太方便咱们后续处理。
- 一些数据网站: 有些网站专门提供各种股票数据,不过有些可能要收费,免费的可能数据不太全或者更新不及时。
- 编程接口: 对于咱们会点儿代码的人来说,这是个好办法。有些第三方库,可以直接通过代码获取数据,方便又快捷。
我,比较喜欢折腾,就选第三种,用编程接口来搞。
第二步:选个趁手的“家伙”
编程接口也有不少,我选“BaoStock”这个库,主要看中它免费、开源,而且用起来也挺顺手的。
先得把它装上,在命令行里输入:
pip install baostock
等进度条走完,就装好。
第三步:开干!
装好“家伙”,咱就开始干活。先上代码:
import baostock as bs import pandas as pd lg = *() rs = *_history_k_data_plus("sh.600188", "date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST", start_date='2000-01-01', end_date='2024-05-09', frequency="d", adjustflag="3") data_list = [] while (*_code == '0') & *(): data_*(*_row_data()) result = *(data_list, columns=*) *_csv("D:/600188_stock_*", encoding="gbk", index=False) print(result)
这段代码,干这么几件事:
- 登录: 先用登录一下BaoStock。
- 取数据:
*_history_k_data_plus()
就是取历史数据的函数。 - 参数设置:
"sh.600188"
:这是股票代码,上海的股票前面加"sh",深圳的加"sz"。"date,code,open..."
:这一串儿是咱要的数据字段,日期、代码、开盘价、最高价、最低价等等。start_date
和end_date
:设置开始和结束日期。frequency="d"
:要的是每天的数据,如果要每周的就改成"w"。adjustflag="3"
:复权选项,选3就是不复权。
- 存数据: 取到的数据,咱把它存到一个CSV文件里,方便以后用。
- 退出: 用完记得退出登录。
运行完代码,咱就在D盘目录下找到这个数据文件,搞定!
一点小经验
在处理数据过程中我发现有些日期的数据是空的,可能是停牌之类的,正常!
今儿就分享到这儿。希望对大家伙儿有帮助!
还没有评论,来说两句吧...