用python做股票数据分析

本文我们一起用python来对某只股票的所有历史日数据,做一个探索性的分析,看看能不能有一些有趣的发现,希望能激起你对金融数据分析的兴趣。主要用到numpy,pandas模块的一些基本用法。本文的所有数据,包含所有A股的日数据,在文末有下载。

一、熟悉数据集

我们先导入需要的模块,然后用pandas的read_csv方法载入数据集。

img

观察数据集,包含了代码为000001的股票(平安银行)从上市至今的共6000多天的交易记录,包括每个交易日的交易日期,四个价格(最高,最低,开盘,收盘),涨跌(比),以及交易量和交易额。可以说,有了上面这些数据,可以造出任意一个技术分析指标。

画个收盘价的均线图试试看:

img

上文代码解释:我们先把“trade_date“这一列调整为时间格式,再把它设置为index。然后用df.rolling().mean()计算移动平均数。最后为了现实清晰,选取6500行以后的三个数据进行可视化显示。

二、初步探索数据集

1.看一下目前的价格处于历史中的什么价位

img

知道了一只股票的价格目前相对最高最低价所处的位置,我们就可以据此对它有一个总体的认识。我们还可以把上面的代码封装成一个函数,函数的输入是股票代码,然后遍历所有的股票,这样我们就可以挑选出我们需要的股票进行进一步研究。比如你想要超低价股,那么可以把p小于5%的股票打印出来,如果想要历史最高价的股票,那就是p=1.

2.选择合适的移动平均数

有些散户喜欢利用移动平均线来判断买入卖出,比如常见的,五日ma5上穿十日均线ma10时买入股票,反之卖出股票。那我们接下来先看看,这样的策略效果怎么样。

img

上文代码解释:我们根据之前的df生成一个新的dataframe:signals。然后把ma5大于ma10的情况筛选出来,生成新的dataframe:upsig。再对所有ma5大于ma10的时候的涨跌绝对值进行一个简单的相加。可以看出,结果还是比较大的,说明这个策略在这只股票上其实还是有可行性的。

那么我们不禁要问,5和10这两个参数是不是最佳的呢?如果选5和20呢?结果怎么样?如果你能想到把上面的代码封装成函数,然后用这两个参数作为输入,用循环遍历的方法求出一个最大值,那么也是很可以的了。当然我们还有更加犀利的工具,那就是机器学习!

img

用上面的代码,一会儿就造出了接近500个特征,也就是我们机器学习重点的input_data,然后我们可以选取“change”作为我们的结果标签,需要优化的两个参数可以作为超参,使用LR,SVM,RF,ANN等模型把它们玩透。怎么玩?请听下回分解。

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

  • 30
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT猫仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值