简单的低频指数投资一:利用tushare计算指数市盈率

news/2025/1/15 12:37:35/

对于广大的投资者来说,投资指数基金是最简单而有效的选择。而目前一种投资指数的方法就是通过市盈率等指标来计算指数的估值,并通过低估买入,高估卖出的方法投资。

然而tushare只提供了上证50,沪深300,创业板等几个大指数的估值,而一些特定行业的估值,例如中证环保,全指医药等,目前还没有提供。我们可以通过获取股票的估值以及指数的权重来计算指数的市盈率。

首先获取tushare的pro接口

 

import tushare as ts
pro = ts.pro_api(token = token)

为了防止出现网络连接问题,设置一个函数,如果爬取失败则sleep一段时间后再次爬取

def get_index(ts_code='', trade_date=''):#防止爬取失败,通过函数爬取指数的weightfor _ in range(3):try:index_weight = pro.index_weight(index_code=ts_code, start_date=trade_date, end_date=trade_date)except:time.sleep(1)else:return index_weightdef get_basic(ts_code='', trade_date=''):#防止爬取失败,通过函数爬取个股股票的pefor _ in range(3):try:pe_df = pro.daily_basic(ts_code='', trade_date=trade_date, fields='ts_code,trade_date,pe,pb')except:time.sleep(1)else:return pe_df

之后就可以通过指数pe计算公式

pe_{total} = \frac{\sum w_i}{\sum w_i \times pe_i} 

计算当日指数的估值了代码如下:

index_weight = get_index(index_code, trade_date)#获取所有股票的估值
pe_df = get_basic(trade_date = trade_date)
#选取在指数的列表中的股票的估值
merge_df = pd.merge(index_weight, pe_df, left_on='con_code',right_on='ts_code', how = 'inner')total_pe = merge_df.weight.sum() / (merge_df.weight / merge_df.pe).sum()
total_pb = merge_df.weight.sum() / (merge_df.weight / merge_df.pb).sum()

由于tushare的index_weight只会在特定日期返回指数的权重信息,所以我们可以保存上一次获得的index weight信息,并在下次信息出现后将其替换。

其实还有其它的计算指数市盈率的方法,例如成分股市值/成份股净利润等。本方法计算出的数据对比各大基金网上提供的指数估值也有一定的差异,这里只是抛砖引玉,欢迎大家提出更好的计算方法或者交流一下更方便的数据获取渠道。

 


http://www.ppmy.cn/news/968137.html

相关文章

[047量化交易]python获取股票 量比 换手率 市盈率-动态 市净率 总市值 流通市值

import akshare as ak# 获取沪 股票信息 stock_sh_a_spot_em_df ak.stock_sh_a_spot_em() # 获取深 股票信息 stock_sz_a_spot_em_df ak.stock_sz_a_spot_em() # 合并 stock_all_a_spot_em_df stock_sh_a_spot_em_df.append(stock_sz_a_spot_em_df) print(stock_all_a_spot_…

OpenAI 的外包数据标注员,时薪不足2美元,称工作是“精神创伤”

这是「进击的Coder」的第 810 篇技术分享 译者:核子可乐 策划:李冬梅 来源:infoQ “ 阅读本文大概需要 3 分钟。 ” ChatGPT 被视为近几年最具创新性的 AI 工具之一。这款强大的 AI 聊天机器人几乎可以生成任何问题的文本,从莎士…

关于大型语言模型的争论和局限

以色列巴伊兰大学教授Yoav Goldberg分享了他对大型语言模型的能力和局限性的看法,以及在语言理解方面的立场。(以下内容经授权后由OneFlow编译发布,译文转载请联系OneFlow获得授权。原文:https://gist.github.com/yoavg/59d174608…

ChatGPT 的最新进展:与互联网的实时连接,探索支持联网后的 ChatGPT 的 8 项新应用

ChatGPT 的最新飞跃:与互联网的实时连接 OpenAI 最近公布了其对 ChatGPT 最重要的更新,赋予其实时互联网连接能力。这一变革性更新解锁了一系列以前无法实现的新功能。让我们深入研究这八种令人兴奋的功能,它们肯定会彻底改变您的 AI 体验。 ChatGPT Plus 现在带有网络浏览…

【原创】理解ChatGPT之机器学习入门

想要连贯学习本内容请阅读之前文章: 【原创】AIGC之 ChatGPT 高级使用技巧 【原创】AIGC之主流产品介绍 AIGC是什么 AIGC - AI Generated Content (AI生成内容),对应我们的过去的主要是 UGC(User Generated Content&…

AI预测彩票,使用chatgpt和lstm神经网络(文末附源码)

提示:经过2个月的使用AI预测彩票的测试写一篇文章记录下心路历程 文章目录 前言一、什么是lstm和chatgpt?二、chat使用步骤1. wetab浏览器插件2. 整理的训练话术如下(重点)3. 预测效果举例三、LSTM使用步骤1.下载项目配置环境2.运行预测Getting Started彩蛋(轻松上手代码地…

去不了“五一淄博烧烤节”怎么办?让ChatGPT帮我们烤!!

在过去的一个月里,“淄博烧烤”频频在各大社交平台登上热搜榜,还纷纷被大家刷屏点赞并喊话要“组团到淄博撸串”,可以说是完完全全的爆火出圈,颇有一种“藏在深山无人识,一朝成名天下知”的感觉。 淄博市拟于“五一”前…

巴比特 | 元宇宙每日必读:AI搜索大战打响!微软官宣ChatGPT引入Bing,“文心一言”传首站将接入百度搜索,接下来是谁?...

摘要:据财联社报道,北京时间8日凌晨,微软宣布推出由ChatGPT支持的最新版Bing搜索引擎和Edge浏览器,新版Bing于今日上线,不过预览人数有限。微软计划近期推出移动版本,预览人数有望扩展至数百万人。那么&…