Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions PR_DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Technical Indicators Library Implementation

## Overview
This PR implements a comprehensive technical indicators library for the ProfitSPI SDK. It includes 74 out of 80 technical indicators from ProfitSPI's list, with the remaining 6 indicators requiring specialized data sources that are not available in standard price data feeds.

## Features
- Implementation of 74 technical indicators including:
- Moving Averages (SMA, EMA, WMA, TEMA, TMA)
- Oscillators (RSI, Stochastic, MACD, CCI, etc.)
- Bands and Channels (Bollinger Bands, Keltner Channels, Donchian Channels)
- Trend Indicators (ADX, Aroon, Parabolic SAR, etc.)
- Volume Indicators (OBV, CMF, MFI, etc.)
- Volatility Indicators (ATR, Historical Volatility, etc.)
- Price Indicators (Highest High, Lowest Low, etc.)
- Statistical Indicators (Beta, Correlation, Sharpe Ratio, etc.)
- Fixed pandas FutureWarnings in several indicators
- Added test scripts for all indicators
- Added comparison script with ProfitSPI
- Added implementation status documentation
- Added TODO list for remaining tasks

## Testing
- All indicators have been tested with historical data from multiple symbols
- Generated plots for visual verification
- Compared results with ProfitSPI's calculations where possible

## What's Left
- Fix remaining pandas FutureWarnings
- Implement fundamental indicators (requires external data sources)
- Implement specialized indicators (requires specialized libraries)
- Add comprehensive unit tests
- Optimize performance for computationally expensive indicators
- Create detailed documentation for each indicator

## Screenshots
(Screenshots of indicator plots would be included here in a real PR)

## Related Issues
N/A
45 changes: 45 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Technical Indicators Implementation - TODO

## Remaining Tasks

1. **Fix Pandas FutureWarnings**
- Update remaining indicators that use `.iloc` assignment to use `.loc` instead
- Specifically check the Time Series Forecast and Fisher Transform implementations

2. **Implement Fundamental Indicators**
- Current EPS (requires fundamental data)
- Dividend Yield % (requires fundamental data)
- PE Ratio (requires fundamental data)
- Shares Outstanding (requires fundamental data)

3. **Implement Specialized Indicators**
- Candlesticks (requires specialized charting library)
- Open Interest (requires futures/options data)

4. **Testing and Validation**
- Create comprehensive unit tests for all indicators
- Compare results with established libraries like TA-Lib
- Test with different data frequencies (daily, hourly, minute)
- Test with different assets (stocks, forex, crypto)

5. **Documentation**
- Create detailed documentation for each indicator
- Include formulas, parameters, and usage examples
- Add references to academic papers or books where applicable

6. **Performance Optimization**
- Profile the code to identify bottlenecks
- Optimize slow indicators (especially those with loops)
- Consider using Numba or Cython for critical sections

7. **API Improvements**
- Create a unified API for accessing all indicators
- Add parameter validation and error handling
- Support for different input formats (OHLCV, HLCV, etc.)

## Known Issues

1. Some indicators produce FutureWarnings due to pandas' upcoming changes in 3.0
2. The ASI (Accumulation Swing Index) implementation may need further validation
3. The Fisher Transform implementation has edge cases that need to be handled better
4. The Time Series Forecast implementation is computationally expensive for large datasets
Loading