btc-predictor-v2 / model_config.yaml
minhquan2310's picture
Training run on 2025-04-30
01e1d40 verified
root_dir: ${oc.env:PROJECT_ROOT}
data_dir: ${root_dir}/data/
db_file: ${data_dir}/data.db
log_dir: ${root_dir}/logs/
output_dir: ${hydra:runtime.output_dir}
cache_dir: ${root_dir}/.cache
work_dir: ${hydra:runtime.cwd}
binance:
symbols:
- BTC/USDT
- ETH/USDT
- XRP/USDT
intervals:
- 1d
start_date: '2022-01-01'
end_date: null
limit: 1000
storage:
batch_size: 500
update_existing: true
rate_limiting:
requests_per_minute: 60
retry_attempts: 3
retry_delay_seconds: 5
data:
symbols:
- BTC/USDT
interval: 1d
start_date: '2022-01-01'
end_date: null
sequence_length: 12
feature_columns:
- open
- high
- low
- close
- volume_buy
- volume_sell
target_column: close
train_split: 0.8
val_split: 0.1
test_split: 0.1
batch_size: 32
shuffle: true
num_workers: 4
model:
type: LSTM
hidden_size: 196
num_layers: 4
dropout: 0.2
bidirectional: true
training:
epochs: 300
early_stopping_patience: 20
early_stopping_min_delta: 0.001
learning_rate: 0.0005
optimizer: adam
loss_function: exp_percentage
ratio_weight: 0.6
gradient_clip_val: 0.7
wandb:
enabled: true
log_model: false
log_every_n_steps: 10
visualize_predictions: true
max_samples_to_plot: 300
visualization_library: matplotlib
checkpoint:
dirpath: checkpoints
filename: '{epoch}-{val_loss:.4f}'
save_top_k: 1
monitor: val_loss
mode: min
huggingface:
push_to_hub: true
commit_message: Training run on {date}
repo_id: btc-predictor-v2
trading:
general:
interval: 1d
position_size_pct: 0.1
max_open_trades: 10
model_and_symbols:
- model: btc-predictor-v1
symbols: BTC/USDT
logic:
buy_threshold: 0.002
sell_threshold: -0.002
stop_loss_pct: 0.05
take_profit_pct: 0.02
enable_stop_loss: false
enable_trend_reversal_selling: true
rc_threshold: 0.6
backtesting:
start_date: '2025-01-01'
end_date: '2025-04-28'
fee_rate: 0.001
slippage_pct: 0.001
plot_results: true
save_results: true
results_dir: backtest_results
initial_capital: 2000.0
visualization:
formats:
- png
- pdf
dpi: 300
combined_report: true
charts:
portfolio_value: true
cumulative_returns: true
trade_points: true
drawdown: true
monthly_returns: true
win_loss_ratio: true
portfolio_composition: true
predictions: true
live:
mode: paper
update_interval_seconds: 60
max_retry_attempts: 3
retry_delay_seconds: 5
order_type: market
limit_order_time_in_force: GTC
limit_price_buffer_pct: 0.005
telegram_notifications: false
app:
name: crypto-trading
environment: ${oc.env:ENVIRONMENT}
log_level: ${oc.env:LOG_LEVEL}
logging:
sink: stderr
rotation: null
retention: null
format: null
database:
dialect: sqlite
user: ${oc.env:DB_USER}
password: ${oc.env:DB_PASSWORD}
host: ${oc.env:DB_HOST}
port: ${oc.env:DB_PORT}
name: ${oc.env:DB_NAME}
url: sqlite:///${db_file}
services:
binance:
api_key: ${oc.env:BINANCE_API_KEY}
api_secret: ${oc.env:BINANCE_API_SECRET}
testnet: false
wandb:
api_key: ${oc.env:WANDB_API_KEY}
project: ${oc.env:WANDB_PROJECT}
entity: ''
huggingface:
token: ${oc.env:HUGGINGFACE_TOKEN}
username: ${oc.env:HUGGINGFACE_USERNAME}
repo_name: ${oc.env:HUGGINGFACE_REPO_NAME,crypto-models}