次方量化 全球宏观 每月宏观 公众号 股票开户

开源金融数据包:akshare、 baostock

lindercube 2个月前 (10-24) 阅读数 189 #量化教程

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

image.png

安装包,包里面包括可量价数据,估值数据,再通过一些计算可以把总市值和利润数据给计算出来,基本上就包括了所有的,一个股票需要关心的数据,通过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的版本,网上也可以搜索到。

不过对于普通人没必要去学习这些工具,直接使用第三方的低代码平台,比如次方量化的平台功能。


分享到:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门
标签列表