Files
simonandClaude Opus 4.7 271a9343a5 Initial commit: cc-cursor 全链路量化研究平台
7 Sprints 全部完成:
  Sprint 0: 基础设施 (DataManager + MariaDB)
  Sprint 1: 因子引擎 (34因子/12分类)
  Sprint 2: VectorBT 回测 (5策略+截面)
  Sprint 3: Optuna 优化 (+Walk-Forward)
  Sprint 4: ML 模型 (LightGBM+CatBoost)
  Sprint 5: Qwen 情绪因子 (三源新闻+日期对齐)
  Sprint 6: Agent 系统 (4Agent+日报.md/.html)

生产加固 (15项): Tushare双源fallback, SSH自动恢复, pool_pre_ping,
  save_daily先删后插, load_dotenv绝对路径, 日报5d/20d修复,
  RiskAgent改上证指数, 昨日对比+数据截止, mac_report utf8mb4,
  CLAUDE-*.md 9条已知Bug, demo全参数化, djapi数据源归一化,
  indexDatas API修正

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-07 15:59:05 +08:00

146 lines
4.7 KiB
Python
Raw Permalink 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.
from rest_framework import serializers
class StockDailySerializer(serializers.Serializer):
"""日线行情(stockbasic"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
open = serializers.FloatField()
high = serializers.FloatField()
low = serializers.FloatField()
close = serializers.FloatField()
pre_close = serializers.FloatField()
change = serializers.FloatField()
pct_chg = serializers.FloatField()
vol = serializers.FloatField()
amount = serializers.FloatField()
class StockInfoSerializer(serializers.Serializer):
"""个股基本信息(stockinfo"""
ts_code = serializers.CharField()
symbol = serializers.CharField()
name = serializers.CharField()
area = serializers.CharField()
industry = serializers.CharField()
market = serializers.CharField()
list_date = serializers.CharField()
fullname = serializers.CharField()
enname = serializers.CharField()
exchange = serializers.CharField()
curr_type = serializers.CharField()
list_status = serializers.CharField()
is_hs = serializers.CharField()
class IndustryStockSerializer(serializers.Serializer):
"""行业股票列表(industrys"""
ts_code = serializers.CharField()
name = serializers.CharField()
class StockParamSerializer(serializers.Serializer):
"""个股参数(stockparam"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
close = serializers.FloatField()
turnover_rate = serializers.FloatField()
turnover_rate_f = serializers.FloatField()
volume_ratio = serializers.FloatField()
pe = serializers.FloatField()
pe_ttm = serializers.FloatField()
pb = serializers.FloatField()
ps = serializers.FloatField()
ps_ttm = serializers.FloatField()
dv_ratio = serializers.FloatField()
dv_ttm = serializers.FloatField()
total_share = serializers.FloatField()
float_share = serializers.FloatField()
free_share = serializers.FloatField()
total_mv = serializers.FloatField()
circ_mv = serializers.FloatField()
class StockEpSerializer(serializers.Serializer):
"""TTM EPSstockep"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
eps_ttm = serializers.FloatField()
class QuarterlyEpsSerializer(serializers.Serializer):
"""季度 EPSquarterlyEps"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
eps = serializers.FloatField()
report_date = serializers.CharField()
class IndexInfoSerializer(serializers.Serializer):
"""指数信息(indexByName"""
index_code = serializers.CharField()
name = serializers.CharField()
fullname = serializers.CharField()
market = serializers.CharField()
publisher = serializers.CharField()
index_type = serializers.CharField()
category = serializers.CharField()
list_date = serializers.CharField()
class IndexDailySerializer(serializers.Serializer):
"""指数日行情(indexDatas"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
close = serializers.FloatField()
open = serializers.FloatField()
high = serializers.FloatField()
low = serializers.FloatField()
pre_close = serializers.FloatField()
change = serializers.FloatField()
pct_chg = serializers.FloatField()
vol = serializers.FloatField()
amount = serializers.FloatField()
class MarginDailySerializer(serializers.Serializer):
"""每日融资融券汇总(dailyMargin"""
trade_date = serializers.CharField()
exchange_id = serializers.CharField()
rzye = serializers.FloatField()
rqye = serializers.FloatField()
rzrqye = serializers.FloatField()
class StockMarginSerializer(serializers.Serializer):
"""个股融资融券(stockMargin"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
rzye = serializers.FloatField()
rqye = serializers.FloatField()
rzrqye = serializers.FloatField()
class FinanceDataSerializer(serializers.Serializer):
"""财务报表分析(finance"""
ts_code = serializers.CharField()
period = serializers.CharField()
class DividendSerializer(serializers.Serializer):
"""股息率(getdiv"""
ts_code = serializers.CharField()
trade_date = serializers.CharField()
close = serializers.FloatField()
cash_div_tax = serializers.FloatField()
cash_div_year = serializers.FloatField()
div_yield = serializers.FloatField()
class XwlbNewsSerializer(serializers.Serializer):
"""新闻联播(xwlbNews / xwlbFine"""
news_days = serializers.CharField()
daily_sub_id = serializers.IntegerField()
news_improve = serializers.CharField()
news_title = serializers.CharField()