TradeMaster API v1.1.0 introduces significant improvements to the user interface, backend functionality, and developer experience. This release focuses on enhancing the symbol search functionality, improving data feed handling, and providing better documentation.
Key Features
Symbol Search Component
Dedicated Component: Created a reusable SymbolSearch component that handles symbol searching and suggestions
Debounced API Calls: Implemented debounce functionality to prevent excessive API calls while typing
Improved UX: Added loading indicators, keyboard navigation, and better styling for symbol suggestions
Backend Support: Enhanced the /api/symbols endpoint to support filtering by search term
Data Feed Improvements
Explicit Data Feed Selection: Changed from boolean use_realtime_data to string data_feed parameter
Multiple Feed Options: Added support for two data feed options:
sip: Real-time data (requires subscription)
delayed_sip: Delayed data (default, available to all users)
Clear UI Indicators: Updated UI to clearly indicate which data feed is being used
Consistent API: Updated all relevant endpoints to use the new parameter format
UI Enhancements
DateTimePickerDual Component: Added a new component for selecting date ranges with validation
Redesigned Forms: Improved BacktestForm and StrategyComparisonForm components
Enhanced Results Display:
Created new StrategyComparisonResults component
Updated BacktestResults component with tabbed interface for better organization
Improved charts and data visualization
Better Error Handling: Enhanced error feedback throughout the application
UI Testing Improvements
Renamed Test Directory: Changed from selenium to ui_tests to avoid package conflicts
Enhanced Error Handling: Added screenshot capture and better debugging for UI tests
Improved Documentation: Updated test documentation with clear instructions
Technical Implementation
Frontend Changes
Created new React components:
SymbolSearch.js: Handles symbol searching and suggestions
DateTimePickerDual.js: Manages date range selection
StrategyComparisonForm.js and StrategyComparisonResults.js: Improved strategy comparison
Updated existing components:
BacktestForm.js: Now uses the new SymbolSearch component and data feed handling
BacktestResults.js: Redesigned with tabbed interface for better organization
Backend Changes
Enhanced /api/symbols endpoint to support search filtering
Updated /api/backtest and /api/compare-strategies endpoints to use the new data_feed parameter
Modified the Backtest class to handle different data feed options
Documentation
Added comprehensive API documentation in docs/API.md
Updated development log with detailed information about changes
Improved UI test documentation
User Experience Improvements
Faster Symbol Search: Symbol suggestions appear as you type with minimal delay
Clearer Data Feed Options: Users now understand which data feed they're using
Better Date Selection: Improved date range picker with validation
Enhanced Results Viewing: Better organization of backtest and comparison results
Improved Error Messages: More descriptive error messages throughout the application
Upgrade Instructions
For Users
Pull the latest version from the repository
Restart both frontend and backend services
Note that the "Real-Time Data" checkbox has been renamed to "Use SIP Data Feed"
For Developers
Pull the latest version from the repository
Update any code that uses the use_realtime_data parameter to use data_feed instead
If you've created custom components that search for symbols, consider using the new SymbolSearch component
Review the updated API documentation for changes to endpoint parameters and responses
Known Issues
The SIP data feed still requires a valid Alpaca API subscription
Some older browsers may not fully support all UI features
Future Plans
Add more data feed options
Implement user accounts and authentication
Add more trading strategies
Enhance visualization options for backtest results