LTSM-Forex-Bot/docs/agents/ledger.json

334 lines
13 KiB
JSON

{
"$schema": "./ledger.schema.json",
"entries": [
{
"id": "20250101-1200-project-scaffold",
"actor": "agent:cursor",
"intent": "Scaffold complete LSTM trading bot project structure",
"inputs": {
"timeframes": ["15m", "30m", "1h", "2h"],
"symbols": ["EURUSD", "BTCUSD", "ETHUSD"],
"architecture": "multi_lstm_fusion",
"framework": "pytorch"
},
"relatedFiles": [
"config/config.yaml",
"requirements.txt",
"src/utils/config.py",
"src/utils/logging.py",
"src/utils/seeds.py",
"src/utils/times.py"
],
"status": "done",
"evidence": "Project structure created with all major components",
"notes": [
"Set up basic project structure with directories and config files",
"Created comprehensive configuration system",
"Implemented utility modules for logging, seeds, and time handling"
],
"fingerprint": "sha256:scaffold_project_structure_2025"
},
{
"id": "20250101-1300-data-pipeline",
"actor": "agent:cursor",
"intent": "Implement data loading and feature engineering pipeline",
"inputs": {
"sources": ["csv", "alpaca", "binance", "oanda"],
"features": ["rsi", "macd", "bollinger_bands", "lagged_returns"],
"timeframes": ["15m", "30m", "1h", "2h"]
},
"relatedFiles": [
"src/data/loaders.py",
"src/features/build_dataset.py",
"src/features/indicators.py"
],
"status": "done",
"evidence": "Data pipeline implemented with multi-source support and comprehensive feature engineering",
"notes": [
"Created pluggable data loaders for multiple exchanges",
"Implemented technical indicators and feature engineering",
"Added data leakage protection and multi-timeframe alignment"
],
"fingerprint": "sha256:data_pipeline_implementation_2025"
},
{
"id": "20250101-1400-lstm-models",
"actor": "agent:cursor",
"intent": "Create LSTM model architectures with fusion strategies",
"inputs": {
"architectures": ["single_lstm", "multi_lstm_fusion"],
"fusion_strategies": ["concatenate", "attention", "dense"],
"output_modes": ["regression", "classification"]
},
"relatedFiles": [
"src/models/lstm_fusion.py"
],
"status": "done",
"evidence": "LSTM model architectures implemented with multiple fusion strategies",
"notes": [
"Created single LSTM and multi-LSTM fusion architectures",
"Implemented attention mechanisms and layer normalization",
"Added support for regression and classification outputs"
],
"fingerprint": "sha256:lstm_model_architectures_2025"
},
{
"id": "20250101-1500-training-framework",
"actor": "agent:cursor",
"intent": "Build training framework with Optuna optimization",
"inputs": {
"optimizer": "optuna",
"trials": 50,
"metrics": ["sharpe", "max_drawdown", "accuracy"],
"validation": "walk_forward"
},
"relatedFiles": [
"src/training/train.py",
"src/training/metrics.py"
],
"status": "done",
"evidence": "Training framework implemented with hyperparameter optimization",
"notes": [
"Created comprehensive training pipeline with early stopping",
"Implemented Optuna-based hyperparameter optimization",
"Added trading-specific metrics and validation strategies"
],
"fingerprint": "sha256:training_framework_optuna_2025"
},
{
"id": "20250101-1600-backtesting-engine",
"actor": "agent:cursor",
"intent": "Implement backtesting engine with risk management",
"inputs": {
"framework": "backtrader",
"slippage": 0.0001,
"commission": 0.0002,
"risk_management": true
},
"relatedFiles": [
"src/backtest/engine.py",
"src/backtest/strategy.py"
],
"status": "done",
"evidence": "Backtesting engine implemented with realistic trading conditions",
"notes": [
"Integrated backtrader for realistic backtesting",
"Added risk management and position sizing",
"Implemented comprehensive performance analysis"
],
"fingerprint": "sha256:backtesting_engine_backtrader_2025"
},
{
"id": "20250101-1700-live-execution",
"actor": "agent:cursor",
"intent": "Create live execution system with broker abstraction",
"inputs": {
"brokers": ["alpaca", "oanda", "binance"],
"streaming": "websocket",
"execution_modes": ["paper", "live"]
},
"relatedFiles": [
"src/live/broker_base.py",
"src/live/broker_alpaca.py",
"src/live/streamer.py",
"src/live/executor.py"
],
"status": "done",
"evidence": "Live execution system implemented with multiple broker support",
"notes": [
"Created broker abstraction layer for multiple exchanges",
"Implemented real-time streaming and execution",
"Added paper and live trading modes"
],
"fingerprint": "sha256:live_execution_system_2025"
},
{
"id": "20250101-1800-risk-management",
"actor": "agent:cursor",
"intent": "Implement comprehensive risk management system",
"inputs": {
"position_sizing": "kelly_criterion",
"circuit_breakers": true,
"max_drawdown": 0.15,
"daily_loss_limit": 0.05
},
"relatedFiles": [
"src/live/risk_manager.py"
],
"status": "done",
"evidence": "Risk management system implemented with circuit breakers",
"notes": [
"Created position sizing strategies including Kelly criterion",
"Implemented circuit breakers for excessive drawdown and losses",
"Added comprehensive risk monitoring and alerts"
],
"fingerprint": "sha256:risk_management_system_2025"
},
{
"id": "20250101-1900-cli-entrypoints",
"actor": "agent:cursor",
"intent": "Create CLI entrypoints for all major functions",
"inputs": {
"commands": ["data", "features", "training", "backtest", "live"],
"main_dispatcher": "main.py"
},
"relatedFiles": [
"main.py",
"src/data/loaders_cli.py",
"src/features/build_dataset_cli.py",
"src/training/train_cli.py",
"src/backtest/engine_cli.py",
"src/live/executor_cli.py"
],
"status": "done",
"evidence": "CLI entrypoints created for all major functions",
"notes": [
"Implemented command-line interfaces for all major operations",
"Created unified main.py dispatcher",
"Added comprehensive help and usage examples"
],
"fingerprint": "sha256:cli_entrypoints_all_functions_2025"
},
{
"id": "20250101-2000-colab-notebooks",
"actor": "agent:cursor",
"intent": "Create Colab notebooks for research and paper trading",
"inputs": {
"notebooks": [
"01_data_eda.ipynb",
"02_train_optuna.ipynb",
"03_backtest.ipynb",
"04_live_trading.ipynb"
]
},
"relatedFiles": [
"notebooks/01_data_eda.ipynb",
"notebooks/02_train_optuna.ipynb",
"notebooks/03_backtest.ipynb",
"notebooks/04_live_trading.ipynb"
],
"status": "done",
"evidence": "Colab notebooks created for complete workflow",
"notes": [
"Created step-by-step notebooks for data exploration",
"Implemented training notebooks with Optuna optimization",
"Added backtesting and live trading notebooks"
],
"fingerprint": "sha256:colab_notebooks_workflow_2025"
},
{
"id": "20250101-2100-documentation",
"actor": "agent:cursor",
"intent": "Write comprehensive documentation and setup guides",
"inputs": {
"files": ["README.md", "docs/agents/ledger.json", "docs/agents/ledger.schema.json"]
},
"relatedFiles": [
"README.md"
],
"status": "done",
"evidence": "Comprehensive documentation created including README and agent ledger",
"notes": [
"Created detailed README with installation and usage instructions",
"Implemented agent ledger for tracking development progress",
"Added setup guides for Colab and Linux server deployment"
],
"fingerprint": "sha256:comprehensive_documentation_2025"
},
{
"id": "20260608-1505-tradelocker-live-fixes",
"actor": "agent:cursor",
"intent": "Fix live trading syntax/runtime issues and add TradeLocker broker support",
"inputs": {
"brokers": ["alpaca", "tradelocker"],
"targets": [
"main.py",
"requirements.txt",
"src/live/executor.py",
"src/live/executor_cli.py",
"src/live/broker_tradelocker.py",
"src/utils/config.py",
"src/utils/logging.py",
"src/live/risk_manager.py",
"src/backtest/engine.py",
"src/backtest/engine_cli.py",
"src/backtest/strategy.py"
]
},
"relatedFiles": [
"main.py",
"requirements.txt",
"src/live/executor.py",
"src/live/executor_cli.py",
"src/live/broker_tradelocker.py",
"src/utils/config.py",
"src/utils/logging.py",
"src/live/risk_manager.py",
"src/backtest/engine.py",
"src/backtest/engine_cli.py",
"src/backtest/strategy.py"
],
"status": "done",
"evidence": "python3 -m py_compile $(rg --files -g '*.py') passed and venv imports succeeded after installing requirements",
"notes": [
"Added TradeLocker broker adapter with JWT authentication, account discovery, order placement, and market-data helpers",
"Fixed malformed f-strings across live trading, backtesting, and structured logging",
"Updated the CLI dispatcher so nested commands forward their original arguments correctly",
"Added the missing ta dependency and TradeLocker config fields to align YAML with runtime settings"
],
"fingerprint": "sha256:tradelocker_live_fixes_20260608"
},
{
"id": "20260608-1645-tradelocker-studio-standalone",
"actor": "agent:cursor",
"intent": "Create a single-file TradeLocker Studio bot strategy for direct paste into the bot code window",
"inputs": {
"style": "standalone_backtrader_strategy",
"strategy": "macd_crossover",
"imports": ["backtrader"]
},
"relatedFiles": [
"tradelocker_studio_macd_strategy.py",
"README.md"
],
"status": "done",
"evidence": "Created paste-ready standalone TradeLocker Studio strategy file",
"notes": [
"Avoids local project imports so it can run inside the single TradeLocker Studio code window",
"Uses custom crossover logic and basic stop-loss/take-profit management",
"Documented the .env setup separately for the repo-based bot"
],
"fingerprint": "sha256:tradelocker_studio_standalone_20260608"
},
{
"id": "20260608-2047-tradelocker-studio-tuning",
"actor": "agent:codex",
"intent": "Tune TradeLocker Studio EUR/USD 15m strategy after weak flat-to-negative backtest results",
"inputs": {
"symbol": "EURUSD",
"timeframe": "15m",
"issues": [
"RSI exhaustion entries",
"weekend gap entries",
"fast trend-break churn"
]
},
"relatedFiles": [
"tradelocker_studio_macd_strategy.py"
],
"status": "done",
"evidence": "python3 -m py_compile tradelocker_studio_macd_strategy.py and git diff --check passed",
"notes": [
"Added RSI upper/lower bounds to avoid chasing overextended EUR/USD 15m moves",
"Added EMA-gap and ATR-percent filters so entries require trend separation and volatility",
"Blocked fresh entries during Friday/weekend/Monday-open dead zones",
"Widened ATR exits and delayed trend-break/reversal exits until the minimum hold period",
"Added v2 internal parameters so TradeLocker cached UI values do not silently override the new tuning",
"Changed entries from pure MACD crossovers to trend-continuation breakouts with max fast-EMA distance and trailing protection",
"Added v3 exit defaults after the 2013 EUR/USD run showed fast-EMA trend-break exits were cutting many trades before ATR targets/stops could work",
"Added v4 entry-hour filter after the latest 2013 EUR/USD run showed profitable trades clustering around 13:00-17:59 while early and late entries caused most losses"
],
"fingerprint": "sha256:tradelocker_studio_tuning_20260608"
}
]
}