第7章 用Python构建交易系统

在本书的前几章,我们学习了如何通过分析历史数据来创建交易策略。在本章中,将学习如何将数据分析转化为实时软件,并连接到真实的交易所中,来实际应用之前学习的理论。

根据前几章创建的算法来描述支持交易策略的功能组件。我们将使用Python来构建一个小型的交易系统,并使用算法建立一个能够进行交易的交易系统。

本章将介绍以下主题。

 了解交易系统。

 构建交易系统。

 设计限价订单簿。

交易系统将帮助你实现交易策略的自动化。当你选择建立这种软件时,需要考虑到以下几点。

 资产类别:在编写代码时,知道哪种资产类别将用于你的交易系统,这需要修改这个软件的数据结构。每个资产类别都是与众不同的,有其自身的特征。美国股票主要在两个交易所(纽约证券交易所和纳斯达克交易所)交易。在这两个交易所上市的公司(股票代码)大约有6000家。与股票不同,外汇(Foreign Exchange,FX)有6个主要货币对,6个次要货币对,还有6个比较特殊的货币对。我们可以增加更多的货币对,但不会超过100个。然而,将有数百个市场参与者(银行、经纪商)。

 交易策略类型(高频,长期头寸):根据策略的类型,软件架构的设计将受到影响。高频交易策略需要非常快速地发送订单。一个美国股票的常规交易系统会在微秒级内决定发送订单。芝加哥商品交易所(Chicago Mercantile Exchange,CME)的交易系统可在纳秒级内工作。基于这一情况,在设计软件时,技术将是关键。如果只参考编程语言,Python不适应速度,我们会优先选择C++或Java。如果我们想做长期头寸(比如很多天),那么让交易者比别人更快地获得流动性的速度就不重要了。像Python这样的编程语言就能足够快地达到目标了。 ...

Get Python算法交易实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.