python股票预测(tushare)-基于贝叶斯原始代码

1、tushare介绍

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

2、导入股票数据

python中是利用Tushare包导入数据。tushare的安装直接pip install tushare即可,一般不会出现错误。
这里导入的是hs300的数据:

import tushare as ts
import pandas as pd
import numpy as np
import talib
df = ts.get_hist_data('hs300')  

这里展示部分数据
在这里插入图片描述

3、talib包计算指标

talib是计算股票各个指标的包,安装talib的方法,这篇博客写的相当清楚了,可以参考,记得选择合适自己Python版本的安装包https://blog.csdn.net/u010671948/article/details/79714647
这里计算了rsi指标和cci指标:

data = pd.DataFrame()
data['a2'] = talib.RSI(np.array(df.close), 7) #%rsi指标
data['a4'] = talib.CCI(np.array(df.high),np.array(df.low),np.array(df.close),14)  #;%cci指标
a1 = [0]
for i in range(1,len(df.close)):
    a1.append(df.close[i]-df.close[i-1])
data['a1']=a1 

y = []
for i in range(
  • 14
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
基于贝叶斯股票预测可以使用贝叶斯线性回归模型来实现。以下是一个简单的Python代码实现: 首先,需要导入所需的库和数据集: ```python import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import BayesianRidge from sklearn.metrics import mean_squared_error data = pd.read_csv('stock_data.csv') ``` 接着,对数据集进行分割,将其划分为训练集和测试集: ```python X = data[['Feature 1', 'Feature 2', ... , 'Feature n']] y = data['Target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) ``` 然后,对特征进行多项式转换: ```python poly = PolynomialFeatures(degree=2) X_train_poly = poly.fit_transform(X_train) X_test_poly = poly.transform(X_test) ``` 接着,使用贝叶斯线性回归模型进行拟合: ```python model = BayesianRidge() model.fit(X_train_poly, y_train) ``` 最后,使用模型对测试集进行预测,并计算均方误差: ```python y_pred = model.predict(X_test_poly) mse = mean_squared_error(y_test, y_pred) print('Mean Squared Error:', mse) ``` 完整代码如下: ```python import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import BayesianRidge from sklearn.metrics import mean_squared_error data = pd.read_csv('stock_data.csv') X = data[['Feature 1', 'Feature 2', ... , 'Feature n']] y = data['Target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) poly = PolynomialFeatures(degree=2) X_train_poly = poly.fit_transform(X_train) X_test_poly = poly.transform(X_test) model = BayesianRidge() model.fit(X_train_poly, y_train) y_pred = model.predict(X_test_poly) mse = mean_squared_error(y_test, y_pred) print('Mean Squared Error:', mse) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值