成交量是反映市场情绪和流动性一个很重要的指标,当出现牛市时成交量会急剧放大,当出现熊市时成交量会急剧缩小。

通过成交量可以反映出市场的情绪是处于正常、平淡还是疯狂,可以在一定程度上指导我们的投资操作,例如当市场过于疯狂的时候可能是撤退的机会,当市场平淡的时候可能是入场的时机,当市场处于正常交易量则应该保持观望。

清楚目前市场的冷暖程度可以起到锚定的作用,面对上涨下跌从容应对,从而不会随大流追涨杀跌。

选取近十年A股成交量的变化曲线(交易单位为亿)


可以看出在2015年牛市的时候成交量急剧放大,是普通交易日的好几倍,而2012年到2014年的大熊市成交量非常低,基本只有牛市的五分之一不到,同样2018年到2019年的熊市成交量也非常低迷。

而2019年初以来的牛市可以看见,整个市场的成交量是震荡走高的,当然这个和目前参与基金投资的人越来越多也有关系。

所以,从量化的角度来说市场成交量是一个很重要的指标,下面就看看怎么来获得这个数据。

想要的数据还是从baostock来获取,前面有一片文章提到过怎么从baostock获取数据《基于Python的指数基金量化投资 - 股票数据源baostock》。

在baostock的接口中没有直接能获取全市场成交量的接口,但它提供了上交所交易量和深交所交易量的数据,只要把这两个数据加总就能获得我们想要的全市场成交量数据。

在baostock的介绍中通过下面两个指数就能获得上交所和深交所的成交量数据。

上面图中的sh.000001和sz.399107分别就是上交所的所有样本股和深交所的所有样本股,通过前面介绍的《基于Python的指数基金量化投资 - 指数数据获取》,可以获得两个指数的成交量:

把获得两个数据进行加总就是全市场成交量。

下面是具体的代码实现过程(代码中的路径是小将自己的路径,大家可以根据自己的进行调整)。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import math as math
import baostock as bstime_end = '2021-11-10'
print(time_end)
# 登陆系统
lg = bs.login()name_index_list = ['sh.000001','sz.399107']
for i in range(len(name_index_list)):rs = bs.query_history_k_data_plus(name_index_list[i],"date,code,open,high,low,close,preclose,volume,amount,pctChg",start_date='2010-09-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/transactionOfMarket/" + name_index_list[i] + ".csv", index=False)bs.logout()amount = 0
for i in range(len(name_index_list)):index_data = pd.read_csv('./exportfile/transactionOfMarket/' + name_index_list[i] + '.csv')data_index = index_data['amount'].valuesamount = amount + data_indexsize_title = 28
size_label = 23
size_line = 3
size_rotation = 20
plt_gap = 12plt.figure()
plt.rcParams["axes.grid"] = True
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams["grid.linestyle"] = (3, 5)
plt.plot(amount/100000000,linewidth=size_line)
plt_xticks = index_data['date'].values[1:len(index_data['date']):1].tolist()
plt.xticks(range(len(plt_xticks),0,-math.floor(len(plt_xticks)/plt_gap)),plt_xticks[len(plt_xticks):0:-math.floor(len(plt_xticks)/plt_gap)],rotation=size_rotation)
plt.tick_params(labelsize=size_label)
plt.title('成交量数据', size=size_title)

程序中用到的指数估值信息大家可以留言获取也可以添加小将前行的微信xjqx_666进行获取,欢迎大家一起交流_

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

基于Python的指数基金量化投资——A股全市场成交量计算相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. python if语句多个条件-关于函数:如何在python中为一个if语句提供多个条件
  2. C语言关键字 - 铁布衫:const
  3. WinRT知识积累1之读xml数据
  4. android 带清除功能的输入框控件
  5. iis mysql5.7_手动配置网站环境 IIS 10+PHP 7.1+MySQL 5.7
  6. delphi 获取桌面路径
  7. 深度搜索和广度搜索领接表实现_算法基础04-深度优先搜索、广度优先搜索、二分查找、贪心算法...
  8. 四、kafka整体架构
  9. KICKSTART无人值守安装系统
  10. 在vscode上快速打开php文件(小白手把手教小白,超级详细)
  11. 5G手机和4G手机的区别
  12. linux2t硬盘格式化时间,linux下大于2T硬盘格式化方法
  13. t分布f分布与样本均值抽样分布_常见的统计分布--数据分析
  14. matplotlib.pyplot.hist()绘制直方图
  15. 51单片机之蜂鸣器弹钢琴
  16. 微信分享功能踩坑过程
  17. SVM要点总结(一)
  18. 蓝桥杯练习 数的读法
  19. 公共WIFI上网短信认证解决方案
  20. 青龙面板+Ninja的企业微信通知设置以及企业微信群消息转到微信方法

热门文章

  1. core java文献翻译_外文翻译--Java技术介绍(适用于毕业论文外文翻译+中英文对照).doc...
  2. 东北大学《材料成形计算机模拟》期末考试
  3. c盘gnway是什么文件_壹拓网科技详解金万维天联标准版软件下载安装登录流程
  4. 健康先行微信小程序设计与实现
  5. Win10任务栏卡死的几个处理方法 附小工具
  6. HSDPA(High Speed Downlink Packet Access)高速下行分组接入,是一种移动通信协议,亦称为3.5G(3½G)...
  7. 新股民快速成为股市高手的八招
  8. android sd卡数据恢复软件下载,sd卡数据恢复软件下载
  9. 使用串口转USB线配置交换机方法
  10. 使用 WScript.exe 运行脚本