行业板块与概念股在定义上还是有很大区别的。
一般来说,概念板块的风险更大,基于某个消息被短期炒作,很不稳定,因此风险更大
行业板块是按股票行业进行分类,往往注重于长期,稳定性更高。
在实际投资上,短期可以根据按「 市场热点 」从概念股进行选股投资,中长期还是建议按「 行业板块 」选股进行投资。
目标对象:
aHR0cDovL3N1bW1hcnkuanJqLmNvbS5jbi9oeWJrLw==
首先,我们使用 「 Toggle JavaScript 」插件发现页面中的行业板块数据来源于下面的请求结果
http://**/?q=cn|bk|17&n=hqa&c=l&o=pl,d&p=1020&_dc=1650680429759
其中,参数为 p 和 _dc 为可变参数,p 代表页码数(从 1 开始),_dc 代表 13 位的时间戳,其他查询参数都是固定内容
然后,我们编写代码获取响应数据,使用正则表达式匹配出行业列表的数据
FastAPI 可以快速创建两个服务:根据关键字获取行业板块列表、根据板块路径获取个股列表from pydantic import BaseModel # 板块 class Plate(BaseModel): content: str # 关键字 # 板块下的个股 class PlateStock(BaseModel): plate_path: str # 板块路径 #=========================================================== ... # 获取板块列表 @app.post("/xag/plate_list") async def get_plate_list(plate: Plate): pstock = PStock() try: result = pstock.get_plates_list(plate.content) return success(data=result, message="查询成功!") except Exception as e: return fail() finally: pstock.teardown() # 获取某一个板块下的所有股票列表 @app.post("/xag/plate_stock_list") async def get_plate_list(plateStock: PlateStock): pstock = PStock() try: result = pstock.get_stock_list(plateStock.plate_path) return success(data=result, message="查询成功!") except Exception as e: return fail() finally: pstock.teardown() ...
前端以 Uniapp 为例,使用 uni-table 组件展示行业板块列表及个股列表
部分代码如下:
//个股列表 platestock.vue ...... methods: { //表单提交数据 submit(ref) { this.$refs[ref].validate().then(res => { this.$http('xag/plate_list', this.baseFormData, { hideLoading: false, hideMsg: false, method: 'POST' }).then(res => { console.log("内容:", res.data) if (res.data && res.data.length > 0) { this.$tip.success("查询成功!") this.result = res.data } else { this.$tip.success("查询结果为空,请换一个关键字查询!") } }).catch(err => { console.log("产生异常,异常信息:", err) }) }).catch(err => { console.log('err', err); }) } ... 0"> 板块 涨跌幅 强势股 {{ item.name }} {{ item.up_or_down }} {{ item.top_stock }}
最后部署完项目后,在前端页面就能根据板块名选择合适的个股进行投资了
由于行业板块更适用于中长期投资,我们只需要根据某一个关键字筛选出一个板块,然后在板块下的个股列表中可以非常直观地看出市盈率较低的个股进行投资即可。