B1早报是怎样生成的

承蒙各位的厚爱,发布B1早报这半个月以来,很多朋友都来咨询图片是如何制作的。

最近稍微有些空闲时间,于是整理了下代码丢在GitHub上,欢迎star🌟:

https://github.com/mmoux24/jddfz

代码没什么技术含量,欢迎大家魔改,希望能帮助到更多的朋友们🤘

接下来详细介绍一下整个B1早报的工作流,希望各位都能有所收获。

1. 思路与步骤

总体思路比较简单,需要以下几个步骤:

  1. 获得价格数据
  2. 计算KDJ指标
  3. 生成早报表格
  4. 渲染早报图片
  5. 上传分享平台
  6. 部署运行代码

核心代码使用Python编写,kuku就是干

2.1 获得价格数据 计算KDJ指标

我们的目标是获得KDJ的J值。根据这篇KDJ扫盲文章,KDJ展示了当前收盘价格在一段时间内的波动指标,通过最近几日的最高价、最低价、收盘价即可计算KDJ。

akshare提供了Python的API来通过网络获取历史行情数据,包括但不限于最高最低价、成交额成交量等。它支持东方财富、新浪、腾讯等各类数据源。

stock-pandas是一个方便好用的金融指标(MACD、BBI、KDJ等)计算库,我们只需要指定好数据格式即可计算出KDJ值。

相关的代码在jddfz/gen_fcast.py,脚本使用akshare获取了20230101以来的历史数据,通过stock-pandas生成了当日、上周、上月的J值,结果输出在jddfz/output文件夹中。

2.2 生成早报表格 渲染早报图片

为了方便渲染,我这里采用了Markdown格式的表格作为内容,使用转图片的工具用来生成早报。

Markdown是一种轻量级的标记语言,你可以专注文档的内容本身,根据不同的需求进行样式渲染。(没错,这篇文章也是通过Markdown书写✍️的)

美是第一生产力,但可惜我不是专业的前端选手。一番搜索后找到了一款markdown-to-image工具,能将Markdown转换成精美的海报,同时也有markdown-to-image-serve对应的API工具

相关的代码在jddfz/fcast2md.pyjddfz/md2img.pyfcast2md.py筛选了上一节中的负J值数据,加入红色背景样式,输出Markdown文件。md2img.py将把该文件丢给markdown-to-image-serve来生成图片。

2.3 上传分享平台

目前主要的分享平台是公众号和B站。网上有很多教程和开源工具,我主要参考了wxmpbilibili-api,按照文档写写代码,替换一下自己账户的APPID或SESSDATA即可。

不过比较蛋疼的一点是个人公众号不能通过API群发文章,所以现在还只是自动化生成草稿,每天再手动选择定时发送。有相关经验的朋友也请不吝赐教。

2. 最后多说几句

有很多朋友都会在评论区问XXX能不能买,或者J到负值就要梭了。

KDJ是基于历史数据的指标,并不能完全预测未来,它只能体现前一段时间的超买超卖特性。

KDJ只是一个非常简单的择时操作,也要结合当时的市场环境,需要选择合适的标的,必要的时候止损,才能踏踏实实的。

很多朋友也会问早报里面的XXX是谁。还是建议各位补一下直播回放,对自己的钱负责。

我本人对前端展示和美化并不熟悉,但在写的过程中ChatGPT和DeepSeek帮我生成了很多好用美观的代码,我们的AI科技真的不比别人差。对我们的国家和A股有信心,只要在核心资产的车上,就总会到达目的地。

祝各位大富翁游戏玩得愉快。