2021-09-18  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.16-1

        * 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-01-19  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.16-0

2021-01-17  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns.default): coerce 'x' to
        matrix if 'returns_position' is called

2021-01-12  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (returns_position): zero positions
        now correctly return zero returns (instead of NaN)

2021-01-10  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.15-0

2020-10-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (summary.journal): rewrite and
        document method

2020-10-10  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (position): support "endofyear"
        as keyword for 'when'

2020-10-01  Enrico Schumann  <es@enricoschumann.net>

        * inst/tinytest/test_is_valid_SEDOL.R: add tests

2020-09-25  Enrico Schumann  <es@enricoschumann.net>

        * R/is_valid_ISIN.R (is_valid_SEDOL): add function

2020-08-22  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/pl.R (pl): fix profit/loss computation when
        'along.timestamp' specifies a single timestamp

2020-05-16  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.14-0

2020-03-10  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Suggests): remove 'RUnit'

        * inst/tinytest/*: move all tests to tinytest format

2020-03-01  Enrico Schumann  <es@enricoschumann.net>

        * R/div_adjust.R (split_adjust): support several
        splits on a single timestamp

2020-02-24  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns,returns_rebalance):
        the 'weights' argument needs no longer sum to one

2020-02-18  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (toLatex.summary.NAVseries):
        new argument 'include.bm', with default FALSE

2020-01-16  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): for consistency, even
        replicate if replications == 1; reverts changes
        of 2020-01-02

2020-01-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (btest): replicate only if
        'replications' > 1L

2019-12-03  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/streaks.R: add argument 'y'. If not NULL,
        returns of 'x' are computed relative to 'y'.

2019-10-30  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Enhances): add 'zoo'

2019-10-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (lines.NAVseries): add 'lines'
        method

2019-10-05  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.12-0

2019-08-22  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns): returns will now be
        computed for period "itd" even when no
        timestamp is provided

2019-06-05  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): when 'convert.weights' is
        TRUE, only convert non-zero weights

2019-06-02  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.11-1

2019-05-22  Enrico Schumann  <es@enricoschumann.net>

        * R/div_adjust.R (div_adjust): fix handling of
        case additive = FALSE

2019-05-14  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): clarify documentation of
        burnin 'b'

2019-04-30  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/rebalance.R (rebalance): list instruments
        for which prices are missing

2019-04-01  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/valuation.R (valuation.position): fix
        missing-prices warning

2019-02-24  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (NAVseries): new argument 'drop.NA'
        (NAVseries): if 'NAV' inherits from 'btest',
        call 'as.NAVseries.btest'

2019-02-15  Enrico Schumann  <es@enricoschumann.net>

        * R/plot_trading_hours.R: fix axis tick
        positions when 'label' == "days"

2019-02-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Depends): R (>= 3.5), because of
        'isFALSE'

2019-02-06  Enrico Schumann  <es@enricoschumann.net>

        * R/valuation.R (valuation.position): warn
        explicitly when no prices at all are available
        for an instrument

2019-02-01  Enrico Schumann  <es@enricoschumann.net>

        * inst/unitTests/ut_PMwR.R (test.returns.period):
        add test for yearly returns

2019-01-29  Enrico Schumann  <es@enricoschumann.net>

        * R/NAVseries.R (summary.NAVseries): method
        gains argument 'bm' ("benchmark"). If set, a
        'tracking.error' is computed.

2019-01-28  Enrico Schumann  <es@enricoschumann.net>

        * R/NAVseries.R (as.NAVseries.btest): method
        gains optional arguments 'instrument', 'title'
        and 'description'

2019-01-23  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (as.journal.list): add (bare-bones)
        method

        * R/position.R (position.default): add argument
        'use.names'

2018-11-30  Enrico Schumann  <es@enricoschumann.net>

        * R/trades.R (split_trades): when 'price' is
        missing, NA is used

2018-11-22  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R: when the journal is constructed,
        make sure that class attributes are
        preserved (notably for timestamp)

2018-11-13  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R: make journal creation more memory
        efficient, noticeable especially for backtests
        with many (>100) assets

2018-11-09  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.10-1

        * man/pl.Rd: remove textConnection in example

2018-10-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/scale1.R (scale1.default): 'when' may also
        be "last"

2018-10-11  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Package): import from package
        'parallel' (i.e. Suggests => Imports)

2018-09-23  Enrico Schumann  <es@enricoschumann.net>

        * R/internal.R (sparkline): new argument
        'points', for down-sampling the plotted
        time-series

2018-09-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/quote32.R (quote32,q32): accept "+" in
        character input; for instance, "127-00+" is
        now recognised as "127-005"

2018-08-21  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (btest): 'variations': support
        serial and parallel backtests, the latter
        relying on package 'parallel'

2018-08-17  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): [experimental]
        new arguments 'variations' and
        'variations.settings'

2018-08-04  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (.pl_stats): remove 'avg'; see
        ChangeLog entry of 2017-07-05

2018-08-03  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (pl.btest): fixed -- method had not
        passed on additional arguments (`...`)

2018-07-31  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (`instrument<-.journal`): export
        method

2018-06-28  Enrico Schumann  <es@enricoschumann.net>

        * R/valuation.R (valuation.journal): accept
        'instrument = NULL'

2018-06-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (summary): fix formatting

2018-06-21  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (position.default): replace
        internal separator in column names with '.'

2018-06-20  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R: support 'hourly' holding-period
        returns

2018-06-12  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.9-0

2018-06-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (btest): new argument
        'include.timestamp', with default TRUE

2018-05-10  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (all.equal.journal): add
        method (incomplete)

2018-04-30  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.8-0

2018-04-21  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/drawdowns.R (drawdowns): new generic function
        (drawdowns.default, drawdowns.zoo): add methods

2018-02-09  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (head.journal, tail.journal): fix
        skipping of empty journals
        (tail.journal): fix sorting in reverse order

2018-02-08  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (print.position): do not print
        column number for position without timestamp

2018-01-22  Enrico Schumann  <es@enricoschumann.net>

        * R/plot_trading_hours.R: set useful defaults
        when timestamp is of class 'Date' (interval
        becomes "1 day", etc.)

2018-01-01  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.7-0

2017-12-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * inst/unitTests/ut_PMwR.R: add check for empty
        journal

2017-12-08  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (pl.data.frame): new method

2017-12-05  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (btest): fix handling of
        'lag' (which had been ignored in some situations)

2017-11-16  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/div_adjust.R (div_adjust): fix recycling of
        div argument

2017-11-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (as.matrix.p_returns): do not use
        NextMethod but directly unclass/coerce

2017-10-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (plot.NAVseries): set default
        plot type "l"

2017-08-23  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/pricetable.R (pricetable.zoo): [experimental]
        have pricetable merge zoo series passed via ...

2017-08-16  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/position.R (print.position): drop dimension
        when _printing_ the position of a single,
        unnamed instrument

2017-08-10  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/pricetable.R (pricetable): 'pricetable' is
        now generic

        * R/journal.R (instrument.pricetable): add method

2017-07-10  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (pl.default): fix realised/unrealised
        p/l computation for custom timestamp (i.e.
        along.timestamp = <dates>)

2017-07-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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:::<old-fun-name>
        but the new names are preferred

        * inst/unitTests/ut_PMwR.R
        (test.is_valid_ISIN): add tests

2017-06-13  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R: fix inclusion of instrument vector
        when 'include.data' is TRUE

2017-06-02  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.4-6

        * R/returns.R (returns): 'period' may also
        be a single year, such as "2007"

2017-05-24  Enrico Schumann  <es@enricoschumann.net>

        * inst/unitTests/ut_PMwR.R (btest): update for
        changes in package datetimeutils (0.2-0)

2017-05-23  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (toLatex.p_returns): fixed --
        'na.print' had been ignored

2017-05-08  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.4-5

        * R/position.R (position.default): update for
        changes in package datetimeutils (0.2-0)

2017-05-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.4-1

        * R/returns.R (returns): 'period' may now also
        be 'quarterly'

2017-02-28  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (aggregate.journal): fix handling
        of named lists

2017-02-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/unit_prices.R (unit_prices): new argument
        'cf.included'

2017-01-13  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (position.default): support
        keyword 'endofmonth' for argument 'when'

        * NAMESPACE: import functions 'firstOfMonth',
        'endOfMonth' from package datetimeutils

2017-01-12  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/unit_prices.R (unit_prices): add function

2017-01-04  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (URL): update URL

2016-12-20  Enrico Schumann  <es@enricoschumann.net>

        * R/rebalance.R (replace_weight): add function

2016-12-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (as.NAVseries.btest): fix
        timestamp handling

2016-12-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.3-17

        * vignettes/An_overview_of_PMwR.Rnw: update
        install instructions

        * man/rebalance.Rd: update docs

2016-10-27  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (position.default): fixed --
        `%SEP%` would always be prepended to
        `instrument`, even when no `account` was
        provided

2016-10-19  Enrico Schumann  <es@enricoschumann.net>

        * man/rc.Rd: add help file

2016-10-17  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (rc): compute also total return

2016-10-11  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (rc): new function for computing
        return contributions; may be 'merged' later
        into 'returns'

2016-09-30  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.3-15

        * man/pl.Rd: update docs

2016-09-28  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/position.R (acc.split): evaluate to
        data.frame of `account` and `level`

2016-09-18  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (`[<-.journal`): add method, with
        the only purpose of providing an informative error
        message

2016-08-29  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (aggregate.journal): if 'by' is
        atomic, it is put into a list

2016-08-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/position.R (as.zoo.position): add and
        export method

2016-08-04  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/position.R (acc.split): add function (not
        exported)

2016-07-28  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.3-7

        * R/pl.R (pl): rename argument 'eval.price'
        to 'vprice'

        * inst/CITATION: add file

2016-07-13  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: remove 'jcf' from exported functions

2016-07-11  Enrico Schumann  <es@enricoschumann.net>

        * R/quote32.R (quote32 <- q32): fixed --
        rounding-error warning

2016-07-09  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/pl.R (pl.default): refactor/simplify p/l
        computation

2016-07-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/valuation.R (jcf): fixed -- 'instrument'
        was recycled

2016-07-04  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (pl.btest): add method

2016-06-18  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * NAMESPACE: export print.quote32

2016-06-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/position.R (as.matrix.position): add method

2016-04-24  Enrico Schumann  <es@enricoschumann.net>

        * R/NAVseries.R (summary.NAVseries): new argument
        'monthly'; if TRUE (the default), vol computations
        are done on monthly returns

2016-04-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.3-2

        * R/pl.R (pl.default): new argument 'multiplier.regexp'

2016-04-04  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.3-1

        * R/pl.R (pl.default): add support for 'multiplier'

2016-04-01  Enrico Schumann  <enrico.schumann@aq-investment.ch>

        * 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  <es@enricoschumann.net>

        * R/position.R (position.btest): add method

2016-03-31  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-101

        * R/journal.R (journal.default): fixed -- 'journal'
        did not recycle arguments (fields) passed via '...'

2016-03-26  Enrico Schumann  <es@enricoschumann.net>

        * R/scale1.R (scale1.default): use 'anyNA()' instead
        of 'any(is.na())'
        (scale1.NAVseries): add method

2016-03-25  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (do.signal): switch off 'never trade'
        warning when 'final.position' is TRUE

2016-03-23  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-98

        * R/btest.R (do.signal): switch off 'never trade'
        warning for 'atest'

2016-03-22  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/pl.R (pl.default): rename 'pnl' to 'pl' (for
        consistency)

2016-03-07  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-93

        * R/pl.R (print.pl): align 'pl' stats (total, realised,
        unrealised, volume) for printing

2016-03-01  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-90

        * R/scale1.R (scale1.zoo): added 'inflate' argument

2016-02-20  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-89

        * updated manual

2016-02-20  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-84

        * R/journal.R (str.journal): added 'str' method
        for 'journal'

2016-01-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * man/PMwR-package.Rd: added link to manual

2015-11-23  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (toHTML.p_returns): new argument 'browse'

2015-11-12  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (is.journal, as.journal): new functions

2015-10-29  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-75

        * man/PMwR-package.Rd: various updates in docs

2015-10-28  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-73

2015-10-08  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-72

2015-10-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * vignettes/backtest.Rnw: fixed typo

2015-10-03  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/valuation.R (valuation): export generic and method
        for 'position'

        * man/btest.Rd: updated for 'progressBar'

2015-09-20  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): new argument 'progressBar': when
        TRUE, print as txtProgressBar during computation; default
        is FALSE

2015-09-17  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-69

2015-09-17  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * vignettes/An_overview.Rnw: updated description on basic
        data stuctures (journal, position, ...)

2015-09-03  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * vignettes/Valuation.Rnw: added file

        * vignettes/FAQ.Rnw: added file

2015-09-02  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/internals.R (letter2month): new argument
        'instrument': allows 'future', 'option'

2015-07-07  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-66

        * R/btest.R (plot.btest): new function

2015-07-01  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (btest): propagate debugging for 'cashflow'

2015-06-30  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns.data.frame): result is now of
        class 'data.frame' (not numeric matrix)

2015-05-21  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/rebalance.R (rebalance): added 'multiplier' argument

2015-05-12  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/valuation.R (pv): columns were not named with a
        (default) multiplier of 1

2015-05-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/price_table.R (pricetable): 'pricetable' (renamed
        from 'price_table') is now exported

2015-04-30  Enrico Schumann  <es@enricoschumann.net>

        * R/backtest.R (backtest): added warning about removal

        * R/runStats.R (runStats): removed 'DUP = FALSE'

2015-04-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (print.NAVseries): use big.mark only if 5
        or more digits ("1000" instead of "1,000")

2015-04-04  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (ByteCompile): no ByteCompile

2015-03-03  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-60

        * NAMESPACE: 'ann' is no longer exported: use 'returns(x,
        t, period = "ann")' instead

2015-02-17  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-57

        * man/returns.Rd: added arguments for 'toHTML'
        ('table.class' etc.)

2015-01-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-56

        * R/position.R (position.journal): fixed -- 'drop.zero'
        was not used by 'position.journal'

2015-01-26  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/rebalance.R (rebalance): even with 'match.names', the
        current position can be '0'

2015-01-14  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (pReturns): period 'ann' computes
        annualised returns

2015-01-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns.zoo): added method

2015-01-11  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (returns): 'returns' is now a generic
        function; old implementation has become default method

2015-01-06  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R (do.signal): fixed -- check if 'do.signal' is
        character

2014-11-24  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-53

        * man/*.Rd: small updates in documentation

        * NAMESPACE: 'scale0' is no longer exported

2014-11-10  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-51

        * R/scale0.R (scale1.default): use 'na.rm' for centring
        and scaling

2014-10-31  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (`[.position`): added method; acts on the
        underlying position (= a numeric matrix) in 'position'
        object

2014-10-29  Enrico Schumann  <es@enricoschumann.net>

        * R/ann.R (ann.NAVseries): fixed -- method now coerces to
        'zoo' and then calls 'ann'

2014-09-29  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/texttools.R (strexp): new function; will replace
        'expstr' to have function naming in line with 'strtrim')
        ('strwrap')

2014-09-24  Enrico Schumann  <es@enricoschumann.net>

        * R/plotTradingHours.R: fixed -- 'label.format' had been
        ignored

2014-09-24  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * NAMESPACE: export S3method 'as.zoo.NAVseries'

        * R/NAVseries.R (as.zoo.NAVseries): new method

2014-09-18  Enrico Schumann  <es@enricoschumann.net>

        * R/ann.R (ann): 'annualised return' -- added generic and
        methods for 'zoo', 'NAVseries'

2014-09-15  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (print.preturns): new argument 'zero.print'

        * R/NAVseries.R (as.NAVseries): added generic; method for
        'zoo'

2014-08-29  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/scale0.R (scale1.default): renamed argument 'origin'
        to 'level'; support 'centre' argument


2014-08-25  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (print.journal): 'max.print' default is now
        'getOption("max.print")' (was: 100)

2014-08-20  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-48
        (Enhances): zoo

        * NAMESPACE: export methods for 'scale1' (default, zoo)

2014-08-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-47

2014-08-05  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/divAdjust.R (splitAdjust): added function

2014-07-04  Enrico Schumann  <es@enricoschumann.net>

        * R/datetimetools.R (nthWeekday): added function

2014-06-20  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: export print method for summary.NAVseries;
        import function 'drawdown' from package 'NMOF'

2014-06-19  Enrico Schumann  <es@enricoschumann.net>

        * man/NAVseries.Rd: added file

        * R/NAVseries.R (print.summary.NAVseries): changed
        formating

2014-06-18  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * NAMESPACE: export scale0

2014-05-28  Enrico Schumann  <es@enricoschumann.net>

        * R/slTable.R (align): added function (not exported yet)

2014-05-28  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-46

        * R/returns.R (toLatex.preturns): added argument 'eol'

2014-05-26  Enrico Schumann  <es@enricoschumann.net>

        * inst/unitTests/ut_TeX.R: added file for tests

        * R/texttools.R (TeXunits): result gets as name its unit

2014-05-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns): now treats 'NAVseries' like
        'zoo' (ie, use price and timestamp)

2014-04-03  Enrico Schumann  <es@enricoschumann.net>

        * R/NAVseries.R (print.NAVseries): added method

2014-04-02  Enrico Schumann  <es@enricoschumann.net>

        * R/internals.R (scale0): use 'inherits(x, "zoo")'
        instead of 'is.zoo'

2014-03-24  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R: final journal is sorted

2014-03-20  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-44

        * R/btest.R: fixed -- journal is set up also for multiple
        assets

2014-03-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/btest.R: 'instrument' and 'timestamp' is now used for
        journal

2014-03-13  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/internals.R (scale0): added function

        * NAMESPACE: export NAVseries print, summary methods

2014-03-11  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (returns): accept zoo series with
        single-column/row matrices

2014-03-08  Enrico Schumann  <es@enricoschumann.net>

        * R/trades.R (periodObs): removed 'PMwR:::' from last

2014-03-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns): added argument 'lag'

2014-02-28  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-42

        * man/PMwR-package.Rd: corrected title

2014-02-21  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/NAVseries.R (print.NAVseries): added stats

2014-02-10  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/valuation.R (valuation.journal): fixed -- instrument
        == "cash" and price == 1 was not recycled to length of
        journal

2014-01-21  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: 'backtest' is no longer exported

        * R/divAdjust.R (divAdjust): function is now exported

2014-01-16  Enrico Schumann  <es@enricoschumann.net>

        * R/btest.R (print.btest): added method

2013-12-06  Enrico Schumann  <es@enricoschumann.net>

        * R/position.R (print.position): (re)construct colnames
        from 'instrument'

2013-12-03  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.2-2

        * R/rebalance.R (rebalance): more checks added;
        length-one values for current/target allowed

2013-11-28  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (split.journal): added method

2013-11-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (toLatex.preturns): new argument ytd with
        default "YTD" (in order to specify "\\textsc{ytd}" or
        similar)

2013-11-16  Enrico Schumann  <es@enricoschumann.net>

        * R/slTable.R (sparkplot): added function (not exported
        yet)

        * R/btest.R (btest): renamed 'phi' to 'fraction'

2013-11-12  Enrico Schumann  <es@enricoschumann.net>

        * R/pl.R (print.pl): use prettyNum to format all numeric
        values

2013-11-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/internals.R (matchOrNext,matchOrPrevious): added
        functions
        (not exported)

2013-10-22  Enrico Schumann  <es@enricoschumann.net>

        * R/journal.R (cashflows): added function (not exported)

2013-10-16  Enrico Schumann  <es@enricoschumann.net>

        * R/totext.R (toText.default): coerce to
        character before write

2013-10-14  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: removed function 'drawdown': it is now
        included [unchanged] in the NMOF package

2013-10-10  Enrico Schumann  <es@enricoschumann.net>

        * R/datetimetools.R (isLeapyear): added function

2013-09-28  Enrico Schumann  <es@enricoschumann.net>

        * R/totext.R (toText): added generic

2013-09-18  Enrico Schumann  <es@enricoschumann.net>

        * R/returns.R (.tr): toHTML.preturns allows
        specification of class/style

2013-09-17  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * updated docs for rmspace

2013-09-15  Enrico Schumann  <es@enricoschumann.net>

        * R/html.R (.xhtml.skeleton,.html5.skeleton): added
        functions

2013-09-13  Enrico Schumann  <es@enricoschumann.net>

        * R/texttools.R (rmspace): added leading/trailing
        arguments

2013-09-12  Enrico Schumann  <es@enricoschumann.net>

        * man/texttools.Rd: added 'rmrp'

2013-09-11  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/dev.R: added replNA tests (vs approx)

2013-08-30  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (print.journal): do not create data.frame
        for length-zero journal any more

2013-08-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (returns): changed default period to NULL

2013-08-08  Enrico Schumann  <es@enricoschumann.net>

        * R/trades.R (splitTrades): if 'timestamp' is missing, do
        'seq_along(amount)'

2013-08-07  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (c.journal): added recursive argument
        (print.journal): added 'include' argument
        (account): simplified account 'accessor'

2013-08-02  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Depends): 'tools' added (for 'toHTML')

2013-07-31  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/dev.R (## ): removed comments/old function
        definitions

2013-07-29  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/texttools.R (.TeXunit.table): added vector (scaled
        points per unit), to be used by TeXunits

2013-07-26  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (print.journal): new argument 'exclude' for
        not printing specific columns

2013-07-13  Enrico Schumann  <es@enricoschumann.net>

        * man/drawdown.Rd: added separate Rd file

        * man/pm.Rd: added separate Rd file

2013-07-12  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/journal.R (print.journal): max.print increased to 100

2013-07-03  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * man/texttools.Rd: updated documentation for 'expstr'

2013-06-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/returns.R (pm): added function 'pm'

2013-06-24  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/datetimetools.R (ssm): added function ssm ('seconds
        since midnight')

2013-06-14  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-26

        * R/journal.R (print.Journal): new argument 'width',
        default is 60

2013-06-12  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-25

2013-06-05  Enrico Schumann  <es@enricoschumann.net>

        * R/internals.R (letter2month): added internal function
        to convert option-symbol letter to type & month

2013-05-31  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-21

        * R/PL.R (diffsigns): removed test cases

2013-05-27  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-19

        * NAMESPACE, R/, man/: renamed 'Tradelist' into 'Journal'

2013-05-24  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: added 'expstr'

2013-05-20  Enrico Schumann  <es@enricoschumann.net>

        * R/internals.R (divCorrection): added function: corrects
        series for dividend payment

2013-05-16  Enrico Schumann  <es@enricoschumann.net>

        * man/Tradelist.Rd: added methods ('print', 'c',
        'length') to docs

2013-05-15  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Suggests): removed 'tth'

2013-05-14  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-18

        * R/Tradelist.R (c.Tradelist, length.Tradelist): added
        method for length; rewrote c.Tradelist

2013-05-13  Enrico Schumann  <es@enricoschumann.net>

        * R/Tradelist.R (Tradelist): added '...' argument; all
        arguments passed that way must be named

2013-05-07  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: exported twReturns

2013-05-02  Enrico Schumann  <es@enricoschumann.net>

        * R/Datetimetools.R (plotTradingHours): fixed --
        plotTradingHours had ignored 'holidays' argument

2013-05-01  Enrico Schumann  <es@enricoschumann.net>

        * man/rebalance.Rd: added Rd file

2013-04-30  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/dev.R (bs): added binary search

2013-04-25  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>


        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/texttools.R (expstr): added

2013-03-21  Enrico Schumann  <es@enricoschumann.net>

        * R/TradesPL.R (PLsorted): now generic, methods for
        'default' and 'Tradelist'

2013-03-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-8

        * vignettes/plotTradingHours.Rnw: added examples,
        discussion

2013-03-08  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/Datetimetools.R (plotTradingHours): returns
        coordinates even when plotting (but invisibly); removed
        'ppar' argument

2013-02-28  Enrico Schumann  <es@enricoschumann.net>

        * R/classes.R (print.Tradelist): now shows also
        instrument

2013-02-20  Enrico Schumann  <es@enricoschumann.net>

        * vignettes/PL.Rnw: added example for twExposure

        * inst/unitTests/unitTestsPL.R (test.twExposure): added
        unit test

2013-02-18  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-7

        * NAMESPACE: twExposure exported

        * R/classes.R (PLsorted): added Tradelist function;
        experimental: PLsorted as generic

2013-02-13  Enrico Schumann  <es@enricoschumann.net>

        * R/TradesPL.R (twExposure): added function

2013-02-12  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-6

        * NAMESPACE: added lastWeekday

        * R/Datetimetools.R (lastWeekday): added arguments
        'period = 'month', before, inclusive = TRUE'

2013-02-11  Enrico Schumann  <es@enricoschumann.net>

        * R/Datetimetools.R (lastWeekday): added (not exported
        yet)

        * inst/unitTests/unitTestsDateTime.R: added file

2013-02-11  Enrico Schumann  <es@enricoschumann.net>

        * R/TradesPL.R (PLfun): added 'fast' argument

2013-02-05  Enrico Schumann  <es@enricoschumann.net>

        * R/texttools.R (TeXunits): added function

2013-01-30  Enrico Schumann  <es@enricoschumann.net>

        * NAMESPACE: export firstOfMonth and firstOfPreviousMonth

2012-12-21  Enrico Schumann  <es@enricoschumann.net>

        * R/TradesPL.R (lastIndex,firstIndex): added lastIndex
        and firstIndex

2012-12-21  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-3

        * /: clean up of repository

2012-12-12  Enrico Schumann  <es@enricoschumann.net>

        * R/TradesPL.R (limit): new 'limit' function

2012-11-21  Enrico Schumann  <es@enricoschumann.net>

        * DESCRIPTION (Version): 0.1-2

        * NAMESPACE: added limitExposure to exported functions

2012-11-19  Enrico Schumann  <es@enricoschumann.net>

        * 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  <es@enricoschumann.net>

        * R/saveAttachment.R (saveAttachment): changed decoding
        from base64 package to base64enc

        * DESCRIPTION (Version): initial version (take code from 'PM')

2012-02-11  Enrico Schumann  <es@enricoschumann.net>

        * R/dayOfMonth.R (isWeekend): changed 'tmp$w' into 'tmp$wday'.
        (getNextBusinessDay): added function.
        (getPreviousBusinessDay): added function.
