通过建模阶段,从数据准备和分类开始,经过编程最后测试和优化。
建模,需要交易思想和交易理论符合数学计算模型,符合数据模型。
建模的时候对数学模型必须定义清晰并解决相关问题,也需要定义程序实施的各种要求。
收集数据过程中需要对数据清理。这也是进行成功回测优化的基础。因为数据会决定已知或者未知的错误产生。
数据来源主要分为三个来源。第一从数据提供商购买。所以要考虑数据商的专业以及口碑。同时也要有自己分辨数据准确性的能力。
第二个来源是从网上下载。免费数据。通常来说数据质量不高,可能会导致模型计算失误,引发交易亏损,或者测试风险。所以说使用免费数据可能需要花费比购买的数据更多的时间与精力。
第三个来源。使用程序记录行情数据。并将其清理和转化成自己要的格式。
数据类型包括:交易价格,买入价格,卖出价格,成交量等构成。经济数据也是市场走势的重要因素之一。包括非农就业指数、利率、零售销售额、CPI、贸易顺差逆差制造业PMI。
日历数据,包括重要的经济数据日期和时间。估值数据。基本面数据,比如销售额,收益库存资金等。
数据需要进行处理。建模算法、历史回测、风险管理。都要求高质量的数据。
价格数据是高频量化交易中最常用到的数据。一般这样的数据分为:时间戳戳,因为时间的顺序并不正确,需要将它们重新排列。数据坏点,需要排除坏点,寻找代替删除数据,坏点。
过滤非交易日的数据。然后将数据转化成不同周期级别,以便系统调用。
数据分离:如果全部数据用来开发交易模型的话,可能会出现过度粘合问题。所以我们将引入的数据进行分离。分为开发数据,验证数据测试数据。
开发数据一般包含的数量比较多,直接用来开发模型。这个数据需要对交易信号产生30~50个交易样本。并且涵盖了,市场行情向上向下震荡三种情况。
数据验证是用来评估和比较不同模型的绩效。开发数据上表现良好的模型,如果再次拿验证数据去验证。如果过度拟合,需要用验证数据来改进模型。
通过测试模型数据。来再次验证模型的准确率。并保证所有细节都正常。这时候模型才算成功。
建立模型分为两块任务,第1块是要求交易员分析师,金融工程师。通过交易思想交易理论数学模型,先建立一个可以实施的计划。
第2块要求编程人员通过计划进行系统编程。
还有一种编程模型叫:进化型模建模。开始建立一个简单成型的系统,在测试过程中不断优化改进。
模型回测和优化。回测是为了测试交易策略是否达到了设计文档中的交易思想,交易理念以及交易策略。其次是为了在控制交易成本和交易失误的情况下,对策略进行模拟仿真,分析一个交易策略达到的结果是否可被接受?是需要重新回到研究阶段,去重新开发,还是在此基础上进行优化,改进。
优化的过程就是找到交易策略参数的最优结果。所以开始设计的时候,就需要删除那些在任何情况下都不达标的参数和交易原则。
思路决定出路,眼界决定格局。作为一名程序化交易者仅靠自己掌握的模型编写平台基本语法和函数是远远不够的。
想成为一个具有实战的交易模型。设计思想是必不可少的,非常重要的。交易理念,交易思路,交易方法,甚至交易经验在内的一种积累与沉淀。
系统模型,设计思路实际上应与投资者交易风格,喜好时间密切相关。可以分别是趋势跟踪,震荡交易,套利交易。最近也出现了基于基本面分析的模型。还有人工智能的神经网络遗传算法模型。
普通投资者如果设计交易模型。应该仍是按照趋势跟踪。
包括入市设计,离市设计。
入市设计包括通到突破,均线突破,指标突破,形态突破。波动性突破时间价格突突破。
离市设计包括止损止盈,时间清仓。
发布于2021-3-26 14:36 宁波