要计算指数的加权值,指数的市盈率、市净率,或者指数的净资产收益率,都需要用到指数所包含的个股信息,前面分享的《指数的净资产收益率计算》和《指数的市盈率和市净率计算》等文中都有提到。

这些个股的数据怎么来获得呢?下面就来介绍下,总共就2个步骤:1)指数数据的获取;2)数据的解析。

(第一步)指数数据的获取

首先从中证指数官网(https://www.csindex.com.cn)或者国证指数官网(http://www.cnindex.com.cn)中获取相应的指数数据。

例如下图中,在中证指数官网搜索沪深300指数:

然后在搜索出来的列表中选择沪深300:

接着在进入的页面点击【样本权重】来下载沪深300的指数信息:

最后就会获得沪深300的数据信息,它是一个excel表,表里面包含了如下的信息:

最后还需要把这个文件另存为.csv文件,因为程序里面是直接处理.csv的,下载的源文件是.xsl格式的文件。

(第二步)数据的解析

小将是按照自己的路劲进行存放的,所有的指数都放在./importfile/indexSeries/indexTpye/目录下,大家可以按照自己的开发喜好来进行调整。

然后只要去解析每个指数数据的第4列即可,这一列包含了指数所有的成分股证券代码

个股的数据就不再这里累述,在《股票数据源baostock》有进行过介绍,大家可以参考。

源码

import pandas as pdindexType = ['./importfile/indexSeries/indexTpye/hs300.csv',  # 沪深300 - 0'./importfile/indexSeries/indexTpye/zz500.csv',  # 中证500 - 1'./importfile/indexSeries/indexTpye/zz100.csv',  # 中证100 - 2'./importfile/indexSeries/indexTpye/shz50.csv',  # 上证50  - 3'./importfile/indexSeries/indexTpye/hsyy300.csv',  # 沪深医药300 - 4'./importfile/indexSeries/indexTpye/zzyh.csv',   # 中证银行  -5'./importfile/indexSeries/indexTpye/zzxf.csv',   # 中证消费  -6'./importfile/indexSeries/indexTpye/zzbj.csv',   # 中证白酒  -7'./importfile/indexSeries/indexTpye/db500.csv',  # 500低波动 -8'./importfile/indexSeries/indexTpye/jz300.csv',  # 300价值   -9'./importfile/indexSeries/indexTpye/yy100.csv',  # 医药100   -10'./importfile/indexSeries/indexTpye/zzyyao.csv',   # 中证医药  -11'./importfile/indexSeries/indexTpye/jbm50.csv',  # 基本面50  -12'./importfile/indexSeries/indexTpye/shzhl.csv',  # 上证红利  -13'./importfile/indexSeries/indexTpye/zzhl.csv',   # 中证红利  -14'./importfile/indexSeries/indexTpye/zzjg.csv',   # 中证军工  -15'./importfile/indexSeries/indexTpye/spyl.csv',   # 食品饮料  -16'./importfile/indexSeries/indexTpye/zqgs.csv',   # 证券公司  -17'./importfile/indexSeries/indexTpye/ylcy.csv',   # 养老产业  -18'./importfile/indexSeries/indexTpye/szhl.csv',   # 深证红利  -19'./importfile/indexSeries/indexTpye/zzhb.csv',   # 中证环保  -20'./importfile/indexSeries/indexTpye/cyb.csv']    # 创业板    -21idx = -1
conf_pe = 1
conf_pb = 1
conf_roe = 1
total_share = 0
for indexCnt in range(len(indexType)):# indexCnt = 0csv_data = pd.read_csv(indexType[indexCnt])for i in range(csv_data.shape[0]):if csv_data.values[i][4] >= 600000:stock_info_prc = pd.read_csv('C:/Program Files (x86)/Python/prjs/exportfile/stockDataAll/sh.' + str(csv_data.values[i][4]) + '.csv')stock_info_epsTTM = pd.read_csv('./exportfile/stockDataProfit/' + str(csv_data.values[i][4]) + '.csv')elif csv_data.values[i][4] >= 300000:stock_info_prc = pd.read_csv('C:/Program Files (x86)/Python/prjs/exportfile/stockDataAll/sz.' + str(csv_data.values[i][4]) + '.csv')stock_info_epsTTM = pd.read_csv('./exportfile/stockDataProfit/' + str(csv_data.values[i][4]) + '.csv')else:len_name = len(str(csv_data.values[i][4]))if len_name == 1:stock_code = '00000' + str(csv_data.values[i][4])elif len_name == 2:stock_code = '0000' + str(csv_data.values[i][4])elif len_name == 3:stock_code = '000' + str(csv_data.values[i][4])elif len_name == 4:stock_code = '00' + str(csv_data.values[i][4])elif len_name == 5:stock_code = '0' + str(csv_data.values[i][4])elif len_name == 6:stock_code = str(csv_data.values[i][4])else:stock_code = ''stock_info_prc = pd.read_csv('C:/Program Files (x86)/Python/prjs/exportfile/stockDataAll/sz.' + stock_code + '.csv')stock_info_epsTTM = pd.read_csv('./exportfile/stockDataProfit/' + stock_code + '.csv')stock_single_price = stock_info_prc['close']stock_single_pe = stock_info_prc['peTTM']stock_single_pb = stock_info_prc['pbMRQ']stock_single_eps = stock_info_epsTTM['epsTTM']stock_single_total = stock_info_epsTTM['liqaShare']

程序中用到的指数数据如果有问题,大家可以留言获取也可以添加小将前行的微信xjqx_666进行获取,欢迎大家一起交流沟通_

课程参考:基于Python的量化指数基金投资

基于Python的指数基金量化投资——指数包含的个股数据获取相关推荐

  1. 基于Python的指数基金量化投资——指数基金偏离度计算

    什么是指数偏离度 它是指数涨跌的快慢和偏离幅度指标. 当指数快速上涨,偏离度数据会迅速的向上偏离,当快速下跌时,偏离度数据会迅速的向下偏离. 而持续的上涨中出现下跌,偏离度就会急转直下,另一种持续的下 ...

  2. 基于Python的指数基金量化投资——指数基金间相关度计算

    每一种指数基金都是由一篮子股票组成的,少的有几十个成分股,多的有几百上千个成分股,而整个A股目前有四千多家上市公司,每种指数基金都从A股这个大篮子里面选取成分股,那就会有个问题,不同的指数基金选择的成 ...

  3. 基于Python的指数基金量化投资 - 指数投资技巧(三)不定期定额

    指数投资方式中有四种基本的方法,分别是定期定额.定期不定额.不定期定额和不定期不定额,这四种方式投资效果不同,对投资者的要求也不同,定期定额最简单,但收益不算高,不定期不定额最复杂,对投资者的要求最高 ...

  4. 基于Python的指数基金量化投资——指数数据获取

    做基金的量化,最最重要的是要有数据,所以指数的数据是所有分析的源头. Baostock就提供比较全面的指数数据,具体可以参考<基于Python的指数基金量化投资 - 股票数据源baostock& ...

  5. 基于Python的指数基金量化投资 ——A股所有个股名称和证券代码获取

    前面介绍过怎么获取A股个股的数据<基于Python的指数基金量化投资 - 股票数据源baostock>,里面包含了个股的各种历史数据,包含:股价.市盈率.市净率.成交量.换手率等等. 但是 ...

  6. 基于Python的指数基金量化投资——A股全市场成交量计算

    成交量是反映市场情绪和流动性一个很重要的指标,当出现牛市时成交量会急剧放大,当出现熊市时成交量会急剧缩小. 通过成交量可以反映出市场的情绪是处于正常.平淡还是疯狂,可以在一定程度上指导我们的投资操作, ...

  7. 基于Python的指数基金量化投资-股票数据源baostock

    基于Python的指数基金量化投资-股票数据源baostock 课程参考:基于Python的量化指数基金投资 微信公众号: 量化用到的数据源来自baostock,可以通过www.baostock.co ...

  8. 基于Python的指数基金量化投资-为什么量化指数基金投资

    上一次写了基于Python的指数基金量化投资-股票数据源baostock 这次来说一下为什么要量化指数基金投资. 进行指数基金投资我们需要清楚几个关键点:该投资哪些指数品种,为什么投资这些品种.这些品 ...

  9. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

    2019 年第 07 期 20 世 纪 80 年代, 一 些 投 资 者 开 始 利用 计 算 机 研究金 融 数据 , 并 初显 成 效 . 20 世 纪 末 , 投 资 者 把 计 算 机 技术 ...

最新文章

  1. H - Parity game-poj1733(需要离散化)
  2. 「2017 山东一轮集训 Day5」距离
  3. 计算机科学中最重要的32个算法(转)
  4. JS作用域理解(声明提升)
  5. 转换php script类型,javascript如何实现值的类型转换
  6. dlib+vs2013+opencv实现人脸特征点检测
  7. Google 日历 API 和工具
  8. python3 socketserver源码解析_解读python中SocketServer源码
  9. php r很卡,Laravel 在高并发下很卡?求大神解答
  10. 计算机组成原理之磁盘
  11. 智慧家居·万物互联:我的智能花盆DIY之旅(ESP32)
  12. UDP协议实现聊天小程序
  13. xlsxwriter模块安装linux,XlsxWriter模块常用方法
  14. python单例模式继承_python单例模式
  15. 通过v$bgprocess查看后台进程
  16. tp5 JWT生成token验证接口安全、防止高频请求
  17. android 获得屏幕方向,Android 获取设置屏幕横竖屏
  18. android+打开apk文件怎么打开,安卓手机apk文件怎么打开
  19. c语言位非运算符,C语言-位运算符
  20. 软件测试人员正在逐步被自动化所替代

热门文章

  1. JS中的descriptor
  2. 怎么购买 nest_购买Nest恒温器时如何省钱
  3. 2020蓝桥杯省赛C/C++B组(第二场) 试题G:回文日期
  4. html中边框只让一遍又弧度,在css中怎样让边角具有弧度
  5. 健康误区:口渴了才喝水 困了才睡觉
  6. 英文佳句欣赏 Appreciating the English sentences
  7. 小程序开发—发布流程及注意事项
  8. 吸管工具,canvas模拟吸管工具,吸取图片中的颜色值 vue.js 颜色值 转换
  9. [开心学php100天]第三天:不羁的PHP文件操作
  10. HTML5+CSS大作业——明星薛之谦(7页面))带轮播特效