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
- /
- Analytics
- /
- Forecasting
- /
- MA(2)

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

03-08-2016 04:32 AM - edited 03-08-2016 09:11 AM

Re: MA(2)[ Edited ]

37m ago - last edited 22m ago

Hi

I am applying a second order moving average process (MA(2)) to uncover the

unobserved returns.

I am trying to estimate the parameters of the model for each hedge fund strategy by maximum likeli-

hood. Then the estimated parameters will be used to desmooth returns.

How do i go about this last part. You help would be greatly appreciated

My codes so far just gives me the moving average factor

proc arima data = sample ;

by mainstrategy;

identify var=returns nlag=6 outcov=acf noprint ;

estimate q=2;

run ;

Is there a problem with using the by statement in arima procedure. Is there another way to achieve the same results without using the by statement.

My orginal data is too huge to upload so here is a sample

Date Return AUM mainstrategy

199512 -0.0055 26.9 Relative value

199601 0.0048 27.1 Relative value

199602 0.0089 30.7 CTA

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

Posted in reply to bukky09

03-09-2016 09:20 AM

Hello,

There is no problem with using BY groups in PROC ARIMA. In order to obtain ML estimates of the MA parameters you must use method=ml option in the estimate statement. However, I do not understand your question very well. It is unclear what you mean by "desmoothing" using the estimated MA parameters. Assuming "returns" are your observed returns, you are fitting a returns = constant + MA(2) model. If you want, (returns - estimated constant) can surve as an estimate of the MA part. Is this what you want?

By the way, your mathematical equation does not conform to your ARIMA model specification. Do you mean the unobserved R_t acts like the white noise part of the ARIMA model? ARIMA assumes theta_0 to be 1.

There is another procedure, PROC UCM, in SAS/ETS that might be more appropriate for decomposing your returns into a slow moving smooth part and a rougher noise part. See an example of trend removal using HP filter: https://support.sas.com/documentation/cdl/en/etsug/68148/HTML/default/viewer.htm#etsug_ucm_examples0... You can also get a decomposition based on an MA(2) component (see the syntax for IRREGULAR component: https://support.sas.com/documentation/cdl/en/etsug/68148/HTML/default/viewer.htm#etsug_ucm_syntax11....). UCM is a very general purpose procedure to obtain such decompositions. It supports BY processing also. If you want even more customization, you can use the SSM procedure (https://support.sas.com/documentation/cdl/en/etsug/68148/HTML/default/viewer.htm#etsug_ssm_gettingst...). However, SSM procedure usually requires more coding.

Hope this helps.

Hope this helps.

Rajesh

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

Posted in reply to rselukar

03-09-2016 11:22 AM

Hi Rajesh,

I think there can be a bit of confusion in the equation because of the R's. But lets take a clearer one where

where X_t is the unobserved returns and nt is the white noise. then I want to estimate the parameters using the

maximum likelihood estimation method with the normalization constraint 1 = theta0 + theta1 + theta2.

thanks

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

Posted in reply to bukky09

03-09-2016 01:47 PM

Unfortunately, PROC ARIMA will not be able to impose this restriction on thetas. I think your theta_0 can be absorbed in the variance parameter of eta. In ARIMA, theta1 and theta2 (scaled by theta0) satisfy the invertibility condition.