2024-10-14 06:12:46 +00:00
|
|
|
|
from typing import List, Optional, Dict
|
2024-10-08 06:06:24 +00:00
|
|
|
|
|
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BackRequest(BaseModel):
|
|
|
|
|
field_list: List[str] = Field(default_factory=list, description="字段列表,用于指定获取哪些数据字段")
|
|
|
|
|
stock_list: List[str] = Field(default_factory=list, description="股票列表,用于指定获取哪些股票的数据")
|
2024-10-14 06:12:46 +00:00
|
|
|
|
stock_weights: List[Dict[str, float]] = Field(default_factory=list, description="股票与其对应权重的字典列表")
|
2024-10-08 06:06:24 +00:00
|
|
|
|
stock_code: str = Field(default="000300.SH", description="股票代码,用于指定获取哪些股票的数据")
|
2024-10-14 06:12:46 +00:00
|
|
|
|
benchmark_code: str = Field(default="000300.SH", description="股票代码,用于指定获取哪些股票的数据")
|
2024-10-08 06:06:24 +00:00
|
|
|
|
period: str = Field(default='1d', description="数据周期,如 '1d' 表示日线数据")
|
|
|
|
|
start_time: Optional[str] = Field(default='', description="开始时间,格式为 'YYYY-MM-DD',默认为空字符串")
|
|
|
|
|
end_time: Optional[str] = Field(default='', description="结束时间,格式为 'YYYY-MM-DD',默认为空字符串")
|
|
|
|
|
count: int = Field(default=-1, description="数据条数,默认为 -1 表示获取所有数据")
|
|
|
|
|
dividend_type: str = Field(default='none', description="分红类型,默认值为 'none'")
|
|
|
|
|
fill_data: bool = Field(default=True, description="是否填充数据,默认为 True")
|
|
|
|
|
incrementally: bool = Field(default=True, description="是否增量下载")
|
|
|
|
|
callback: bool = Field(default=True, description="是否开启回调函数")
|
|
|
|
|
data_dir: str = Field(default="D:\\e海方舟-量化交易版\\userdata_mini\\datadir", description="数据存储路径")
|
|
|
|
|
sector_name:str = Field(default="沪深指数", description="板块名称")
|
|
|
|
|
iscomplete: bool = Field(default=False, description="是否获取全部字段")
|
|
|
|
|
ma_type: str = Field(default='SMA', description="移动平均线类型,如 'SMA' 表示简单移动平均线")
|
|
|
|
|
short_window: int = Field(default=50, description="短周期线长度")
|
|
|
|
|
long_window: int = Field(default=200, description="长周期线长度")
|
|
|
|
|
bollingerMA: int = Field(default=50, description="布林带中的移动平均线周期,决定计算均值的时间窗口长度")
|
|
|
|
|
std_dev: int = Field(default=200, description="布林带中用于计算上下轨的标准差倍数,影响带宽大小")
|
|
|
|
|
overbought: int = Field(default=70, description="超买区间的RSI阈值,表示价格处于相对高点,可能面临回调")
|
|
|
|
|
oversold: int = Field(default=30, description="超卖区间的RSI阈值,表示价格处于相对低点,可能面临反弹")
|
|
|
|
|
signal_window: int = Field(default=9, description="超卖区间的RSI阈值,表示价格处于相对低点,可能面临反弹")
|
2024-10-14 06:12:46 +00:00
|
|
|
|
user_id: int = Field(default=1, description="用户id,默认为 1 表示获取当前组合的所属用户")
|
2024-10-08 06:06:24 +00:00
|
|
|
|
|