Blotter package - problem with example.
Hi Jan, Yea! Another Gentoo user! OK, I had trouble with xts-0.6.8 on windows. I had to go with the 0.6.7 version in the Bezerkeley CRAN repo to get it to work at all. I haven't tried anything with blotter on Gentoo yet. HTH, Mark
On Wed, Oct 14, 2009 at 6:15 AM, Jan Vandermeer <nordicgnome at gmail.com> wrote:
Hi Jeff; Thanks for your speedy reply. I thought that I had a relatively up to date R repository, kind of just short of SVN but updating to the packages on R-forge, xts_0.6.8 and quantmod_0.3-12 allowed a clean run. I guess I was not living as close to the bleeding edge as I thought. Jan On Tue, Oct 13, 2009 at 10:27 PM, Jeff Ryan <jeff.a.ryan at gmail.com> wrote:
Try installing the latest versions of xts and quantmod as well. ?As blotter is under development, it is best to update all the dependencies as well. In this case, I think that should solve your problem. Best, Jeff On Tue, Oct 13, 2009 at 9:22 PM, Jan Vandermeer <nordicgnome at gmail.com> wrote:
Hi all; I've been following the discussion here on backtesting ([R-SIG-Finance] Backtesting framework package - <https://stat.ethz.ch/pipermail/r-sig-finance/2009q2/004404.html> and the discussion ?[R-SIG-Finance] QuantMod trading models docs? initiated by Mark Knecht and decided to give the blotter package a try. I tried running ?through the example provided by the blotter package. </usr/lib64/R/library/blotter/html/blotter-package.html> I installed the latest version from R-forge. I am running R version 2.9.1 (2009-06-26) on an AMD Turion 64 with a Gentoo 2.6.31 kernel. Things ran smoothly as shown below until I got to the "p = updatePortf(p,'2007-01')" step, where R kicked out "Error in if (mid != 0 && key < vec[mid]) { : ?missing value where TRUE/FALSE needed". So I went along and looked at the "/usr/lib64/R/library/blotter/html/00Index.html", which sent me along to "/usr/lib64/R/library/blotter/html/updatePosPL.html" and attempted to adjust some of the values because the usage seems to indicate that additional values may be required "Usage updatePosPL(Portfolio, Symbol, StartDate, EndDate, Prices = Cl(get(Symbol))) updatePortf(Portfolio, StartDate, EndDate)" I added an EndDate using the same format as in the getSymbols command. and received the following error.
p = updatePortf(p,'2007-01-01`, '2007-01-31')
Error: unexpected numeric constant in "p = updatePortf(p,'2007-01-01`, '2007" I tried a couple of variations on the updatePosPL()
updatePosPL(p, "IBM", '2007-01-01', '2007-01-31', Prices = Cl(get(Symbol)))
Error in updatePosPL(p, "IBM", "2007-01-01", "2007-01-31", Prices =
Cl(get(Symbol))) :
?unused argument(s) ("2007-01-31")
updatePosPL(p, "IBM", '2007-01-01', '2007-01-31', Prices = Cl(get(Symbol)))
Error in updatePosPL(p, "IBM", "2007-01-01", "2007-01-31", Prices =
Cl(get(Symbol))) :
?unused argument(s) ("2007-01-31")
updatePosPL(p, "IBM", '2007-01-01', Prices = Cl(get(Symbol)))
Error in get(Symbol) : object 'Symbol' not found
updatePosPL(p, "IBM", '2007-01-01', Prices = Cl(get(symbol)))
Error in get(symbol) : object 'symbol' not found I also tried:
updatePosPL(p, "IBM", '2007-01-01', Prices = Cl(IBM))
Error in if (any(i < 0)) { : missing value where TRUE/FALSE needed
At this point I am at a bit of a loss. I tried looking through some of
the stuff on R-Project to see if there are guidelines for code
examples and where and if they should work. I guess I would expect the
code examples include in the library or
"/usr/lib64/R/library/blotter/R-ex" to just work.
So, I am I doing something glaringly wrong? Do I need to update my
version of R, xts, zoo or quantmod? I know I am on still on the steep
part of the learning curve as far as R in general is concerned and
specifically with time series and financial data with R but R texts
I've seen suggest that working through examples with real data and
known steps is a great way to learn. Successfully working through
examples allows one small sign posts of success along the way
Any assistance would be appreciated.
Jan
Blotter example entered into R and responses after the first _________
I tried looking at the output for "p", see below the second ______. It
appears to be included in the data.frame
Values obtained through quantmod are below the third _______
________________________________
library(blotter)
Loading required package: xts
Loading required package: zoo
Attaching package: 'zoo'
? ? ? ?The following object(s) are masked from package:base :
? ? ? ? as.Date.numeric
xts now requires a valid TZ environment variable to be set
?no TZ var is set, setting to TZ=GMT
symbols = c("IBM","F","MMM")
require(quantmod)
Loading required package: quantmod
Loading required package: Defaults
Loading required package: TTR
getSymbols(symbols, from='2007-01-01', to='2007-01-31', index.class="POSIXct")
[1] "IBM" "F" ? "MMM"
print('Creating portfolio \"p\"...')
[1] "Creating portfolio \"p\"..."
p = initPortf(symbols=symbols)
print('Adding trades to \"p\"...')
[1] "Adding trades to \"p\"..."
# Make a couple of trades in IBM
p = addTxn(p, "IBM", '2007-01-03', 50, 96.5, -0.05*50)
[1] "IBM 2007-01-03 50 @ 96.5"
p = addTxn(p, "IBM", '2007-01-04', 50, 97.1, -0.05*50)
[1] "IBM 2007-01-04 50 @ 97.1"
# ...a few in F.
p = addTxn(p, "F", '2007-01-03', -100, 7.60, -0.05*100)
[1] "F 2007-01-03 -100 @ 7.6"
p = addTxn(p, "F", '2007-01-04', 50, 7.70, -0.05*50)
[1] "F 2007-01-04 50 @ 7.7"
p = addTxn(p, "F", '2007-01-10', 50, 7.78, -0.05*50)
[1] "F 2007-01-10 50 @ 7.78"
# ...and some in MMM
p = addTxn(p, "MMM", '2007-01-05', -50, 77.9, -0.05*50)
[1] "MMM 2007-01-05 -50 @ 77.9"
p = addTxn(p, "MMM", '2007-01-08', 50, 77.6, -0.05*50)
[1] "MMM 2007-01-08 50 @ 77.6"
p = addTxn(p, "MMM", '2007-01-09', 50, 77.6, -0.05*50)
[1] "MMM 2007-01-09 50 @ 77.6"
___________
It appears that the transactions have been posted correctly
p
$IBM
$IBM$txn
? ? ? ? ? Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost Pos.Qty
1950-01-01 ? ? ? 0 ? ? ? 0.0 ? ? ?0.0 ? ? ? 0.0 ? ? ? ? 0.00 ? ? ? 0
2007-01-03 ? ? ?50 ? ? ?96.5 ? ? -2.5 ? ?4827.5 ? ? ? ?96.55 ? ? ?50
2007-01-04 ? ? ?50 ? ? ?97.1 ? ? -2.5 ? ?4857.5 ? ? ? ?97.15 ? ? 100
? ? ? ? ? Pos.Avg.Cost Realized.PL
1950-01-01 ? ? ? ? 0.00 ? ? ? ? ? 0
2007-01-03 ? ? ? ?96.55 ? ? ? ? ? 0
2007-01-04 ? ? ? ?96.85 ? ? ? ? ? 0
$IBM$posPL
? ? ? ? ? Pos.Qty Pos.Value Txn.Value Txn.Fees Realized.PL Unrealized.PL
1950-01-01 ? ? ? 0 ? ? ? ? 0 ? ? ? ? 0 ? ? ? ?0 ? ? ? ? ? 0 ? ? ? ? ? ? 0
? ? ? ? ? Trading.PL
1950-01-01 ? ? ? ? ?0
$F
$F$txn
? ? ? ? ? Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost Pos.Qty
1950-01-01 ? ? ? 0 ? ? ?0.00 ? ? ?0.0 ? ? ? 0.0 ? ? ? ? 0.00 ? ? ? 0
2007-01-03 ? ?-100 ? ? ?7.60 ? ? -5.0 ? ?-755.0 ? ? ? ? 7.55 ? ?-100
2007-01-04 ? ? ?50 ? ? ?7.70 ? ? -2.5 ? ? 387.5 ? ? ? ? 7.75 ? ? -50
2007-01-10 ? ? ?50 ? ? ?7.78 ? ? -2.5 ? ? 391.5 ? ? ? ? 7.83 ? ? ? 0
? ? ? ? ? Pos.Avg.Cost Realized.PL
1950-01-01 ? ? ? ? 0.00 ? ? ? ? ? 0
2007-01-03 ? ? ? ? 7.55 ? ? ? ? ? 0
2007-01-04 ? ? ? ? 7.35 ? ? ? ? -10
2007-01-10 ? ? ? ? 0.00 ? ? ? ? -24
$F$posPL
? ? ? ? ? Pos.Qty Pos.Value Txn.Value Txn.Fees Realized.PL Unrealized.PL
1950-01-01 ? ? ? 0 ? ? ? ? 0 ? ? ? ? 0 ? ? ? ?0 ? ? ? ? ? 0 ? ? ? ? ? ? 0
? ? ? ? ? Trading.PL
1950-01-01 ? ? ? ? ?0
$MMM
$MMM$txn
? ? ? ? ? Txn.Qty Txn.Price Txn.Fees Txn.Value Txn.Avg.Cost Pos.Qty
1950-01-01 ? ? ? 0 ? ? ? 0.0 ? ? ?0.0 ? ? ? 0.0 ? ? ? ? 0.00 ? ? ? 0
2007-01-05 ? ? -50 ? ? ?77.9 ? ? -2.5 ? -3892.5 ? ? ? ?77.85 ? ? -50
2007-01-08 ? ? ?50 ? ? ?77.6 ? ? -2.5 ? ?3882.5 ? ? ? ?77.65 ? ? ? 0
2007-01-09 ? ? ?50 ? ? ?77.6 ? ? -2.5 ? ?3882.5 ? ? ? ?77.65 ? ? ?50
? ? ? ? ? Pos.Avg.Cost Realized.PL
1950-01-01 ? ? ? ? 0.00 ? ? ? ? ? 0
2007-01-05 ? ? ? ?77.85 ? ? ? ? ? 0
2007-01-08 ? ? ? ? 0.00 ? ? ? ? ?10
2007-01-09 ? ? ? ?77.65 ? ? ? ? ? 0
$MMM$posPL
? ? ? ? ? Pos.Qty Pos.Value Txn.Value Txn.Fees Realized.PL Unrealized.PL
1950-01-01 ? ? ? 0 ? ? ? ? 0 ? ? ? ? 0 ? ? ? ?0 ? ? ? ? ? 0 ? ? ? ? ? ? 0
? ? ? ? ? Trading.PL
1950-01-01
_________________________________________
IBM
? ? ? ? ? IBM.Open IBM.High IBM.Low IBM.Close IBM.Volume IBM.Adjusted
2007-01-03 ? ?97.18 ? ?98.40 ? 96.26 ? ? 97.27 ? ?9196800 ? ? ? ?92.84
2007-01-04 ? ?97.25 ? ?98.79 ? 96.88 ? ? 98.31 ? 10524500 ? ? ? ?93.83
2007-01-05 ? ?97.60 ? ?97.95 ? 96.91 ? ? 97.42 ? ?7221300 ? ? ? ?92.98
2007-01-08 ? ?98.50 ? ?99.50 ? 98.35 ? ? 98.90 ? 10340000 ? ? ? ?94.40
2007-01-09 ? ?99.08 ? 100.33 ? 99.07 ? ?100.07 ? 11108200 ? ? ? ?95.51
2007-01-10 ? ?98.50 ? ?99.05 ? 97.93 ? ? 98.89 ? ?8744800 ? ? ? ?94.39
2007-01-11 ? ?99.00 ? ?99.90 ? 98.50 ? ? 98.65 ? ?8000700 ? ? ? ?94.16
2007-01-12 ? ?98.99 ? ?99.69 ? 98.50 ? ? 99.34 ? ?6636500 ? ? ? ?94.82
2007-01-16 ? ?99.40 ? 100.84 ? 99.30 ? ?100.82 ? ?9602200 ? ? ? ?96.23
2007-01-17 ? 100.69 ? 100.90 ? 99.90 ? ?100.02 ? ?8200700 ? ? ? ?95.47
2007-01-18 ? ?99.80 ? ?99.95 ? 98.91 ? ? 99.45 ? 14725000 ? ? ? ?94.92
2007-01-19 ? ?95.00 ? ?96.85 ? 94.55 ? ? 96.17 ? 26035800 ? ? ? ?91.79
2007-01-22 ? ?96.42 ? ?97.23 ? 96.12 ? ? 97.11 ? 13539300 ? ? ? ?92.69
2007-01-23 ? ?96.91 ? ?97.38 ? 96.20 ? ? 97.08 ? 10337400 ? ? ? ?92.66
2007-01-24 ? ?97.08 ? ?97.58 ? 96.58 ? ? 97.40 ? ?5700000 ? ? ? ?92.96
2007-01-25 ? ?97.22 ? ?97.92 ? 97.22 ? ? 97.51 ? ?6201300 ? ? ? ?93.07
2007-01-26 ? ?97.52 ? ?97.83 ? 96.84 ? ? 97.45 ? ?5771100 ? ? ? ?93.01
2007-01-29 ? ?97.70 ? ?98.66 ? 97.45 ? ? 98.54 ? ?7294800 ? ? ? ?94.05
2007-01-30 ? ?98.57 ? ?99.45 ? 98.50 ? ? 99.37 ? ?7177900 ? ? ? ?94.84
2007-01-31 ? ?98.80 ? ?99.48 ? 98.35 ? ? 99.15 ? ?6432600 ? ? ? ?94.63
F
? ? ? ? ? F.Open F.High F.Low F.Close ?F.Volume F.Adjusted
2007-01-03 ? 7.56 ? 7.67 ?7.44 ? ?7.51 ?78652200 ? ? ? 7.51
2007-01-04 ? 7.56 ? 7.72 ?7.43 ? ?7.70 ?63454900 ? ? ? 7.70
2007-01-05 ? 7.72 ? 7.75 ?7.57 ? ?7.62 ?40562100 ? ? ? 7.62
2007-01-08 ? 7.63 ? 7.75 ?7.62 ? ?7.73 ?48938500 ? ? ? 7.73
2007-01-09 ? 7.75 ? 7.86 ?7.73 ? ?7.79 ?56732200 ? ? ? 7.79
2007-01-10 ? 7.79 ? 7.79 ?7.67 ? ?7.73 ?42397100 ? ? ? 7.73
2007-01-11 ? 7.73 ? 7.80 ?7.68 ? ?7.77 ?40020800 ? ? ? 7.77
2007-01-12 ? 7.77 ? 7.92 ?7.76 ? ?7.89 ?57053800 ? ? ? 7.89
2007-01-16 ? 7.89 ? 8.01 ?7.87 ? ?7.94 ?66699800 ? ? ? 7.94
2007-01-17 ? 7.97 ? 8.10 ?7.97 ? ?8.04 ?63728700 ? ? ? 8.04
2007-01-18 ? 8.06 ? 8.24 ?8.06 ? ?8.18 ?78375700 ? ? ? 8.18
2007-01-19 ? 8.24 ? 8.32 ?8.17 ? ?8.30 ?66023300 ? ? ? 8.30
2007-01-22 ? 8.33 ? 8.43 ?8.25 ? ?8.41 ?53554600 ? ? ? 8.41
2007-01-23 ? 8.39 ? 8.62 ?8.24 ? ?8.30 116406900 ? ? ? 8.30
2007-01-24 ? 8.31 ? 8.35 ?8.11 ? ?8.20 ?76821900 ? ? ? 8.20
2007-01-25 ? 8.15 ? 8.52 ?8.00 ? ?8.22 ?99688700 ? ? ? 8.22
2007-01-26 ? 8.15 ? 8.48 ?8.14 ? ?8.42 ?54421900 ? ? ? 8.42
2007-01-29 ? 8.44 ? 8.51 ?8.35 ? ?8.37 ?55791000 ? ? ? 8.37
2007-01-30 ? 8.38 ? 8.42 ?8.19 ? ?8.20 ?28763200 ? ? ? 8.20
2007-01-31 ? 8.17 ? 8.20 ?8.04 ? ?8.13 ?65038600 ? ? ? 8.13
MMM
? ? ? ? ? MMM.Open MMM.High MMM.Low MMM.Close MMM.Volume MMM.Adjusted
2007-01-03 ? ?77.53 ? ?78.85 ? 77.38 ? ? 78.26 ? ?3781500 ? ? ? ?72.40
2007-01-04 ? ?78.40 ? ?78.41 ? 77.45 ? ? 77.95 ? ?2968400 ? ? ? ?72.11
2007-01-05 ? ?77.89 ? ?77.90 ? 77.01 ? ? 77.42 ? ?2765200 ? ? ? ?71.62
2007-01-08 ? ?77.42 ? ?78.04 ? 76.97 ? ? 77.59 ? ?2434500 ? ? ? ?71.78
2007-01-09 ? ?78.00 ? ?78.23 ? 77.44 ? ? 77.68 ? ?1896800 ? ? ? ?71.86
2007-01-10 ? ?77.31 ? ?77.96 ? 77.04 ? ? 77.85 ? ?1787500 ? ? ? ?72.02
2007-01-11 ? ?78.05 ? ?79.03 ? 77.88 ? ? 78.65 ? ?2372500 ? ? ? ?72.76
2007-01-12 ? ?78.41 ? ?79.50 ? 78.22 ? ? 79.36 ? ?2582200 ? ? ? ?73.42
2007-01-16 ? ?79.48 ? ?79.62 ? 78.92 ? ? 79.56 ? ?2526600 ? ? ? ?73.60
2007-01-17 ? ?79.33 ? ?79.51 ? 78.75 ? ? 78.91 ? ?2711300 ? ? ? ?73.00
2007-01-18 ? ?78.71 ? ?79.70 ? 78.60 ? ? 78.81 ? ?1963000 ? ? ? ?72.91
2007-01-19 ? ?79.09 ? ?79.88 ? 78.82 ? ? 79.25 ? ?2912100 ? ? ? ?73.32
2007-01-22 ? ?79.25 ? ?79.29 ? 78.13 ? ? 78.49 ? ?2139300 ? ? ? ?72.61
2007-01-23 ? ?78.71 ? ?79.15 ? 78.33 ? ? 78.85 ? ?1949500 ? ? ? ?72.95
2007-01-24 ? ?78.85 ? ?79.66 ? 78.85 ? ? 79.49 ? ?1772700 ? ? ? ?73.54
2007-01-25 ? ?79.56 ? ?79.75 ? 78.83 ? ? 79.01 ? ?2888700 ? ? ? ?73.09
2007-01-26 ? ?78.97 ? ?79.19 ? 78.23 ? ? 78.69 ? ?1996300 ? ? ? ?72.80
2007-01-29 ? ?78.54 ? ?79.20 ? 78.25 ? ? 78.96 ? ?3420300 ? ? ? ?73.05
2007-01-30 ? ?74.92 ? ?76.18 ? 74.24 ? ? 74.70 ? 15657900 ? ? ? ?69.11
2007-01-31 ? ?74.21 ? ?74.68 ? 73.09 ? ? 74.30 ? ?9284500 ? ? ? ?68.74
_______________________________________________
R-SIG-Finance at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only.
-- If you want to post, subscribe first.
-- Jeffrey Ryan jeffrey.ryan at insightalgo.com ia: insight algorithmics www.insightalgo.com
_______________________________________________ R-SIG-Finance at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-finance -- Subscriber-posting only. -- If you want to post, subscribe first.