量化股票第一步,用Python画股票K线,双均线图,可视化你的股票数据!

量化是一个庞大的学科体系,华尔街早在很多年前就有了一帮精英在研究,集合了数学,统计学,计算机和金融几大学科的知识,其中Python目前是量化领域最通用的编程语言。

前面小编写了几篇关于股票量化的开胃菜,有粉丝同学私信我比较有兴趣,今天我们继续写,更多内容我们都看我们的小册:

我的小册:小白零基础用Python量化股票分析小册,原价199 早鸟价39(满100人涨10元)

今天带大家要用可视化的方法来分析股票数据了。我们平时一些券商或者是同花顺软件上看股票数据,都是看到的K线数据,其实我们也是可以自己用python代码来可视化的话,下面我们就来详细讲一讲。我们还是用五粮液100天的K线数据来演示:

很多教程选择matplot这个库来可视化的,但是这个库有字体乱码的问题,而且颜色也不是很好看,这次我们选择pyecharts这个库来进行可视化。

1.安装pyechats库

Pyecharts 是一个用于创建交互式图表和可视化的Python库。它是基于百度的 ECharts JavaScript 库的一个Python封装。ECharts 是一个广泛使用的、功能丰富的图表库,能够生成各种类型的图表,例如折线图、柱状图、饼图、散点图、地图、K线图等。

用pip install pyecharts 即可。

2.画出五粮液股票的K线图

我们导入pyecharts这个库,并且导入kline ,然后导入pandas开始读取数据 ,然后开始画图。

因为渲染的时候x轴必须是一个列表,所以需要线把我们的data这个dataframe数据提取交易日期这一列,然后转为列表

同样渲染的时候y轴是一个嵌套列表,包含了每一天的开盘/收盘/最高价/最低价,所以我们得到的ohlc就是这样长这样的:

