Commit Graph

49 Commits

Author SHA1 Message Date
Miha Kralj d21fea3c18 feat: Enhance volume indicators with ADOSC and SSF implementation and validation 2025-12-20 15:08:07 -08:00
Miha Kralj 5d03dec741 Refactor documentation for clarity and detail 2025-12-17 23:00:52 -08:00
Miha Kralj 8cec2fec8d feat: Refactor TBar and TValue to record structs; improve readability and performance
fix: Update condition checks in Htit and Mgdi for better numerical stability
refactor: Simplify parameter struct in T3 and enhance Vidya state management
2025-12-17 07:27:45 -08:00
Miha Kralj d277e08056 refactoring 2025-12-16 21:16:50 -08:00
Miha Kralj 822aaa0d40 Add Ehlers Hilbert Transform Instantaneous Trend (HTIT) implementation and tests
- Implemented the HTIT indicator in Htit.cs, utilizing the Hilbert Transform for trend analysis.
- Added unit tests for HTIT validation against TA-Lib, Skender, and Ooples implementations in Htit.Validation.Tests.cs.
- Created documentation for HTIT in Htit.md, detailing its core concepts, formula, parameters, usage, and interpretation.
2025-12-14 16:52:02 -08:00
Miha Kralj fd3065e7b9 fix: add validation for empty span in MinScalar and MaxScalar methods; ensure valid OHLC values in GBM calculations 2025-12-13 22:51:26 -08:00
Miha Kralj 4b17984cfd Add PWMA implementation and tests; enhance documentation 2025-12-13 20:21:21 -08:00
Miha Kralj cfc54bf1f7 Enhance SIMD support in moving average implementations; add AVX512 and ARM64 optimizations for HMA, SMA, and WMA 2025-12-10 21:12:14 -05:00
Miha Kralj 053234045f VIDYA indicator with adaptive smoothing based on market volatility. 2025-12-10 20:07:46 -05:00
Miha Kralj 47884bddab Refactor and optimize TBar, TBarSeries, and TSeries notebooks; remove obsolete code
- Enhanced Alma class by simplifying the CalculateWeightedSum method and removing unnecessary comments.
- Removed SIMD-related methods from Conv class, replacing them with optimized DotProduct calls.
- Updated Sma and Wma classes to use source.ContainsNonFinite() for non-finite value checks, improving readability and performance.
2025-12-10 15:03:58 -05:00
Miha Kralj b26d5d7751 Enhance code quality and stability across various modules
- Updated .coderabbit.yaml to exclude additional file types from reviews, improving the focus on relevant code changes.
- Modified scanner.sh to handle test failures more gracefully, ensuring that analysis stops on test failures and improving logging.
- Improved sonarscanner.sh to ensure build and test failures are properly reported, enhancing CI reliability.
- Refined SimdExtensions.cs documentation for clarity on variance calculation methods.
- Cleaned up TSeries.Tests.cs by simplifying the test structure and ensuring proper namespace usage.
- Fixed potential issues in tseries.cs by ensuring correct handling of DateTime values.
- Enhanced CsvFeed.cs to improve error handling during CSV parsing, ensuring robustness against malformed data.
- Updated GBM.cs to correctly calculate volume in the current bar, ensuring accurate simulation.
- Adjusted index.html to use globalThis for better compatibility across environments.
- Refined quantalib.csproj to exclude unnecessary files from compilation, streamlining the build process.
- Added comprehensive tests for the Mama class to ensure correct behavior during updates and state management.
- Improved error handling in various trend classes (Kama, Dema, Ema, T3, Tema, Wma) to ensure NaN values are managed correctly.
- Removed redundant Mama.Repro.Tests.cs file and consolidated tests into Mama.Tests.cs for better organization.
- Enhanced T3 and Tema classes to maintain state integrity during updates, particularly with NaN values.
2025-12-10 14:51:58 -05:00
Miha Kralj 7a4850956b Convolution Indicator (CONV) with customizable kernel support 2025-12-10 11:48:52 -05:00
Miha Kralj c802a9ea80 fix: address code review issues in indicators and core components 2025-12-09 16:00:04 -05:00
Miha Kralj 5f57cbbe74 refactor: Simplify TSeries and Dema constructors, and streamline benchmark methods for improved readability 2025-12-08 18:43:23 -05:00
Miha Kralj 39feabcdf7 refactor: Remove pragma warning for floating point equality in TBar struct; update .editorconfig to suppress SonarQube S1244 2025-12-07 18:20:55 -08:00
Miha Kralj 3734a1c5f6 feat: Introduce ITValuePublisher interface and refactor indicators for event-driven value updates. 2025-12-07 14:36:22 -08:00
Miha Kralj ee358bfdd9 Enhance coding conventions and static analysis setup; update .editorconfig, scanner.sh, and various C# files for improved readability and performance 2025-12-04 14:36:00 -08:00
Miha Kralj 967096d4f5 Refactor and optimize various components of QuanTAlib
- Removed WmaVector class to streamline weighted moving average calculations.
- Simplified RingBuffer implementation by removing unnecessary comments and improving clarity.
- Enhanced SIMD extensions for better performance and readability.
- Updated TBar and TBarSeries classes to improve property calculations and reduce overhead.
- Cleaned up TValue struct by removing redundant comments.
- Added comprehensive unit tests for IndicatorExtensions and TrimaIndicator to ensure functionality and correctness.
2025-12-04 13:49:05 -08:00
Miha Kralj 4a0a8d6da2 chore: Update project files and configurations; enhance .gitignore, add Qodana and SonarScanner scripts, and improve test project references 2025-12-03 09:27:29 -08:00
Miha Kralj 1d145d0622 Refactor TBar struct for improved equality comparison and string representation; update Benchmark program structure for better organization; modify Averages project file to include specific source files; add Directory.Build.props for common project settings; implement comprehensive tests for Ema, Sma, and Wma indicators; create mock classes for TradingPlatform.BusinessLayer to facilitate testing; enhance Quantower test project configuration for better test management. 2025-12-01 18:40:23 -08:00
Miha Kralj 626a2afa9b chore: Update .gitignore to exclude SonarQube files and add Codacy and SonarScanner scripts
refactor: Remove WarmupPeriod logging from SMA and WMA examples
2025-11-30 17:17:55 -08:00
Miha Kralj 1f80cfda74 feat: Implement SIMD-optimized Multi-Period Simple Moving Average (SMA) with RingBuffer
- Added SmaVector class for calculating multiple SMAs in parallel using SIMD.
- Introduced RingBuffer class for efficient circular buffer management with running sum.
- Implemented unit tests for RingBuffer to ensure correctness and performance.
- Enhanced Add method in RingBuffer to support bar correction semantics.
- Added methods for calculating Min and Max using SIMD acceleration.
- Improved performance with pinned memory and direct span access for SIMD compatibility.
2025-11-29 18:28:42 -08:00
Miha Kralj 8f6142cfc0 refactor: clean up Ema and EmaVector tests for consistency, update TValue equality check 2025-11-29 17:30:20 -08:00
Miha Kralj 2b4e8e3fc3 Add UCFG2 type definitions and lock file for QuanTAlib
- Introduced type definitions for various classes in the QuanTAlib library, including Ema, EmaVector, EmaState, TSeries, CsvFeed, GBM, TBarSeries, TBar, and TValue.
- Added methods and properties for each class to enhance functionality and maintainability.
- Created a lock file to manage dependencies and ensure consistent builds.
2025-11-29 16:43:52 -08:00
Miha Kralj 8d8e60098e Refactor and expand unit tests for TBarSeries, TSeries, and TValue classes
- Enhanced TBarSeriesTests with additional constructors, methods, and assertions for better coverage.
- Improved TSeriesTests to include new constructors, methods, and edge cases.
- Expanded TValueTests to cover constructors, implicit conversions, equality checks, and hash codes.
- Updated project file to target .NET 10.0 and include internal visibility for tests.
- Added Codacy configuration for code quality checks.
2025-11-29 16:08:45 -08:00
Miha Kralj 6cdebb984d feat: implement last-value substitution for NaN/Infinity in Ema and EmaVector, enhance documentation and tests 2025-11-29 13:19:04 -08:00
Miha Kralj acac3e610c updates from mac 2025-11-28 13:35:16 -08:00
Miha Kralj 74b49d2bb4 Add TBar, TBarSeries, TSeries, TValue, and IFeed implementations with comprehensive documentation and examples
- Introduced TBar struct for efficient OHLCV data representation.
- Implemented TBarSeries class for high-performance collection of TBar instances using Structure of Arrays (SoA) layout.
- Added TSeries class for time-series data management with zero-copy access.
- Created TValue struct for time-value pairs with implicit conversions.
- Defined IFeed interface for consistent data feed implementations.
- Developed CsvFeed class for loading historical OHLCV data from CSV files.
- Implemented GBM class for generating synthetic financial data using Geometric Brownian Motion.
- Added Quantower project files for Averages indicator with necessary dependencies and configurations.
- Included extensive usage examples and notebooks for TBar, TBarSeries, TSeries, TValue, and feed implementations.
2025-11-27 19:51:43 -08:00
Miha Kralj 1c8f514756 next iteration 2025-11-26 20:17:01 -08:00
Miha Kralj 33ffd3a37a first iteration 2025-11-25 20:40:46 -08:00
Miha Kralj f582db2c4c fixes 2024-11-05 05:52:54 -08:00
Miha Kralj 4753a10e29 codefactory corrections 2024-11-03 16:24:08 -08:00
Miha 6c67a0cf31 Class optimization 2024-10-27 16:11:08 -07:00
Miha Kralj e3d7cd9896 Atr, FlowIndicator and fixes 2024-10-21 16:06:47 -07:00
Miha Kralj ffed6491d4 corrections 2024-10-13 17:31:35 -07:00
Miha Kralj 0bc41854aa cleanup 2024-10-08 13:59:33 -07:00
Miha Kralj a7eeacf8cb Merge branch 'dev' 2024-10-08 10:47:21 -07:00
deepsource-autofix[bot] 85b9d9217a style: format code with dotnet-format
This commit fixes the style issues introduced in 931bbdb according to the output
from dotnet-format.

