# 定义表格映射类 # 定义表格映射类 from sqlalchemy import Column, Integer, String, Float from sqlalchemy.orm import declarative_base def get_stock_daily(table_name): class StockDaily(declarative_base()): __tablename__ = table_name id = Column(Integer, primary_key=True, autoincrement=True) ts_code = Column(String, nullable=False) # ts代码 trade_date = Column(String, nullable=False) # 交易日期 crncy_code = Column(String) # 货币代码 pre_close = Column(Float) # 昨收盘价(元) open = Column(Float) # 开盘价(元) high = Column(Float) # 最高价(元) low = Column(Float) # 最低价(元) close = Column(Float) # 收盘价(元) change = Column(Float) # 涨跌(元) pct_chg = Column(Float) # 涨跌幅(%) volume = Column(Float) # 成交量(手) amount = Column(Float) # 成交金额(千元) adj_pre_close = Column(Float) # 复权昨收盘价(元) adj_open = Column(Float) # 复权开盘价(元) adj_high = Column(Float) # 复权最高价(元) adj_low = Column(Float) # 复权最低价(元) adj_close = Column(Float) # 复权收盘价(元) adj_factor = Column(Float) # 复权因子 avg_price = Column(Float) # 均价(VWAP) trade_status = Column(String) # 交易状态 turnover_rate = Column(Float) # 换手率 turnover_rate_f = Column(Float) # 换手率(自由流通股) volume_ratio = Column(Float) # 量比 pe = Column(Float) # 市盈率(总市值/净利润) pe_ttm = Column(Float) # 市盈率(TTM) pb = Column(Float) # 市净率(总市值/净资产) ps = Column(Float) # 市销率 ps_ttm = Column(Float) # 市销率(TTM) dv_ratio = Column(Float) # 股息率 dv_ttm = Column(Float) # 滚动股息率 total_share = Column(Float) # 总股本 float_share = Column(Float) # 流通股本 free_share = Column(Float) # 自由流通股本 total_mv = Column(Float) # 总市值 circ_mv = Column(Float) # 流通市值 def __init__(self, **kwargs): self.__dict__.update(kwargs) def __repr__(self): return f"" def to_dict(self): return {"ts_code": self.ts_code, "trade_date": self.trade_date, "pre_close": self.pre_close, "turnover_rate": self.turnover_rate} return StockDaily