在金融数据挖掘分析中经常会遇到不同时间维度的分析。本案例主要目的是介绍如何通过交易日历表和日交易数据,转化为统计的周交易数据和月交易数据,并实现周收益率和月收益率的计算。在本案例中,我们介绍了利用交易日历表寻找每周最小交易日和最大交易日、每月最小交易日和最大交易日两个算法,希望对读者有所启示。
计算上证 A 股指数(代码: 000002 ) 2017 年的周收益率和月收益率指标数据。其中周收益率和月收益率指标计算公式如下:
周收益率= (周最大交易日收盘指数 - 周最小交易日收盘指数) / 周最小交易日收盘指数。
月收益率= (月最大交易日收盘指数 - 月最小交易日收盘指数) / 月最小交易日收盘指数 。
本案例使用的交易日历表(表名: TRD_Cale )和指数日交易数据表(表名: IDX_Idxtrd )数据均来源于 CSMAR 国泰安数据库,其表结构如下:
       由于我们获取的数据为日行情交易数据,无法直接计算周收益率,需要对交易日历数据进行处理,即找出每周的最大交易日和最小交易日。从交易日历表的星期( Daywk )字段可以看出,当前星期值比下一个星期值大,其对应的交易日即为本周的最大交易日,下一个星期值对应的交易日即为下周的最小交易日。因此,寻找周最大交易日和最小交易日的算法如下:
输入:交易日历数据表 date
输出:周最小交易日和最大交易日列表 list1 和 list2
Step1 :定义空的列表 list1 和 list2 ,将交易日历表中的首个交易日添加到 list1 中
Step2 :从第 2 个交易日开始至倒数第 2 个交易日,如果其星期值大于下一个交易日的星期值,则将其交易日添加到 list2 中,下一个交易日添加到 list1 中。
Step3 :将最后的交易日添加到 list2 中。
代码如下:
i mport pandas as pd
x= pd.read_excel ('TRD_Cale.xlsx')
list1=['2017-01-03']
list2=[]
for t in range(1,len(x)-1):
   p= x.iloc [t-1,[2]][0]
   q= x.iloc [t,[2]][0]
     if q<p:
            list1.append( x.iloc [t,[1]][0])
            list2.append( x.iloc [t-1,[1]][0])
获得每周的最小交易日列表list1 和最大交易日列表 list2 后,就可以通过循环的方式,依次取最大交易日和最小交易日对应的收盘指数,利用前面介绍的公式计算即可获得周收益率指标数据。
data= pd.read_excel ('IDX_Idxtrd.xlsx')
import numpy as np
r= np.zeros ( len (list1))
for i in range( len (list1)):
    p1= data.loc [data['Idxtrd01'].values==list1[ i ],'Idxtrd05'].values
    p2= data.loc [data['Idxtrd01'].values==list2[ i ],'Idxtrd05'].values
  r[ i ]=(p2-p1)/p1

股票几个指数周收益率和月收益率的计算相关推荐

  1. 利用quantmod包下载三支股票20150101-20191231数据,计算日收益率,月收益率,年收益率,计算5日,10日,20日和60日移动平均值, 找出金叉点和死叉点并标注

    环境搭建 我们利用quantmod包下载三支股票,选用的是R语言环境,因此我们需要搭建一个R语言的数据分析环境.选用的是anaconda集成平台,anaconda下载地址:https://www.an ...

  2. R语言tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图

    R语言tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图 目录

  3. R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率

    R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率( ...

  4. 【金融、量化系列】计算股票历史期望收益率(年化)、收益率标准差(年化)、夏普比率、以及股票之间月收益率的相关系数,并以夏普比率、相关系数为条件筛选股票

    使用akshare获取股票数据,利用月度数据计算每只上证50成分股的股票历史期望收益率(年化).收益率标准差(年化).夏普比率.以及股票之间月收益率的相关系数,并以夏普比率.相关系数为条件筛选股票.挑 ...

  5. 计算风险指标:最大回撤、计算风险收益指标:夏普比率、利用最大回撤和夏普比筛选基金、比较3只股票的夏普指数

    接着上一次获取股票数据[实时更新股票数据.创建你的股票数据].计算交易指标[买入.卖出信号.计算持仓收益.计算累计收益率] - cexo - 博客园的量化交易往下学习. 计算风险指标:最大回撤 什么是 ...

  6. 年度数据与月度数据转化_山东工会新媒体传播力指数2020年12月数据、年度数据出炉...

    回顾是为了更好的开始! 山东工会新媒体传播力指数 2020年12月数据.年度数据 出炉啦! 跟工小哥一起来看吧 ↓↓↓ 2020年12月数据 市级总工会 (点击查看大图) 县(市.区)级总工会 (点击 ...

  7. 【期货量化】通过日结算率计算日/月收益率以及利用resample进行时间序列处理

    今天才发现这个功能啊--太高级了,之前都一直用groupby但是感觉对于处理时间不是很方便 import matplotlib.pyplot as plt import pandas as pd fr ...

  8. R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、计算除权除息之后的开盘价收盘价收益率和收盘价收益率、保持不变

    R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据.计算除权除息之后的开盘价收盘价收益率和收盘价收益率.保持不变 目录 R语言使用quantmod包的get ...

  9. 让人费解的统计(股票、幸福指数等)

    一.股票分析 于知乎,看到名为"数据分析之简易分析股票走势"的文章,由兴奋变成了疑惑. 开篇"谷歌和腾讯的成交量差异巨大,可能也是股价变化的一个原因"与结尾&q ...

最新文章

  1. POJ-1430 Binary Stirling Numbers 组合数学
  2. docker pull mysql
  3. Annotations
  4. 初识Mysql(part8)--我需要知道的5个关于计算字段的小知识
  5. 016 pickle
  6. 最长高地(51Nod-2509)
  7. linux-facl权限控制-移除-复制
  8. 安全运维 - Linux系统维护
  9. 关于网页视频下载方法及工具
  10. IPV6 阿里DDNS
  11. java练习题-猜数字游戏
  12. 锁定计算机快捷键6,6个快捷键,轻松玩转你的电脑(收藏)
  13. 解决click事件在移动端操作延迟300ms问题和点击时穿透问题
  14. webpack随笔04-webpack5压缩jscss
  15. html js 禁用浏览器上下滑动,纯JS阻止浏览器默认滚动事件,实现自定义滚动方法...
  16. 410款INTEL CPU详细技术资料速查表
  17. Hadoop3.2.1 【 YARN 】源码分析 : ContainerLaunch源码浅析
  18. 国家开放大学2021春1079高等代数专题研究题目
  19. 通过HPS控制FPGA的GPIO
  20. java检测安卓程序退出_Android:应用程序退出后出现奇怪的NameNotFoundException

热门文章

  1. [C++日常小题] 寻找第k大数字(numberk)
  2. 修复wordpress安装buddypress插件后的警告
  3. 徐小平:不做人生规划,你离挨饿只有三天
  4. 共享池 shared pool
  5. React.memo的用法
  6. 【转发】IDM fabless foundry
  7. 使用win中excel打开linux下.csv文件乱码问题
  8. C++之父 Bjarne Stroustrup
  9. 全屋智能--智慧家庭新风向
  10. CAM350导入rou文件