第三章 关键技术--总体架构

  内容源自:数宽网www.dataquant.cn

一、概述

要建立一个成功的量化交易系统,投资者需要关注以下几个关键因素:

  1. 数据获取和处理:量化交易系统需要大量的历史和实时数据来支持策略的研究和实施。投资者需要确保数据的质量和完整性,并进行适当的数据清洗和预处理。

  2. 确定交易策略:投资者需要根据自己的风险偏好、投资目标和市场环境,选择合适的交易策略。这可能包括趋势跟踪、套利、市场中性等策略。

  3. 模型建立和优化:投资者需要利用统计学、机器学习等方法,建立并优化交易模型。这包括特征选择、参数调整和模型验证等过程。

  4. 风险管理:成功的量化交易系统需要有效的风险管理,包括对市场风险、信用风险和操作风险的控制。投资者可以通过设置止损、止盈、头寸限制等措施来实现风险管理。

  5. 系统实施和监控:投资者需要确保量化交易系统的稳定性和可靠性,并对系统进行实时监控和维护,以确保交易策略的顺利执行。

二、技术挑战

  • 工程方面

  1. 系统架构需要简洁且经得起推敲,具有清晰的模块划分和明确的职责。除了系统的稳定性和性能,还需要重点支持策略的可插拔和频繁迭代能力。

  2. 构建基础能力,包括中间件、开发框架、任务调度框架以及监控告警系统的选择和建设。

  3. 证券数据的采集需要从异构数据源获取宏观数据、基本面数据、股价数据,并需要具备高效的实时数据更新能力。

  4. 建立策略迭代框架,提高回测性能并优化指标输出达到一定水平。

  5. 与券商系统建立通道,实现策略决策后的交易信息同步到券商系统以实现交易。

  • 策略方面

  1. 通过股票形态识别生成特征,利用规则与机器学习技术建立多周期共振和趋势追踪策略。

  2. 利用基本面打分规则从海量股票中筛选出基本面较好的股票。

  3. 基于多策略结果,决定哪些股票应处于持有、轻仓、减仓、加仓、空仓、买入或卖出状态,这涉及到状态机游走机制。

  4. 当多个股票同时发出买入信号时,需要确定优先买入哪几只股票以及买入占最大购买力比例的决策,这涉及到资金管理问题。

  5. 根据市场整体态势决定何时使用杠杆以及何时不使用杠杆。

  • 产品方面

  1. 产品的易用性:量化交易系统需要提供直观、简洁的界面和操作方式,使用户能够轻松地理解和操作。系统的设计和交互应考虑到用户的认知特点和习惯,以减少学习成本和操作难度。

  2. 可理解性:需要提供明确、简洁的信息展示方式,能够快速了解市场情况、交易情况以及策略的执行情况。

三、总体架构

主要模块包括:

  1. 数据存储模块:该模块作为数据仓库,负责存储股票的原始数据以及经过处理后的结果数据。这些数据对于策略制定者来说具有极高的价值,可作为上层策略决策的依据。

  2. 数据处理模块:该模块在服务器端运行,通过Databus系统实现数据采集和清洗功能,并构建与数据仓库和其他系统的连接通道。

  3. 业务逻辑模块:该模块承担量化选股、策略执行后的持仓信息管理、账户交易决策、资产配置等功能,并提供各种因子的Dashboard平台以及回测评价等功能。

  4. 决策引擎:该引擎负责执行策略后的持仓决策、账户交易决策、资产配置决策以及资金分配等功能。

  5. 交易终端:主要负责个人账户管理功能,并将账户持仓信息同步到本地券商gateway,完成最终交易。

  6. 主站:该系统提供了量化交易系统的介绍。

四、核心能力

金融数据标准化

