当前位置: 首页 > news >正文

股票几个指数周收益率和月收益率的计算

在金融数据挖掘分析中经常会遇到不同时间维度的分析。本案例主要目的是介绍如何通过交易日历表和日交易数据,转化为统计的周交易数据和月交易数据,并实现周收益率和月收益率的计算。在本案例中,我们介绍了利用交易日历表寻找每周最小交易日和最大交易日、每月最小交易日和最大交易日两个算法,希望对读者有所启示。
计算上证 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

相关文章:

  • 户外运动网站模板/优秀的软文广告案例
  • 大港建站公司/企业seo推广
  • 婚纱摄影网站大全/产品推广文案怎么写
  • 重庆网站制作开发/站长工具网站排名
  • 电子政务与网站建设工作总结/广告公司名字
  • 做第三方库网站/互联网推广平台
  • 客户终身价值(CLTV)计算和回归预测模型(Python)
  • 网页设计期末复习题
  • 215. Kth Largest Element in an Array[堆|快排]
  • 鸿翼档案,将非结构化数据治理能力应用于档案管理的先行者
  • 老板,明年我用Seata搞定分布式事务管理的规范化建设 | 中篇
  • 快速入门Spring MVC 一篇就够了
  • 【知识图谱】什么是知识图谱?知识图谱的应用。知识图谱的数据模型(三元组 模型、属性图模型)。西游记中的知识图谱。
  • mybatis 中@SelectProvider注解的使用
  • QT qt 3d 绘图
  • SpringCloud Alibaba | 网关(三) : SpringCloudGateway 过滤器获取application/json中body数据
  • 李沐精读论文:Swin transformer: Hierarchical vision transformer using shifted windows
  • R语言应用xgboost进行机器学习(1)