[[165.45, 165.14, 163.88, 165.76], [165.2, 165.46, 165.0, 166.66] …

然后我们创建Kline这个对象即K线图,对它进行配置,Kline()Pyecharts中用于生成K线图的类。添加x轴和y轴的数据(上面已经准备好了这2个数据)

kline.set_global_opts 是开始配置K线图一些全局配置:

  • xaxis_opts=opts.AxisOpts(is_scale=True): 设置x轴的配置。is_scale=True 表示x轴将自动缩放,以适应数据的范围。

  • yaxis_opts=opts.AxisOpts(...): 设置y轴的配置。其中包括使y轴自动缩放,以及定义分割区域的样式。splitarea_opts用于设置y轴分割区域的显示(如显示网格),areastyle_opts定义了区域的样式(如透明度)。

  • title_opts=opts.TitleOpts(title="五粮液100天K线图"): 设置图表的标题。

这些设置帮助自定义图表的外观和行为,例如调整轴的缩放、样式和图表的标题。

最后我们会把生成的K线图保存到一个wuliangye_kline.html里面,我们看一下效果:

是不是有点小成就感,竟然可以手动画出了股票的K线图,而且因为是html类型,我们可以在网页上鼠标点击任何一根k线都可以看到具体的数据。不要急,我们后面还要继续增加一些内容。

3.在图上标出最高价和最低价

上面的图只是开胃菜,图还是很单调的,我们需要增加最高价和最低价

然后我们在kline配置y轴的时候,增加一个markpoint_opts,里面设置一下最高价和最低价配置即可,我们看一下效果图:

4.在图上画出10日MA均线

我们需要在上图的继续继续增加内容,我们要增加一根10日的均线,大家还记得前面的基础的pandas部分给大家讲过如何计算均线,其实就是用rolling函数()来计算即可。

首先我们计算一下ma10的均线,因为是10日的均线,所以第一日到第九日都是空的都是NaN, 从第10日开始才有值,

这行代码ma10 = data[‘收盘价’].rolling(window=10).mean().dropna()输出的结果:

9 169.081

10 170.517

11 171.751

12 172.332

13 173.251

就是从第10天开始的。

然后我们需要创建一个line对象(10均线),然后配置一下x轴和y轴的内容 ,接着我们需要把K线图和10日均线图叠加。

kline里的overlap函数用于组合多个图表,使得它们可以在同一个画布上显示,我们将MA10的折线图(line_ma10)添加到K线图(kline)上。然后初始化一个Grid布局,这是Pyecharts用于组合多个图表的一个布局容器。

Grid可以让你在一个网页上布局多个图表,并且可以调整每个图表的位置和大小。

init_opts参数用于初始化设置,其中width和height用于指定整个Grid布局的宽度和高度。在这里,我们将整个网格的大小设置为1400像素宽和800像素高。

最后grid.render()函数,它将渲染整个网格布局(包括所有添加的图表)到一个HTML文件中。我们看一下效果图:

我们可以看到整个K线图上加了一个MA10均线,而且当鼠标停在上面的时候,会精准的显示开盘价,收盘价,最低价,最高价和MA10均线值。

5.在图上画出10日,20 日 双MA均线

同理我们增加一个ma20的line对象,然后跟上面的图形组合,看一下代码:

基本设置跟前面的ma10一样,只是改了一下参数而已,我们看一下效果图吧:

然后我们跟实际的某券商股票软件上的K线来对比一下,看看是否一样:

显示的是一样的,可视化可以帮我们非常直观的观察你的策略和信号,是量化非常重要的一步。有的同学可能会抬杠,很多软件都有可视化,为啥我们还要自己动手做。这个问题就好像很多饭店都有菜,为啥你还要自己做饭。

自己动手画自己的策略,可以更深刻的理解自己的策略,而且很多策略和参数都是你自己定制的,股票软件上不一定有,所以掌握这个技能可以帮你更好的理解量化。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!


如果想要系统学习Python、Python问题咨询,或者考虑做一些工作以外的副业,都可以扫描二维码添加微信,围观朋友圈一起交流学习。


我们还为大家准备了Python资料和副业项目合集,感兴趣的小伙伴快来找我领取一起交流学习哦!

关于Python学习指南

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

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

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

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

在这里插入图片描述

👉Python学习视频600合集👈

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

在这里插入图片描述

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

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

在这里插入图片描述

👉Python大厂面试资料👈

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

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

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

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于股票量化回测及可视化大作业项目源码,我会使用Python来完成。首先,我会利用Python的pandas库来处理股票数据,包括获取股票历史数据数据清洗和指标计算等。 在回测方面,我会使用Python的backtrader库来构建回测框架。回测框架可以提供基于历史数据的交易策略回测,并且可以灵活地调整策略参数和交易规则。在回测过程中,我会通过计算策略的收益、风险指标以及评估其与基准指数的比较,来评估策略的有效性和优劣。 在可视化方面,我会使用Python的matplotlib和seaborn库来绘制股票图表和指标图表。通过绘制K线图、移动平均线、交易信号等,可以直观地观察股票走势和策略效果。另外,我还可以使用Python的plotly库创建动态可视化图表,使得股票数据更加生动和具有互动性。 除了以上的主要库,我还会利用其他相关的Python库来辅助完成项目源码,比如numpy用于数据处理和计算、scikit-learn用于机器学习模型的训练和预测、pandas-datareader用于获取股票数据等。 这个项目源码的编写过程中,我会注重代码的结构和可读性,使用函数和类来封装重复的代码和逻辑,便于代码的复用和维护。同时,我也会添加适当的注释和文档,方便他人阅读和理解代码。 总体而言,Python大作业股票量化回测及可视化大作业项目源码将会涉及数据获取与处理、回测策略构建与优化、交易信号生成与执行、收益统计与评估、图表可视化等方面,通过综合运用Python的相关库和功能,实现一个全面且高效的股票量化回测及可视化系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值