Python全系列 教程
3567个小节阅读:5931.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
利用随机森林训练“青岛啤酒”(股票代码“600600.XSHG”)的均线指标、相对强弱指标
后,来预测该股票下一个交易日的涨跌。
ximport talib #导入talib库
from jqdata import * #导入聚宽函数库
test_stock = '600600.XSHG' #设置测试标的为青岛啤酒
start_date = datetime.date(2024, 1, 4) #设置开始时间
end_date = datetime.date(2025, 2, 21) #设置结束时间
trading_days = list(get_all_trade_days()) #获取所有交易日
start_date_index = trading_days.index(start_date) #获取开始时间
end_date_index = trading_days.index(end_date) #获取结束时间
#定义两个列表变量
x_all = []
y_all = []
for index in range(start_date_index, end_date_index):
# 得到计算指标的所有数据
start_day = trading_days[index - 30]
end_day = trading_days[index]
#利用get_price()函数获得股票数据
stock_data = get_price(test_stock, start_date=start_day, end_date=end_day, frequency='daily', fields=['close'])
#变义变量并赋值为收盘价
close_prices = stock_data['close'].values
#通过数据计算指标
# -2是保证获取的数据是昨天的,-1就是通过今天的数据计算出来的指标
ma_data = talib.MA(close_prices)[-2] #均线指标
rsi_data = talib.RSI(close_prices)[-2] #相对强弱指标
features = []
features.append(ma_data) #添加均线指标、相对强弱指标
features.append(rsi_data)
# 设置变量label为布尔变量,并赋值为False
label = False
if close_prices[-1] > close_prices[-2]:
#如果今天收盘价大于昨天收盘价,则变量label为True
label = True
x_all.append(features)
y_all.append(label)
# 准备随机森林算法需要用到的数据
import numpy as np
x_train = np.array(x_all[: -1])
y_train = np.array(y_all[: -1])
x_test = np.array(x_all[-1]).reshape(1,-1)
y_test = np.array(y_all[-1])
print('数据已准备好了!')
from sklearn.ensemble import RandomForestClassifier #导入随机森林分类器
#调用随机森林分类器
clf = RandomForestClassifier()
#训练的代码
clf.fit(x_train, y_train)
#得到测试结果
prediction = clf.predict(x_test)
if prediction == y_test :
print("预测正确!")
else:
print("预测错误!")