Quantcast

A quick custom data question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

A quick custom data question

Michael Chen

Hi,


I didn't get a satisfactory answer after searching the archives.  I just like to know how do we access market data other than OHLC? for example:



head(J.DCE)
               Open     High      Low    Close Volume hmmState
2010-01-04 2886.193 2886.193 2811.193 2833.193      0        1
2010-01-05 2886.193 2886.193 2811.193 2833.193      0        1
2010-01-06 2886.193 2886.193 2811.193 2833.193      0        1
2010-01-07 2886.193 2886.193 2811.193 2833.193      0        1
2010-01-08 2886.193 2886.193 2811.193 2833.193      0        1
2010-01-11 2886.193 2886.193 2811.193 2833.193      0        1


In my quantstrat set up,  I simply set up this as an indicator:


add.indicator(strategy.st, name = "getHMM",
              arguments = list(x = quote(getPrice( mktdata, prefer = "hmmState"))),
              label = "HMMState")


getHMM is a simple function I wrote to pass on the data as an indicator, anyhow the error occurs at the getting data part:


> test <- applyIndicators(strategy.st,  OHLC(J.DCE))
Error in getPrice(mktdata, prefer = "hmmState") : subscript out of bounds, no price was discernible from the data


The data was converted to an xts for quantstrat.  I am probably making a simple error somewhere, would someone please point it out to me, thanks.   Also, is there a better way to or a more correct way to access custom data easily for quantstrat indicators/signals??


thanks


_______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should go.
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: A quick custom data question

braverock
On 04/08/2017 03:58 AM, Michael Chen wrote:

> Hi,
>
>
> I didn't get a satisfactory answer after searching the archives.  I just
> like to know how do we access market data other than OHLC? for example:
>
>
>
> head(J.DCE)                Open     High      Low    Close Volume hmmState
> 2010-01-04 2886.193 2886.193 2811.193 2833.193      0        1
> 2010-01-05 2886.193 2886.193 2811.193 2833.193      0        1
> 2010-01-06 2886.193 2886.193 2811.193 2833.193      0        1
> 2010-01-07 2886.193 2886.193 2811.193 2833.193      0        1
> 2010-01-08 2886.193 2886.193 2811.193 2833.193      0        1
> 2010-01-11 2886.193 2886.193 2811.193 2833.193      0        1
>
>
>
> In my quantstrat set up,  I simply set up this as an indicator:
>
>
> add.indicator(strategy.st, name = "getHMM",
>               arguments = list(x = quote(getPrice( mktdata, prefer =
> "hmmState"))),
>               label = "HMMState")
>
>
> getHMM is a simple function I wrote to pass on the data as an indicator,
> anyhow the error occurs at the getting data part:
>
>
>> test <- applyIndicators(strategy.st, OHLC(J.DCE))
> Show Traceback
> Rerun with Debug
> Error in getPrice(mktdata, prefer = "hmmState") : subscript out of
> bounds, no price was discernible from the data
>
>
> The data was converted to an xts for quantstrat.  I am probably making a
> simple error somewhere, would someone please point it out to me,
> thanks.   Also, is there a better way to or a more correct way to access
> custom data easily for quantstrat indicators/signals??

The list doesn't terribly like HTML posts.

Anyway, it seems likely that your problem is here:

OHLC(J.DCE)

when you call applyIndicators.

You're only passing in the OHLC columns.

just test applyIndicators with

applyIndicators(strategy.st, mktdata=J.DCE)

and getPrice should be able to find your column in your getHMM function.

Even simpler, since the data is already there, and being passed into to
the apply* functions with the original data is to simply refer to the
column in whatever other indicator needs it, or in your signal
functions.  I don't see a need for a custom indicator function at all.

In any case, from your non-reproducible example, and just reading the
code, the main problem appears to be your call to OHLC(), which will
strip your other columns.  Skip that, and things should be fine.

Regards,

Brian


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

_______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should go.
Loading...