#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.23-0    #-#-#-#-#-#-#-#-#-#


SIGNIFICANT USER-VISIBLE CHANGES

  - Update DVI to use runPercentRank. Thanks to Ivan Popivanov for the patch.

  - getYahooData now returns an xts object with Date index (not POSIXct).

  - MA function colnames no longer based on input colnames.


NEW FEATURES

  - Add HMA and ALMA functions/docs. Thanks to Ivan Popivanov.

  - Add Ultimate Oscillator function/docs/tests. Thanks to Ivan Popivanov.


BUG FIXES

  - runFuns now throw error if there are not enough non-NA values.

  - Change all instances of lag() to lag.xts() in case 'x' is a matrix.
    Thanks to Ivan Popivanov for the report.

  - Correct output column names in ATR docs.

  - CLV now sets NaN and Inf values to 0, instead of only NaN values.

  - Fix OBV so OBV[t] = OBV[t-1] when Close[t] == Close[t-1].

  - Fix dead links in documentation.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.22-0    #-#-#-#-#-#-#-#-#-#


SIGNIFICANT USER-VISIBLE CHANGES

  - CCI now returns an object with colnames ("cci").

  - All moving average functions now attempt to set colnames.

  - Added clarification on the displaced nature of DPO.

  - SAR now sets the initial gap based on the standard deviation of the
    high-low range instead of hard-coding it at 0.01.


NEW FEATURES

  - Added rollSFM function that calculates alpha, beta, and R-squared for a
    single-factor model, thanks to James Toll for the prototype.

  - Added runPercentRank function, thanks to Charlie Friedemann.

  - Moved slowest portion of aroon() to C.

  - DonchianChannel gains an 'include.lag=FALSE' argument, which includes the
    current period's data in the calculation. Setting it to TRUE replicates
    the original calculation. Thanks to Garrett See and John Bollinger.

  - The Stochastic Oscillator and Williams' %R now return 0.5 (instead of NaN)
    when a securities' price doesn't change over a sufficient period.

  - All moving average functions gain '...'.

  - Users can now change alpha in Yang Zhang volatility calculation.


BUG FIXES

  - Fixed MACD when maType is a list. Now mavg.slow=maType[[2]] and
    mavg.fast=maType[[1]], as users expected based on the order of the nFast
    and nSlow arguments. Thanks to Phani Nukala and Jonathan Roy.

  - Fixed bug in lags function, thanks to Michael Weylandt.

  - Corrected error in Yang Zhang volatility calculation, thanks to several
    people for identifying this error.

  - Correction to SAR extreme point calculations, thanks to Vamsi Galigutta.

  - adjRatios now ensures all inputs are univariate, thanks to Garrett See.

  - EMA and EVWMA now ensure n < number of non-NA values, thanks to Roger Bos.

  - Fix to BBands docs, thanks to Evelyn Mitchell.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.21-1    #-#-#-#-#-#-#-#-#-#


BUG FIXES

  - Fixed stockSymbols for nasdaq.com changes (again), and attempted to make
    stockSymbols more robust to nasdaq.com changes.

  - Corrected final calculation in Yang-Zhang volatility, thanks to Shal Patel.

  - Corrected k in Yang-Zhang volatility, thanks to Ian Rayner.

  - Corrected s2o and s2c in Yang-Zhang volatility, thanks to Ian Rayner.

  - Corrected KST when input is xts (res is now * 100), thanks to Yuanwei.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.21-0    #-#-#-#-#-#-#-#-#-#


NEW FEATURES

  - Added variable moving average function, VMA.

  - Added Brian Peterson's price bands function, PBands.

  - Added David Varadi's DVI indicator, DVI.

  - Added wilder and ratio arguments to DEMA. Thanks to Matthew Fornari for
    the suggestion.


BUG FIXES

  - Changed wilderSum to seed initial value with raw sum. This matches
    Wilder's original calculations. Thanks to Mahesh Bp for the report.

  - The BBands sd calculation now uses the population instead of sample
    statistic. This is consistent with Bollinger Band literature. Thanks to
    Jeff Ryan for the patch.

  - Fixed stockSymbols for nasdaq.com changes.

  - Fixed ZLEMA default ratio by changing it from 2/(n-1) to 2/(n+1). This
    makes it consistent with EMA. Thanks to Dirk Eddelbuettel.

  - Corrected close-to-close volatility. Thanks to James Toll for the report.

  - adjRatios failed (spectacularly) if there were missing close prices.
    Thanks to Garrett See for the report.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.20-2    #-#-#-#-#-#-#-#-#-#


