k线 pyecharts python_用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)...

本文介绍了如何使用Python的pandas_datareader库爬取股票数据,绘制K线和均线图表,并利用sklearn进行股票价格预测。详细讲解了从获取数据到绘制图表,再到机器学习模型的构建过程,旨在帮助读者掌握股票数据分析和预测技巧。
摘要由CSDN通过智能技术生成

    最近我出了一本书,《基于股票大数据分析的Python入门实战 视频教学版》,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Python爬虫、数据分析和机器学习的技术,大家看了我的书,不仅能很快用比较热门的案例学好Python,更能了解些股票知识,不至于一入市就拍脑袋买卖。

    在本文里,将给出若干精彩范例,包括用爬虫获取股市数据,用matplotlib可视化控件绘制K线和均线,以及用sklean库里的方法,通过机器学习预测股价的走势。

1 通过pandas_datareader库的方法爬取股市数据

    pandas_datareader是一个能读取各种金融数据的库,在下面的getDataByPandasDatareader.py范例程序中演示了通过这个库获取股市数据的常规方法。    

1    # coding=utf-82    from pandas_datareader import data as pdr3    import yfinance as yf4    yf.pdr_override()5    code='600895.ss'6    stock = pdr.get_data_yahoo(code,'2019-01-02','2019-02-01')7    print(stock)    # 输出内容8    # 保存为excel和csv文件9    stock.to_excel('D:\\stockData\\ch5\\'+code+'.xlsx')10    stock.to_csv('D:\\stockData\ch5\\'+code+'.csv')

    从这个范例程序的代码上来看,不算复杂,从中没有见到爬取网站之类的代码。关键的是第6行,通过调用pdr.get_data_yahoo方法从雅虎网站获取数据,这个方法的参数分别是股票代码,开始日期和结束日期。第4行使用yf.pdr_override方法是为了防止雅虎网站修改获取历史数据的API接口而导致get_data_yahoo方法不可用。

    在这个范例程序中获取了600895(张江高科)2019-01-02到2019-01-31的数据,可以看出,获取的数据并不包括结束日期参数当天的数据。

    在第7行和第8行分别调用了to_excel和to_csv方法,把结果存入了指定目录下的文件中。这个范例程序运行后,我们首先能在控制台中看到输出,其次会在D:\stockData\ch5\目录中,看到600895.ss.xlsx和600895.ss.csv这两个保存股票数据的文件。打开600895.ss.xlsx文件,能看到如图5-4所示的数据内容,其实在控制台中和另一个csv文件中,可以看到一样的数据。

16d5df34e519091590d3353d885ed679.png

    在上述范例程序中,在调用get_data_yahoo方法时,传入的股票代码带有.ss的后缀,这表示该代码是沪股的。此外,还能通过.sz的后缀来表示深股,通过.hk的后缀表示港股。如果要获取美股的数据,则直接用美股的股票代码即可。在下面的printDataByPandasDatareader.py范例程序中演示了获取美股,港股和深股相关数据的方式。 

1    # coding=utf-82    from pandas_datareader import data as pdr3    import yfinance as yf4    yf.pdr_override()5    stockCodeList = []6    stockCodeList.append('600007.ss')      # 沪股“中国国贸”7    stockCodeList.append('000001.sz')   
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值