Files
quanxiel/quantitative_data/config.py
T

50 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
量化数据库配置文件
敏感信息(数据库密码、API Token)通过环境变量管理:
- QUANT_DB_PASSWORD : 数据库密码
- TUSHARE_TOKEN : Tushare API Token
设置方式:
Windows: set QUANT_DB_PASSWORD=your_password && set TUSHARE_TOKEN=your_token
Linux: export QUANT_DB_PASSWORD=your_password && export TUSHARE_TOKEN=your_token
也可创建 .env 文件(参考 .env.example
"""
import os
from pathlib import Path
from urllib.parse import quote_plus
# 加载 .env 文件中的环境变量
try:
from dotenv import load_dotenv
env_path = Path(__file__).parent / ".env"
if env_path.exists():
load_dotenv(dotenv_path=env_path, override=True)
print(f"✓ 已加载环境变量文件: {env_path}")
else:
print(f"⚠ 未找到 .env 文件: {env_path}")
except ImportError:
print("⚠ python-dotenv 未安装,无法自动加载 .env 文件。请手动设置环境变量或执行: pip install python-dotenv")
# PostgreSQL Docker 连接配置
_PASSWORD = os.environ.get("QUANT_DB_PASSWORD", "")
DB_CONFIG = {
"host": os.environ.get("QUANT_DB_HOST", "192.168.27.11"),
"port": int(os.environ.get("QUANT_DB_PORT", "5438")),
"database": os.environ.get("QUANT_DB_NAME", "quant_db"),
"user": os.environ.get("QUANT_DB_USER", "postgres"),
"password": _PASSWORD,
}
# 对密码进行 URL 编码(用于 SQLAlchemy 连接串),避免特殊字符导致解析错误
PASSWORD_ENCODED = quote_plus(_PASSWORD) if _PASSWORD else ""
# Tushare API Token
TUSHARE_TOKEN = os.environ.get("TUSHARE_TOKEN", "")
# 批量导入参数
BATCH_SIZE = int(os.environ.get("QUANT_BATCH_SIZE", "5000")) # 每批次插入行数
START_DATE = os.environ.get("QUANT_START_DATE", "2010-01-01") # 数据起始日期
END_DATE = os.environ.get("QUANT_END_DATE", "2025-12-31") # 数据结束日期