股票学习网

怎么买股票_怎么买股票入门_新手怎么买股票 - - 股票学习网!

全自动炒股软件排行榜(炒股自动选股软件)

2023-11-22 12:09分类:震荡行情 阅读:

在分享光伏设备行业的龙头股之前,老余先聊一下这个行业的内在逻辑,只有搞清楚了逻辑,才知道行业和公司正处在什么位置。

第一,光伏装机规模保持快速增长的态势;市场预计2025年光伏设备需求有望达到720-803亿元,未来五年年复合增速14.9%-17.4%。

第二,光伏设备更新换代快;光伏是一个技术发展快,设备迭代快、产品成本快速下降的行业,这类行业对上游设备的更新换代也非常迅速。

市场预计未来光伏设备行业需求将维持高景气,而光伏硅片、电池和组件设备的核心龙头股等将充分受益。

老余特地帮大家梳理出来了光伏设备的潜力龙头公司,值得大家收藏起来研究!

第一,晶盛机电,国内大硅片设备龙头公司。公司在光伏大硅片设备的整体市占率高达60%,单晶炉在国内市场占有率排名第一,占据90%的高端市场。公司在光伏产业链装备取得了行业认可的技术和规模双领先的地位。机构预计2021-2022年公司光伏设备潜在新增订单合计达222亿元。

第二,迈为股份,太阳能电池丝网印刷设备龙头公司。公司打破了丝网印刷设备进口垄断的格局,而丝网印刷设备是太阳能电池片必不可少的设备。公司目前布局HJT全新赛道,在手订单居国内第一,成为HIT整线设备供应商,未来有望充分受益HJT渗透率提升。

迈为股份在最新交流中透露,今年目前为止全市场共有6.3GW HIT设备订单,但是公司一家就占到了5GW,市场份额高达近80%。

第三,捷佳伟创,光伏电池设备的领先企业。公司是国内唯一具备PERC设备整线供应能力的企业,综合市占率超50%,其中核心的单晶制绒设备和刻蚀清洗设备市场占有率达70%以上,扩散设备和PECVD设备市场占有率达50%以上。

目前公司在积极布局HIT全新赛道,具备整线覆盖能力,RPD设备提效优势显著、为国内市场独家。公司是国内少有的具备PERC/TOPCon/HJT三种工艺设备供应能力的企业。

第四,帝尔激光,光伏激光设备龙头公司。公司有望在TOPCon、HJT时代延续行业龙头地位。公司过去六年净利润复合年均增长高达111.3%,TOPCon、HJT推动2023年光伏激光设备市场达37亿元,三年CAGR约43%,而公司的市场占有率有望保持在80%左右。

第五,金辰股份,光伏组件设备龙头企业,光伏HIT电池设备新星。公司具备光伏组件设备整线供应能力,目前已形成HIT薄片化组件制造技术和生产线成套装备的供应能力,在光伏异质结电池行业爆发来临之际,打开公司的成长空间。

受益于下游扩产需求,在手订单饱满,占据规模、技术和客户优势,未来营收规模有望进一步提升,行业领先地位稳固。

第六,京山轻机,光伏智能成套装备龙头公司。公司的主要客户基本覆盖了光伏组件的前十大供应商。公司的光伏业务收入来源主要是子公司晟成光伏,公司的产品包括光伏组件自动化整体解决方案及相关智能装备、光伏电池整线自动化装备以及软件系统等等。如今,晟成光伏已将公司业务与技术延伸至HIT和钙钛矿叠层电池核心设备。

公司光伏业务满产满销,订单供不应求,公司根据市场需求,成立越南技术服务中心,而近两年,越南光伏市场发展迅速,一跃成为全球最大的光伏市场之一。

以上六家潜力光伏设备龙头公司,是老余长期跟踪研究的龙头概念股,希望大家能够收藏好,如果你有不同的看法,可以在评论区里给我留言。



 

背景

近期在学习数据分析,在课程最后老师讲了一下通过量化分析选择股票的案例,感觉挺有意思的,恰好周围也有人在炒股票,干脆自己做一个软件来实践一下学到的知识。课程上主要用python相关库来处理比特币的数据,数据量也不大,但是理解原理之后我们可以举一反三。

首先来回顾一下主要的知识点,选择股票的时候会用到两个重要的指标RSV、KDJ。他们的定义见下面的课件截图,具体的内容我就不阐述了,因为我是非金融专业的,对这些词汇解释起来有点吃力。我们只要记住这两个指标如何计算,以及后面如何使用即可

KDJ指标的定义

计算K指标

计算D指标

计算J指标

实验原理

老师在课程中讲到K和D都是反映股票变化趋势的,K要比D灵敏,当K值上穿D值时(第一次出现K>D)时代表股票可能出现向上反弹,此时是买入时机,当K下穿D值时(第一次出现K<D)时,代表股票有较大概率出现下跌,此时是卖出时机。

