首页 文章详情

量化股票第一步,用<em><!--red_beg-->Python<!--red_end--></em>画股票K线,双均线图,可视化你的股票数...

微信用户2037120796 | 68 2024-03-27 11:48 0 0 0
UniSMS (合一短信)
👇我的小册 40章+教程:( 小白零基础用Python量化股票分析小册 ) ,目前已经350多人订阅

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

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

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

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

f0788d63062b9efb5b535f424399a833.webp

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

1.安装pyechats库

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

用pip install pyecharts 即可。

28e37e67d8812c0068552aa9ddf2a72d.webp

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

6b2855c7d05a7aa954aca675839a1fb6.webp

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

1319269bc737b83611affab59101f1f9.webp

因为渲染的时候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里面,我们看一下效果:

d0cd9a2a051d027c4e6dc31e67c7a5c0.webp

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

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

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

3d82cb9d098ba4a38c309451ba6c601a.webp

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

2ed5e4dae3296e4e13ad33e9ba66bc8c.webp

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

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

a991cbf98589a52c1ae50e689d173a3a.webp

首先我们计算一下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日均线图叠加。

62161907f1af01eab94f589fcf36a973.webp

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

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

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

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

3ca50f4403d48176aa33591cf7be1179.webp

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

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

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

9b5759a0f9c60aca5b8e50bdbc6f5995.webp

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

010623677a3607c37af41a0f099fb969.webp

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

a0e3bb8467c987c060d6e5de74bbea41.webp

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

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


b33617278bb11b6725aa23fa56d20ba9.webp

最后推荐一下我们团队写的量化小册的内容 ,45篇内容 !从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!

欢迎订阅: 原价 199  早鸟价2杯咖啡钱,即可永久阅读。满400人又要涨价了,现在的价格非常非常低, 只要2杯奶茶,就可以终身订阅+课程源码 ,还有永久陪伴群。48小时无理由退款,放心食用!


b9829e4fd317be8af45ba098d01732b9.webp


              

推荐阅读:


量化: 如何用Python爬取创业板历史+实时股票数据!实战股票分析篇利用Pandas 9招挖掘五粮液股价实战股票数据分析篇 Pandas滚动操作 |量化股票第一步,用Python画股票K线,双均线图,可视化你的股票数据!如何用Python爬取全部800多只ETF基金数据!如何用Python写一个双均线策略 |如何用Python开发一个多策略机器人!上篇!Python量化系列-用布林策略买五粮液能赚多少钱?只要4秒钟!用Python 获取上证指数34年的历史日线数据!


入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径


干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  |  笑看新倚天屠龙记  |  灯谜答题王  |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影


趣味:弹球游戏  | 九宫格  |  漂亮的花  |  两百行Python《天天酷跑》游戏!

AI:  会做诗的机器人  |  给图片上色  |  预测收入  |  碟中谍这么火,我用机器学习做个迷你推荐系统电影


小工具:  Pdf转Word,轻松搞定表格和水印!  |  一键把html网页保存为pdf! |   再见PDF提取收费!  |  用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换  |  制作一款钉钉低价机票提示器!  | 60行代码做了一个语音壁纸切换器天天看小姐姐!

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter