楼主: hybing92
7243 2

[问答] python如何做滚动窗口回归? [推广有奖]

  • 2关注
  • 0粉丝

已卖:491份资源

本科生

73%

还不是VIP/贵宾

-

威望
0
论坛币
1073 个
通用积分
3.2001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10202 点
帖子
22
精华
0
在线时间
176 小时
注册时间
2015-4-26
最后登录
2025-11-24

楼主
hybing92 在职认证  发表于 2018-10-28 23:52:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人要写论文,用2005-2016年的A股全部上市公司的每日收益率和沪指的每日收益率做滚动回归,求相应股票的BETA值,用250个交易日为窗口做滚动回归。但是本人python刚开始学,无从下手,想先找个滚动窗口回归的源码然后自己修改?谁有这方面的资源?谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:滚动回归 日收益率 滚动窗口 上市公司 收益率

回帖推荐

2801959927 发表于3楼  查看完整内容

这个简单来看,就是滚动地截取数据再做CAPM模型吧,比如总共有1000个交易日数据,那就截取(1000-250+1)次 举个例子

沙发
杨Yuer参上 发表于 2018-10-31 10:41:05
滚动窗口可以采用Python的Pandas包,
  1. import pandas as pd
  2. s = [1,2,3,5,6,10,12,14,12,30]
  3. pd.Series(s).rolling(window=3).mean()
复制代码


设置的窗口window=3,也就是3个数取一个均值。index 0,1 为NaN,是因为它们前面都不够3个数,等到index2 的时候,它的值是怎么算的呢,就是(index0+index1+index2 )/3
index3 的值就是( index1+index2+index3)/ 3

参数详解:

  1. DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)
复制代码


window: 也可以省略不写。表示时间窗的大小,注意有两种形式(int or offset)。如果使用int,则数值表示计算统计量的观测值的数量即向前几个数据。如果是offset类型,表示时间窗的大小。offset详解
min_periods:每个窗口最少包含的观测值数量,小于这个值的窗口结果为NA。值可以是int,默认None。offset情况下,默认为1。
center: 把窗口的标签设置为居中。布尔型,默认False,居右
win_type: 窗口的类型。截取窗的各种函数。字符串类型,默认为None。各种类型
on: 可选参数。对于dataframe而言,指定要计算滚动窗口的列。值为列名。
axis: int、字符串,默认为0,即对列进行计算
closed:定义区间的开闭,支持int类型的window。对于offset类型默认是左开右闭的即默认为right。可以根据情况指定为left both等。

藤椅
2801959927 在职认证  发表于 2018-11-2 13:51:55
这个简单来看,就是滚动地截取数据再做CAPM模型吧,比如总共有1000个交易日数据,那就截取(1000-250+1)次
举个例子
  1. for i in range(0,1000-250+1):
  2.     my_data = data[i:(i+250),:]
  3.     # 用my_data进行回归,可以考虑用statsmodels模块
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 05:43