NEW FEATURES

  - Added VWAP and VWMA, thanks to Brian Peterson.

  - Added v-factor generalization to DEMA, thanks to John Gavin.

  - Updated volatility() to handle univariate case of calc='close', thanks
    to Cedrick Johnson.

  - Moved EMA, SAR, and wilderSum from .Fortran to .Call and used
    xts:::naCheck in lieu of TTR's NA check mechanism.

  - RSI up/down momentum now faster with xts, thanks to Jeff Ryan.

  - If 'ratio' is specified in EMA but 'n' is missing, the traditional
    value of 'n' is approximated and returned as the first non-NA value.


BUG FIXES

  - Fix to stoch() when maType is a list and 'n' is not set in the list's
    3rd element, thanks to Wind Me.

  - Fixed fastK in stoch() when smooth != 1.

  - Fixed segfault caused by EMA when n < NROW(x), thanks to Douglas Hobbs.

  - test.EMA.wilder failed under R-devel, thanks to Prof Brian Ripley.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.20-1    #-#-#-#-#-#-#-#-#-#


NEW FEATURES

  - Updated CMO, DPO, DonchianChannel, RSI, and TDI to *explicitly*
    use xts internally.


BUG FIXES

  - Fixed bug in WMA, EVWMA, ZLEMA, and GMMA; results were not being
    reclassed back to their original class.

  - Set colnames after cbind call in the following functions: ADX, aroon,
    ATR, BBands, DonchianChannel, EMV, KST, MACD, stoch, SMI, TDI, TRIX.

  - Fixed bug in VHF; missing abs() calculation in the denominator.
    Thanks to Jürgen Wurzer for the report!


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.20-0    #-#-#-#-#-#-#-#-#-#


NEW FEATURES

  - adjRatios() creates split and/or dividend adjustment ratio series via
    C code.

  - GMMA() calculates the Guppy Multiple Moving Average.

  - volatility() now has Yang Zhang, and Garman-Klass (Yang Zhang)
    calculations.

  - The functions below now have cumulative argument.  This allows the
    calculation of "from inception" running series.
      - runSum, runMin, runMax
      - runMean, runMedian
      - runCov, runCor, runVar, runSD, runMAD

  - Added internal smoothing to FastK in stoch() via 'smooth' argument,
    thanks to Stanley Neo.

  - getYahooData() now uses adjRatios(), which yields significant speed
    improvements for larger data sets.


BUG FIXES

  - Fixed version number; 0.20-0 is now > 0.14-0 (rookie mistake).

  - Fixed bug when maType was a list and 'n' was not specified in maType.
    This affected: stoch(), SMI(), RSI(), KST(), MACD(), TRIX().


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.2-0    #-#-#-#-#-#-#-#-#-#

 
SIGNIFICANT USER-VISIBLE CHANGES

  - getYahooData() now returns an xts object.

  - Added colnames to output for ADX, EMV, and CLV (for xts).

  - momentum() in CMO() no longer sets na=100.

  - Replaced 'na' argument in momentum() and ROC() with 'na.pad'.

  - Moved maType argument default values from function formals to
    function body for the following functions:
      ADX, ATR, CCI, DPO, EMV, KST, MACD, RSI, TRIX, BBands,
      chaikinVolatility, stoch, SMI


NEW FEATURES

  - All functions now use xts internally, adding support for all major time
    series classes.  If try.xts() fails on the input object(s), they will be
    converted to a matrix and a matrix object will be returned.

  - Added 'bounded' arg to stoch() and SMI(), which includes the current
    period in the calculation.

  - Added the zig zag indicator: ZigZag().

  - Added volatility estimators/indicators: volatility(), with the following
    calculations:
    - Close-to-Close
    - Garman Klass
    - Parkinson
    - Rogers Satchell

  - Added Money Flow Index: MFI().

  - Added Donchian channel: DonchianChannel().

  - Added 'multiple' argument to TDI(), allowing more user control.

  - Added naCheck() and implemented it in the moving average functions.


BUG FIXES

  - Corrected NaN replacement in CLV().

  - Corrected williamsAD(): AD=0 if C(t)=C(t-1).

  - Corrected runMedian() and runMAD().  The argument controlling which type
    of median to calculate for even-numbered samples wasn't being passed to
    the Fortran routine.

  - aroon() calculation starts at period n+1, instead of n.

  - Added NA to first element of closeLag of ATR().

  - Corrected BBands() and CCI() for rowMeans use on xts objects.

  - Made changes to Rd files to pass R CMD check on R-devel (2.9.0).


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.14-0    #-#-#-#-#-#-#-#-#-#


