基于SVM算法的股票预测分析

您所在的位置:网站首页 python预测股市 基于SVM算法的股票预测分析

基于SVM算法的股票预测分析

2024-07-02 15:59| 来源: 网络整理| 查看: 265

基于SVM算法的股票预测分析 1.数据集选取与描述

由于股票数据的混沌性、无序性,不适宜选取太多的数据作为模型训练的数据集。故本文选出的数据是“温氏股份”200个交易日的股票数据,数据集的原始变量有交易日期、开盘价、收盘价、最低价、最高价、成交量、价格变动、涨跌幅等。本文的数据来源是Python的一个第三方库TuShare-财经数据包。其中,date代表日期,open为当天开盘价,high为当天最高价,close为当天收盘价,low为当天的最低价,volume为当天的成交量, price_change为价格变动,p_change为涨跌幅,diff为收盘价与开盘价之差即close-open获得,up为1代表涨,up为-1代表为跌。

from cProfile import label from cmath import sqrt from csv import field_size_limit from os import closerange import tushare as ts import numpy as np import pandas as pd from pandas import DataFrame as DF from sklearn import svm import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.model_selection import train_test_split from sklearn import preprocessing as pre from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay import seaborn as sns from sklearn.metrics import accuracy_score from sklearn.metrics import roc_curve, auc #导入plot_roc_curve,roc_curve和roc_auc_score模块 from sklearn.metrics import plot_roc_curve,roc_curve,auc,roc_auc_score from sklearn.metrics import mean_squared_error # 均方误差 from sklearn.metrics import mean_absolute_error # 平方绝对误差 from sklearn.metrics import r2_score #中文标签、负号正常显示 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False #1数据采集 #温氏股份的股票代码为300498,数据采集并存到本地csv文件 data = ts.get_hist_data(code='300498',start = '2019-12-01',end='2022-05-04') #取近90天的温氏股份股票的交易日期、开盘价、收盘价、最低价、最高价、成交量、价格变动以及涨跌幅数据 data = DF(data).iloc[0:200,0:7] #diff列代表当天收盘价和开盘价之差 data['diff'] = data['close']-data['open'] data.fillna(0,inplace=True) #up列为1代表当天上涨,-1代表当天下跌 data['up'] = data['diff'] data['up'][data['diff']>=0] = 1 data['up'][data['diff']


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3