Details: https://github.com/mihakralj/QuanTAlib/pull/30
2024-10-08 17:31:29 +00:00
Miha Kralj af234594cc event tests 2024-10-08 09:25:01 -07:00
Miha Kralj b7b5a4a1bf clean code fixes 2024-10-06 17:16:47 -07:00
deepsource-autofix[bot] 5fe968754f style: format code with dotnet-format
This commit fixes the style issues introduced in 1e77eb8 according to the output
from dotnet-format.

Details: None
2024-10-06 06:59:26 +00:00
Miha Kralj 3458b14ebb XML Documentation 2024-10-05 15:20:13 -07:00
Miha Kralj 728017c9ca Merge branch 'dev' 2024-09-30 09:07:08 -07:00
Miha Kralj 93085d24bd sln file 2024-09-30 08:55:50 -07:00
Miha Kralj bdc01bff4a Atr 2024-09-30 06:46:07 -07:00
Miha Kralj 133c65ceaf Afirma + documentation +semver: patch 2024-09-24 16:41:26 -07:00
Miha Kralj 990c7b4cf0 codacy 2024-09-23 22:10:04 -07:00
Miha Kralj 58d72c06ca Squash
dotcover

s1

.sln

s1

s1

s2

s3

s4

s5

s1

s2

x

x2

x3

x4

x5

x6

x1

sonarcube cleanup1

sonarcube cleanup2

sonarcube cleanup 3

fixes

q

q

q

q

q

q

q

q

q1

q2

q

q1

codacy 1
2024-09-23 22:08:40 -07:00
Miha Kralj d475bcd19a New version merge 2024-09-22 17:31:24 -07:00