83 Commits

Author SHA1 Message Date
267f040fe8 Merge branch 'xgboost'
# Conflicts:
#	.gitignore
#	README.md
#	cycles/backtest.py
#	main.py
#	pyproject.toml
#	uv.lock
2025-07-11 09:04:49 +08:00
Simon Moisy
65f30a4020 Enhance backtesting framework with static task processing and progress management. Introduced static task processing for parallel execution, improved error handling, and added a progress manager for better task tracking. Updated BacktestRunner to support progress callbacks and optimized worker allocation based on system resources. Added new configuration files for flexible backtesting setups. 2025-07-10 10:23:41 +08:00
Simon Moisy
be331ed631 Remove unused GSheetBatchPusher class and xgboost model file to streamline codebase and eliminate deprecated components. 2025-06-25 13:11:17 +08:00
Simon Moisy
6c5dcc1183 Implement backtesting framework with modular architecture for data loading, processing, and result management. Introduced BacktestRunner, ConfigManager, and ResultProcessor classes for improved maintainability and error handling. Updated main execution script to utilize new components and added comprehensive logging. Enhanced README with detailed project overview and usage instructions. 2025-06-25 13:08:07 +08:00
Simon Moisy
02e5db2a36 Added comprehensive rules for global development standards, architecture guidelines, code review processes, context management, PRD creation, documentation standards, enhanced task list management, task generation, iterative workflow, project-specific rules, refactoring practices, and task list management. These rules aim to improve code quality, maintainability, and integration of AI-assisted development. 2025-06-25 13:07:14 +08:00
Simon Moisy
a877f14e65 loo on features 2025-05-30 20:06:28 +08:00
Simon Moisy
082a2835b6 Implemented Supertrend indicators for feature engineering in main.py, including caching of computed features. Updated plotting functions in plot_results.py to save charts in a dedicated directory and added new functions for directional accuracy and prediction transition heatmaps. 2025-05-30 18:14:42 +08:00
Simon Moisy
ada6150413 Added multiple technical indicators for feature engineering, including ADX, TRIX, Vortex, KAMA, Force Index, EOM, MFI, ADI, TEMA, StochRSI, and Awesome Oscillator. Improved NaN handling and implemented leave-one-out feature evaluation with results saved to CSV. 2025-05-30 17:59:09 +08:00
Simon Moisy
ced64825bd reverted to sequential computing for features, added one distribution visualization graph 2025-05-30 15:54:48 +08:00
Simon Moisy
2f98463df8 more uv updates 2025-05-30 15:54:14 +08:00
Simon Moisy
2a52ffde9a cleanup and uv updates 2025-05-30 15:36:43 +08:00
Simon Moisy
a22914731f gitignore updated, model file 2025-05-30 12:31:20 +08:00
Simon Moisy
81e4b640a7 model updated 2025-05-30 12:29:37 +08:00
Simon Moisy
2dba88b620 Added mode indicators, still WIP 2025-05-29 12:45:45 +08:00
Simon Moisy
de67b27e37 XGBoost first iteration 2025-05-29 18:28:53 +08:00
Simon Moisy
1284549106 progress print 2025-05-29 11:04:03 +08:00
Simon Moisy
5f03524d6a never fallback to default values for fee_usd 2025-05-28 02:50:40 +08:00
Simon Moisy
b013183f67 attempt fix for lookahead bias 2025-05-27 18:08:42 +08:00
Simon Moisy
74c8048ed5 shifted one day back on the metatrend to avoid lookahead bias, reverted metatrend calculus to use no cpu optimization for readability 2025-05-27 17:49:55 +08:00
Simon Moisy
6916722a43 Merge branch 'main' of ssh://dep.sokaris.link:2222/Simon/Cycles 2025-05-27 16:48:33 +08:00
Simon Moisy
47551d6781 ignoring credentials jsons 2025-05-27 16:47:20 +08:00
Ajasra
d499c5b8d0 Add RandomStrategy implementation and update strategy manager 2025-05-25 18:42:47 +08:00
Ajasra
2418538747 Update dependencies and configuration files
- Added new dependencies: `plotly`, `websocket`, `cffi`, `gevent`, `greenlet`, and `narwhals` to `pyproject.toml` and `uv.lock`.
- Updated `.gitignore` to exclude the `frontend/` directory.
- Modified configuration files to set `start_date` to `2025-01-01` in `config_bbrs.json` and `config_default.json`, with `stop_date` set to `null` in both.
- Introduced a new project metadata file `.cursor/project.mdc` for project documentation and management.
2025-05-25 15:39:10 +08:00
65ae3060de revert b71faa97589d220e5046b4d530d1660f6f0abe9a
revert refactor for modularity
2025-05-23 12:47:59 +00:00
Ajasra
b71faa9758 refactor for modularity 2025-05-23 20:37:14 +08:00
Ajasra
c743e81af8 renaming for bb_rsi 2025-05-23 20:15:15 +08:00
Vasily.onl
969e011d48 if stop_date null in config it would use current date 2025-05-23 18:02:55 +08:00
Vasily.onl
cb576a9dfc Merge branch 'main' of https://dep.sokaris.link/Simon/Cycles 2025-05-23 17:55:17 +08:00
Vasily.onl
ebd8ef3d87 refactor to remove rebundant parameters and use just a config file by default too 2025-05-23 17:55:13 +08:00
Simon Moisy
1566044fa8 Merge branch 'main' of ssh://dep.sokaris.link:2222/Simon/Cycles 2025-05-23 17:17:20 +08:00
Simon Moisy
3483aaf6d7 Add CryptoComTrader class and main execution script for trading operations
- Introduced the CryptoComTrader class to handle WebSocket connections for real-time trading data and operations.
- Implemented methods for fetching price, order book, user balance, and placing orders.
- Added functionality to retrieve candlestick data and available trading instruments.
- Created a main script to initialize the trader, fetch instruments, and display candlestick data in a loop.
- Integrated Plotly for visualizing candlestick data, enhancing user interaction and data representation.
2025-05-23 17:14:26 +08:00
Vasily.onl
256ad67742 refactor 2025-05-23 17:14:08 +08:00
Vasily.onl
f67b6b8ebd removed strategy stuff from here 2025-05-23 17:13:12 +08:00
Vasily.onl
9629d3090b Enhance README and documentation for Cycles framework
- Expanded the README.md to provide a comprehensive overview of the Cycles framework, including features, quick start instructions, and configuration examples.
- Updated strategies documentation to detail the architecture, available strategies, and their configurations, emphasizing the new multi-timeframe capabilities.
- Added a new timeframe system documentation to explain the strategy-controlled timeframe management and automatic data resampling.
- Improved the strategy manager documentation to clarify its role in orchestrating multiple strategies and combining signals effectively.
- Adjusted configuration examples to reflect recent changes in strategy parameters and usage.
2025-05-23 17:06:35 +08:00
Vasily.onl
9b15f9f44f Update configuration files for BBRS strategy and add new default strategies
- Removed JSON files from .gitignore to allow tracking of configuration files.
- Added multiple new configuration files for the BBRS strategy, including multi-timeframe and default settings.
- Introduced a combined configuration file to support weighted strategy execution.
- Established a default configuration for 5-minute and 15-minute timeframes, enhancing flexibility for strategy testing.
2025-05-23 16:57:33 +08:00
Vasily.onl
5d0b707bc6 Implement BBRS strategy with multi-timeframe support and enhance strategy manager
- Added BBRS strategy implementation, incorporating Bollinger Bands and RSI for trading signals.
- Introduced multi-timeframe analysis support, allowing strategies to handle internal resampling.
- Enhanced StrategyManager to log strategy initialization and unique timeframes in use.
- Updated DefaultStrategy to support flexible timeframe configurations and improved stop-loss execution.
- Improved plotting logic in BacktestCharts for better visualization of strategy outputs and trades.
- Refactored strategy base class to facilitate resampling and data handling across different timeframes.
2025-05-23 16:56:53 +08:00
Vasily.onl
235098c045 Add strategy management system with multiple trading strategies
- Introduced a new strategies module containing the StrategyManager class to orchestrate multiple trading strategies.
- Implemented StrategyBase and StrategySignal as foundational components for strategy development.
- Added DefaultStrategy for meta-trend analysis and BBRSStrategy for Bollinger Bands + RSI trading.
- Enhanced documentation to provide clear usage examples and configuration guidelines for the new system.
- Established a modular architecture to support future strategy additions and improvements.
2025-05-23 16:41:08 +08:00
Vasily.onl
4552d7e6b5 Update test_bbrsi.py configuration dates for backtesting 2025-05-23 15:22:03 +08:00
Vasily.onl
7af8cdcb32 Enhance Bollinger Bands validation and add DatetimeIndex handling in strategies
- Added validation to ensure the specified price column exists in the DataFrame for Bollinger Bands calculations.
- Introduced a new method to ensure the DataFrame has a proper DatetimeIndex, improving time-series operations in strategy processing.
- Updated strategy run method to call the new DatetimeIndex validation method before processing data.
- Improved logging for better traceability of data transformations and potential issues.
2025-05-23 15:21:40 +08:00
Simon Moisy
e5c2988d71 Refactor Backtest class and update strategy functions for improved modularity
- Refactored the Backtest class to encapsulate state and behavior, enhancing clarity and maintainability.
- Updated strategy functions to accept the Backtest instance, streamlining data access and manipulation.
- Introduced a new plotting method in BacktestCharts for visualizing close prices with trend indicators.
- Improved handling of meta_trend data to ensure proper visualization and trend representation.
- Adjusted main execution logic to support the new Backtest structure and enhanced debugging capabilities.
2025-05-22 20:02:14 +08:00
Ajasra
00873d593f Enhance strategy output standardization and improve plotting logic
- Introduced a new method to standardize output column names across different strategies, ensuring consistency in data handling and plotting.
- Updated plotting logic in test_bbrsi.py to utilize standardized column names, improving clarity and maintainability.
- Enhanced error handling for missing data in plots and adjusted visual elements for better representation of trading signals.
- Improved the overall structure of strategy implementations to support additional indicators and metadata for better analysis.
2025-05-22 18:16:23 +08:00
Ajasra
3a9dec543c Refactor test_bbrsi.py and enhance strategy implementations
- Removed unused configuration for daily data and consolidated minute configuration into a single config dictionary.
- Updated plotting logic to dynamically handle different strategies, ensuring appropriate bands and signals are displayed based on the selected strategy.
- Improved error handling and logging for missing data in plots.
- Enhanced the Bollinger Bands and RSI classes to support adaptive parameters based on market regimes, improving flexibility in strategy execution.
- Added new CryptoTradingStrategy with multi-timeframe analysis and volume confirmation for better trading signal accuracy.
- Updated documentation to reflect changes in strategy implementations and configuration requirements.
2025-05-22 17:57:04 +08:00
Ajasra
934c807246 fixed depricated parameters 2025-05-22 17:24:16 +08:00
Ajasra
8e220b564c Merge branch 'main' of https://dep.sokaris.link/Simon/Cycles 2025-05-22 17:15:55 +08:00
Ajasra
1107346594 refactor to move inside strategy calculations 2025-05-22 17:15:51 +08:00
Simon Moisy
45c853efab Moved supertrend.py to Analysis subfolder 2025-05-22 17:09:29 +08:00
Simon Moisy
268bc33bbf Merge branch 'main' of ssh://dep.sokaris.link:2222/Simon/Cycles 2025-05-22 17:05:39 +08:00
Simon Moisy
e286dd881a - Refactored the Backtest class for strategy modularity
- Updated entry and exit strategy functions
2025-05-22 17:05:19 +08:00
Ajasra
736b278ee2 aggregate for specific condition 2025-05-22 16:53:23 +08:00
Ajasra
a924328c90 Implement Market Regime Strategy and refactor Bollinger Bands and RSI classes
- Introduced a new Strategy class to encapsulate trading strategies, including the Market Regime Strategy that adapts to different market conditions.
- Refactored BollingerBands and RSI classes to accept configuration parameters for improved flexibility and maintainability.
- Updated test_bbrsi.py to utilize the new strategy implementation and adjusted date ranges for testing.
- Enhanced documentation to include details about the new Strategy class and its components.
2025-05-22 16:44:59 +08:00