Python-VS19/20200311

本文介绍如何在Visual Studio 2019中使用Python进行股票数据分析,包括导入第三方库、读取股票数据、应用线性回归模型进行预测,并通过matplotlib绘制预测结果与实际收盘价对比图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. VS17安装Python的第三方包总是出错,改用软件管家下载到的VS2019,安装很方便,这个公众号真心不错
  2. 做了一个CSDN现有例子的测试,代码如下:
   # !/usr/bin/env python
   # coding=utf-8
import pandas as pd
import numpy as np
import math
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# 从文件中获取数据
#origDf = pd.read_csv('D:/stockData/ch13/6035052018-09-012019-05-31.csv',encoding='gbk')
origDf = pd.read_csv('C:/StockExcel/603601.csv',encoding='gbk')
df = origDf[['Close', 'High', 'Low','Open' ,'Volume']]
featureData = df[['Open', 'High','Low', 'Volume']]

# 划分特征值和目标值
feature = featureData.values
target = np.array(df['Close'])

# 划分训练集,测试集
feature_train, feature_test, target_train ,target_test = train_test_split(feature,target,test_size=0.05)
pridectedDays = int(math.ceil(0.05 * len(origDf)))    # 预测天数
lrTool = LinearRegression()
lrTool.fit(feature_train,target_train)   # 训练
 
# 用测试集预测结果
predictByTest = lrTool.predict(feature_test)

# 组装数据
index=0

# 在前95%的交易日中,设置预测结果和收盘价一致
while index < len(origDf) - pridectedDays:
 
   df.loc[index,'predictedVal']=origDf.loc[index,'Close']
 
   df.loc[index,'Date']=origDf.loc[index,'Date']
 
   index = index+1
 
predictedCnt=0
 
# 在后5%的交易日中,用测试集推算预测股价
 
while predictedCnt<pridectedDays:
 
     df.loc[index,'predictedVal']=predictByTest[predictedCnt]
 
     df.loc[index,'Date']=origDf.loc[index,'Date']
 
     predictedCnt=predictedCnt+1
 
     index=index+1
plt.figure()
df['predictedVal'].plot(color="red",label='predicted Data')
df['Close'].plot(color="blue",label='Real Data')
plt.legend(loc='best')    # 绘制图例
 
  # 设置x坐标的标签
 
major_index=df.index[df.index%10==0]
major_xtics=df['Date'][df.index%10==0]
plt.xticks(major_index,major_xtics)
plt.setp(plt.gca().get_xticklabels(), rotation=30)

# 带网格线,且设置了网格样式
plt.grid(linestyle='-.')
plt.show()

  1. 这段代码调试时,按照编译提示,把import中的第三方库都可以在python环境中搜索,可以自动安装在这里插入图片描述
  2. 调试的问题是,原作者使用了df.ix,一直出现该属性不存在,后改为df.loc,据说是最新版本的pandas已经取消了ix方法
  3. 最后运行结果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值