[R-SIG-Finance] Customized indicator for quantstrat

Brian G. Peterson brian at braverock.com
Sat Dec 15 12:40:52 CET 2012


On 12/15/2012 04:26 AM, me wrote:
> On Fri, 14 Dec 2012 23:56:08 -0500
> "Robert A'gata" <rhelpacc at gmail.com> wrote:
>
>> Hi,
>>
>> I am trying to learn how to create customized indicator. Mostly I
>> have my own recipe which TTR does not cover. I only know that the
>> indicator function is supposed to return xts. But I couldn't get it
>> to work on my example. I attached the file here. The customized
>> indicator function is called "devCalc" which calculates deviation
>> between current price and a given VWAP. Then normalized with
>> volatility. I named the indicator as "dev" in add.indicator's label.
>> R complains that no "dev" found when I try to use it to define my
>> signal. Any help would be appreciated. Thank you.
>
>
> Robert
>
> I think I have encountered this problem before. For some reason, you
> have to make sure that the 'devCalc' function that calculates your
> indicator returns an xts object *with the correct column names*. In your
> case, I think you should do something like this.
>
> devCalc(...){
>    ...
>    colnames(res) <- 'dev'
>    return(res)
> }
>
>
> For some reason, the label="dev" argument in the declaration below is
> not enough.
>
>
> stratVwap <- add.indicator(strategy=stratVwap,name="devCalc",
> 				arguments=list(price=quote(mktdata$price),
> 				vwap=quote(mktdata$vwap)),
> 				label="dev");

applyIndicators will append the label in all cases, I believe.

It seemed from Robert's original post and reported error that he 
probably used name='dev' rather than name='devCalc', since R reported 
that it could not find a function *named* 'dev'.

-- 
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973
IM: bgpbraverock



More information about the R-SIG-Finance mailing list