QUANTAXIS 其他模块文档
QAFactor - 因子研究模块
概述
QAFactor 提供完整的因子研究工具链,包括因子计算、回测、管理和分析功能。
核心组件
feature.py: 因子定义和计算
featureAnalysis.py: 因子分析工具
featurebacktest.py: 因子回测框架
featurepool.py: 因子池管理
featureView.py: 因子可视化
主要功能
from QUANTAXIS.QAFactor import QAFactor
# 因子计算
factor = QAFactor()
factor.add_factor('momentum', lambda x: x.pct_change(20))
factor.add_factor('mean_reversion', lambda x: -x.rolling(20).mean())
# 因子分析
analysis = factor.analyze_factors(data)
ic_values = analysis['ic'] # 信息系数
turnover = analysis['turnover'] # 换手率
# 因子回测
backtest_result = factor.backtest(
start_date='2020-01-01',
end_date='2020-12-31'
)
QAIndicator - 技术指标模块
概述
QAIndicator 提供丰富的技术指标计算功能,支持自定义指标和批量计算。
核心组件
indicators.py: 基础技术指标
talib_indicators.py: TA-Lib指标封装
base.py: 指标基类和框架
主要功能
from QUANTAXIS.QAIndicator import MA, RSI, MACD, BOLL
# 移动平均
ma5 = MA(close_prices, 5)
ma20 = MA(close_prices, 20)
# RSI指标
rsi = RSI(close_prices, 14)
# MACD指标
dif, dea, macd = MACD(close_prices)
# 布林带
upper, middle, lower = BOLL(close_prices, 20)
# 批量计算
indicators = QAIndicator.batch_calculate(data, ['MA', 'RSI', 'MACD'])
QAWebServer - Web服务模块
概述
基于 Tornado 的 Web 服务框架,提供 API 接口和微服务架构支持。
核心组件
server.py: 主服务器
basehandles.py: 基础请求处理器
qifiserver.py: QIFI账户服务
schedulehandler.py: 调度处理器
主要功能
from QUANTAXIS.QAWebServer import QAWebServer
# 创建Web服务
app = QAWebServer()
# 添加路由
@app.route('/api/data')
def get_data(request):
return {'data': 'sample_data'}
# 启动服务
app.run(port=8888)
QASchedule - 任务调度模块
概述
提供任务调度功能,支持定时任务、事件触发任务和远程任务调度。
核心组件
schedulefunc.py: 调度函数和工具
主要功能
from QUANTAXIS.QASchedule import QAScheduler
# 创建调度器
scheduler = QAScheduler()
# 添加定时任务
@scheduler.schedule('09:30:00')
def market_open_task():
print("市场开盘任务")
# 添加周期任务
@scheduler.interval(minutes=5)
def data_update_task():
print("数据更新任务")
# 启动调度器
scheduler.start()
QAAnalysis - 分析工具模块
概述
提供数据分析和信号处理工具,包括统计分析和技术分析功能。
核心组件
QAAnalysis_block.py: 板块分析
QAAnalysis_signal.py: 信号分析
主要功能
from QUANTAXIS.QAAnalysis import QAAnalysis
# 板块分析
block_analysis = QAAnalysis.analyze_blocks(stock_data)
sector_performance = block_analysis.get_sector_performance()
# 信号分析
signal_analysis = QAAnalysis.analyze_signals(signals)
signal_quality = signal_analysis.evaluate_quality()
QACmd - 命令行模块
概述
提供命令行接口和工具,便于批量操作和自动化脚本。
主要功能
# 命令行工具
quantaxis --help # 查看帮助
quantaxis fetch --code 000001 # 获取数据
quantaxis backtest --strategy trend # 运行回测
QASU - 数据存储更新模块
概述
QASU (QUANTAXIS Storage Update) 负责数据的存储、更新和维护。
核心组件
save_*.py: 各种数据源的保存模块
main.py: 主要存储逻辑
user.py: 用户数据管理
主要功能
from QUANTAXIS.QASU import save_stock_day, save_stock_min
# 保存股票日线数据
save_stock_day(['000001', '000002'], '2020-01-01', '2020-12-31')
# 保存股票分钟数据
save_stock_min(['000001'], '2020-01-01', '2020-01-31', '1min')
# 增量更新
from QUANTAXIS.QASU import update_stock_day
update_stock_day() # 更新到最新日期
QASetting - 配置管理模块
概述
统一的配置管理系统,管理数据库连接、系统参数等配置信息。
核心组件
QALocalize.py: 本地化配置
cache.py: 缓存管理
executor.py: 执行器配置
主要功能
from QUANTAXIS.QASetting import QASetting
# 获取配置
config = QASetting()
database_config = config.get_config('DATABASE')
mongodb_uri = config.get_config('MONGODB_URI')
# 设置配置
config.set_config('CUSTOM_SETTING', 'value')
# 保存配置
config.save_config()
模块间关系图
QAFetch ──→ QAData ──→ QAIndicator ──→ QAStrategy
│ │ │ │
↓ ↓ ↓ ↓
QASU ──→ QAAnalysis ──→ QAFactor ──→ QIFI/QAMarket
│ │ │ │
↓ ↓ ↓ ↓
QASetting ──→ QAUtil ──→ QAEngine ──→ QAPubSub
│ │ │
↓ ↓ ↓
QACmd ←── QAWebServer ←── QASchedule ←───┘
使用建议
新手入门: 从 QAFetch → QAData → QAStrategy 的路径开始学习
数据管理: 重点关注 QASU 和 QASetting 模块
策略开发: 深入学习 QAStrategy、QAFactor、QAIndicator
生产部署: 关注 QAWebServer、QASchedule、QAPubSub
高级功能: 学习 QAEngine 进行性能优化
最佳实践
模块化开发: 每个模块专注特定功能,避免耦合
配置管理: 使用 QASetting 统一管理配置
数据流: 遵循 数据获取→处理→分析→策略→交易 的流程
性能优化: 合理使用 QAEngine 和 QAPubSub 提升性能
监控运维: 利用 QAWebServer 和 QASchedule 建立监控体系
Last updated
Was this helpful?