DataFrame Versions Save

C++ DataFrame for statistical, Financial, and ML analysis -- in modern C++ using native types and contiguous memory storage

3.0.0

1 month ago

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

multithreading was completely redesigned by using a versatile thread-pool. Almost every API has a multithreaded version that kicks in for large datasets. This justifies increasing the major version number Added a thread-pool. All Async calls now use the thread-pool. Sort now uses parallel sort for large datasets. Added multithreading to almost all algorithms. Enhanced docs and hello world.

v2.3.0

3 months ago

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

This release requires C++23 or higher. Added more content to documentation. Made reading/writing files more streamlined and efficient. Fixed a bug in Median and Kth_element visitors related to handling nans. Added ability to read/write String Vectors, Double Sets, and String Sets as column elements in CSV2 format. Added seed option to all algorithms that use random numbers. Implemented PriceVolumeTrendVisitor visitor. Implemented QuantQualEstimationVisitor visitor. Fixed RSIVisitor visitor result to be the same size as its input. Implemented get_str_col_stats(). Added get_euclidean_norm() to QuadraticMeanVisitor visitor. Added different normalization-types to NormalizeVisitor visitor. Added more benchmarking comparing with Pandas and Polars Made sorting much faster by using ranges and zip.

2.2.0

5 months ago

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Added more content to documentation and Hello World example. Fixed a bug in join that missed multiple matches in some edge cases Fixed a bug/edge case in Covariance calculation. Fixed a bug in reading JSON files. Utilized meta-programming in several parts of the codebase, especially visitors. Added a whole lot of C++ concepts throughout the code. Fixed many const-correctness throughout the code. Added a mechanism for a lot of visitors to be used in groupby and bucketize. Now in csv2 format you can read/write columns of vector, map, and unordered map types Enhanced DateTime ISO format parsing.

2.1.0

9 months ago

Please consider sponsoring DataFrame, especially if you are using it in Production Capacity. It is the strongest form of appreciation

Added more content to documentation and README Cleaned up and streamlined codebase (using a lot of typedef’s, using STL algorithms) Fixed minor bugs (got rid of template exports, ChandeKrollStopVisitor{}, got rid of boundary issues) Added more operators to DateTime class Implemented InertiaVisitor{} visitor Implemented SymmTriangleMovingMeanVisitor{} visitor Implemented RelativeVigorIndexVisitor{} visitor Implemented ElderRayIndexVisitor{} visitor Implemented ChopIndexVisitor{} visitor Implemented DetrendPriceOsciVisitor{} visitor Implemented RectifiedLinearUnitVisitor{} visitor Implemented AccelerationBandsVisitor{} visitor Implemented PriceDistanceVisitor{} visitor Implemented EldersThermometerVisitor{} visitor Implemented ProbabilityDistVisitor{} visitor Changed ReUL Rectifier visitor to a generalized RectifyVisitor{} with many options Implemented PolicyLearningLossVisitor{} visitor Implemented load_result_as_column() that runs and loads the result in one-shot Implemented LossFunctionVisitor{} visitor Implemented EldersForceIndexVisitor{} visitor Implemented EaseOfMovementVisitor{} visitor Added [[likely]] to branches and now requiring C++20 Implemented SeqLock{} synchronization

2.0.0

11 months ago

Please consider sponsoring DataFrame, especially if you are using it in Production system. It is the strongest form of appreciation

Implemented ability to have custom memory-boundary allocation to take advantage of SIMD instructions. This breaks backward-compatibility especially for views. Also, this justifies increasing the major version number Bug fixes and code cleanup Enhanced hello_world.cc and docs Made multi-threading faster by streamlining locks Made file I/O faster and more efficient Implemented get_data_by_sel() for 11, 12, and 13 columns Implemented CubicSplineFit visitor Implemented ImpurityVisitor visitor Added ignore_index option to sort functions to make index sorting optional Implemented ExponentiallyWeightedVarVisitor visitor Removed ExponentialRollAdopter Implemented ExponentiallyWeightedCovVisitor visitor Implemented ExponentiallyWeightedCorrVisitor visitor Implemented ability to read files in chunks Added arithmetic operators to DateTime Changed KMeans to always calculate clusters -- interface change Changed all std::is_arithmetic to supports_arithmetic Implemented FixedAutoCorrVisitor visitor Added option to SharpeRatioVisitor to also calculate Sortino Ratio Implemented RVIVisitor visitor Fixed moving averages to work with nan values in the beginning Added options to sort to sort based on absolute values Implemented LinregMovingMeanVisitor visitor

1.22.0

1 year ago

Please consider sponsoring DataFrame, especially if you are using it in Production system. It is the strongest form of support

Bug fixes, including get_[data|view]_by_rand(), docs Documentation and Hello World enhancements More confirmation with ISO C++ Enhanced DateTime ISO parsing Implemented T3MovingMeanVisitor Implemented appned_row() Added max_recs parameter to write() + fixed compiler debug warnings Implemented const views Implemented load_result_as_column() Implemented get_indicators() and from_indicators() Implemented TreynorRatioVisitor Implemented ExponentialFitVisitor Implemented LinearFitVisitor

1.21.0

1 year ago

Enhanced documentation + add more to hello_world.cc Fixed compiling issue related to injecting clock_gettime() system call into code Code clean ups and performance enhancements Fixed a bug in KthValueVisitor that affected MedianVisitor and QuantileVisitor Implemented BalanceOfPowerVisitor visitor Implemented NonZeroRangeVisitor visitor Implemented ChandeKrollStopVisitor visitor Added average option to TrueRange Implemented VotexVisitor visitor Implemented KeltnerChannelsVisitor visitor Added normalize option to TrueRange + now using exponential moving avg in TrueRange Implemented TrixVisitor visitor Implemented PrettyGoodOsciVisitor visitor Implemented ZeroLagMovingMeanVisitor visitor Implemented StableMeanVisitor visitor Added double operator to DateTime Implemented describe()

1.20.0

2 years ago

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 <I>hello_world.cc</I> 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

1.19.0

2 years ago

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

1.18.0

2 years ago

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