量化交易离不开数据分析,而Python有很多以数据分析和处理为主的第三方库,如talib、pandas、numpy和matplotlib,因此Python成为量化交易策略开发的首选编程语言。从数据获取到策略回测,再到实盘交易,Python可以覆盖整个量化交易应用链。
完整的量化交易流程包括获取数据、分析数据、处理数据、下单交易等步骤。在数据分析方面,Python既精于计算,又能保持较好的性能,尤其在时间序列数据(K线数据)处理方面,Python有更加简洁、高效的优势。
与其他编程语言相比,Python的语法更简单,不需要大量的计算机系统理论知识,学习曲线比较平缓,即使是非专业的初学者,也可以轻松掌握。此外,Python代码与英语区别不大,具有极高的可读性。
Python在量化交易领域是一门比较全面且平衡的编程语言,既可以提高量化交易策略程序运行时的性能,又可以轻松完成各种复杂的数学运算、建模分析、统计分析、机器学习等数据处理任务,并且有众多的工具库(包)支持,可以满足量化交易策略开发过程中的各种需求。
市面上的大部分量化交易平台都支持Python编程语言,在这些量化交易平台上编写的策略很容易学习、研究、迁移、二次开发。
在量化交易领域,Python的特点可以归纳如下:
● 语法简单,不需要考虑计算机底层细节问题,初学者更容易入门。
● 生态丰富,大量成熟的第三方库,具有无与伦比的便利性。
● 应用广泛,大部分量化交易平台支持Python编程语言,方便学习、研究、迁移、二次开发。
● 在跨平台、多线程、数据库等方面都有很好的支持。
● 扩展性强,代码通俗易懂,易于维护。
● 学习资料十分丰富,有众多活跃的社区可以进行学习、讨论、研究。
Python分为Python 2和Python 3两个版本,并且这两个版本不兼容,如果同时安装了Python 2和Python 3,则可以通过在策略中编写“#!python3”或“#!python2”设置当前使用的Python版本。由于Python官方宣布2020年1月1日停止对Python 2的更新,因此本书代码以Python 3为主。
注意:如果不在代码中指定Python版本,则默认使用Python 3执行策略代码。