通过利用这个方法,我们可以在4000多支股票中筛选出若干可能出现反弹的股票,然后再用人的经验和其他方面的信息选出心仪的股票了。

我们的实验思路是:

先从网络上获取过去半年 4000支股票的交易信息,包括日期(date)、最高价(high)、最低价(low)、开盘价(open)、收盘价(close),将这些信息存储到stockbars表中

用python程序读取stockbars表中的每条记录,计算出rsv指标存储到stockrsvs表中

最后用python程序读取stockrsvs表,计算出k、d、j三个指标

最后我们用SQL语句查询数据库,每个人可以基于RSV、k、d、j这四个值自由定义查询方式

这里我们用到了kdj金融知识、python编程知识、SQL语言以及数据库相关的内容,也算是一次综合性的演练了。还可以利用Sugar来在线绘制大屏,https://juejin.cn/post/6976562433695416327

实验过程

实验环境准备

我们用到了python开发环境,这里我们用docker直接获取一个镜像使用,省的安装一堆乱七八糟的依赖,当然你也可以按照自己的喜好来自行安装

docker pull docker.io/python

 

 

 

 

 

 

数据库我们使用了一个免费的云数据库MemFireDB https://memfiredb.com ,他提供了公网IP以及可视化的SQL编辑器方便我们后续查询数据

实验步骤和代码

获取原始数据

计算RSV指标

for bar in bars: rsv = session.query(StockRSV).filter( StockRSV.id == bar.stock_id + "_" + str(bar.date) ).first() if rsv is not None: print("rsv: id:%s stock_id:%s, date:%s,rsv value:%s cal next bar" % ( rsv.id, rsv.stock_id, rsv.date, rsv.rsv )) continue prevbars = session.query(StockBar).filter( StockBar.stock_id == stock.id, StockBar.date <= bar.date ).order_by(StockBar.date.desc()).limit(window).all() if len(prevbars) < window: print("stock %s date %s perv less than window %s cal next date" % (stock.id, bar.date, window)) continue for prevbar in prevbars: print("prevbar: id %s , stock_id:%s, date:%s, open:%s, high:%s, low:%s, close:%s" % (prevbar.id, prevbar.stock_id, prevbar.date, prevbar.open, prevbar.high, prevbar.low, prevbar.close)) low = prevbars[0].low high = prevbars[0].high lastopen = prevbars[0].open lastclose = prevbars[0].close for prevbar in prevbars: if prevbar.high >= high: high = prevbar.high if prevbar.low <= low: low = prevbar.low print("rsv: stock_id %s, date:%s lastopen:%s, lastclose:%s, high:%s, low:%s" % ( bar.stock_id, bar.date, lastopen, lastclose, high, low)) stockrsv = StockRSV(id = bar.stock_id + "_" + str(bar.date), stock_id = bar.stock_id, date = bar.date, rsv = 100 * (lastclose - low) / (high - low)) session.add(stockrsv) session.commit()

计算结果

计算KDJ指标

for stock in stocks: i += 1 rsvs = session.query(StockRSV).filter( StockRSV.stock_id == stock.id ).order_by(StockRSV.date.asc()).all() if len(rsvs) < 1: print("stock %s rsv less than window %s real %s cal next stock" % (stock.id, 1, len(rsvs))) continue for stockrsv in rsvs: curkdj = session.query(StockKDJ).filter( StockKDJ.id == stockrsv.stock_id + "_" + str(stockrsv.date) ).first() if curkdj is not None: print("kdj id:%s, stock_id:%s,date:%s,k:%s, d:%s,j:%s exist cal next" % ( curkdj.id, curkdj.stock_id, curkdj.date, curkdj.k, curkdj.d, curkdj.j )) continue lastkdj = session.query(StockKDJ).filter( StockKDJ.stock_id == stockrsv.stock_id, StockKDJ.date < stockrsv.date ).order_by(StockKDJ.date.desc()).limit(1).first() lastkvalue = 0 lastdvalue = 0 if lastkdj is not None: lastkvalue = lastkdj.k lastdvalue = lastkdj.d stockkdj = StockKDJ(id = stockrsv.stock_id + "_" + str(stockrsv.date), stock_id = stockrsv.stock_id, date = stockrsv.date, k = curkvalue, d = curdvalue, j = 0) session.add(stockkdj) session.commit()

计算结果

使用SQL选股

我们选择最近RSV值较低,且K>D 的十只股票

到股票软件上查看这几只股票的趋势图

实验总结

通过这次实验,我们探索了一种方法,使用python获取股票数据,因为记录数较多且计算过程无法递归,只能通过循环的方式结合数据库循环计算指标。最后将计算的结果存储在数据库中,利用SQL语言的丰富语义,可以灵活验证各种选股的模型。

https://www.haizuanshi.com

上一篇:怎么去炒股开户(要炒股如何开户)

下一篇:大家对炒股的人什么看法(新手炒股入门基础知识)

相关推荐

返回顶部