做基金的量化,最最重要的是要有数据,所以指数的数据是所有分析的源头。

Baostock就提供比较全面的指数数据,具体可以参考《基于Python的指数基金量化投资 - 股票数据源baostock》。

指数数据也提供了相应的接口可供调取,通过API接口获取指数(综合指数、规模指数、一级行业指数、二级行业指数、策略指数、成长指数、价值指数、主题指数)K线数据,用户可以指定起始日期和截至日期。

调用的参数包含5个参数,code, fields, start, end, frequency,分别表示股票代码、返回包含的数据列、开始日期、结束日期和k线更新频率。

code:股票代码,sh或sz.+6位数字代码,或者指数代码,如:sh.601398。sh:上海;sz:深圳。此参数不可为空;

fields:指示简称,支持多指标输入,以半角逗号分隔,填写内容作为返回类型的列。详细指标列表见历史行情指标参数章节。此参数不可为空;

start:开始日期(包含),格式“YYYY-MM-DD”,为空时取2015-01-01;

end:结束日期(不包含),格式“YYYY-MM-DD”,为空时取最近一个交易日;

frequency:数据类型,默认为d,日k线;d=日k线、w=周、m=月、5=5分钟、15=15分钟、30=30分钟、60=60分钟k线数据,不区分大小写;指数没有分钟线数据;周线每周最后一个交易日才可以获取,月线第月最后一个交易日才可以获取。

调用的方式很简单:

rs=bs.query_history_k_data_plus("sh.000001","date,code,open,high,low,close,preclose,volume,amount,pctChg",start_date='2017-01-01',end_date='2017-06-30',frequency="d")

上面这段代码就是表示查看sh.000001指数的数据,开始日期为2017-01-01,结束日期为2017-06-30,k先数据按日进行输出,返回数据包含date, code, open, high, low, close, preclose, volume, amount, pctChg

返回数据分别表示:

返回的具体形式如下:

通过获得指数后画出来的指数走势如下:

下面是具体的代码实现过程。

import baostock as bs
import pandas as pd
import datetime
import matplotlib.pyplot as plttime_end = (datetime.datetime.now()).strftime('%Y-%m-%d')
print(time_end)
# 登陆系统
lg = bs.login()
# 显示登陆返回信息time_end = '2021-10-30'
name_index = 'sh.000933'
rs = bs.query_history_k_data_plus(name_index,"date,code,open,high,low,close,preclose,volume,amount,pctChg",start_date='2000-01-01', end_date=time_end, frequency="d")# 打印结果集
data_list = []
while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起data_list.append(rs.get_row_data())
result = pd.DataFrame(data_list, columns=rs.fields)
# 结果集输出到csv文件
result.to_csv("./exportfile/indexDataAll/" + name_index + ".csv", index=False)
# index_info = pd.read_csv('./exportfile/indexDataAll/' + view_name + '.csv')all_data_index = pd.read_csv('./exportfile/indexDataAll/' + name_index + '.csv')
data_index_p = all_data_index['close'].values[0:len(all_data_index['close']):1]
plt.figure()
plt.rcParams["axes.grid"] = True
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams["grid.linestyle"] = (3, 5)
plt.plot(data_index_p, color='tomato', linewidth=3)
plt.show()# 登出系统
bs.logout()

程序中用到的指数估值信息大家可以留言获取也可以添加小将前行的微信xjqx_666进行获取,欢迎大家一起交流。
课程参考:基于Python的量化指数基金投资

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. h5 getUserMedia error PermissionDeniedError
  2. 《WCF技术内幕》翻译1:《WCF技术内幕》目录和作者简介
  3. sql server无效的对象名称 - 但表列在SSMS表列表中
  4. SecureCRT Application 已停止工作
  5. 可微偏导数一定存在_【数学】多元函数可微如何判断?
  6. atop用法_linux高级监控atop的使用
  7. linux中rlwrap安装
  8. Java开发设计——UML类图
  9. 2012-7-06可樂词汇积累#9313;
  10. 常见网络爬虫反爬机制与反爬机制的解决方案
  11. linux技术发展方向,linux技术的发展方向有哪些?Linux运维入门
  12. 今日恐慌与贪婪指数为18 恐慌程度有所缓解
  13. day21_Lambda表达式、函数式接口
  14. 机器学习项目-垃圾邮件分类-KNN-SVM-DT-RF-GBDT-Bayes
  15. 互联网巨头:必须要裁员吗?
  16. gpt2_gpt 3,一开始是单词2 2
  17. Normalized Discounted Cumulative Gain
  18. 人体存在感应雷达应用,智能马桶自动响应,低功耗雷达感应模块
  19. 堡垒机,ssh协议,telnet协议,b/s架构
  20. 数据库查找姓李的人_数据库基本查询方法等

热门文章

  1. 计算机网络运输层知识点,计算机网络复习——Ch6传输层
  2. Activity启动流程源码分析-浅析生命周期函数
  3. MathorCup大数据挑战赛第一届A题-移动通信基站流量预测赛题解析
  4. sigmoid函数和阶跃函数的Python代码比较 ← 斋藤康毅
  5. 微信封面怎么设置?微信主页面的背景怎么设置
  6. JZ4 重建二叉树--java实现
  7. 10月16日上午MySQL数据库作业设计表解析
  8. 为了追学姐,用python把她的照片做成了游戏,她看了...
  9. js如何让段落首行缩进2个字符
  10. 银行、券商们的下一代App该往哪里走?