Initial commit: Crypto trader application

This commit is contained in:
2025-12-25 20:20:40 -05:00
commit 07a04c1bb8
47895 changed files with 2042266 additions and 0 deletions

94
config/config.yaml Normal file
View File

@@ -0,0 +1,94 @@
app:
name: Crypto Trader
version: 0.1.0
database:
type: postgresql
url: postgresql+asyncpg://trader:trader_password@localhost/crypto_trader
logging:
level: INFO
dir: ~/.local/share/crypto_trader/logs
retention_days: 30
rotation: daily
paper_trading:
enabled: true
default_capital: 10000.0
fee_exchange: coinbase
updates:
check_on_startup: true
repository_url: ''
exchanges: null
strategies:
default_timeframe: 1h
risk:
max_drawdown_percent: 20.0
daily_loss_limit_percent: 5.0
position_size_percent: 2.0
trading:
default_fees:
maker: 0.001
taker: 0.001
minimum: 0.0
exchanges:
coinbase:
fees:
maker: 0.004
taker: 0.006
minimum: 0.0
kraken:
fees:
maker: 0.0016
taker: 0.0026
minimum: 0.0
binance:
fees:
maker: 0.001
taker: 0.001
minimum: 0.0
data_providers:
primary:
- name: kraken
enabled: true
priority: 1
- name: coinbase
enabled: true
priority: 2
- name: binance
enabled: true
priority: 3
fallback:
name: coingecko
enabled: true
api_key: ''
caching:
ticker_ttl: 2
ohlcv_ttl: 60
max_cache_size: 1000
websocket:
enabled: true
reconnect_interval: 5
ping_interval: 30
redis:
host: 127.0.0.1
port: 6379
db: 0
password: null
socket_connect_timeout: 5
celery:
broker_url: redis://127.0.0.1:6379/0
result_backend: redis://127.0.0.1:6379/0
autopilot:
intelligent:
min_confidence_threshold: 0.75
max_trades_per_day: 10
min_profit_target: 0.02
enable_auto_execution: true
bootstrap:
days: 5
timeframe: 1m
min_samples_per_strategy: 30
symbols:
- ADA/USD
general:
timezone: America/New_York
theme: dark
currency: USD

54
config/logging.yaml Normal file
View File

@@ -0,0 +1,54 @@
# Logging Configuration
version: 1
disable_existing_loggers: false
formatters:
standard:
format: '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
datefmt: '%Y-%m-%d %H:%M:%S'
detailed:
format: '%(asctime)s [%(levelname)s] %(name)s:%(lineno)d: %(message)s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
console:
class: logging.StreamHandler
level: INFO
formatter: standard
stream: ext://sys.stdout
file:
class: logging.handlers.RotatingFileHandler
level: DEBUG
formatter: detailed
filename: ~/.local/share/crypto_trader/logs/crypto_trader.log
maxBytes: 10485760 # 10MB
backupCount: 5
encoding: utf-8
loggers:
trading:
level: INFO
handlers: [console, file]
propagate: false
exchange:
level: INFO
handlers: [console, file]
propagate: false
strategy:
level: DEBUG
handlers: [console, file]
propagate: false
backtesting:
level: INFO
handlers: [console, file]
propagate: false
root:
level: INFO
handlers: [console, file]