first commit
This commit is contained in:
26
backend/app/config.py
Normal file
26
backend/app/config.py
Normal file
@@ -0,0 +1,26 @@
|
||||
"""应用配置(pydantic-settings)。可由 .env / 环境变量覆盖。"""
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
||||
|
||||
app_name: str = "Stock Backtest"
|
||||
|
||||
# 默认 SQLite 零配置;切 Postgres/TimescaleDB 只改这一行
|
||||
database_url: str = "sqlite+aiosqlite:///./stock.db"
|
||||
|
||||
# 真实数据源
|
||||
tushare_token: str = "" # Tushare Pro token(主数据源)
|
||||
data_adjust: str = "qfq" # 复权:qfq 前复权 / hfq 后复权 / "" 不复权
|
||||
data_default_start: str = "20200101" # 默认拉取起点(约近 5 年)
|
||||
|
||||
# A股交易成本(基准日 2026-08)——做成可配置参数,便于将来按生效日期版本化
|
||||
stamp_duty_rate: float = 0.0005 # 印花税 0.05%,单边卖出(2023-08-28 减半)
|
||||
transfer_fee_rate: float = 0.00001 # 过户费 0.001%,沪深双边(2022 调整)
|
||||
commission_rate: float = 0.0001 # 佣金 万1(含规费)
|
||||
commission_min: float = 5.0 # 最低 5 元
|
||||
slippage_rate: float = 0.0005 # 滑点近似(按价格比例)
|
||||
|
||||
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user