开源金融数据包:akshare、 baostock
在量化投资领域有2个很出名的包,一个是akshare 一个是 baostock,目前获取数据都是免费的,今天主要讲 baostock 这个包。

安装包,包里面包括可量价数据,估值数据,再通过一些计算可以把总市值和利润数据给计算出来,基本上就包括了所有的,一个股票需要关心的数据,通过Python获取数据,通过tableau或者spss modeler做建模和可视化。
pip install baostock安装完成包以后,里面的数据是str格式的,我这边已经帮大家做了格式转行,可以直接下载使用。
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线数据 ####
rs = bs.query_history_k_data_plus("sz.002594",
"date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST,peTTM,pbMRQ,psTTM,pcfNcfTTM",
start_date='2015-01-01', end_date='2025-12-31',
frequency="d", 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)
#数据格式转行
for col in result.columns:
result[col] = pd.to_numeric(result[col], errors='ignore')
result['totalShare'] = result['amount'] / result['turn'] # 总市值
result['netProfit'] = result['totalShare'] / result['peTTM'] # 净利润
#### 登出系统 ####
result.to_csv("D:\\history_A_stock_k_data.csv", index=False)
bs.logout()我们获取的时候比亚迪的数据,先做一个技术面分析,比亚迪由于利润增长乏力,进入了一个瓶颈期。

可以看出最近的估值还是很低,不过巴菲特老爷子已经清仓了比亚迪。

根据上次预测的A股大盘走势,我们看看能不能预测股票的走势,在里面增加构建XY代码
#构建XY
result = result[result['amount'] != 0]
for i in [5, 10,20]:
for j in ['pctChg', 'turn']:
new_col = f"{j}_{i}"
result[new_col] = result[j].rolling(i).mean()
result['y_price'] = result['close'].shift(-10) - result['close']
result = result[20:]通过spss modeler做建模,相关性0.82,预测比亚迪后面会走下跌行情

我们预测的是10个交易日的数据, 之前预测沪深300的10个交易日上涨,比亚迪的10个交易日下跌,等2周我们再来验证。
大家如果使用tableau软件做可视化,可以网上搜索 tableau10.5 或者去pdd购买,价格很便宜。spss modeler 18.0的版本,网上也可以搜索到。
不过对于普通人没必要去学习这些工具,直接使用第三方的低代码平台,比如次方量化的平台功能。
上一篇:头部券商开户:超低手续费+QMT+赠送会员 下一篇:邀请好友订阅,获得20%的奖励
次方量化-技术博客
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。