SIGNIFICANT USER-VISIBLE CHANGES

  - Changed default 'type' of 'ROC' to 'continuous'.

  - Changed 'BBands' %B output value from 'pct.b' to 'pctB'.

  - Changed 'WPR' output value from 'pct.R' to 'pctR'.

  - Changed 'WPR' MA output value from 'ma.emv' to 'emvMA'.

  - Changed 'aroon' output values from 'aroon.xx' to 'aroonXx'.

  - Renamed:
      'chaikinMF' to 'CMF'
      'stochastic' to 'stoch'
      'bollingerBands' to 'BBands'

  - Set 'na=NA' for 'momentum' and 'ROC' functions in files KST.R,
    RSI.R, and TDI.R, and changed 'ROC' to use 'type="discrete"'
    in 'chaikinVolatility.R'

  - Made the following changes to the 'ZLEMA' function:
     - Add ratio argument with default = NULL
     - Non-integer lags are a weighted mean of the two nearest
       observations, based on thier proximity to the lag value
     - Change 'lag = ratio^(-1)' to fully support 'ratio' argument

  - Changed the 'BBands' function's 'sd' argument from a list
    that allows other dispersion functions to simply indicate the
    number of standard deviations to use


NEW FEATURES

  - Changed MA-type args and updated documentation for: RSIm ADX, ATR,
    CCI, DPO, EMV, RSI, BBands, chaikinVolatility, stoch, SMI, TRIX,
    MACD, and KST.

  - Added Stochastic Momentum Index (SMI) and williamsAD functions
    and documentation.

  - Added Fortran implementations of SMA, EMA, WMA, EVWMA, ZLEMA, PSAR.

  - Added NA checking/handling for many functions.

  - Added 'ratio' argument to EMA with default=NULL.

  - Changed all usage of 'rollFun' to their respective Fortran
    implementations and removed the 'rollFun' function.  Added Fortran
    based functions are: runSum, wilderSum, runMin, runMax, runMean,
    runCov, runCor, runVar, runSD, runMedian, runMAD.

  - Changed 'CCI' to use 'runMAD' internally.


DEPRECATED & DEFUNCT

  - Removed 'oscillator' function and transferred functionality
    to 'MACD' function.

  - Removed chaikinOscillator, since it can be created via
    MACD(chaikinAD(...)).


BUG FIXES

  - match.arg(type) in ROC changed to simple subsetting of type.

  - Changed trailing zeros to trailing NAs in DPO.

  - Fixed 'WMA' bug that allowed 'x' and 'wts' vectors to have different
    length if either series had leading NAs (similar to EVWMA function).

  - Fixed 'runCov' bug that allowed 'x' and 'y' vectors to have different
    length if either series had leading NAs (similar to EVWMA function).

  - Corrected EVWMA to start at period 'n' instead of 'n-1'.

  - Removed 'message' function from CCI.R, VHF.R, WPR.R, aroon.R
    bollingerBands.R, and stochastics.R.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.13-2    #-#-#-#-#-#-#-#-#-#


SIGNIFICANT USER-VISIBLE CHANGES

  - Changed order of oscillator() arguments from 'ma.slow, ma.fast, ma.sig' to
    the traditional 'ma.fast, ma.slow, ma.sig'. Thanks to Jeff Ryan.

  - The arguments to the chaikinOscillator function were changed as above.

  - Changed EVWMA so period n contains the value for periods (i-n+1):n and 
    so periods 1:(n-2) will be NA.

  - Changed EMA so periods 1:n will be NA.


#-#-#-#-#-#-#-#-#-#    Changes in TTR version 0.13-1    #-#-#-#-#-#-#-#-#-#


SIGNIFICANT USER-VISIBLE CHANGES

  - Changed 'bbands()' to 'bollingerBands()'

  - Changed 'DX()' to 'ADX()'

  - Changed 'stoch()' to 'stochastic()'


BUG FIXES

  - Corrected mis-spellings in documentation.

#-#-#-#-#-#-#-#-#-#
SIGNIFICANT USER-VISIBLE CHANGES
NEW FEATURES
DEPRECATED & DEFUNCT
BUG FIXES

