2021-10-19 Enrico Schumann * DESCRIPTION (Version): 0.17-0 2021-09-26 Enrico Schumann * man/returns.Rd: describe "ytd!" in docs 2021-09-18 Enrico Schumann * DESCRIPTION (Version): 0.16-1 [bug-fix release, built directly "on top" of version 0.16-0] * R/position.R: convert to Date via as.POSIXlt(....). This fixes computing dates from timestamps in certain locales (timezones with large UTC offsets) in case the "when" keyword was used. 2021-09-15 Enrico Schumann * R/internal.R (.match_or_next): new argument 'fastmatch', with default FALSE (.match_or_previous): new argument 'fastmatch', with default FALSE 2021-08-17 Enrico Schumann * R/rebalance.R (print.rebalance): fix print method for subsetting 2021-08-13 Enrico Schumann * R/rebalance.R (print.rebalance): do no longer ignore 'multiplier' when computing values in print method 2021-07-07 Enrico Schumann * R/returns.R (returns): avoid warnings when computing holding-period returns when 'period' of is length greater than one 2021-03-21 Enrico Schumann * R/rc.R (rc): [experimental] 'rc' gains limited support for attribution (currently for a single period only); the function gains several arguments for providing necessary information, such as 'R.bm' and 'weights.bm' 2021-02-22 Enrico Schumann * R/returns.R (returns_position): warn if there are NAs at rebalancing timestamps 2021-01-19 Enrico Schumann * DESCRIPTION (Version): 0.16-0 2021-01-17 Enrico Schumann * R/returns.R (returns.default): specially handle numeric/integer timestamps, so that a numeric 'rebalance.when' will be matched against an integer 't' 2021-01-15 Enrico Schumann * R/returns.R (returns.default): coerce 'x' to matrix if 'returns_position' is called 2021-01-12 Enrico Schumann * R/returns.R (returns_position): zero positions now correctly return zero returns (instead of NaN) 2021-01-10 Enrico Schumann * R/unit_prices.R (unit_prices): support 'cf.included' * R/div_adjust.R (div_adjust): allow duplicated timestamps, i.e. several payments on a single date; update docs * inst/tinytest/test_div_adjust.R: add tests * inst/tinytest/test_split_adjust.R: add tests 2021-01-02 Enrico Schumann * R/returns.R (returns_position): add internal function for computing rebalanced returns, for both fixed weights and fixed positions. No longer use internal function 'returns_rebalance'. * R/returns.R: remove 'twReturns' * R/internal.R (.copy_fw, .copy_fw_matrix): add internal functions 2020-11-22 Enrico Schumann * R/unit_prices.R (unit_prices): the function now supports cashflows for different ids/accounts, even on the same timestamp. Fewer columns are now returned, with an attribute 'transactions' attached: a data.frame of the transactions, for each id/account. The old function definition can still be accessed with PMwR:::.unit_prices> but this will be removed in a future version. Argument 'cf.included' it not (yet) supported right now. 2020-10-20 Enrico Schumann * DESCRIPTION (Version): 0.15-1 * R/div_adjust.R (div_adjust): fix handling of dividends that include first observation as timestamp 2020-10-19 Enrico Schumann * DESCRIPTION (Version): 0.15-0 2020-10-14 Enrico Schumann * R/journal.R (head.journal, tail.journal): set default value for argument 'by' to "instrument"; if 'by' is TRUE (the old default), set it to "instrument" 2020-10-12 Enrico Schumann * R/journal.R (summary.journal): rewrite and document method 2020-10-10 Enrico Schumann * R/position.R (position): support "endofyear" as keyword for 'when' 2020-10-01 Enrico Schumann * inst/tinytest/test_is_valid_SEDOL.R: add tests 2020-09-25 Enrico Schumann * R/is_valid_ISIN.R (is_valid_SEDOL): add function 2020-08-22 Enrico Schumann * R/valuation.R (valuation): rename argument price.table => vprice * R/pricetable.R (`[.pricetable`): subsetting a pricetable gains a new argument 'as.matrix', with default TRUE. * R/pl.R (pl.default): check if custom valuation dates passed via 'along.timestamp' are in ascending order (and sort them if they are not) 2020-08-12 Enrico Schumann * R/journal.R (journal.default): do not recycle journal inputs (i.e. do not use 'rep') when they already are of appropriate length 2020-08-09 Enrico Schumann * DESCRIPTION (Depends): require at least R version 3.2, which was released in 2015 ('lengths' was added in that version) 2020-05-26 Enrico Schumann * R/valuation.R (valuation.position): add argument 'use.names'. If TRUE, the (column) names of 'price.table' are matched against 'instrument'. 2020-05-17 Enrico Schumann * R/pl.R (pl): fix profit/loss computation when 'along.timestamp' specifies a single timestamp 2020-05-16 Enrico Schumann * R/valuation.R (valuation.position): for a single timestamp and a named position, 'price.table' may now also be a named vector; see Examples in ?valuation 2020-04-29 Enrico Schumann * R/rebalance.R (rebalance): warn about NAs in 'price' vector * R/scale1.R (scale1.zoo): fix handling of 'zoo' series when index is of class 'character' 2020-03-11 Enrico Schumann * DESCRIPTION (Version): 0.14-0 2020-03-10 Enrico Schumann * R/btest.R (do.rebalance): fixed -- 'btest' did not work properly with 'do.rebalance' set to "firstofquarter" or "lastofquarter" (thanks to Lutchmie Narine for reporting) 2020-03-03 Enrico Schumann * DESCRIPTION (Suggests): remove 'RUnit' * inst/tinytest/*: move all tests to tinytest format 2020-03-01 Enrico Schumann * R/div_adjust.R (split_adjust): support several splits on a single timestamp 2020-02-24 Enrico Schumann * R/pl.R (pl.default): use 'vprice' only if it is actually specified, which avoids unnecessary NAs in average buy/sell prices 2020-02-19 Enrico Schumann * R/returns.R (returns,returns_rebalance): the 'weights' argument needs no longer sum to one 2020-02-18 Enrico Schumann * R/streaks.R (streaks): relative streaks are now computed via geometric returns (i.e. ratios need to exceed thresholds), so that return computations are consistent 2020-01-21 Enrico Schumann * R/streaks.R (streaks): remove argument 'return.arithmetic' (see ChangeLog 2020-01-07). The alternative return computations are added as examples. * R/NAVseries.R (summary.NAVseries): if a benchmark is present, an attribute 'bm' is added (toLatex.summary.NAVseries): new argument 'include.bm', with default FALSE 2020-01-17 Enrico Schumann * R/NAVseries.R (toLatex.summary.NAVseries): new argument 'include.bm', with default FALSE 2020-01-16 Enrico Schumann * R/btest.R (btest): for consistency, even replicate if replications == 1; reverts changes of 2020-01-02 2020-01-07 Enrico Schumann * R/streaks.R (streaks.default): new argument 'return.arithmetic', which specifies how reported streak returns are computed * R/journal.R (summary.journal) (print.summary.journal): allow aggregation of journal by timestamp and instrument 2020-01-03 Enrico Schumann * R/scale1.R (scale1.default): the default method now also works for data.frames * R/returns.R (returns.data.frame): fix method for cases when holding-period results in a single number, such as annual. The result is then an atomic vector, not a data.frame. * R/internal.R (make_neighbour): move code -- into package 'neighbours' [ repository at https://github.com/enricoschumann/neighbours ] 2020-01-02 Enrico Schumann * R/btest.R (btest): replicate only if 'replications' > 1L 2019-12-03 Enrico Schumann * R/position.R (as.matrix.position): only use timestamp for row.names if it is not NA (as.data.frame.position): only use timestamp for row.names if it is not NA, and check for uniqueness (as.data.frame.position): arguments passed via ... are passed on to 'as.data.frame' (Ops.position): support unary `!`: the result is a logical matrix of the same dimension as the original position 2019-11-08 Enrico Schumann * R/btest.R (btest): 'variations.settings' with new option 'expand.grid'. If FALSE, do not compute combinations of variations. See http://enricoschumann.net/notes/backtest-strategy-on-different-datasets.html for an example. 2019-11-07 Enrico Schumann * DESCRIPTION (Enhances): remove 'zoo' from 'Enhances' since it is already in 'Imports' * R/streaks.R (streaks): set default value for 'down' to '-up', in all methods 2019-11-05 Enrico Schumann * R/streaks.R: add argument 'y'. If not NULL, returns of 'x' are computed relative to 'y'. 2019-10-30 Enrico Schumann * DESCRIPTION (Enhances): add 'zoo' 2019-10-19 Enrico Schumann * DESCRIPTION (Version): 0.13-0 * DESCRIPTION (Suggests): use 'tinytest', but keep 'RUnit' (for now) * R/journal.R (`[.journal`): rename 'reverse' to 'invert' [the name 'reverse' rather implied reversing the order, not inverting the selection]. Also, apply inversion to numeric and logical subsetting (it had only worked for character arguments) 2019-10-09 Enrico Schumann * R/btest.R: fixed -- with an initial position specified and burnin set to zero, the suggested position should equal the initial position 2019-10-08 Enrico Schumann * R/NAVseries.R (lines.NAVseries): add 'lines' method 2019-10-05 Enrico Schumann * R/NAVseries.R (window.NAVseries): fix method, which did not work properly when 'start' or 'end' were not included in 'timestamp' * R/position.R (.compare_position): add draft of function, useful when positions are specified as weights (position): experimental -- new attribute "unit": a position might be something other than "amount"; for instance, "weight" or "notional" * R/returns.R (returns): "total" is now an alias for "itd" 2019-08-26 Enrico Schumann * DESCRIPTION (Version): 0.12-0 2019-08-22 Enrico Schumann * R/returns.R (returns.zoo): fixed -- with a lag different from 1 (and no padding), the timestamp of the resulting returns series was wrong 2019-08-08 Enrico Schumann * R/btest.R (btest): 'btest' now checks the 'dim' attribute of 'prices' (after having them unlisted, in the case of several assets). If none is found, 'as.matrix' is called. See ChangeLog 2019-06-20. 2019-07-26 Enrico Schumann * R/valuation.R (valuation.position): warn when there are missing values in multiplier, and add an argument 'do.warn' to switch off the warning * R/pricetable.R (pricetable.default): support shortcuts for setting up a pricetable with a single timestamp but several instruments. For instance, pricetable(c(A = 1, B = 2)) ## or pricetable(1:2, instrument = c("A", "B")) now create a pricetable. * R/position.R (toHTML.position): add method. Currently only works for positions at a single point in time. 2019-07-03 Enrico Schumann * R/pl.R (pl.default, print.pl): new argument 'footnotes', with default TRUE. If FALSE, less information is printed for 'pl' objects. In particular, open positions no longer produce a warning ("sum(amount) is not zero"), but only a message, which is only shown when 'footnotes' is TRUE. 2019-06-20 Enrico Schumann * R/btest.R (btest): [experimental] 'as.matrix' is no longer generally called on 'prices', but only if 'prices' are numeric vectors. This allows alternative classes to be used for 'prices', as long as they define subsetting via integers/logicals in the same way as numeric matrices. 2019-06-14 Enrico Schumann * R/returns.R (returns): returns will now be computed for period "itd" even when no timestamp is provided 2019-06-05 Enrico Schumann * R/btest.R (btest): when 'convert.weights' is TRUE, only convert non-zero weights 2019-06-02 Enrico Schumann * DESCRIPTION (Version): 0.11-1 2019-05-22 Enrico Schumann * R/div_adjust.R (div_adjust): fix handling of case additive = FALSE 2019-05-14 Enrico Schumann * R/btest.R (btest): clarify documentation of burnin 'b' 2019-04-30 Enrico Schumann * R/rebalance.R (rebalance): 'drop.zero' now drops instruments for which 'current' and 'target' are the same, i.e. for which no rebalancing is necessary (before, it would only drop instruments for which both 'current' and 'target' are zero) 2019-04-03 Enrico Schumann * R/rebalance.R (rebalance): list instruments for which prices are missing 2019-04-01 Enrico Schumann * DESCRIPTION (Version): 0.11-0 * R/position.R (print.position): fix condition (length was > 1) * R/plot_trading_hours.R (plot_trading_hours): fix condition (length was > 1) 2019-03-28 Enrico Schumann * NAMESPACE: 'textutils::trim' is now longer imported ('base::trimws' is used instead); * DESCRIPTION (Depends, Suggests): move package 'crayon' to Suggests 2019-03-07 Enrico Schumann * R/valuation.R (valuation.position): fix missing-prices warning 2019-02-24 Enrico Schumann * R/NAVseries.R (summary.NAVseries): rewrite method and print method to support several NAVseries, i.e. calling summary(as.NAVseries(series1), as.NAVseries(series2)) should print a summary that allows comparing both series (though the print method is still rudimentary) 2019-02-19 Enrico Schumann * R/NAVseries.R (NAVseries): new argument 'drop.NA' (NAVseries): if 'NAV' inherits from 'btest', call 'as.NAVseries.btest' 2019-02-15 Enrico Schumann * R/plot_trading_hours.R: fix axis tick positions when 'label' == "days" 2019-02-14 Enrico Schumann * DESCRIPTION (Depends): revert to R >= 2.10 * R/internal.R (.isFALSE): add function, which is used instead of 'isFALSE'. This is a temporary workaround (temporary == a few years) to allow the package to work with older R versions 2019-02-13 Enrico Schumann * DESCRIPTION (Depends): R (>= 3.5), because of 'isFALSE' 2019-02-06 Enrico Schumann * R/valuation.R (valuation.position): warn explicitly when no prices at all are available for an instrument 2019-02-01 Enrico Schumann * inst/unitTests/ut_PMwR.R (test.returns.period): add test for yearly returns 2019-01-29 Enrico Schumann * R/NAVseries.R (summary.NAVseries): method gains argument 'bm' ("benchmark"). If set, a 'tracking.error' is computed. 2019-01-28 Enrico Schumann * R/NAVseries.R (as.NAVseries.btest): method gains optional arguments 'instrument', 'title' and 'description' 2019-01-23 Enrico Schumann * R/trades.R (scale_to_unity): remove 'scaleToUnity'. See ChangeLog 2017-06-23. * R/NAVseries.R (summary.NAVseries): the function now returns a list of lists 2019-01-22 Enrico Schumann * R/returns.R (toLatex.p_returns_monthly): clean up code * R/trades.R (scale_trades, split_trades): remove 'scaleTrades', 'splitTrades'. See ChangeLog 2017-06-23. * R/valuation.R (valuation.journal): argument 'cashflow' may also be a numeric vector 2019-01-17 Enrico Schumann * R/journal.R (as.journal.list): add (bare-bones) method * R/position.R (position.default): add argument 'use.names' 2018-11-30 Enrico Schumann * R/trades.R (split_trades): when 'price' is missing, NA is used 2018-11-22 Enrico Schumann * R/btest.R: when the journal is constructed, make sure that class attributes are preserved (notably for timestamp) 2018-11-13 Enrico Schumann * R/btest.R: make journal creation more memory efficient, noticeable especially for backtests with many (>100) assets 2018-11-09 Enrico Schumann * R/returns.R (returns,returns_rebalance): 'weights' may now also be a matrix with as many rows as 'rebalance.when'. Also, rebalancing at the first timestamp is no longer implied, i.e. a function invocation such as returns(x, weights = <...>, rebalance.when = 2) will only rebalance at the second timestamp, and the first return will be zero. To get back the old behaviour, say returns(x, weights = <...>, rebalance.when = c(1, 2)) 2018-10-19 Enrico Schumann * DESCRIPTION (Version): 0.10-1 * man/pl.Rd: remove textConnection in example 2018-10-19 Enrico Schumann * DESCRIPTION (Version): 0.10-0 * R/position.R (Ops.position): allow +,-,/ only when both operands (i.e. positions) have instrument information 2018-10-18 Enrico Schumann * R/NAVseries.R (as.NAVseries.btest): do not use scale1 on NAVseries (which would not work when the NAVseries start with 0) 2018-10-17 Enrico Schumann * R/scale1.R (scale1.default): 'when' may also be "last" 2018-10-11 Enrico Schumann * R/btest.R (btest): [experimental] argument 'tc' may also be a function * R/btest.R (btest): fixed -- when a signal function evaluates to NULL, the suggested position is carried forward also when 'convert.weights' is TRUE. This behaviour is now also documented. 2018-10-10 Enrico Schumann * DESCRIPTION (Package): import from package 'parallel' (i.e. Suggests => Imports) 2018-09-23 Enrico Schumann * R/internal.R (sparkline): new argument 'points', for down-sampling the plotted time-series 2018-09-14 Enrico Schumann * R/btest.R (btest): setting 'replications' to a positive integer repeats the backtest as many times (which is useful only for tests with stochastic components, such as data resampling or stochastics optimisation techniques) 2018-09-07 Enrico Schumann * R/quote32.R (quote32, q32): fixed -- the function would not parse a price without fractions, such as "120" * R/btest.R (btest): 'variations.settings' may take a 'label', which is used to name the resulting list * R/returns.R (pReturns): if column names are present, keep them and print them for various holding periods, e.g. ytd or itd 2018-09-04 Enrico Schumann * R/pl.R (pl.default): pl along a timestamp now ignores NA values in the prices when there is no position in the instrument; see also ChangeLog 2018-07-31 2018-08-31 Enrico Schumann * R/streaks.R (streaks): new generic, with methods for NAVseries, zoo and numeric vectors * vignettes/Drawdowns_streaks.Rnw: add vignette * R/drawdowns.R (drawdowns.NAVseries): add and export method 2018-08-23 Enrico Schumann * R/quote32.R (quote32,q32): accept "+" in character input; for instance, "127-00+" is now recognised as "127-005" 2018-08-21 Enrico Schumann * inst/unitTests/ut_PMwR.R (test.btest_NA): new test function * R/btest.R (btest): new argument 'tol.p': if specified, only rebalance those positions for which the relative suggested change is greater than 'tol.p' (btest): rebalance arithmetic is now only performed for those positions with non-zero change. This may entail a (very small) performance penalty for backtests with very few assets, and a (small) performance gain for backtests with many assets. This change allows to have NAs in price series, as long as no position in such a series is taken. 2018-08-18 Enrico Schumann * R/btest.R (btest): 'variations': support serial and parallel backtests, the latter relying on package 'parallel' 2018-08-17 Enrico Schumann * R/btest.R (btest): [experimental] new arguments 'variations' and 'variations.settings' 2018-08-04 Enrico Schumann * R/pl.R (.pl_stats): remove 'avg'; see ChangeLog entry of 2017-07-05 2018-08-03 Enrico Schumann * R/pl.R (pl.btest): fixed -- method had not passed on additional arguments (`...`) 2018-07-31 Enrico Schumann * R/pl.R (pl.default): rewrite along.timestamp 'pl' code, using stats::approx. In several cases in which profit/loss was shown as NA, it is now (more appropriately) shown as 0. For instance, with a custom timestamp the realised/unrealised profit/loss before the first trade is now 0, not NA. * NAMESPACE: import stats::approx 2018-07-24 Enrico Schumann * R/journal.R (`instrument<-.journal`): export method 2018-06-28 Enrico Schumann * R/valuation.R (valuation.journal): accept 'instrument = NULL' 2018-06-27 Enrico Schumann * man/position.Rd: update docs * NAMESPACE: export 'valuation.position' * R/valuation.R (valuation.position): ignore zero-positions; warn about missing prices 2018-06-26 Enrico Schumann * R/NAVseries.R (summary): fix formatting 2018-06-21 Enrico Schumann * R/position.R (position.default): replace internal separator in column names with '.' 2018-06-20 Enrico Schumann * R/btest.R: fix duplication of timestamp when both 'include.timestamp' and 'include.data' are TRUE * R/position.R (print.position): fix use of 'sep' argument * NAMESPACE: do not export 'toHTML' 2018-06-14 Enrico Schumann * R/returns.R: support 'hourly' holding-period returns 2018-06-12 Enrico Schumann * NAMESPACE: export 'toHTML' * R/internal.R (.timestamp): make function work for 'p_returns' objects as well * DESCRIPTION (Depends): add 'R (>= 2.10)' 2018-06-11 Enrico Schumann * DESCRIPTION (Version): 0.9-0 2018-06-08 Enrico Schumann * R/NAVseries.R (window.NAVseries): add method * R/internal.R (.may_be_Date): add internal function; see `?.may_be_Date` * R/internals.R (.timestamp): add internal function, also a replacement function; see `?.timestamp` 2018-06-01 Enrico Schumann * R/btest.R (do.rebalance): fix case when do.rebalance is a vector of timestamps * R/returns.R (returns.zoo): for portfolio returns (i.e. when 'weights' are provided), the method now always returns a 'zoo' object 2018-05-31 Enrico Schumann * R/returns.R (returns.default): ignore 'position' (and warn when the argument is specified) * inst/unitTests/ut_PMwR.R (test.returns): exclude tests on time-weighted returns, i.e. those using the deprecated 'position' argument 2018-05-29 Enrico Schumann * R/NAVseries.R (summary.NAVseries): add date of recovery from drawdown ('mdd.recover.when') to results; add new argument 'assume.daily': if TRUE, numeric timestamps are considered daily data; rename argument 'monthly' to 'monthly.vol' 2018-05-25 Enrico Schumann * R/returns.R (returns): 'rebalance.when' is now matched against the timestamp 't' when both are of the same class (e.g., when 't' is of class Date, 'rebalance.when' may also be specified as a Date) (returns.default): remove warning for the case when 't' is specified, but neither 'period' nor 'rebalance.when' are 2018-05-24 Enrico Schumann * R/btest.R (btest): new argument 'include.timestamp', with default TRUE 2018-05-10 Enrico Schumann * R/journal.R (all.equal.journal): add method (incomplete) 2018-04-30 Enrico Schumann * DESCRIPTION (Version): 0.8-0 2018-04-21 Enrico Schumann * R/rebalance.R (rebalance): refactor implementation; new argument 'current.weights' with default FALSE; if TRUE, the current portfolio is assumed to be a vector of weights 2018-03-07 Enrico Schumann * R/returns.R (as.data.frame.p_returns): add/export method: the method calls as.matrix.p_returns and then coerces to data.frame 2018-03-05 Enrico Schumann * R/btest.R (btest): if a timestamp of class Date or POSIXct is specified, burnin 'b' may be an actual timestamp. Example: btest(prices = 1:10, signal = function() 1, b = as.Date("2018-01-05"), timestamp = as.Date("2018-1-1") + 0:9) => first trade will be at 2018-01-06 2018-02-26 Enrico Schumann * DESCRIPTION (Version): 0.7-1 * NAMESPACE: import 'utils::write.table' * R/pl.R (pl.default): new argument 'do.sum': if TRUE, sum P/L across instruments (pl.default): new argument 'pl.only': if TRUE, return pl only as a numeric vector 2018-02-24 Enrico Schumann * R/journal.R (journal.default): fixed -- if length of amount is zero, an empty journal is returned (before, in some cases, instrument became NA, i.e. of length one) 2018-02-23 Enrico Schumann * R/drawdowns.R (drawdowns): new generic function (drawdowns.default, drawdowns.zoo): add methods 2018-02-09 Enrico Schumann * R/journal.R (head.journal, tail.journal): fix skipping of empty journals (tail.journal): fix sorting in reverse order 2018-02-08 Enrico Schumann * R/position.R (print.position): do not print column number for position without timestamp 2018-01-22 Enrico Schumann * R/plot_trading_hours.R: set useful defaults when timestamp is of class 'Date' (interval becomes "1 day", etc.) 2018-01-01 Enrico Schumann * DESCRIPTION (Version): 0.7-0 2017-12-27 Enrico Schumann * R/quote32.R (print.quote32): use 'print.default' instead of 'cat' * R/rebalance.R (print.rebalance): suppress scientific notation * R/internals.R (sparkline): rename internal function sparklines => sparkline; rename arguments/add arguments 2017-12-12 Enrico Schumann * inst/unitTests/ut_PMwR.R: add check for empty journal 2017-12-08 Enrico Schumann * R/pl.R (pl.data.frame): new method 2017-12-05 Enrico Schumann * R/scale1.R (scale1): objects that are modified by 'scale1' gain an attribute "scale1_origin", which provides the timestamp at which scaling starts 2017-11-21 Enrico Schumann * vignettes/q32.Rnw: add place-holder file * R/position.R (position.default): for keyword "endofday", coerce timestamp to 'Date' * R/quote32.R (quote32, q32): the function now also recognises a colon (:) as a separator 2017-11-17 Enrico Schumann * R/btest.R (btest): fix handling of 'lag' (which had been ignored in some situations) 2017-11-16 Enrico Schumann * DESCRIPTION (Version): 0.6-1 * R/div_adjust.R (split_adjust): fix handling of several splits per series * R/div_adjust.R (div_adjust): fix handling of several dividends per series * inst/unitTests/ut_PMwR.R (test.div_adjust): add tests (test.split_adjust): add tests 2017-11-16 Enrico Schumann * DESCRIPTION (Version): 0.6-0 * R/btest.R (btest): rename arguments tradeOnOpen => trade.at.open assignInGlobals => Globals * R/plot_trading_hours.R: rename arguments excludeWeekends => exclude.weekends do.plotAxis => do.plot.axis 2017-11-13 Enrico Schumann * R/div_adjust.R (div_adjust): fix recycling of div argument 2017-11-07 Enrico Schumann * R/NAVseries.R (toLatex.summary.NAVseries): fix handling of NA values -- 'NA' is now interpolated into the template (toLatex.summary.NAVseries): use gsub with 'fixed=TRUE' when filling in template 2017-10-30 Enrico Schumann * R/returns.R (as.matrix.p_returns): do not use NextMethod but directly unclass/coerce 2017-10-27 Enrico Schumann * DESCRIPTION (Version): 0.5-12 * R/NAVseries.R (summary.NAVseries): fix NA handling: with missing values in NAVs, the timestamp was incorrectly stored, which led to wrong monthly returns in 'print.summary.NAVseries' (summary.NAVseries): new argument 'na.rm' 2017-10-25 Enrico Schumann * DESCRIPTION (Version): 0.5-11 * R/journal.R (journal.default): fix NA handling in 'journal': 'journal' would stop if there were NA values in instrument 2017-10-19 Enrico Schumann * DESCRIPTION (Version): 0.5-10 * R/returns.R (returns_rebalance): call .returns instead of returns (returns,returns_rebalance): 'rebalance.when' may now be the string 'endofmonth' 2017-10-16 Enrico Schumann * DESCRIPTION (Version): 0.5-9 * R/pl.R (pl.default): 'pl' is now less lenient when trades are passed without instrument, but vprice/multiplier is named and of length > 1. For instance, these examples now fail: pl(amount = 1, price = 100, vprice = c(A = 100, B = 100)) ## named vprice but instrument is not specified pl(amount = 1, price = 100, multiplier = c(A = 100, B = 100)) ## named multipliers but instrument is not specified * R/pricetable.R (`[.pricetable`): fix subsetting when requested timestamp is not in pricetable 2017-09-29 Enrico Schumann * R/journal.R (`instrument<-`): add generic function * R/pricetable.R (names.pricetable): add names and instrument methods, both for extraction and replacement * inst/unitTests/ut_PMwR.R (btest): add tests for argument 'include.data' * DESCRIPTION (Package): set ByteCompile: yes 2017-09-28 Enrico Schumann * R/pricetable.R (as.matrix.pricetable): add method (`[.pricetable`): argument missing may now be 'locf', as in Last Observation Carried Forward (print.pricetable): method now returns original pricetable, not matrix 2017-09-11 Enrico Schumann * R/position.R (position.btest): new argument 'include.cash' * R/NAVseries.R (as.NAVseries.btest): new argument 'drop.NA' that controls whether leading NAs are dropped. Default is TRUE. 2017-09-04 Enrico Schumann * R/NAVseries.R (as.NAVseries.btest): fixed -- the method would fail when there are no leading NAs (i.e. no burnin in the test) 2017-08-24 Enrico Schumann * R/NAVseries.R (plot.NAVseries): set default plot type "l" 2017-08-23 Enrico Schumann * DESCRIPTION (Version): 0.5-8 * R/NAVseries.R (print.summary.NAVseries): remove double-printing of title (toLatex.summary.NAVseries): 'template' is only repeated when of length 1 (toLatex.summary.NAVseries): rewrote replacement of values (with fewer regexes) 2017-08-18 Enrico Schumann * DESCRIPTION (Version): 0.5-7 * vignettes/FinTeX.Rnw: add vignette * R/NAVseries.R (as.NAVseries.NAVseries): add method (return the input argument unchanged) * data/DAX.csv: add datasets DAX and REXP * NAMESPACE: 'isValidISIN' is no longer available; use the drop-in replacement 'is_valid_ISIN' instead 2017-08-17 Enrico Schumann * DESCRIPTION (Version): 0.5-6 * R/NAVseries.R (toLatex.summary.NAVseries): export method * R/pricetable.R (`[.pricetable`, print.pricetable): dimnames are only used for printing, not for subsetting any more * R/internals.R (map01): copy esutils::map01, for internal use only; not exported (sparklines): add internal function that transforms timeseries for use with LaTeX package sparklines (https://ctan.org/pkg/sparklines) 2017-08-16 Enrico Schumann * R/pricetable.R (pricetable.zoo): [experimental] have pricetable merge zoo series passed via ... 2017-08-16 Enrico Schumann * DESCRIPTION (Version): 0.5-5 * NAMESPACE: export pricetable methods * inst/unitTests/ut_PMwR.R (test.pricetable): add tests * R/pricetable.R (print.pricetable): add method (pricetable.zoo): add method 2017-08-15 Enrico Schumann * R/NAVseries.R (as.zoo.NAVseries): fix method -- was broken after update (ChangeLog of 2017-08-14) * R/returns.R (returns.NAVseries): fix method 2017-08-14 Enrico Schumann * DESCRIPTION (Version): 0.5-4 * R/NAVseries.R (NAVseries): change structure of NAVseries to a numeric vector with attributes; update methods, such as scale1.NAVseries * inst/unitTests/ut_PMwR.R (test.NAVseries): add tests 2017-08-11 Enrico Schumann * R/position.R (print.position): drop dimension when _printing_ the position of a single, unnamed instrument 2017-08-10 Enrico Schumann * DESCRIPTION (Version): 0.5-3 * R/pl.R (pl.default): fixed -- the function had not checked whether a supplied timestamp was actually sorted 2017-08-07 Enrico Schumann * DESCRIPTION (Version): 0.5-2 * R/returns.R (*.p_returns): remove warning when input is a list (see ChangeLog 2015-06-26) * inst/unitTests/ut_PMwR.R (test.btest): suppress _expected_ warnings during tests * R/quote32.R (quote32): the function now recognises a hyphen (-) and single quote (') as a separator * R/quote32.R (c.quote32, Summary.quote32) (diff.quote32): add rudimentary group generic support: 'min', 'max' and 'range' now return 'quote32' objects, as do 'c' and 'diff' 2017-07-11 Enrico Schumann * R/pricetable.R (pricetable): 'pricetable' is now generic * R/journal.R (instrument.pricetable): add method 2017-07-10 Enrico Schumann * R/pl.R (pl.default): fix realised/unrealised p/l computation for custom timestamp (i.e. along.timestamp = ) 2017-07-07 Enrico Schumann * DESCRIPTION (Version): 0.5-1 * inst/unitTests/ut_PMwR.R (test..pl_stats): add unit tests * R/pl.R (.pl_stats): fix profit/loss computation when position changes sign: the function was originally written for long-only cases; also zero-amount trades are no longer filtered. Experimentally, the function is also exported. 2017-07-06 Enrico Schumann * R/pl.R (pl.default): clean code/remove comments * R/journal.R (summary.journal): safeguard summary method and the associated print method for zero-transaction journals 2017-07-05 Enrico Schumann * R/pl.R (pl.default): warn if multiplier is named but instrument is not specified (.pl_stats <- avg): introduce alias '.pl_stats' for 'avg' (the latter will be removed in the future) 2017-06-23 Enrico Schumann * DESCRIPTION (Version): 0.5-0 * R/: a number of functions have been renamed: isValidISIN => is_valid_ISIN closeOnFirst => close_on_first plotTradingHours => plot_trading_hours scaleToUnity => scale_to_unity scaleTrades => scale_trades splitTrades => split_trades twExposure => tw_exposure for the time being, the old functions can still be called with PMwR::: but the new names are preferred * inst/unitTests/ut_PMwR.R (test.is_valid_ISIN): add tests 2017-06-13 Enrico Schumann * DESCRIPTION (Version): 0.4-10 * R/journal.R (summary.journal) (print.summary.journal): fix summary computation when instrument is omitted 2017-06-12 Enrico Schumann * DESCRIPTION (Version): 0.4-9 * R/pl.R (print.pl): when along.timestamp is not FALSE, print timestamp (pl.default): when there is only a single named instrument, 'vprice' need not be named (but a warning will be generated if it is not). Before, pl(amount = 10, price = 10, vprice = 10) ## OK would have worked and still does, but pl(amount = 10, price = 10, instrument = "A", vprice = 10) would fail because 'pl' expected a named vector of valuation prices, i.e. vprice = c(A = 10) The call will now succeed, but with a warning. Also, with a missing valuation price as in pl(amount = 10, price = 10, instrument = "A", vprice = c(B = 10)) 'pl' does not fail any more, but returns NA. 2017-06-08 Enrico Schumann * R/btest.R: fix inclusion of instrument vector when 'include.data' is TRUE 2017-06-02 Enrico Schumann * DESCRIPTION (Version): 0.4-8 * R/btest.R (plot.btest, lines.btest): let 'xlab' and 'ylab' default to "" * R/pl.R (pl.pl): remove 'pl' suffix from names 2017-05-29 Enrico Schumann * DESCRIPTION (Version): 0.4-7 * R/returns.R (returns.NAVseries): fix and export method * R/NAVseries.R (plot.NAVseries): let 'xlab' and 'ylab' default to "" * R/returns.R (as.matrix.p_returns): new method, which places monthly returns into a numeric matrix with years in rows and months in columns. For other holding periods, as.matrix is called on the raw numeric data. 2017-05-29 Enrico Schumann * DESCRIPTION (Version): 0.4-6 * R/returns.R (returns): 'period' may also be a single year, such as "2007" 2017-05-24 Enrico Schumann * inst/unitTests/ut_PMwR.R (btest): update for changes in package datetimeutils (0.2-0) 2017-05-23 Enrico Schumann * R/returns.R (toLatex.p_returns): fixed -- 'na.print' had been ignored 2017-05-08 Enrico Schumann * DESCRIPTION (Version): 0.4-5 * R/position.R (position.default): update for changes in package datetimeutils (0.2-0) 2017-05-07 Enrico Schumann * DESCRIPTION (Version): 0.4-4 * R/returns.R (print.p_returns): fix printing of yearly returns of multivariate price series 2017-04-14 Enrico Schumann * DESCRIPTION (Version): 0.4-3 * R/btest.R (do.signal): 'do.signal' and 'do.rebalance' can also be the string 'lastofquarter' to rebalance on last day of quarter 2017-03-28 Enrico Schumann * DESCRIPTION (Version): 0.4-2 * R/btest.R (do.signal): 'do.signal' and 'do.rebalance' can also be the string 'firstofquarter' to rebalance on first day of quarter 2017-03-16 Enrico Schumann * DESCRIPTION (Version): 0.4-1 * R/returns.R (returns): 'period' may now also be 'quarterly' 2017-02-28 Enrico Schumann * R/journal.R (aggregate.journal): fix handling of named lists 2017-02-07 Enrico Schumann * DESCRIPTION (Version): 0.4-0 * R/btest.R (btest): fixed -- 'do.signal' and 'do.rebalance' ignored the burnin 'b' when keywords 'firstofmonth' etc. were used 2017-01-28 Enrico Schumann * R/journal.R (c.journal): fix concatenating empty journals: 'c(journal(), journal())' had thrown an error * R/position.R (.expand, .tree): refactor 'acc.split' into two functions .expand and .tree, both exported. These functions are now used in 'print.position'. For example: j <- journal(amount = 1:3, instrument = c("a", "a", "b"), account = c("A", "B", "B")) position(j) ## ... produces ## [,1] ## a 3 ## b 3 position(j, use.account = TRUE) ## ... produces ## [,1] ## A ## `-- a 1 ## B ## |-- a 2 ## `-- b 3 2017-01-26 Enrico Schumann * R/btest.R (btest): fixed -- error message for reserved names showed the wrong function name * inst/unitTests/ut_PMwR.R (btest): add tests for 'do.signal'/'do.rebalance' 2017-01-25 Enrico Schumann * R/position.R (acc.split): fixed -- 'acc.split' had ignored the 'sep' argument * R/btest.R: add environment 'Globals' to the list of returned objects * man/btest.Rd: update docs 2017-01-23 Enrico Schumann * R/position.R (acc.split): add attribute "positions" (=positions of initial accounts in expanded list of accounts) * R/position.R (.tree): simplify/clarify computations 2017-01-22 Enrico Schumann * R/position.R (.tree): new internal function for producing account hierarchies; used in 'acc.split' (see ChangeLog entry of 2017-01-04) 2017-01-20 Enrico Schumann * R/btest.R (lines.btest): new method * R/journal.R (journal.position): new method, which issues a warning that 'as.journal' may be more appropriate (see ChangeLog entry of 2016-12-16) 2017-01-16 Enrico Schumann * R/btest.R: add warnings when length of timestamp/instrument do not match the price data * R/btest.R (plot.btest): set default plot type to "l" 2017-01-14 Enrico Schumann * R/unit_prices.R (unit_prices): new argument 'cf.included' 2017-01-13 Enrico Schumann * R/position.R (position.default): support keyword 'endofmonth' for argument 'when' * NAMESPACE: import functions 'firstOfMonth', 'endOfMonth' from package datetimeutils 2017-01-12 Enrico Schumann * R/journal.R (summary.journal): the function now provides information per instrument (print.summary.journal): update for new 'summary.journal' structure 2017-01-11 Enrico Schumann * R/unit_prices.R (unit_prices): add function 2017-01-04 Enrico Schumann * R/position.R (acc.split): experimental support for computing trees that visualise account hierarchies, for instance: "tree_ascii" "tree_indent" ---------------------------------- Bonds Bonds `-- long-only long-only |-- Germany Germany `-- Italy Italy Equity Equity |-- long-short long-short `-- long-only long-only |-- Europe Europe |-- Japan Japan `-- USA USA ('acc.split' is still internal, i.e. not exported) 2017-01-02 Enrico Schumann * DESCRIPTION (URL): update URL 2016-12-20 Enrico Schumann * R/rebalance.R (replace_weight): add function 2016-12-19 Enrico Schumann * R/position.R (position.default): recycle arguments 'amount', 'instrument', 'timestamp' and 'account' * R/position.R (position.default) (print.position): position does no longe use the 'articifial' timestamp 1 when no timestamp information is provided; instead, timestamp is set to NA * R/journal.R (as.journal.default): add and export method, which is restricted to possibly-named numeric vectors 2016-12-17 Enrico Schumann * R/rebalance.R (rebalance): 'target' may now be a position. The function also gains a new argument 'target.weights'; the argument 'check.match' is no longer used and removed. 2016-12-16 Enrico Schumann * R/journal.R (as.journal.position, as.journal.rebalance): methods 'journal.position' and 'journal.rebalance' have been replaced by 'as.journal.position' and 'as.journal.rebalance'. [The first argument of 'journal' is called 'amount', but the first argument of 'as.journal' is called 'x'.] * R/rebalance.R (rebalance): the function now returns a data.frame instead of a list, with additional information attached as attributes; argument 'fraction' is now supported * R/journal.R (journal.rebalance): update for new structure of 'rebalance' objects * man/rebalance.Rd: update docs * R/journal.R (toOrg.journal): add method 2016-12-15 Enrico Schumann * R/NAVseries.R (as.NAVseries.btest): fix timestamp handling 2016-12-14 Enrico Schumann * DESCRIPTION (Version): 0.3-19 * R/trades.R (splitTrades): the elements of the returned lists are now called 'amount' and 'price' (instead of 'n' and 'p') in order to be consistent with other functions * man/scale1.Rd: update docs (argument 'total.g') * man/tradeanalysis.Rd: update docs * NAMESPACE: import 'stats::uniroot' * inst/unitTests/ut_PMwR.R (test.splitTrades): add tests 2016-12-01 Enrico Schumann * R/position.R (position.default): only add attribute 'account' when it is specified (Ops.position): experimental -- support for unary/binary operators: `+` add the positions, `-` take difference between positions, `/` compute ratio of positions, with each operator taking care of specified instruments 2016-11-21 Enrico Schumann * R/scale1.R (scale1.default): new argument 'total.g' (="total growth"). Geometric return scaling, as used when 'centre' is TRUE and when 'total.g' is specified, is now exact for simple returns, which is more intuitive than then the log approximations used before. 2016-11-06 Enrico Schumann * DESCRIPTION (Version): 0.3-18 * inst/unitTests/ut_q32.R (test.quote32): add tests for quote32/q32 * R/quote32.R (quote32, q32): fixed -- quarters of 1/32 of a point are now rounded. Without rounding, `q32(109.1484)` would print 109-04 instead of the correct 109-047 (plus a warning about rounding error) 2016-11-03 Enrico Schumann * DESCRIPTION (Version): 0.3-17 * vignettes/An_overview_of_PMwR.Rnw: update install instructions * man/rebalance.Rd: update docs 2016-10-27 Enrico Schumann * R/position.R (position.default): fixed -- `%SEP%` would always be prepended to `instrument`, even when no `account` was provided 2016-10-19 Enrico Schumann * man/rc.Rd: add help file 2016-10-17 Enrico Schumann * R/returns.R (rc): weights can be missing, for cases when only segment contributions but not segment weights are known 2016-10-11 Enrico Schumann * R/returns.R (rc): compute also total return 2016-10-11 Enrico Schumann * DESCRIPTION (Version): 0.3-16 * R/internals.R (vname): use c() instead of as.vector() to ensure vector. With 'c', class is not dropped if a method exists. Which is the case for Date: 'c(Dates)' gives a vector of Dates, where 'as.vector(Dates)' returns the the number of days since 1 Jan 1970 (i.e. the Date's numeric representation). * R/journal.R (as.journal.data.frame): zero-row data.frames are now properly coerced to zero-length (i.e. empty) journals 2016-10-10 Enrico Schumann * R/returns.R (rc): new function for computing return contributions; may be 'merged' later into 'returns' 2016-09-30 Enrico Schumann * DESCRIPTION (Version): 0.3-15 * man/pl.Rd: update docs 2016-09-28 Enrico Schumann * DESCRIPTION (Version): 0.3-14 * R/pl.R (pl.default): remove warning when 'vprice' was specified for zero position * R/position.R (position.default): fixed -- 'account' was not sorted by time * R/position.R (position.journal): new argument 'use.account', with default FALSE 2016-09-21 Enrico Schumann * DESCRIPTION (Version): 0.3-13 * R/pl.R (pl.default, pl.journal): new argument 'do.warn'; default is TRUE, which matches previous behaviour * NAMESPACE: export methods for instrument * R/journal.R (c.journal): skip NULL arguments * R/instrument.R (## instrument): remove/comment old function definition 2016-09-20 Enrico Schumann * DESCRIPTION (Version): 0.3-12 * NAMESPACE: import from graphics, stats, utils, grDevices * R/position.R (acc.split): stringsAsFactors is now FALSE * man/instrument.Rd: add file * R/pl.R (print.pl): remove NA printing 2016-09-19 Enrico Schumann * R/position.R (acc.split): evaluate to data.frame of `account` and `level` 2016-09-18 Enrico Schumann * R/position.R (print.position): fixed -- printing empty positions threw an error; now nothing is printed * R/pl.R (pl.pl): add method, which retrieves raw p/l numbers from 'pl' object 2016-09-11 Enrico Schumann * R/journal.R (instrument): new generic 'instrument', with methods for 'position' and 'journal' (`instrument.journal<-`): replacement function * R/position.R (position.default): use `%SEP%` as internal separator string, instead of `:::` * R/amount.R (amount): experimental/not exported: add function 'amount', which adds a 'unit' attribute to numeric vectors 2016-09-06 Enrico Schumann * R/position.R (position.default): fix handling of NA amounts: such positions are always kept (which is as before, but then the instrument was overwritten with NA as well) * man/journal.Rd: fix entry for `[<-.journal` 2016-09-01 Enrico Schumann * R/journal.R (`[<-.journal`): add method, with the only purpose of providing an informative error message 2016-08-29 Enrico Schumann * R/journal.R (aggregate.journal): if 'by' is atomic, it is put into a list 2016-08-19 Enrico Schumann * DESCRIPTION (Version): 0.3-11 * R/plotTradingHours.R (maptime): fixed -- the 'map' function returned by 'plotTradingHours' did not always report the correct positions to plot 2016-08-16 Enrico Schumann * DESCRIPTION (Version): 0.3-10 * vignettes/An_overview_of_PMwR.Rnw: add footnote on unit tests * R/pl.R (pl.default): 'along.timestamp' can now be a vector, compatible with 'timestamp'. 2016-08-09 Enrico Schumann * R/position.R (as.zoo.position): add and export method 2016-08-04 Enrico Schumann * R/quote32.R (quote32): disable warnings for strings without separator; for instance, 'q32("130")' will be printed as '130-000' 2016-08-03 Enrico Schumann * DESCRIPTION (Version): 0.3-9 * R/position.R (position.default): add basic support for 'account' * inst/unitTests/ut_position.R (test.position): add tests 2016-08-02 Enrico Schumann * R/position.R (acc.split): add function (not exported) 2016-07-28 Enrico Schumann * R/btest.R (do.signal, do.rebalance): when 'do.signal' or 'do.rebalance' is a vector and of the same class as 'timestamp' -- typically Date or POSIXct --, their elements will be matched against 'timestamp' 2016-07-27 Enrico Schumann * DESCRIPTION (Version): 0.3-8 * R/returns.R (returns.zoo): copy attributes 'holdings' and 'contributions' when weights are supplied * inst/unitTests/ut_returns.R (test.returns): add tests for 'returns' when 'weights' are supplied 2016-07-26 Enrico Schumann * inst/unitTests/ut_pl.R (test.pl): add tests for 'pl' when initial position is a 'journal' or a 'position' 2016-07-20 Enrico Schumann * DESCRIPTION (Version): 0.3-7 * R/pl.R (pl): rename argument 'eval.price' to 'vprice' * inst/CITATION: add file 2016-07-13 Enrico Schumann * NAMESPACE: remove 'jcf' from exported functions 2016-07-11 Enrico Schumann * R/quote32.R (quote32 <- q32): fixed -- rounding-error warning 2016-07-09 Enrico Schumann * DESCRIPTION (Version): 0.3-6 * inst/unitTests/ut_pl.R (test.pl): add more tests for 'initial.position' * man/quote32.Rd: doc fix 2016-07-08 Enrico Schumann * R/pl.R (pl.default): refactor/simplify p/l computation 2016-07-07 Enrico Schumann * R/pl.R (pl.default): fixed -- names of initial.position were ignored * R/internals.R (vname): new internal function for creating named vectors * R/quote32.R (quote32/q32): add warning when large rounding errors occur * R/quote32.R (Ops.quote32): add method for `-` 2016-07-05 Enrico Schumann * R/valuation.R (jcf): fixed -- 'instrument' was recycled 2016-07-04 Enrico Schumann * R/pl.R (pl.btest): add method 2016-06-18 Enrico Schumann * DESCRIPTION (Version): 0.3-5 * R/quote32.R (Ops.quote32): add method for Ops and `-` * R/position.R (as.data.frame.position): add method 2016-06-15 Enrico Schumann * NAMESPACE: export print.quote32 2016-06-14 Enrico Schumann * R/yield.R, src/computeyield.c: remove code * R/position.R (position.btest): fixed -- the method always returned NULL, not the position; it now also includes 'instrument' and 'timestamp' (if available) 2016-06-13 Enrico Schumann * DESCRIPTION (Version): 0.3-4 * R/runStats.R: move function 'runStats' to separate package 'runStats' http://enricoschumann.net/R/packages/runStats/ * R/quote32.R (quote32): new function to create quotes with 32nds of points 2016-06-10 Enrico Schumann * R/position.R (as.matrix.position): add method 2016-04-24 Enrico Schumann * R/NAVseries.R (summary.NAVseries): new argument 'monthly'; if TRUE (the default), vol computations are done on monthly returns 2016-04-08 Enrico Schumann * DESCRIPTION (Version): 0.3-3 * R/journal.R (journal.rebalance): fixed -- works now with 'match.names' set to TRUE * R/position.R (position.default): add warning when there are NA values in timestamp 2016-04-05 Enrico Schumann * DESCRIPTION (Version): 0.3-2 * R/pl.R (pl.default): new argument 'multiplier.regexp' 2016-04-04 Enrico Schumann * DESCRIPTION (Version): 0.3-1 * R/pl.R (pl.default): add support for 'multiplier' 2016-04-01 Enrico Schumann * DESCRIPTION (Version): 0.3-0 * R/position.R (position.default): remove argument 'sort.instruments': 'instruments', when supplied, are always sorted 2016-04-01 Enrico Schumann * R/position.R (position.btest): add method 2016-03-31 Enrico Schumann * DESCRIPTION (Version): 0.1-101 * R/journal.R (journal.default): fixed -- 'journal' did not recycle arguments (fields) passed via '...' 2016-03-26 Enrico Schumann * R/scale1.R (scale1.default): use 'anyNA()' instead of 'any(is.na())' (scale1.NAVseries): add method 2016-03-25 Enrico Schumann * DESCRIPTION (Version): 0.1-100 * R/NAVseries.R (as.NAVseries.btest): use 'timestamp' information (toLatex.summary.NAVseries): add skeleton for method * R/btest.R (btest): fixed -- with 'include.data' set TRUE and a 'timestamp' specified, 'timestamp' was not included in the final result 2016-03-24 Enrico Schumann * DESCRIPTION (Version): 0.1-99 * R/journal.R (str.journal): call 'str' directly to avoid error message, which happens because 'journal' defines 'length' and `[[` methods; see https://stat.ethz.ch/pipermail/r-package-devel/2016q1/000687.html 2016-03-23 Enrico Schumann * R/btest.R (do.signal): switch off 'never trade' warning when 'final.position' is TRUE 2016-03-23 Enrico Schumann * DESCRIPTION (Version): 0.1-98 * R/btest.R (do.signal): switch off 'never trade' warning for 'atest' 2016-03-22 Enrico Schumann * man/btest.Rd: add example * R/btest.R (btest): argument 'do.rebalance' can be specified as string 'do.signal', in which case the value of 'do.signal' is copied 2016-03-14 Enrico Schumann * DESCRIPTION (Version): 0.1-97 * R/pl.R (print.pl): improve formatting (alignment of numbers) (print.pl): new argument 'na.print', with default '.' 2016-03-13 Enrico Schumann * DESCRIPTION (Version): 0.1-96 * R/pl.R (pl.journal): fixed -- 'pl.journal' had not passed on 'initial.position' and 'initial.price' 2016-03-09 Enrico Schumann * DESCRIPTION (Version): 0.1-95 * R/pl.R (as.data.frame.pl): new method (pl.default): refactor function; result now has an attribute 'along.timestamp' (logical) * man/pl.Rd: document 'as.data.frame.pl'; add example for using package 'crayon' 2016-03-08 Enrico Schumann * R/pl.R (print.pl): call 'prettyNum' before computing width of numbers (to avoid that numbers such as 1.10000000001 are measured as 13 characters wide, despite being printed as 1.1) 2016-03-08 Enrico Schumann * DESCRIPTION (Version): 0.1-94 * inst/unitTests/ut_pl.R (test.pl): pnl => pl * R/pl.R (print.pl): add '[...]' when pl along.timestamp is cut off (pl.default): 'initial.position' and 'initial.price' are now used 2016-03-07 Enrico Schumann * R/pl.R (pl.default): rename 'pnl' to 'pl' (for consistency) 2016-03-07 Enrico Schumann * DESCRIPTION (Version): 0.1-93 * R/pl.R (print.pl): align 'pl' stats (total, realised, unrealised, volume) for printing 2016-03-01 Enrico Schumann * DESCRIPTION (Version): 0.1-92 * R/btest.R (btest): experimental -- new argument 'final.position', with default FALSE. If TRUE, 'btest' computes a final position that uses all available data and computes a position, without any lags. (Most settings, such as 'do.rebalance', are ignored for this final position; but 'convert.weights' is honoured.) * R/btest.R (atest): experimental -- new function. Essentially a copy of 'btest', but with 'do.signal' and 'do.rebalance' set to FALSE, and 'final.position' set to TRUE. The effect will be skip all data and only use the latest data to compute the final position (see above). This may be useful for checking the computations of the 'signal' function, or for really computing the final (i.e. current) position. The function is currently not exported, but can be accessed with 'PMwR:::atest'. 2016-02-29 Enrico Schumann * DESCRIPTION (Version): 0.1-91 * R/rebalance.R (rebalance): fixed -- the function did not handle 'current' when it was a 'position' (thanks to Torsten von Bartenwerffer for reporting) (rebalance): new argument 'drop.zero' * R/journal.R (journal.rebalance): experimental -- new method (suggested by Torsten von Bartenwerffer) * inst/unitTests/ut_rebalance.R (test.rebalance): added tests for 'journal.rebalance' 2016-02-25 Enrico Schumann * DESCRIPTION (Version): 0.1-90 * R/scale1.R (scale1.zoo): added 'inflate' argument 2016-02-20 Enrico Schumann * DESCRIPTION (Version): 0.1-89 * updated manual 2016-02-20 Enrico Schumann * DESCRIPTION (Version): 0.1-88 * R/returns.R (.mtab): now takes returns and timestamps as separate arguments; the function is no longer exported 2016-02-19 Enrico Schumann * DESCRIPTION (Version): 0.1-87 * R/returns.R (pReturns): period 'itd' also handles NA values * R/returns.R (print.p_returns): for period 'itd', the timestamps of the observations that were used to compute the returns are printed (same as for 'mtd' and 'ytd') 2016-02-19 Enrico Schumann * DESCRIPTION (Version): 0.1-86 * R/returns.R (returns): period 'mtd' and 'ytd' now handle NA values * R/returns.R (print.p_returns): when period is 'mtd', 'ytd' or 'ann', the timestamps (dates) of the observations that were used to compute the returns are printed. This is particularly useful when returns are computed from a matrix of series and some series have NA values. * man/returns.Rd: added examples for annualised returns 2016-02-18 Enrico Schumann * R/returns.R (returns): period 'annualised' now also works with matrices/data.frames, not just single series; NAs are also handled now * R/returns.R (pReturns): when 'period = "ann"', the result's attribute 'annualised' is renamed to 'is.annualised'; see ChangeLog 2016-01-14 2016-02-18 Enrico Schumann * DESCRIPTION (Version): 0.1-85 * R/scale1.R (scale1.zoo): fixed -- 'when' was not properly matched against the series's index 2016-02-12 Enrico Schumann * R/returns.R (toLatex.p_returns) (toHTML.p_returns): added warning when 'x' uses old list strucuture; see ChangeLog 2015-06-26 2016-02-03 Enrico Schumann * DESCRIPTION (Version): 0.1-84 * R/journal.R (str.journal): added 'str' method for 'journal' 2016-01-19 Enrico Schumann * DESCRIPTION (Version): 0.1-83 * R/returns.R (returns): argument 'pad' is now ignored for periods 'mtd' and 'ytd' (with a warning); the 'print' method shows the period (not just the end date) for which returns were computed * R/returns.R (print.p_returns): fixed -- print with period 'annualised' now also uses the 'digits' argument 2016-01-14 Enrico Schumann * DESCRIPTION (Version): 0.1-82 * R/returns.R (pReturns): with 'period = "ann"', the result gets a new attribute 'annualised' (TRUE or FALSE) * R/returns.R (toHTML.p_returns): 'style' information is now ignored if either NULL or "" (before, only NULL was ignored) 2015-12-08 Enrico Schumann * DESCRIPTION (Version): 0.1-81 * man/pl.Rd: various updates * inst/unitTests/ut_pl.R (test.pl): updated unit test 2015-11-24 Enrico Schumann * R/pl.R (print.pl): if an option 'PMwR.use.crayon' is set to TRUE, argument 'use.crayon' is set to TRUE; if the option is not set, 'use.crayon' defaults to FALSE * vignettes/An_overview.Rnw: small corrections 2015-11-24 Enrico Schumann * DESCRIPTION (Version): 0.1-80 * vignettes/An_overview.Rnw: added summary * vignettes/: removed all other vignettes: all examples are included in the Manual, available here: http://enricoschumann.net/R/packages/PMwR/manual/PMwR.html 2015-11-23 Enrico Schumann * man/PMwR-package.Rd: added link to manual 2015-11-23 Enrico Schumann * DESCRIPTION (Version): 0.1-79 * R/pl.R (pl.default): new argument 'eval.price' to compute the p/l of unclosed positions. See ?pl for examples. (print.pl): experimental -- use package 'crayon' to highlight p/l 2015-11-22 Enrico Schumann * DESCRIPTION (Version): 0.1-78 * R/pl.R (pl): 'pl' is now a generic function; methods 'default' and 'journal' are available. The function returns now always objects of class 'pl' (before, when 'along.timestamp' was TRUE, the class was 'plsorted'). See ?pl for examples. * R/internals.R (avg): moved function 'avg' to file 'pl.R' 2015-11-20 Enrico Schumann * R/returns.R (toHTML.p_returns): new argument 'browse' 2015-11-12 Enrico Schumann * DESCRIPTION (Version): 0.1-77 * R/NAVseries.R (as.NAVseries.btest): new 'as.NAVseries' method for 'btest' objects (summary.NAVseries): the timestamp of a NAVseries can now also be numeric (typically integer 1:n_obs). Before, it had to inherit from 'Date' or had to be coercable to 'Date'. 2015-11-02 Enrico Schumann * R/journal.R (`[.journal`): fixed -- 'match.against' was ignored after the changes of 2015-11-01 * R/position.R (print.position): when instrument is NA, suppress instrument names 2015-11-01 Enrico Schumann * DESCRIPTION (Version): 0.1-76 * R/journal.R (`[.journal`): default for 'match.against' is now all character fields in journal. For the old behaviour, specify 'match.against = c("instrument", "account")'. 2015-10-29 Enrico Schumann * R/journal.R (is.journal, as.journal): new functions 2015-10-29 Enrico Schumann * DESCRIPTION (Version): 0.1-75 * man/PMwR-package.Rd: various updates in docs 2015-10-28 Enrico Schumann * R/position.R (print.position): print nothing (instead of empty string) when timestamp is missing * man/tradeanalysis.Rd, man/pl.Rd: doc update * manual/manual.org: various updates 2015-10-27 Enrico Schumann * R/backtest.R, man/backtest.Rd: removed files: 'backtest' has not been exported for almost two years now; the function has been superseded by 'btest' * man/divAdjust.Rd: renamed 'divAdjust' (now 'div_adjust') and 'splitAdjust' (now 'split_adjust') * NAMESPACE: import 'trim' (instead of 'rmspace') from package textutils * man/btest.Rd: doc update * vignettes/An_overview.Rnw: added to `for developers' section 2015-10-13 Enrico Schumann * DESCRIPTION (Version): 0.1-74 * R/NAVseries.R (summary.NAVseries): remove NAs before any computation takes place (print.NAVseries): remove NAs 2015-10-08 Enrico Schumann * DESCRIPTION (Version): 0.1-73 2015-10-08 Enrico Schumann * DESCRIPTION (Version): 0.1-72 2015-10-08 Enrico Schumann * R/returns.R (returns.zoo): directly invoke 'returns.default' for speedup (returns.NAVseries): invoke 'returns.default' (before, it invoked 'returns.zoo') (returns.default): drop timestamp information (with a warning) when 'period' is not specified * inst/unitTests/ut_returns.R (test.returns): added test for 'as.zoo.p_returns' 2015-10-05 Enrico Schumann * vignettes/backtest.Rnw: fixed typo 2015-10-03 Enrico Schumann * DESCRIPTION (Version): 0.1-71 * R/btest.R: removed 'title' and 'label' from 'txtProgressBar' invocation * vignettes/backtest.Rnw: added description of 'Timestamp' 2015-10-01 Enrico Schumann * DESCRIPTION (Version): 0.1-70 * R/btest.R: new function 'Timestamp': defaults to 'Time'; but when timestamp is specified, it allows to access it analogously to 'Close', 'Time', etc. * vignettes/backtest.Rnw: various smaller updates * vignettes/An_overview.Rnw: added info on 'pricetable' * R/btest.R (btest): 'do.rebalance' gets same options 'do.signal', such as 'endofmonth' 2015-09-26 Enrico Schumann * R/valuation.R (valuation): export generic and method for 'position' * man/btest.Rd: updated for 'progressBar' 2015-09-20 Enrico Schumann * R/btest.R (btest): new argument 'progressBar': when TRUE, print as txtProgressBar during computation; default is FALSE 2015-09-17 Enrico Schumann * DESCRIPTION (Version): 0.1-69 2015-09-17 Enrico Schumann * R/btest.R (Open, ...): added new argument 'n' to other functions, such as Open, High, etc. (see ChangeLog of 2015-09-16) 2015-09-16 Enrico Schumann * R/btest.R (Close): [experimental] 'Close' gets a new argument 'n', which specifies the number of observations that are retrieved. Example: 'Close(100:1)' is equivalent to 'Close(n = 100)' 2015-09-12 Enrico Schumann * vignettes/An_overview.Rnw: updated description on basic data stuctures (journal, position, ...) 2015-09-03 Enrico Schumann * DESCRIPTION (Version): 0.1-68 * inst/unitTests/ut_returns.R (test.returns): cleaned up tests for 'period' * man/returns.Rd: updated doc for 'itd' * R/returns.R (pReturns): added 'itd' (inception to date) 2015-09-02 Enrico Schumann * vignettes/Valuation.Rnw: added file * vignettes/FAQ.Rnw: added file 2015-09-02 Enrico Schumann * DESCRIPTION (Version): 0.1-67 * R/position.R (print.position): fixed -- 'print' method returned a changed object (print.position): attributes instrument and timestamp are dropped before printing * vignettes/trades.Rnw: removed section on 'returns' 2015-09-01 Enrico Schumann * R/returns.R (returns.default): without timestamp 't') ('period' of mode character (eg, 'monthly') is now always ignored (pReturns): remove test for 'is.null(period)' (which can no longer happen) (print.p_returns): added print methods for "ytd" and "mtd" * vignettes/An_overview.Rnw: added file 2015-08-31 Enrico Schumann * NAMESPACE: import 'toText' from package textutils * R/returns.R (pReturns): 'period' can now also be 'mtd' and 'ytd'. * man/returns.Rd: updated docs 2015-08-18 Enrico Schumann * R/returns.R (.mtab): fixed -- withs NAs in months during a year, the YTD return would become NA as well * R/returns.R (toText.p_returns): new 'toText' method 2015-07-21 Enrico Schumann * R/internals.R (letter2month): fixed -- 'letter2month': allow 'future' or 'option' as 'instrument'; default is 'option' * R/btest.R: with 'include.data' and 'missing(instrument)', 'instrument' is set to NULL 2015-07-08 Enrico Schumann * R/internals.R (letter2month): new argument 'instrument': allows 'future', 'option' 2015-07-07 Enrico Schumann * DESCRIPTION (Version): 0.1-66 * R/btest.R (plot.btest): new function 2015-07-01 Enrico Schumann * R/btest.R (btest): propagate debugging for 'cashflow' 2015-06-30 Enrico Schumann * DESCRIPTION (Version): 0.1-65 * man/btest.Rd: update doc for 'do.signal' * R/scale1.R (scale1.zoo): fixed -- the method did not pass on the 'geometric' argument * R/journal.R (journal.position): fixed -- journal.position did not properly use position attributes 2015-06-29 Enrico Schumann * R/btest.R (do.signal): 'do.signal' can be a numeric vector of times (i.e., row numbers) or a logical vector (indicating the rows); 'do.signal' can also be the string 'endofmonth' to rebalance on last day of month * R/scale1.R (scale1.default): fixed -- scale1 did not scale correctly with 'geometric = TRUE' 2015-06-27 Enrico Schumann * R/valuation.R (pv): the function now uses the new format of position objects (see ChangeLog of 2015-06-26) 2015-06-26 Enrico Schumann * R/position.R (position): An object of that class is now a numeric matrix (even with only one row or column) and attributes 'instrument' and 'timestamp'. * man/scale1.Rd: describe argument 'geometric' * R/returns.R (pReturns): renamed class 'preturns' to 'p_returns'. An object of that class is now a numeric vector/matrix with attributes 't' and 'period'. Before, it had been a list with elements 'returns', 't' and 'period'. So, when 'x' is of class 'p_returns': WHAT NEW OLD retrieve returns x x$returns retrieve timestamp attr(x, "t") x$t retrieve period attr(x, "period") x$period 2015-06-25 Enrico Schumann * DESCRIPTION (Version): 0.1-64 * R/returns.R (pReturns): match regexp '^ann' (instead of 'ann') for annualised returns * NAMESPACE: export '.returns' * R/rebalance.R (rebalance): fixed -- when 'multiplier' is unnamed and of length one, it is used for all instruments * R/btest.R: include timestamp and instrument in result 2015-05-29 Enrico Schumann * R/scale1.R (scale1.default): new argument 'geometric', with default TRUE: centre by subtracting the geometric mean; if FALSE, the arithmetic mean is subtracted * inst/unitTests/ut_returns.R (test.returns): added test cases for returns.data.frame * R/returns.R (.returns): renamed 'returns0' to '.returns' (under neither name is the function exported) (returns.data.frame): fixed -- propagate 'row.names' of dataframe 2015-05-28 Enrico Schumann * R/returns.R (returns.data.frame): result is now of class 'data.frame' (not numeric matrix) 2015-05-21 Enrico Schumann * manual/manual.Rnw: moved most chapters to vignettes * R/returns.R (returns.data.frame): new method: coerces via 'as.matrix' and then calls 'returns' 2015-05-20 Enrico Schumann * R/btest.R (do.signal): [experimental] 'do.signal' can be the string 'firstofmonth' to rebalance on first day of month * R/returns.R (returns_rebalance): 'when' can also be a numeric vector such as 'c(1,5,11)', which gives the indices when to rebalance; also added warning when 'length(weight)' does not match number of price series 2015-05-19 Enrico Schumann * R/returns.R (returns.default): [experimental] new arguments 'weights' and 'rebalance.when' * R/returns.R (returns_rebalance): new function to compute portfolio returns; not exported: will be integrated in 'returns' 2015-05-13 Enrico Schumann * R/rebalance.R (rebalance): added 'multiplier' argument 2015-05-12 Enrico Schumann * NAMESPACE (pm): moved function 'pm' to package NMOF * inst/unitTests/ut_Datetime.R: moved tests to new 'datetimeutils' * DESCRIPTION (Version): 0.1-63 * R/[...]: moved all helper functions that concern dates and times to new package 'datetimeutils' 2015-05-08 Enrico Schumann * R/valuation.R (pv): columns were not named with a (default) multiplier of 1 2015-05-07 Enrico Schumann * DESCRIPTION (Version): 0.1-62 * R/texttools.R: moved all helper functions that concern character vectors to new package 'textutils' * R/toText.R: moved 'toText' to new package 'textutils' * R/datetimetools.R (previousBusinessDay) (nextBusinessDay): now also work for POSIXt (and other classes that can be coerced to Date) * man/pricetable.Rd: added manual page 2015-05-06 Enrico Schumann * R/price_table.R (pricetable): 'pricetable' (renamed from 'price_table') is now exported 2015-04-30 Enrico Schumann * R/backtest.R (backtest): added warning about removal * R/runStats.R (runStats): removed 'DUP = FALSE' 2015-04-27 Enrico Schumann * DESCRIPTION (Version): 0.1-61 * NAMESPACE: export as.NAVseries * R/NAVseries.R (print.summary.NAVseries): new argument 'sparkplot' with default TRUE unless Windows platform 2015-04-16 Enrico Schumann * R/NAVseries.R (print.NAVseries): use big.mark only if 5 or more digits ("1000" instead of "1,000") 2015-04-04 Enrico Schumann * R/journal.R (aggregate.journal): argument 'FUN' in 'aggregate.journal' can be either a function, mapping a journal into a journal, or a list of named functions 2015-03-15 Enrico Schumann * DESCRIPTION (ByteCompile): no ByteCompile 2015-03-03 Enrico Schumann * DESCRIPTION (Version): 0.1-60 * NAMESPACE: 'ann' is no longer exported: use 'returns(x, t, period = "ann")' instead 2015-02-17 Enrico Schumann * R/btest.R (btest): added meaningful error message for case 'convert.weights && b==0 && is.null(prices0) && lag>0' * R/returns.R (toLatex.preturns): added 'stand.alone = FALSE' 2015-02-13 Enrico Schumann * R/price.table.R: added file/function 'price_table' (not exported yet) * R/journal.R (journal.position): fixed -- 'position' method did not properly extract data from position 2015-02-11 Enrico Schumann * DESCRIPTION (Version): 0.1-59 * R/journal.R (journal): journal is now a generic function, currently with methods default, which matches the old behaviour, and for 'position' and 'best' (the latter merely extracts the journal from a 'btest' object) 2015-01-28 Enrico Schumann * DESCRIPTION (Version): 0.1-58 * R/slTable.R (valign, nspace): new internal functions (not exported) * R/NAVseries.R (print.summary.NAVseries): reformated summary output for 'NAVseries' 2015-01-28 Enrico Schumann * DESCRIPTION (Version): 0.1-57 * man/returns.Rd: added arguments for 'toHTML' ('table.class' etc.) 2015-01-27 Enrico Schumann * R/ann.R (ann): added warning to use 'returns(x, t, period = "ann")' instead of 'ann' * vignettes/monthly.Rnw: rm file (now in returns.Rnw) * R/returns.R (pReturns): 'period' is now matched via 'grep' and set to a fixed string (pReturns): returns are only 'annualised' if time-series is longer than 1 year (unless 'period' matches 'ann.*!', with final exclamation mark) 2015-01-27 Enrico Schumann * DESCRIPTION (Version): 0.1-56 * R/position.R (position.journal): fixed -- 'drop.zero' was not used by 'position.journal' 2015-01-26 Enrico Schumann * NAMESPACE: export methods for 'position' * R/position.R (position): 'position' is now generic (position.journal): added methods for numeric vectors (default) and 'journal' * NAMESPACE: export `[` method for 'position' 2015-01-22 Enrico Schumann * R/rebalance.R (rebalance): even with 'match.names', the current position can be '0' 2015-01-14 Enrico Schumann * R/returns.R (pReturns): period 'ann' computes annualised returns 2015-01-14 Enrico Schumann * DESCRIPTION (Version): 0.1-55 * vignettes/returns.Rnw: added vignette * R/returns.R (returns.zoo): now also works for matrices 2015-01-14 Enrico Schumann * DESCRIPTION (Version): 0.1-54 * R/returns.R (returns): behaviour of 'returns(z)' when 'z' is of class 'zoo' has changed: the returned object now has class zoo. To get the old behaviour, use something like r <- return(z) ## r is of class 'zoo' r <- list(returns = coredata(r), t = index(r)) * R/returns.R (returns.zoo): fixed -- when 'period' is specified, the returned object should not be of class 'zoo', but 'preturns'. Conversion is possible with 'as.zoo(x)'. * inst/unitTests/ut_returns.R (test.returns): added more tests for 'returns.zoo' 2015-01-13 Enrico Schumann * R/returns.R (returns.zoo): added method 2015-01-11 Enrico Schumann * R/returns.R (returns): 'returns' is now a generic function; old implementation has become default method 2015-01-06 Enrico Schumann * NAMESPACE: export print method for 'summary.journal' * R/journal.R (`[.journal`): when regex-matching takes place, the character vector to be matched against can be of length > 1. In this case, the vector is collapsed as 'paste(i, collapse = "|")'), thus resulting in an OR rule. (summary.journal): now prints number of transactions 2014-12-18 Enrico Schumann * R/btest.R (do.signal): fixed -- check if 'do.signal' is character 2014-11-24 Enrico Schumann * DESCRIPTION (Version): 0.1-53 * man/*.Rd: small updates in documentation * NAMESPACE: 'scale0' is no longer exported 2014-11-10 Enrico Schumann * DESCRIPTION (Version): 0.1-52 * R/returns.R (print.preturns): period == "year" gets its own print method * DESCRIPTION (Imports): moved tools from Depends to Imports; function 'toHTML' is now exported 2014-11-05 Enrico Schumann * DESCRIPTION (Version): 0.1-51 * R/scale0.R (scale1.default): use 'na.rm' for centring and scaling 2014-10-31 Enrico Schumann * R/position.R (`[.position`): added method; acts on the underlying position (= a numeric matrix) in 'position' object 2014-10-29 Enrico Schumann * R/ann.R (ann.NAVseries): fixed -- method now coerces to 'zoo' and then calls 'ann' 2014-09-29 Enrico Schumann * R/NAVseries.R (print.summary.NAVseries): print prices (high, low, etc.) to two digits (print.NAVseries): print prices (first, last) to two digits 2014-09-26 Enrico Schumann * R/texttools.R (strexp): new function; will replace 'expstr' to have function naming in line with 'strtrim') ('strwrap') 2014-09-24 Enrico Schumann * R/plotTradingHours.R: fixed -- 'label.format' had been ignored 2014-09-24 Enrico Schumann * DESCRIPTION (Version): 0.1-50 * vignettes/monthly.Rnw: new vignette * R/returns.R (mtab): mtab (internal) takes new arguments, 'zero.print', 'plus' and 'digits' whose values are to be passed via 'print', 'toLatex' or 'toHTML' 2014-09-23 Enrico Schumann * NAMESPACE: export S3method 'as.zoo.NAVseries' * R/NAVseries.R (as.zoo.NAVseries): new method 2014-09-18 Enrico Schumann * R/ann.R (ann): 'annualised return' -- added generic and methods for 'zoo', 'NAVseries' 2014-09-15 Enrico Schumann * DESCRIPTION (Version): 0.1-49 * man/*: various small updates in documentation. * man/returns.Rd: added links to 'toLatex', 'toHTML' and Usage for methods for 'preturns' * R/scale0.R (scale0): deprecated (will be removed soon) * R/returns.R (toLatex.preturns): new argument 'month.names' to 'toLatex' and 'toHTML' 2014-09-11 Enrico Schumann * R/returns.R (print.preturns): new argument 'zero.print' * R/NAVseries.R (as.NAVseries): added generic; method for 'zoo' 2014-08-29 Enrico Schumann * inst/unitTests/ut_scale1.R (test.scale1): added test cases * R/scale0.R (scale1.default): fixed -- 'when' was ignored when 'scale' was used 2014-08-28 Enrico Schumann * man/journal.Rd: updated docs -- print gets 'width' and 'max.print' from '?options' * vignettes/scale1.Rnw: added vignette (test cases) * inst/unitTests/ut_text.R (test.expstr): added test function 2014-08-27 Enrico Schumann * R/scale0.R (scale1.default): renamed argument 'origin' to 'level'; support 'centre' argument 2014-08-25 Enrico Schumann * R/journal.R (print.journal): 'max.print' default is now 'getOption("max.print")' (was: 100) 2014-08-20 Enrico Schumann * DESCRIPTION (Version): 0.1-48 (Enhances): zoo * NAMESPACE: export methods for 'scale1' (default, zoo) 2014-08-07 Enrico Schumann * inst/unitTests/ut_text.R (test.expstr): added file * R/texttools.R (expstr): fixed -- when 'at' is supplied, 'after' is now ignored 2014-08-06 Enrico Schumann * DESCRIPTION (Version): 0.1-47 2014-08-05 Enrico Schumann * R/btest.R (btest): added warning for 'isTRUE(convert.weights) && initial.cash == 0', in which case no trading will take place 2014-07-31 Enrico Schumann * R/divAdjust.R (splitAdjust): added function 2014-07-04 Enrico Schumann * R/datetimetools.R (nthWeekday): added function 2014-06-20 Enrico Schumann * NAMESPACE: export print method for summary.NAVseries; import function 'drawdown' from package 'NMOF' 2014-06-19 Enrico Schumann * man/NAVseries.Rd: added file * R/NAVseries.R (print.summary.NAVseries): changed formating 2014-06-18 Enrico Schumann * NAMESPACE: export plot.NAVseries * R/NAVseries.R (print.NAVseries): print now only shows minimal information (old print moved to summary) 2014-06-03 Enrico Schumann * NAMESPACE: export scale0 2014-05-28 Enrico Schumann * R/slTable.R (align): added function (not exported yet) 2014-05-28 Enrico Schumann * DESCRIPTION (Version): 0.1-46 * R/returns.R (toLatex.preturns): added argument 'eol' 2014-05-26 Enrico Schumann * inst/unitTests/ut_TeX.R: added file for tests * R/texttools.R (TeXunits): result gets as name its unit 2014-05-08 Enrico Schumann * DESCRIPTION (Version): 0.1-45 * R/returns.R (returns0): fixed -- padding did not work properly for single-column matrices * inst/unitTests/ut_scale0.R: added file/tests 2014-04-28 Enrico Schumann * DESCRIPTION (ByteCompile): added ByteCompile: yes and NeedsCompilation: yes * R/internals.R (scale0): added 'scale' argument: if TRUE, scale to unit standard-dev 2014-04-04 Enrico Schumann * R/returns.R (returns): now treats 'NAVseries' like 'zoo' (ie, use price and timestamp) 2014-04-03 Enrico Schumann * R/NAVseries.R (print.NAVseries): added method 2014-04-02 Enrico Schumann * R/internals.R (scale0): use 'inherits(x, "zoo")' instead of 'is.zoo' 2014-03-24 Enrico Schumann * R/btest.R: final journal is sorted 2014-03-20 Enrico Schumann * DESCRIPTION (Version): 0.1-44 * R/btest.R: fixed -- journal is set up also for multiple assets 2014-03-19 Enrico Schumann * R/btest.R (btest): new argument 'cashflow' * R/isValidISIN.R (isValidISIN): fixed -- 'isValidISIN' did not take modulo 10 as a last step (thus, when the check digit is 0, it was computed as 10, and the ISIN was flagged as FALSE); also renamed .isin.re to .ISIN 2014-03-17 Enrico Schumann * R/btest.R: 'instrument' and 'timestamp' is now used for journal 2014-03-13 Enrico Schumann * R/returns.R (returns0): fixed -- with 'pad' not NULL, missing values were always added as NA; now the value of pad is used 2014-03-12 Enrico Schumann * R/internals.R (scale0): added function * NAMESPACE: export NAVseries print, summary methods 2014-03-11 Enrico Schumann * R/returns.R (returns): accept zoo series with single-column/row matrices 2014-03-08 Enrico Schumann * R/trades.R (periodObs): removed 'PMwR:::' from last 2014-03-07 Enrico Schumann * DESCRIPTION (Version): 0.1-43 * man/returns.Rd: updated docs * R/returns.R (returns0): argument 'lag' is ignored for time-weighted and period returns; added warnings 2014-03-06 Enrico Schumann * R/returns.R (returns): added argument 'lag' 2014-02-28 Enrico Schumann * DESCRIPTION (Version): 0.1-42 * man/PMwR-package.Rd: corrected title 2014-02-21 Enrico Schumann * R/NAVseries.R (NAVseries): new arguments "title" and "instrument" (summary.NAVseries): added function and print method (though currently only wrapper for print.NAVseries) 2014-02-11 Enrico Schumann * R/NAVseries.R (print.NAVseries): added stats 2014-02-10 Enrico Schumann * R/btest.R (btest): new arguments timestamp, instrument * inst/unitTests/ut_rebalance.R (test.rebalance): updated tests * NAMESPACE: "valuation" (and methods) no longer exported 2014-02-10 Enrico Schumann * DESCRIPTION (Version): 0.1-41 (supersedes the release branch 0.2-x) * R/returns.R (returns): if "x" is of class "zoo": use "time" (stats package) instead of "index" (zoo package); then, zoo needs not be attached * R/NAVseries.R (NAVseries): added function (print.NAVseries): added method (plot.NAVseries): added method 2014-02-02 Enrico Schumann * R/valuation.R (valuation.journal): fixed -- instrument == "cash" and price == 1 was not recycled to length of journal 2014-01-21 Enrico Schumann * NAMESPACE: 'backtest' is no longer exported * R/divAdjust.R (divAdjust): function is now exported 2014-01-16 Enrico Schumann * R/btest.R (print.btest): added method 2013-12-06 Enrico Schumann * R/position.R (print.position): (re)construct colnames from 'instrument' 2013-12-03 Enrico Schumann * DESCRIPTION (Version): 0.2-2 * R/rebalance.R (rebalance): more checks added; length-one values for current/target allowed 2013-11-28 Enrico Schumann * R/journal.R (split.journal): added method 2013-11-19 Enrico Schumann * DESCRIPTION (Version): 0.2-1 * R/valuation.R (valuation): renamed 'value' to 'valuation' ('value' is too common; package 'tseries' has a generic of that name) 2013-11-18 Enrico Schumann * R/returns.R (toLatex.preturns): new argument ytd with default "YTD" (in order to specify "\\textsc{ytd}" or similar) 2013-11-16 Enrico Schumann * R/slTable.R (sparkplot): added function (not exported yet) * R/btest.R (btest): renamed 'phi' to 'fraction' 2013-11-12 Enrico Schumann * R/pl.R (print.pl): use prettyNum to format all numeric values 2013-11-08 Enrico Schumann * R/returns.R (print.preturns): ignore case (eg, both "month" and "Month" now work) * R/valuation.R (value): added generic (value.journal): added method (value.position): added method 2013-10-23 Enrico Schumann * R/internals.R (matchOrNext,matchOrPrevious): added functions (not exported) 2013-10-22 Enrico Schumann * R/journal.R (cashflows): added function (not exported) 2013-10-16 Enrico Schumann * R/totext.R (toText.default): coerce to character before write 2013-10-14 Enrico Schumann * NAMESPACE: removed function 'drawdown': it is now included [unchanged] in the NMOF package 2013-10-10 Enrico Schumann * R/datetimetools.R (isLeapyear): added function 2013-09-28 Enrico Schumann * R/totext.R (toText): added generic 2013-09-18 Enrico Schumann * R/returns.R (.tr): toHTML.preturns allows specification of class/style 2013-09-17 Enrico Schumann * R/isValidISIN.R (isValidISIN): fixed -- in case all ISINs were invalid because of length != 12 characters, the function failed * R/drawdown.R (drawdown): fixed -- 'summary' argument was ignored 2013-09-16 Enrico Schumann * updated docs for rmspace 2013-09-15 Enrico Schumann * R/html.R (.xhtml.skeleton,.html5.skeleton): added functions 2013-09-13 Enrico Schumann * R/texttools.R (rmspace): added leading/trailing arguments 2013-09-12 Enrico Schumann * man/texttools.Rd: added 'rmrp' 2013-09-11 Enrico Schumann * R/backtest.R (btest): added function -- future replacement of backtest * R/pl.R (pl): added multiplier argument * R/pl.R (plfun): absolute amount -- initial/final positions are subtracted (ie, amount only reflects _traded_ quantities) * R/position.R (position): timestamp can be missing/zero-length 2013-09-10 Enrico Schumann * R/journal.R (`[.journal`): added argument 'reverse' * R/returns.R (print.preturns): fixed -- period 'monthly' (instead of month) is now also accepted 2013-09-06 Enrico Schumann * man/journal.Rd: updated examples for aggregate.journal * NAMESPACE: export method aggregate.journal * R/journal.R (c.journal): timestamp-classes of zero length journals are not checked; no more warnings in case of class vectors of length > 1 [such c("POSIXct", "POSIXt")] 2013-09-02 Enrico Schumann * R/dev.R: added replNA tests (vs approx) 2013-08-30 Enrico Schumann * R/journal.R (print.journal): fixed -- exclude did not exclude fields (c.journal): fixed -- method works now if journals have different fields (adding NAs appropriately) (c.journal): fixed -- timestamp class is copied 2013-08-29 Enrico Schumann * R/journal.R (journal): replaced 'rep0' with 'rep' * R/returns.R (pReturns): 'pad' is now passed also to 'period returns' * R/position.R (position): removed from/to arguments (instead, create a subset of a journal and pass this to position) 2013-08-28 Enrico Schumann * R/journal.R (print.journal): do not create data.frame for length-zero journal any more 2013-08-27 Enrico Schumann * R/journal.R (`[.journal`): default for 'match.against' is now c("instrument", "account") * R/journal.R (c.journal): issue warning (instead of error) when not all passed arguments are of class 'journal' 2013-08-22 Enrico Schumann * R/returns.R (returns): changed default period to NULL 2013-08-08 Enrico Schumann * R/trades.R (splitTrades): if 'timestamp' is missing, do 'seq_along(amount)' 2013-08-07 Enrico Schumann * R/datetimetools.R (`mday<-`): fixed -- returned the day-of-month, not the date * R/internals.R (avg): added (unexported) * R/pl.R (print.pl): print.gap is 2 * NAMESPACE: export rebalance 2013-08-06 Enrico Schumann * R/journal.R (c.journal): added recursive argument (print.journal): added 'include' argument (account): simplified account 'accessor' 2013-08-02 Enrico Schumann * DESCRIPTION (Depends): 'tools' added (for 'toHTML') 2013-07-31 Enrico Schumann * R/rebalance.R (rebalance): removed w.current/w.target arguments * R/returns.R (toHTML.preturns, toLatex.preturns): added/exported * NAMESPACE: removed 'saveAttachment' * DESCRIPTION (Depends): removed base64enc. Moved function 'saveAttachment' to package mailtools. 2013-07-30 Enrico Schumann * R/dev.R (## ): removed comments/old function definitions 2013-07-29 Enrico Schumann * R/journal.R (journal): changed default arguments: 'id = NULL, account = NULL' to emphasise optional nature * R/drawdown.R (drawdown): returned list now contains high.position, low.position (instead of highPosition, lowPosition) * R/returns.R (returns): checking 't'/zoo is now done in 'returns' 2013-07-28 Enrico Schumann * R/texttools.R (.TeXunit.table): added vector (scaled points per unit), to be used by TeXunits 2013-07-26 Enrico Schumann * R/returns.R (returns): fixed -- if 'x' inherits from class 'zoo', 't' had to be specified explicitly (now 'NULL' works as documented) (pReturns): 'period' can now any grouping variable 2013-07-24 Enrico Schumann * R/journal.R (`[.journal`): subsetting transactions can now be done (i) by number and (ii) by regexp (matched against instrument and account 2013-07-24 Enrico Schumann * DESCRIPTION (Version): 0.2-0 * R/journal.R (journal): experimental -- journal can take a position and convert it to journal * R/returns.R: removed unused function rtTab and comments * man/pm.Rd: added documentation * R/pm.R (pm): removed 'keep.sign', added 'na.rm' 2013-07-22 Enrico Schumann * R/trades.R (monthlyStats): removed function definition and Rd file * NAMESPACE: removed 'monthlyStats' * R/isValidISIN.R (isValidISIN): ISINs are now converted to upper case before being tested 2013-07-19 Enrico Schumann * R/journal.R (aggregate.journal): experimental -- added method: splits/aggregates on instrument/date/sign (print.journal): sort columns for printing 2013-07-17 Enrico Schumann * man/tradeanalysis.Rd: removed pl (now has its own Rd file) * R/pl.R (pl): fixed -- corrections for cases in which 't0' and 't1' were specified and when portfolio at t0 or t1 was empty 2013-07-16 Enrico Schumann * R/journal.R (journal): 'journal()' returns an empty journal * R/position.R (position): when now also accepts 'all', 'first' or 'last' (last is equivalent to missing) (print.position): new argument 'sep' (position): fixed -- there was a (harmless) warning when 'instrument' was NULL 2013-07-14 Enrico Schumann * R/journal.R (print.journal): new argument 'exclude' for not printing specific columns 2013-07-13 Enrico Schumann * man/drawdown.Rd: added separate Rd file * man/pm.Rd: added separate Rd file 2013-07-12 Enrico Schumann * inst/unitTests/ut_returns.R (test.returns): added file * R/returns.R (print.preturns): added print.preturns * R/texttools.R (expstr): fixed -- fill was inserted at the beginning of regexp 'after', now it is inserted after it (see examples with repeated spaces) 2013-07-10 Enrico Schumann * R/journal.R (print.journal): max.print increased to 100 2013-07-03 Enrico Schumann * R/pl.R (plPeriod): positions at t0 and t1 are computed with drop.zero=TRUE * man/mailtools.Rd: renamed to 'MailTools' (upper case), inline with 'DateTimeTools' * man/texttools.Rd: renamed to 'TextTools' (upper case), inline with 'DateTimeTools' * R/journal.R (print.journal): new max.print argument (default is 10) 2013-07-02 Enrico Schumann * man/texttools.Rd: updated documentation for 'expstr' 2013-06-27 Enrico Schumann * R/journal.R (subset.journal): new arguments account and instrument that expect regular expressions (but default to NULL) (`[.journal`): added `[` method (experimental) * inst/unitTests/ut_journal.R (test.journal): added tests * R/journal.R (as.data.frame.journal): added method 2013-06-26 Enrico Schumann * R/returns.R (pm): added function 'pm' 2013-06-24 Enrico Schumann * R/pl.R (## PLsorted): removed * R/position.R (position): removed aggregation of account/instrument * man/runStats.Rd: updated documentation * vignettes/plotTradingHours.Rnw: updated vignette * R/forward.R: removed (archived in dev.R) * R/backtestALT.R: removed (archived in dev.R) * R/ISIN.R: fixed -- isValidISIN did not work correctly for a vector of length 1 * vignettes/backtest.Rnw: moved to manual directory (to be added to org file) * R/plotTradingHours.R (plotTradingHours): new file 2013-06-19 Enrico Schumann * R/datetimetools.R (ssm): added function ssm ('seconds since midnight') 2013-06-14 Enrico Schumann * vignettes/PL.Rnw: removed vignettes PL and classes (transferred into manual.org) * R/pl.R (): 'plBetween' now in pl (which takes additional arguments t0, t1, prices0, prices1) * DESCRIPTION (Version): 0.1-27 * R/returns.R (returns): all return functions (returns, pReturns, twReturns) now have a single interface: returns * R/returns.R (print.preturns): new method * R/internals.R (divAdjust): renamed function (from divCorrection); (letter2month): added to documentation 2013-06-13 Enrico Schumann * DESCRIPTION (Version): 0.1-26 * R/journal.R (print.Journal): new argument 'width', default is 60 2013-06-12 Enrico Schumann * DESCRIPTION (Version): 0.1-25 2013-06-05 Enrico Schumann * R/internals.R (letter2month): added internal function to convert option-symbol letter to type & month 2013-05-31 Enrico Schumann * DESCRIPTION (Version): 0.1-24 * vignettes/PL.Rnw: moved vignette 'Journal' into 'PL' (and rm'd Journal) * R/journal.R (filterJournal): removed (use 'subset' instead) (sort.Journal): added and exported * NAMESPACE: export 'length.Journal' * R/pl.R (pl): new argument along.timestamp: default is FALSE; if TRUE, include functionality of 'plsorted' 2013-05-30 Enrico Schumann * man/journal.Rd: example for subset added * R/journal.R (subset.Journal): added method * R/position.R (position): now uses 'from' and 'to' reduce size of journal 2013-05-29 Enrico Schumann * DESCRIPTION (Version): 0.1-23 * R/position.R (position): check NA timestamps * R/journal.R (Journal): if timestamp missing, set to NA * man/Texttools.Rd, Mailtools.Rd: renamed files to lower case * man/PMwR-package.Rd: corrected example (which used 'tth') 2013-05-28 Enrico Schumann * DESCRIPTION (Version): 0.1-22 * R/instrument.R (Instrument): added example for 'VanillaOptionEuropean' * R/dev.R: removed all code for 'instrument' * R/instrument.R (Instrument): added * R/classes.R: deleted * R/pl.R (plsorted): added function (simplified version of PLsorted, which is deprecated) 2013-05-27 Enrico Schumann * DESCRIPTION (Version): 0.1-21 * R/PL.R (diffsigns): removed test cases 2013-05-27 Enrico Schumann * DESCRIPTION (Version): 0.1-20 * man/tradeanalysis.Rd: 'PL' changed into 'pl' * R/Tradelist.R (print.Journal): NAs are not printed; non-standard fields are also printed * R/position.R (position): position now always returns a matrix; ie, a dim attribute is attached (position): new argument 'aggr.accounts' to specify whether pool instruments by account (if TRUE) or not (FALSE); (position): new argument 'account.sep' * R/Tradelist.R (print.Journal): fixed -- when instruments were factors, a (harmless) warning was produced (Journal): 'instrument' is now explicitly coerced to character (if the original instrument is a class, it should have as as.character method) 2013-05-27 Enrico Schumann * DESCRIPTION (Version): 0.1-19 * NAMESPACE, R/, man/: renamed 'Tradelist' into 'Journal' 2013-05-24 Enrico Schumann * NAMESPACE: added 'expstr' 2013-05-20 Enrico Schumann * R/internals.R (divCorrection): added function: corrects series for dividend payment 2013-05-16 Enrico Schumann * man/Tradelist.Rd: added methods ('print', 'c', 'length') to docs 2013-05-15 Enrico Schumann * DESCRIPTION (Suggests): removed 'tth' 2013-05-14 Enrico Schumann * DESCRIPTION (Version): 0.1-18 * R/Tradelist.R (c.Tradelist, length.Tradelist): added method for length; rewrote c.Tradelist 2013-05-13 Enrico Schumann * R/Tradelist.R (Tradelist): added '...' argument; all arguments passed that way must be named 2013-05-07 Enrico Schumann * NAMESPACE: exported twReturns 2013-05-02 Enrico Schumann * R/Datetimetools.R (plotTradingHours): fixed -- plotTradingHours had ignored 'holidays' argument 2013-05-01 Enrico Schumann * man/rebalance.Rd: added Rd file 2013-04-30 Enrico Schumann * DESCRIPTION (Version): 0.1-17 * R/returns.R (twReturns): added. Compute time-weighted returns. * R/Datetimetools.R (timegrid): fixed -- timegrid ignored holidays specified as character ('YYYY-MM-DD') * R/internals.R (print.rebalance): rebalance evaluates to list; print method added 2013-04-29 Enrico Schumann * R/dev.R (bs): added binary search 2013-04-25 Enrico Schumann * DESCRIPTION (Version): 0.1-16 * R/position.R (position): 'when' can be a vector, thus the position at several times can be computed 2013-04-23 Enrico Schumann * R/position.R (position): if 'when' is missing, the latest position (= maximum timestamp) is assumed * R/internals.R (rebalance), man/PMwR-internal.Rd: function 'rebalance' is available, but not exported. It also gets a 'do.trunc' argument 2013-04-15 Enrico Schumann * DESCRIPTION (Version): 0.1-15 * R/PL.R (print.PL): added print method * R/returns.R (returns): added file * R/position.R (position): now checks whether 'amount', 'timestamp' or 'instrument' (in that order) inherits from class 'Tradelist' * R/Tradelist.R, PL.R: made arguments more consistent: 'amount' [before sometimes 'n' or 'notional']; 'timestamp' [was: 'datetime', 'times']; all in singular (eg, 'price' not 'prices') 2013-04-10 Enrico Schumann * R/position.R, PL.R (position, PLsorted): added file. Removed generic for position and PLsorted (the function now checks the class of its first argument: if 'Tradelist', it will convert into vectors for notional etc.). 2013-04-04 Enrico Schumann * R/texttools.R (expstr): added 2013-03-21 Enrico Schumann * R/TradesPL.R (PLsorted): now generic, methods for 'default' and 'Tradelist' 2013-03-19 Enrico Schumann * DESCRIPTION (Version): 0.1-10 * R/Tradelist.R (Tradelist): price can now be NA * R/Tradelist.R (print.Tradelist): corrected trade count message when instrument is NA * R/Tradelist.R (position): 'position' is now generic 2013-03-14 Enrico Schumann * DESCRIPTION (Version): 0.1-9 (and DESCRIPTION file updated) * R/forward.R (putCallParity): removed -- this functionality is available in the NMOF package * .Rbuildignore: added R/dev.R * R/dev.R: added file * NAMESPACE: export 'Tradelist' and S3 methods: c, print, sort * R/Tradelist.R (Tradelist): checks if all 'instrument' arguments are equal (and in that case only stores vector of length one) * man/Tradelist.Rd: added file 2013-03-10 Enrico Schumann * DESCRIPTION (Version): 0.1-8 * vignettes/plotTradingHours.Rnw: added examples, discussion 2013-03-08 Enrico Schumann * R/Datetimetools.R (plotTradingHours): removed formating of axis(2), ablines and par * R/internals.R (first,last): added first and last * R/Datetimetools.R (timegrid): now uses numeric representation of times (instead of character before) 2013-03-07 Enrico Schumann * R/Datetimetools.R (plotTradingHours): returns coordinates even when plotting (but invisibly); removed 'ppar' argument 2013-02-28 Enrico Schumann * R/classes.R (print.Tradelist): now shows also instrument 2013-02-20 Enrico Schumann * vignettes/PL.Rnw: added example for twExposure * inst/unitTests/unitTestsPL.R (test.twExposure): added unit test 2013-02-18 Enrico Schumann * DESCRIPTION (Version): 0.1-7 * NAMESPACE: twExposure exported * R/classes.R (PLsorted): added Tradelist function; experimental: PLsorted as generic 2013-02-13 Enrico Schumann * R/TradesPL.R (twExposure): added function 2013-02-12 Enrico Schumann * DESCRIPTION (Version): 0.1-6 * NAMESPACE: added lastWeekday * R/Datetimetools.R (lastWeekday): added arguments 'period = 'month', before, inclusive = TRUE' 2013-02-11 Enrico Schumann * R/Datetimetools.R (lastWeekday): added (not exported yet) * inst/unitTests/unitTestsDateTime.R: added file 2013-02-11 Enrico Schumann * R/TradesPL.R (PLfun): added 'fast' argument 2013-02-05 Enrico Schumann * R/texttools.R (TeXunits): added function 2013-01-30 Enrico Schumann * NAMESPACE: export firstOfMonth and firstOfPreviousMonth 2012-12-21 Enrico Schumann * R/TradesPL.R (lastIndex,firstIndex): added lastIndex and firstIndex 2012-12-21 Enrico Schumann * DESCRIPTION (Version): 0.1-5 * man/drawdown.Rd: small corrections * man/computeMonthlyStats.Rd: small corrections * NAMESPACE: export endOfMonth, scaleToUnity and closeOnFirst * R/TradesPL.R (finalObs): added function (not yet exported) * R/internals.R (wait): added to unexported functions * man/: expanded documentation 2012-12-20 Enrico Schumann * DESCRIPTION (Version): 0.1-4 * R/TradesPL.R (PL): symbols is now supported * R/Datetimetools.R (`dayOfMonth<-`): added replacement fun for dayOfMonth (and added both to NAMESPACE) * NAMESPACE: added 'isWeekend' 2012-12-13 Enrico Schumann * DESCRIPTION (Version): 0.1-3 * /: clean up of repository 2012-12-12 Enrico Schumann * R/TradesPL.R (limit): new 'limit' function 2012-11-21 Enrico Schumann * DESCRIPTION (Version): 0.1-2 * NAMESPACE: added limitExposure to exported functions 2012-11-19 Enrico Schumann * DESCRIPTION (Version): 0.1-1 * R/saveAttachment.R (saveAttachment): fixed -- regexp for matching filename now works with quoted and unquoted filenames (saveAttachment): if not base64, attachment is not decoded and written 'as is' to outfile 2012-11-16 Enrico Schumann * R/saveAttachment.R (saveAttachment): changed decoding from base64 package to base64enc * DESCRIPTION (Version): initial version (take code from 'PM') 2012-02-11 Enrico Schumann * R/dayOfMonth.R (isWeekend): changed 'tmp$w' into 'tmp$wday'. (getNextBusinessDay): added function. (getPreviousBusinessDay): added function.