59 lines
2.3 KiB
Python
59 lines
2.3 KiB
Python
# 定义表格映射类
|
||
# 定义表格映射类
|
||
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"<StockDaily(ts_code='{self.ts_code}', trade_date='{self.trade_date}', close='{self.close}')>"
|
||
|
||
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
|