turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- SAS Programming
- /
- General Programming
- /
- Rolling? betas, how to calculate them

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

04-16-2012 12:43 PM

Hey all,

I am trying to finish up a finance paper, but had a hard time figuring out the beta's for each time period. Any help is appreciated.

Here is what I have,

Date Port_no mkt_Liquidity mkt_return port_liquidity port_ret

011980 1 2.5 4.2 4 3

021980 1 2.6 3.2 5.3 3.2

131980 1 2.2 3.5 3.4 4.3

...

...

..

112011 1 3.1 2.3 2 4

011980 2 2.5 4.2 2.2 4.3

021980 2 2.6 3.2 3,2 5.3

.....

...

112011 2

And the number of portfolio's goes up to 25.

There are two things that I want to do. (i have sort of done the first one)

1) Calculate var(mkt_return - mkt_liquidity) for each time period. Similarly, for all time periods calculate cov(mkt_liquidity, port_liqudity), cov(mkt_liquidity, port_return), cov(mkt_return, port_return). dividing the covariance's by the variance gives me Betas. so using 'by port_no' i can get a single beta for each port_no.

2) However, I need beta's for each time period for each portfolio. So i what i want to do is, first find beta1 using the first 60 time periods (011980-01985), and then roll it forward to find another beta , by rolling it one period forward (in usual case they could run a regression and find betas, port_ret= beta1(mkt_return) + beta 2(port_liquidity- mkt_liquidity)). However, my paper structure doesn't allow regression so I have to calculate it for every time period for each port_no. So, the first 60 time periods gets beta for 01985, and i have to roll it one period forward using covariances/variance to get beta for 021985. (This is called the Fama-macbeth approach).

Thanks guys.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

Posted in reply to sharmas

11-06-2012 04:15 AM

Sharmas,

This may be a bit late for you now, but you can get a ready made program in WRDS called RollingBetas1.sas. I think it does exactly what you are asking. Of course, you will need access to WRDS.

Ian.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

Posted in reply to sharmas

06-02-2013 03:50 PM

Hi Sharmas,

I read that you did the fama-macbeth approach. I know that this is a really old post but I'm having some problems with the model too and I'm really panicking. I just want to as if you can give me any suggestion or help.

I'm trying to calculate the risk premium λ_{L }using fama-macbeth approach:

R_{t} = β_{0} + BF_{t} + β^{L}L_{t }+ e_{t}

where R_{t} is a 10X1 vector , F_{t }is a 4x1 vector, B is a 10x4 matrix, and β_{0 }and β^{L } are 10x1 vector.

Then: E(R_{t}) = Bλ_{F }+ β^{L}λ_{L}

and I have the restriction:

λ_{F} = E(F_{t}) and because of that I also have

β_{0 }= β^{L} *[λ_{L}-E(L_t)]

I have do this using generalized method of moments (GMM) but it just does not work.

I really hope that you may know how to do this.

Many thanks in advance!