FinancialWaveletProvider.java
package com.morphiqlabs.wavelet.cwt.finance.providers;
import com.morphiqlabs.wavelet.api.Wavelet;
import com.morphiqlabs.wavelet.api.WaveletProvider;
import com.morphiqlabs.wavelet.cwt.finance.*;
import java.util.List;
/**
* Provider for financial analysis wavelets in the VectorWave library.
*
* <p>This provider registers specialized wavelets optimized for financial time series
* analysis, market pattern detection, and economic signal processing. These wavelets
* have been specifically chosen for their effectiveness in analyzing financial data
* characteristics such as volatility clusters, trend changes, and market crashes.</p>
*
* <p>Wavelets provided:</p>
* <ul>
* <li><strong>Paul wavelet (order 4)</strong> - Asymmetric complex wavelet ideal for
* detecting market crashes, recoveries, and directional price movements. Its
* asymmetry makes it particularly sensitive to sharp rises and falls.</li>
* <li><strong>DOG wavelet (order 2)</strong> - Second derivative of Gaussian, excellent
* for edge detection and volatility analysis. Commonly used for identifying price
* breakouts and support/resistance levels.</li>
* <li><strong>Shannon-Gabor wavelet</strong> - Provides optimal time-frequency
* localization for analyzing periodic market cycles and oscillations. Useful for
* identifying trading ranges and cyclic patterns.</li>
* <li><strong>Classical Shannon wavelet</strong> - Band-limited wavelet for analyzing
* specific frequency components in financial data. Ideal for filtering market noise
* and extracting trend components.</li>
* </ul>
*
* <p>These wavelets integrate with the FinancialWaveletAnalyzer for comprehensive
* market analysis including volatility regime detection, trend analysis, and risk
* metrics calculation.</p>
*
* <p>This provider is automatically discovered by the ServiceLoader mechanism
* and registered with the WaveletRegistry on application startup.</p>
*
* @see WaveletProvider
* @see ComplexContinuousWavelet
* @see FinancialWaveletAnalyzer
* @see WaveletRegistry
*/
public class FinancialWaveletProvider implements WaveletProvider {
@Override
public List<Wavelet> getWavelets() {
return List.of(
new PaulWavelet(),
new DOGWavelet(),
new ShannonGaborWavelet(),
new ClassicalShannonWavelet()
);
}
}