当前位置: 首页 > 科技观察

2022年,教你用Python预测茅台股票涨跌

时间:2023-03-17 12:50:55 科技观察

2022年,教你用Python预测茅台股票的涨跌,业绩会有怎样的变化。二话不说,上梯子,引导库拉取数据:importpandasaspdimportpandas_datareader.dataaswebimportnumpyasnpfromdatetimeimportdatetime数据太多了,来了3年:end=datetime.date.today()start=end-datetime.timedelta(days=365*3)我是大A股,最强股,如果是茅台,没人反对吧?然后我们来获取茅台的行情数据:cowB=web.DataReader('600519.ss','yahoo',start,end)cowB.head()拉下来的时候吓了一跳。2019年1月,茅台才600多元!不敢。那时候我A股一百多的股票不多!然后我按照书上的方法做了特征工程:cowB['open-close']=cowB['Open']-cowB['Close']cowB['high-low']=cowB['High']-cowB['Low']cowB['target']=np.where(cowB['Close'].shift(-1)>cowB['Close'],1,-1)cowB=cowB.dropna()cowB.tail()然后又多了几列,在target中,1表示第二天上涨,-1表示第二天下跌:接下来要做模型:x=cowB[['open-close','high-low']]y=cowB['target']splitintox和y,然后请exportscikit-learn:fromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLogisticRegression然后将数据集拆分成训练集集和测试集:x_train,x_test,y_train,y_test=train_test_split(x,y,train_size=0.8)查看逻辑回归如何执行:lr=LogisticRegression()lr.fit(x_train,y_train)print(lr.score(x_train,y_train))print(lr.score(x_test,y_test))发现书上KNN的分数没有这么高:0.54388984509466440。5136986301369864逻辑回归在训练集中的准确率为54.39%,与书中KNN的准确率基本持平;但在测试集中只有51.37%,比书上的KNN模型低了将近3个百分点。折腾了一圈,结果并不尽如人意。按说逻辑回归在分类任务上的表现应该比KNN好。难道是本弦的数据太吵了?还是这种预测本身就毫无意义?