-
Notifications
You must be signed in to change notification settings - Fork 898
Expand file tree
/
Copy path.env.example
More file actions
175 lines (138 loc) · 4.79 KB
/
.env.example
File metadata and controls
175 lines (138 loc) · 4.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# FinRL Trading - Environment Configuration Template
# =================================================
#
# Copy this file to .env and fill in your actual values
# Never commit your .env file to version control!
#
# Required: Alpaca API credentials for trading
# Optional: Data source APIs (FMP > WRDS > Yahoo priority)
#
# =================================================
# APPLICATION SETTINGS
# =================================================
# Application environment
ENVIRONMENT=development
APP_NAME=FinRL Trading
VERSION=2.0.0
# =================================================
# ALPACA API SETTINGS (Required for Trading)
# =================================================
# Get these from: https://alpaca.markets/
APCA_API_KEY=your_alpaca_api_key_here
APCA_API_SECRET=your_alpaca_secret_key_here
APCA_BASE_URL=https://paper-api.alpaca.markets
APCA_USE_PAPER_TRADING=true
# =================================================
# ALPACA API SETTINGS Multi-account (Required for Trading)
# =================================================
# list your account name (nick name)
APCA_ACCOUNTS=paper1,paper2
# general (rollback)
APCA_BASE_URL=https://paper-api.alpaca.markets
APCA_USE_PAPER_TRADING=true
# Account1 paper1
APCA_PAPER1_API_KEY=your_alpaca_api_key_here
APCA_PAPER1_API_SECRET=your_alpaca_secret_key_here
APCA_PAPER1_BASE_URL=https://paper-api.alpaca.markets/
# account2 paper2
APCA_PAPER2_API_KEY=your_alpaca_api_key_here
APCA_PAPER2_API_SECRET=your_alpaca_secret_key_here
APCA_PAPER2_BASE_URL=https://paper-api.alpaca.markets
# =================================================
# DATA SOURCE SETTINGS (Optional, prioritized)
# =================================================
# FMP API Key (Recommended for high-quality data)
FMP_API_KEY=your_fmp_api_key_here
# =================================================
# LLM SETTINGS
# =================================================
OPENAI_API_KEY=your_openai_key
OPENAI_MODEL=gpt-4o-mini
OPENAI_REQUEST_TIMEOUT=30
# =================================================
# DATABASE SETTINGS
# =================================================
# Database connection (SQLite by default)
DB_URL=sqlite:///finrl_trading.db
DB_POOL_SIZE=5
DB_MAX_OVERFLOW=10
DB_POOL_TIMEOUT=30
# =================================================
# DATA MANAGEMENT SETTINGS
# =================================================
# Data directories
DATA_BASE_DIR=./data
DATA_CACHE_DIR=./data/cache
DATA_PROCESSED_DIR=./data/processed
DATA_RAW_DIR=./data/raw
# Cache settings
DATA_CACHE_TTL_HOURS=24
DATA_MAX_CACHE_SIZE_MB=1000
# =================================================
# STRATEGY SETTINGS
# =================================================
# Rebalancing frequency (Q: quarterly, M: monthly, W: weekly)
STRATEGY_DEFAULT_REBALANCE_FREQ=Q
# Risk limits
STRATEGY_MAX_WEIGHT_PER_STOCK=0.1
STRATEGY_MAX_SECTOR_WEIGHT=0.3
STRATEGY_MAX_TURNOVER=0.5
STRATEGY_RISK_FREE_RATE=0.02
# Benchmark tickers
STRATEGY_BENCHMARK_TICKERS=["SPY", "QQQ"]
# =================================================
# TRADING SETTINGS
# =================================================
# Order limits
TRADING_MAX_ORDER_VALUE=100000.0
TRADING_MAX_PORTFOLIO_TURNOVER=0.5
TRADING_MIN_ORDER_SIZE=100.0
# Risk management
TRADING_RISK_CHECKS_ENABLED=true
TRADING_EXECUTION_TIMEOUT=300
# Order logging
TRADING_LOG_ORDERS=true
TRADING_ORDER_LOG_PATH=./logs/orders
# =================================================
# WEB INTERFACE SETTINGS
# =================================================
# Streamlit web app
WEB_HOST=0.0.0.0
WEB_PORT=8501
WEB_DEBUG=false
WEB_THEME=light
# =================================================
# LOGGING SETTINGS
# =================================================
# Logging configuration
LOG_LEVEL=INFO
LOG_FORMAT=%(asctime)s - %(name)s - %(levelname)s - %(message)s
LOG_FILE_PATH=./logs/finrl_trading.log
LOG_MAX_FILE_SIZE=10485760
LOG_BACKUP_COUNT=5
# =================================================
# DEVELOPMENT/DEBUG SETTINGS
# =================================================
# Additional debug settings (development only)
DEBUG_MODE=false
VERBOSE_LOGGING=false
# =================================================
# SETUP INSTRUCTIONS
# =================================================
#
# 1. Alpaca API (Required):
# - Sign up at https://alpaca.markets/
# - Create API keys in dashboard
# - Use paper trading for testing
#
# 2. Data Sources (Optional but recommended):
# - FMP: https://financialmodelingprep.com/ (best quality)
# - WRDS: https://wrds-www.wharton.upenn.edu/ (academic)
# - Yahoo: Free but rate-limited
#
# 3. After filling in values:
# - Save as .env (not .env.example)
# - Restart any running applications
# - Test with: python -c "from src.config.settings import get_config; print(get_config().alpaca.api_key)"
#
# =================================================