搭建期货量化管理后台 MVP,支持行情查看、博弈分析、持仓录入、品种合约管理

This commit is contained in:
2026-07-24 21:38:40 +08:00
parent d06ed06f01
commit 1ff2aa17e8
22 changed files with 1486 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
from contextlib import asynccontextmanager
from pathlib import Path
from fastapi import FastAPI
from jinja2 import Environment, FileSystemLoader
from app.database import engine, Base
from app.seed import seed
from app.routers import contracts, analysis, data_input, admin
TEMPLATES_DIR = Path(__file__).parent / "templates"
def setup_jinja(app: FastAPI):
env = Environment(loader=FileSystemLoader(str(TEMPLATES_DIR)))
app.state.templates = env
@asynccontextmanager
async def lifespan(app: FastAPI):
setup_jinja(app)
Base.metadata.create_all(bind=engine)
seed()
yield
app = FastAPI(title="期货量化系统", lifespan=lifespan)
app.include_router(contracts.router)
app.include_router(analysis.router)
app.include_router(data_input.router)
app.include_router(admin.router)
@app.get("/")
def root():
from fastapi.responses import RedirectResponse
return RedirectResponse("/contracts")