量化交易并非机构交易者的专属,散户交易者也开始涉足其中。虽然编写算法需要一定的编程技能,但这并非总是必需的。市面上有很多程序和服务可以根据你提供的输入自动生成策略代码。程序/服务生成的代码随后会被导入交易平台,交易即可开始。但在这一切发生之前,有志成为算法交易员的人需要经过几个步骤,明确他们希望通过算法实现的目标以及如何实现这些目标。
时间框架和限制
虽然精心编写的算法可以自主运行,但建议进行一些人工监督。因此,请选择一个您能够监控的时间框架和交易频率。如果您有一份全职工作,而您的算法被编程为在您上班期间每天在1分钟图表上进行数百笔交易,这可能并不理想。您不妨选择稍长一些的交易时间框架和较低的交易频率,以便更好地掌控交易情况。
算法在测试阶段的盈利并不意味着它会永远持续带来这样的收益。如果结果显示算法不再有效,您有时需要介入并调整交易算法。这也是任何从事算法交易的人都必须接受的时间投入。
资金限制也是一个需要考虑的问题。高频交易策略的佣金累积速度非常快,因此务必选择费用最低的经纪商,并确保每笔交易的潜在利润足以支付这些佣金,即使一天可能要进行多次交易。启动资金也是一个需要考虑的因素。不同的市场和金融产品所需的资金量也不同。如果进行股票日内交易,您至少需要 25,000 美元(建议更多),但如果是外汇或期货交易,您可能可以用更少的资金起步。
市场限制是另一个问题。并非所有市场都适合算法交易。选择股票、ETF、外汇货币对或期货时,应确保其流动性充足,足以处理算法生成的订单。
制定或完善策略
一旦明确了资金和时间限制,就可以着手制定或完善可编程的交易策略。你可能已经有了手动交易策略,但它容易编程实现吗?如果你的策略高度主观,且缺乏规则基础,那么编程实现该策略几乎是不可能的。基于规则的策略最容易编程实现——这类策略的入场点、止损点和目标价格都基于可量化的数据或价格走势。
由于基于规则的策略易于复制和测试,如果您没有自己的想法,可以免费获取大量现成的策略。Quantpedia 就是这样一个资源,它提供各种量化交易方法的学术论文和交易结果。您可以编写这些规则,然后利用历史数据和当前数据测试其盈利能力。编写算法需要编程技能,或者需要使用相关软件,或者需要有人帮您编写代码。
测试交易算法
最重要的步骤是测试。交易策略编写完成后,在进行测试之前,切勿使用真实资金进行交易。测试包括让算法在历史价格数据上运行,以展示其在数千笔交易中的表现。如果历史测试阶段盈利,并且生成的统计数据(例如最大回撤、胜率、破产风险等)在您的风险承受范围内,则可以继续在模拟账户上进行真实交易测试。同样,此阶段应进行数百笔交易,以便您评估算法的性能。
如果该算法在历史价格数据和真实模拟账户交易中盈利,那么在进行真实资金交易时,务必密切关注。真实市场环境与历史数据或模拟账户测试截然不同,因为算法的指令会实际影响市场,并可能导致滑点。在验证该算法在真实市场中也能像测试中一样有效之前,务必保持警惕。
持续维护
只要算法在测试期间设定的统计参数范围内运行,就不要随意调整它。算法的优势在于能够不受情绪影响地进行交易,但交易者如果不断修改算法,就会抵消这一优势。不过,算法确实需要关注。要监控其运行情况,如果市场状况发生重大变化,导致算法无法正常工作,则可能需要进行调整。
归纳总结
算法交易并非一劳永逸、一夜暴富的捷径。事实上,量化交易与手动交易一样耗费精力。如果您选择创建算法,务必注意时间、资金和市场限制可能对您的策略产生的影响,并据此制定相应的计划。您可以将现有策略转化为更易于编程的规则型策略,或者选择一种已经过测试和研究的量化方法。然后,使用历史数据和当前数据进行您自己的测试。如果测试结果良好,则可以在严密监控下使用真实资金运行算法。如有必要,进行调整,否则就让算法自行运行。