📜  开始使用Python进行自动交易

📅  最后修改于: 2021-10-19 08:30:44             🧑  作者: Mango

自动交易是给通过计算机处理和执行的交易进入和退出的术语。自动交易具有一定的优势:

  1. 最大限度地减少人为干预:自动交易系统消除了交易过程中的情绪。通过控制情绪,交易者通常可以更轻松地坚持策略。

  2. 历史数据回测:回测允许交易者在历史数据(前一周/月/年数据)上使用他们的策略。这有助于他们了解他们的策略对实时数据的影响,并帮助他们确定交易赢或输的可能性。

  3. 在波动的市场中保持纪律:当市场波动时,交易者会跳过交易规则。这导致了市场的无纪律。当交易者屈服于人类的贪婪或恐惧情绪时,纪律就会丧失。自动交易可以避免此类参数。自动交易有助于确保一致性的维护,确保策略的执行遵循规则。

  4. 提高订单输入速度:由于计算机可以即时响应不断变化的市场条件,因此只要满足交易要求,自动化系统就可以生成订单。

Python在量化金融领域广受欢迎,因为它能够轻松构建复杂的统计模型。这是因为 Pandas、NumPy、Matplotlib、PyAlgoTrade、Pybacktest 等科学库。

自动交易所需的组件

  1. Anaconda:设置Python 的第一步是下载 Anaconda。 Anaconda 是一个可靠的Python发行版,它包含执行Python代码所需的所有工具和库。

  2. Spyder IDE:IDE 代表集成开发环境。它提供了一个接口来编写、调试、编译和执行Python代码。

  3. Jupyter Notebook:Jupyter Notebook 是一个交互式平台,用于理解代码片段。 Jupyter Notebook 主要使用“降价”单元格来解释代码,使用“代码”单元格来执行代码。它对于试图理解代码片段工作的学习者非常有用。

注意: Spyder IDE 用于运行和执行大型项目,而 Jupyter Notebook 用于执行小代码块。

了解Python与量化交易相关的流行软件包/库

Python有一个庞大的库集合,可用于不同的功能,例如编程、机器学习、可视化等。然而,在真正开始使用Python,我们将讨论编码交易策略所需的最重要的库。

我们将需要导入财务数据、进行数值评估、构建交易策略、绘制图表并进行数据回溯测试。下面列出了所需的库:

  1. NumPy:NumPy 缩写为 NumericalPy,用于数据的数值分析。

  2. Pandas:Pandas 广泛用于处理表格格式(即行和列)的数据,例如电子表格。它可用于在Python代码中导入Excel和CSV文件。

  3. Matplotlib:该库包含用于绘制 2D 图形的函数。

  4. TA-Lib:TA-Lib 广泛用于对布林带、RSI(相对强度指标)、VWAP(成交量加权平均)、MA(移动平均)等数据进行技术分析。

  5. Zipline:一个支持回溯测试和实时交易的事件驱动系统。

在开始使用Python构建您自己的策略之前,您需要了解这些基本概念。

参考:

  1. https://numpy.org/
  2. https://matplotlib.org/
  3. https://pandas.pydata.org/
  4. https://www.zipline.io/
  5. https://github.com/mrjbq7/ta-lib