如何使用Python在QuantConnect中实现基本交易算法?

用 Python 在 QuantConnect 中实现基本交易算法是比较容易的,我们要做的是遵循一定的模板格式,关注于交易算法本身,其他的事情 QuantConnect 的 LEAN 引擎会为我们管理好。下面

本文最后更新时间:  2023-01-25 06:34:52

用 Python 在 QuantConnect 中实现基本交易算法是比较容易的,我们要做的是遵循一定的模板格式,关注于交易算法本身,其他的事情 QuantConnect 的 LEAN 引擎会为我们管理好。下面是在 QuantConnect 中实现一个交易算法的基本模板:

class BasicTemplateAlgorithm(QCAlgorithm):

'''交易算法继承自 QCAlgorithm 类。'''

def Initialize(self):

'''在此函数中初始化数据、资金、交易时间和交易频率等相关信息。'''

pass

def OnData(self, data):

'''交易算法的主要入口。可以在其中完成你的交易算法。

data: 一个 Slice 对象,其每一个键对应此键表示的股票数据。

'''

pass

从以上模板可以看出,你的算法一般是继承自 QCAlgorithm 类(或者其子类)的。QCAlgorithm 类提供了一个交易算法的基础结构以及很多辅助的属性和方法。下面是 QCAlgorithm 类提供的与交易相关的一些主要属性和方法:

class QCAlgorithm:

self.Securities # Array of Security objects.

self.Portfolio # Array of SecurityHolding objects

self.Transactions # Transactions helper

self.Schedule # Scheduling helper

self.Notify # Email, SMS helper

self.Universe # Universe helper

# 初始化函数,建立数据、资金、交易时间等信息

def Initialize:

# 其他事件处理函数

def OnData(self, slice):

def OnEndOfDay(self, symbol):

def OnEndOfAlgorithm():

我们在上一个模板交易算法中只实现了 Initialize 和 OnData 方法,这是完成一个交易算法最基本的要素,你还可以根据需要实现 OnEndOfDay,OnEndOfAlgorithm 等其他方法。

使用以上模板,并参考 QuantConnect 的文档和一些交易算法实例,应该不难实现一个基本的交易算法。完成算法后,可以点击 Play 按钮回测一下,看看实际的效果,并根据回测日志有针对性地加以改进。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。