Releases: hosseinmoein/DataFrame
Feb-2022
Enhanced documentation
Fixed a few bugs; visitors macros, get_[data|view]_by_loc(), get_view_by_idx()
Fixed all views not to be const, since you can change things through views
CMake compiling was redone to make it easier for Windows
Windows macros were redesigned to make compiling easier
Turned extra warning flag on and fixed all compiler warnings
Made hello_world.cc more comprehensive
Implemented get_[data|view]()
Replaced std::array, in all interfaces, with std::vector
Implemented get_[data|view]_by_sel() for up to 5 columns
Implemented to_string() and from_string()
Implemented Coppock Curve Visitor
Implemented Bias Visitor
Oct-2021
Fixed bugs, including in multithreading, groupby + Removed all warnings
Improved documentation
Improved/tightened multithreading + SpinLock is now recursive
Implemented RateOfChangeVisitor
Implemented AccumDistVisitor
Added single_act_visit() for 5 columns
Implemented ChaikinMoneyFlowVisitor
Implemented VertHorizFilterVisitor
Implemented OnBalanceVolumeVisitor
Implemented TrueRangeVisitor
Changed the ReturnVisitor logic to start with a NaN and have the same length as input
Implemented DecayVisitor
Implemented HodgesTompkinsVolVisitor
Implemented ParkinsonVolVisitor
Implemented concat_view()
Added hello_world.cc
Implemented get_row() that always includes all columns
July-2021
Fixed minor bugs (MACD, MassIndex, PercentPriceOSCI) and streamlined code
Improved documentation
Implemented gen_sym_triangle() – generate symmetric triangular numbers
Implemented RSXVisitor -- "noise free" version of RSI, with no added la
Implemented TTMTrendVisitor -- Trade To Market trend indicator
Implemented ParabolicSARVisitorVisitor -- Parabolic Stop And Reverse (PSAR)
Implemented EBSineWaveVisitor -- Even Better Sine Wave (EBSW) indicator
Implemented EhlerSuperSmootherVisitor -- Ehler's Super Smoother Filter (SSF) indicator
Implemented VarIdxDynAvgVisitor -- Variable Index Dynamic Average (VIDYA) indicator
Implemented AbsVisitor – Absolute value visitor
Implemented PivotPointSRVisitor -- Pivot Points, Supports and Resistances indicators
Added mean_type + rearranged mean calculations
Implemented ExponentiallyWeightedMeanVisitor – Exponentially weighted moving average
Added abbreviated type aliases for visitors with long names
Implemented AvgDirMovIdxVisitor -- Average Directional Movement Index (ADX)
Added more performance tests
Implemented fill_missing() with another DataFrame
Implmented HoltWinterChannelVisitor -- Holt-Winter Channel (HWC) indicator
Implemented HeikinAshiCndlVisitor – Heikin Ashi candle
Implemented FastFourierTransVisitor – Fast Fourier transform and its inverse
Implemented CenterOfGravityVisitor -- Also called Stochastic Oscillator
Implemented ArnaudLegouxMAVisitor -- Arnaud Legoux Moving Average
May-2021
Bug fixes, including in DateTime, is_equal(), write()
Rearranged code to make it easier to compile as DLL
Significantly improved docs both in terms of format and content
Implemented Percent Price Oscillator visitor
Added consolidated() for 4 and 5 columns
Added another version of shift() to return a copy of a single shifted column
Implemented Ulcer Index visitor
Completely redesigned groupby() interface and made it significantly more versatile
Completely redesigned bucketize() interface and made it significantly more versatile
Implemented Count visitor
Added ISO date format to DateTime
Implemented ability to read()/write() DateTime as strings into streams
Fixed a few move semantics to improve memory efficiency
March-2021
Improved documentation
Minor bug fixes including a bug in MassIndexVisitor
Implemented CCIVisitor (Commodity Channel Index)
Implemented gen_triangular_nums()
Rearranged code
Implemented EntropyVisitor (information entropy)
Implemented GarmanKlassVolVisitor (Garman Klass volatility)
Implemented YangZhangVolVisitor (Yang Zhang volatility)
Added columns_only flag to read()/write()
Added non-zero flag option to DiffVisitor
Implemented KamaVisitor (Kaufman's Adaptive Moving Average)
Implemented FisherTransVisitor (Fisher transform)
Implemented SlopeVisitor
Implemented UltimateOSCIVisitor (Ultimate Oscillator)
Jan-2021
Fixed bugs, notably:
- Fixed a bug in MACDVisitor calculation
- Fixed a bug in vector reverse iterators
- Fixed DataFrame destructor to work properly in multithreading environments
Streamlined and simplified code
Enhanced documentations
Implemented gen_even_space_nums()
Generalized read/write to take either file name or stream
Made columns to have deterministic order. Now you can access columns either by name or index
With column order, implemented left/right rotating and shifting
Implemented remove_duplicates() for a single column
Implemented TTestVisitor
Implemented MassIndexVisitor
Implemented WeightedMeanVisitor
Added in_reverse to visit() methods
Implemented QuadraticMeanVisitor
Implemented HullRollingMeanVisitor
Implemented RollingMidValueVisitor
Implemented DrawdownVisitor
Added single_act_visit() for 3 and 4 columns
Implemented WilliamPrcRVisitor
Added repeat_count to ExponentialRollAdopter, so we can have multiple smoothing in one call
Added repeat_count to ExpoSmootherVisitor
Nov-2020
Added weights and residual calculations to PolyFitVisitor
Implemented LogFitVisitor
Implemented ExpoSmootherVisitor (exponential smoothing)
Implemented HWExpoSmootherVisitor (Holt-Winters double exponential smoothing)
Implemented consolidate()
Specialized std::hash for DateTime
Implemented [Max|Min]SubArrayVisitor (sub-intervals with max/min sums)
Replaced all Max/Min’s with Extremums visitors and typedef’ed Max/Min
Implemented LowessVisitor (Locally Weighted Scatterplot Smoothing)
Implemented StepRollAdopter
Implemented DecomposeVisitor (STL time-series decomposer) with additive and multiplicative options
Enhanced documentations
Fixed bugs and compile issues
Oct-2020
Improve single-act-visitor interface to be more flexible
Bug fixes
Enhanced documentation
Implemented gen_log_space_nums() to generate logarithmically-spaced numbers
Implemented remove_duplicates()
Enhanced group-by functionality and made it more generalized
Implemented io_format::csv2 to read/write files in Pandas csv format
Implemented empty() and shapeless()
Implemented Box-Cox visitor
Implemented Normalize and Standardize visitors
Implemented Hampel filter visitor
Implemented Polynomial Fit visitor
Implemented Hurst Exponent visitor
August-2020
Enhanced documentation
Fixed all VSC++ warnings for 64bit compilation (we don’t compile 32bit anymore)
Implemented RankVisitor
Improved random number generation
Implemented SigmoidVisitor
Implemented combine() method
Added nodiscard
to some methods
Implemented RSIVisitor (Relative Strength Index)
June-2020
Enhanced DateTime object
Implemented get_columns_info method
Implemented CategoryVisitor visitor
Implemented FactorizeVisitor visitor
Implemented pattern_match method
Changed shrink_to_fit() to optimize for power of 2 cache line aliasing misses
Implemented ClipVisitor visitor
Significantly enhanced documentation both in terms of content and format
Fixed a bug in DateTime object related to time zones
Implemented SharpeRatioVisitor visitor