blotter on 15 min data
On 04/13/2010 04:15 PM, kafkaz wrote:
Q: can I use blotter on 5 min. data?
A: Yes. I use it on high frequency irregular and bar data all the time,
but I do not use updateEndEq (it's not really important for what I do)
so the problem may lie there.
Use dput() to output your data, str() does not create a reproducible
example. (Thank you for trying.)
Please update to current R-Forge code for blotter (there have been
several changes recently) and related/required dependencies, and re-post
a reproducible example.
I'm a little busy leading up to R/Finance in Chicago this week, but I'll
take a look at it in detail on Monday and we'll work with you to get it
fixed if you provide something we can run to reproduce your error.
Regards,
- Brian
In my case, equity goes to 0 after first call of: updatePortf(ltportfolio, Dates = currentDate) updateAcct(ltaccount, Dates = currentDate) updateEndEq(ltaccount, Dates = currentDate) My data looks like this:
head(eu5min)
Open High Low Close
2007-01-02 02:05:00 1.3232 1.3234 1.3230 1.3234
2007-01-02 02:10:00 1.3233 1.3233 1.3230 1.3232
2007-01-02 02:15:00 1.3233 1.3234 1.3232 1.3232
2007-01-02 02:20:00 1.3233 1.3234 1.3229 1.3230
2007-01-02 02:25:00 1.3229 1.3232 1.3229 1.3231
2007-01-02 02:30:00 1.3230 1.3232 1.3229 1.3230
Here is blotter related code:
Sys.setenv(TZ="GMT")
initDate=index(eu5min[1])
rm(list=ls(envir=.blotter),envir=.blotter)
symbols<-c('eu5min')
initPortf(ltportfolio,symbols, initDate=initDate)
initAcct(ltaccount,portfolios=c(ltportfolio),
initDate=initDate,initEq=100000)
currency("USD")
stock('eu5min',currency="USD",multiplier=1)
equity = getEndEq(ltaccount, initDate)
print(paste('equity ',equity))
for(i in 2:length(signal))
{
currentDate= time(signal)[i]
print(paste('currentDate ',currentDate))
updatePortf(ltportfolio, Dates = currentDate)
updateAcct(ltaccount, Dates = currentDate)
updateEndEq(ltaccount, Dates = currentDate)
equity = getEndEq(ltaccount, currentDate)
print(paste('equity ',equity))
}
Output of this code is:
[1] "equity 1e+05"
[1] "currentDate 2007-01-02 02:10:00"
[1] "equity 0"
[1] "currentDate 2007-01-02 02:15:00"
[1] "equity 0"
[1] "currentDate 2007-01-02 02:20:00"
[1] "equity 0"
[1] "currentDate 2007-01-02 02:25:00"
[1] "equity 0"
[1] "currentDate 2007-01-02 02:30:00"
[1] "equity 0"
[1] "currentDate 2007-01-02 02:35:00"
[1] "equity 0"
As you can see, equity goes down without any transaction.
str(eu5min)
An ?xts? object from 2007-01-02 02:05:00 to 2007-02-01 23:55:00 containing:
Data: num [1:6509, 1:4] 1.32 1.32 1.32 1.32 1.32 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:4] "Open" "High" "Low" "Close"
Indexed by objects of class: [POSIXt,POSIXct] TZ: GMT
xts Attributes:
NULL
str(signal)
An ?xts? object from 2007-01-02 02:05:00 to 2007-02-01 23:55:00 containing:
Data: num [1:6509, 1] 0 0 0 0 0 0 0 0 0 0 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr "Close"
Indexed by objects of class: [POSIXt,POSIXct] TZ: GMT
xts Attributes:
NULL
Any ideas about this? Thank you in advance.
Brian G. Peterson http://braverock.com/brian/ Ph: 773-459-4973 IM: bgpbraverock