用 Python 在 QuantConnect 中實現基本交易演算法是比較容易的,我們要做的是遵循一定的模板格式,關注於交易演算法本身,其他的事情 QuantConnect 的 LEAN 引擎會為我們管理好。下面是在 QuantConnect 中實現一個交易演算法的基本模板:
class BasicTemplateAlgorithm(QCAlgorithm):
"""交易演算法繼承自 QCAlgorithm 類。"""
def Initialize(self):
"""在此函式中初始化資料、資金、交易時間和交易頻率等相關資訊。"""
pass
def OnData(self, data):
"""交易演算法的主要入口。可以在其中完成你的交易演算法。
data: 一個 Slice 物件,其每一個鍵對應此鍵表示的股票資料。
"""
從以上模板可以看出,你的演算法一般是繼承自 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 等其他方法。
用 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 等其他方法。