在量化研究中,获取全面且高质量的金融数据是至关重要的。由于市面上存在众多数据供应商,且每家供应商的服务方式和数据质量都有所不同,这给量化研究带来了极大的效率挑战和成本压力。为了解决这一问题,我们构建了金融数据仓库和Databus系统:

  • 数据仓库:屏蔽了异构数据源的复杂性,降低了数据清洗的复杂性,提高了数据清洗过程的效率。

  • Databus系统:通过周期调度和实时调度,确保了数据的稳定性和时效性。

  • 统一的数据结构:我们统一了宏观、基本面、技术面等数据的数据结构,使得数据的处理和利用更加高效。

  • 数据保障:我们建立了一些监控手段,进一步保障了数据的稳定性和自我恢复机制,减少了人工成本。

因子挖掘

在拥有丰富的金融数据之后,我们需要对这些数据进行深入分析,以发现那些对市场趋势具有指向性的指标,这个过程叫做挖掘因子。我们需要生产和提供三大类因子,包括宏观、基本面和技术面因子,供上层策略使用。虽然市面上有很多与指标相关的框架,如TA-Lib、Stock-Dataframe和RichQuant等,但它们往往在计算口径、全面性和扩展性等方面存在问题,难以满足我们的需求。因此,我们需要建立一套自己的因子挖掘框架,以满足我们的需求,建立了一套因子计算框架,使用框架时,我们专注于因子的核心计算逻辑,不必关心数据读取相关处理工作;框架会根据因子特征性及配置,自动加载相关数据,完成不同数据交易日对齐,使raw data差乘周期和窗口进行计算出因子。

  1. 策略研发

具有三大类因子后,我们需要基于因子与核心分析结果、结合投资逻辑,构建交易策略,产出交易信号、持仓情况。

五、核心模块功能

数据仓库

数据仓库主要负责存储股票源数据以及经过处理后的结果数据。数据仓库以MySQL为主,存储表实体关系,用于完成业务功能,同时存储一些镜像数据,包括股票价格数据、宏观数据、财务数据等。加工镜像数据得到的结果数据会根据数据特点和规模及查询性能考虑分别存储在MySQL数据库和缓存Redis中,回测数据则存储在本地文件系统内。

数据总线

Databus是一个高性能的数据传输和转换工具,负责从数据源向目标数据仓库根据不同实效性进行数据转化。它由三个模块组成:

  1. 调度模块:负责不同实效性需求的任务调度。实效性参数指每隔多长时间调度一次任务,任务类型包括批任务与长任务。开发者通过配置任务实效参数和任务类型后,调度模块会启动不同类型的任务,同时提供命令行供查看和操作任务运行状态。

  2. 任务模块:负责数据转化,主要是为了从多种数据源转化为数据仓库内的结构化数据。

  3. 监控模块:监控每个任务运行情况和数据仓库内的数据正确性,便于监控和告警使用。

业务系统

中心管控系统是一个综合性的管理系统,主要实现以下功能:

  1. 基本实体管理和分析展示功能:负责管理用户和账户,并提供对股票池的综合管理,技术与财报分析筛选股票,规则或机器学习策略决策结果展示,回测报表展示等功能。

  2. 数据镜像和结果数据分析:对数据镜像或结果数据进行深入的分析,通过这些分析,系统能够分析出买卖交易点,这通常是基于算法和数据驱动的决策。

  3. 策略回测功能:帮助用户评估和比较不同的投资策略的表现,以确定哪些策略在未来的市场环境下可能更有效。

决策引擎

决策引擎是最核心的模块之一,基于分析后的数据执行策略决策,完成最终的账户持仓决策、资金分配。同时利用状态机,能够根据当前账户状态和市场表现优化投资组合,从而实现最佳的投资收益。

交易终端

交易终端目前支持A股和港美股的交易。对于A股,需要对接CTP接口完成行情和交易的接入;对于港美股,可以使用富图牛牛提供的futu-d完成行情获得与买卖交易功能。交易终端可以在图形化界面的软件终端上模拟人肉操作,实现买入、卖出等操作。

回测系统

回测系统负责对历史数据和算法来测试和验证交易策略的表现。它通过读取数据、执行策略交易和记录结果的方式来模拟真实交易的情况,将近些年的交易情况全部计算出来,从而评估策略表现。回测系统可以帮助投资者了解其策略在历史市场环境下的表现,为未来投资提供有价值的参考。

  内容源自:数宽网www.dataquant.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值