一、行情数据模块设计
(一)数据接入层
-
实时行情数据源
- 国内 A 股:接入万得实时行情 API(延迟≤100ms),订阅 1000 + 核心股票 Tick 数据
- 港股 / 美股:通过富途证券 API 获取 Level-2 行情,支持 5 档买卖盘实时展示
- 指数数据:同步沪深 300、中证 500、恒生指数等 15 个核心指数的成分股权重及实时点位
-
数据采集服务
- 部署架构:采用 Kafka 集群构建消息队列,3 个数据采集节点分布式拉取数据
- 采集频率:
- 股票行情:5 秒 / 次(交易时段),1 分钟 / 次(非交易时段)
- 新闻资讯:实时推送(基于 WebSocket 协议)
- 财务数据:T+1 更新(上市公司财报发布后自动抓取)
(二)数据处理层
-
清洗与标准化
python
运行
# 股价异常值处理示例 def handle_outliers(df): z_scores = np.abs((df['price'] - df['price'].mean()) / df['price'].std()) df['price'] = np.where(z_scores > 3, np.nan, df['price']) # 超过3σ视为异常值 df['price'] = df['price'].interpolate(method='time') # 线性插值填充缺失值 return df- 文本清洗:去除 HTML 标签、特殊符号,繁体转简体(使用 OpenCC 库)
-
特征工程
- 技术指标:计算 MA (5/10/20)、MACD、KDJ、RSI 等 20 项指标(基于 TA-Lib 库)
- 波动率特征:计算 5 分钟 / 日 / 周波动率,历史波动率与隐含波动率差值
- 量价关系:成交量加权平均价格 (VWAP)、量比 (OBV) 等
(三)数据存储方案
-
时序数据库
- 选型:InfluxDB 集群(3 节点)
- 存储策略:
- 实时行情:保留最近 1 个月的分钟级数据,历史数据按日聚合存储
- 指标计算结果:保留最近 3 年的日线级数据
-
文档数据库
- 选型:MongoDB 分片集群(3 分片 + 2 仲裁节点)
- 存储内容:
- 新闻资讯:结构化存储(标题、正文、发布时间、情感分数、关键词)
- 财务报表:按公司代码 + 报告期组织(资产负债表、利润表、现金流量表)
二、量化策略模块设计
(一)信号生成引擎
-
多因子模型
- 因子库:包含技术因子(60%)、基本面因子(25%)、舆情因子(15%)三大类
- 因子权重:动态调整(每周基于 IC_IR 值重新优化)
- 信号生成逻辑:
python
运行
def generate_signal(stock_data, factor_weights): # 计算各因子得分 tech_score = calculate_technical_factor(stock_data) fund_score = calculate_fundamental_factor(stock_data) sentiment_score = calculate_sentiment_factor(stock_data) # 加权汇总 total_score = (tech_score * factor_weights['tech'] + fund_score * factor_weights['fund'] + sentiment_score * factor_weights['sentiment']) # 生成信号(-1=

最低0.47元/天 解锁文章
333

被折叠的 条评论
为什么被折叠?



