色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Lean:一款非常強大的開源量化交易平臺

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-31 10:32 ? 次閱讀

Lean 是 QuantConnect 開源的一款非常強大的開源量化交易平臺,可以回測或運行Python或者C#寫的策略,并在代碼倉庫中內置了上百個C#和Python的策略算法

這個開源的算法交易引擎,專為讓用戶方便輕松地進行策略研究、回測和實時交易而構建。它集成了常見的數據提供商和券商,因此還可以快速部署算法交易策略。

圖片

LEAN Engine 的核心是用 C# 編寫的;但它可以在 Linux、Mac 和 Windows 操作系統上無縫運行。它支持用 Python 3.6+ 或 C# 編寫的算法。

引擎分為許多模塊化部分,可以在不接觸其他文件的情況下對某個模塊進行擴展。

最重要的幾個模塊是:

  • 結果處理 (IResultHandler)處理來自算法交易引擎的所有消息。決定應該發送什么,以及消息應該去哪里。結果處理系統可以將消息發送到本地 GUI 或 Web 界面。
  • 數據源 (IDataFeed)連接并下載算法交易引擎所需的數據。從磁盤文件中讀取文件進行回測;實時交易則連接到一個流并生成數據對象。
  • 事務處理 (ITransactionHandler)處理新的訂單請求;要么使用算法提供的模擬模型,要么使用實際券商。
  • 實時事件管理 (IRealtimeHandler)生成實時事件 - 例如一天結束的事件。觸發對實時事件處理程序的回調。
  • 算法狀態設置 (ISetupHandler)配置算法資金、投資組合和請求的數據。初始化所需的所有狀態參數

這些都可以從 Launcher 項目中的 config.json 文件進行配置。

1.Leon 安裝教程

由于Leon是基于C#開發的,因此我推薦使用 Visual Studio 進行開發。

1、克隆項目。從 https://github.com/QuantConnect/Lean 克隆項目到本地(如果你網絡不通可在公眾號后臺回復 **Lean **下載)。

2、使用 Visual Studio 打開項目中的 QuantConnect.Lean.sln

圖片

圖片

3、點擊 生成 - 生成解決方案

圖片

4、點擊 F5 則可以運行程序。

如果你在生成解決方案的過程中遇到了類似于如下的錯誤:

圖片

請在工具 - NuGet包管理器 - 程序包管理器設置 中 添加如下的源, 名字任取,鏈接對了就行: https://api.nuget.org/v3/index.json

圖片

2.回測 Lean 內置的C#策略

Lean 中比較有意思的一點是,其所有C#策略算法都位于 QuantConnect.Algorithm.CSharp 中,所有的Python策略算法都位于 QuantConnect.Algorithm.Python 中:

圖片

如果你想回測C#的策略,你只需要修改 QuantConnect.Lean.Launcher 中的 config.json,將 QuantConnect.Algorithm.CSharp 中對應策略名稱,修改到 algorithm-type-name 字段對應的值中,如圖所示:

圖片

然后按 F5 運行程序,回測開始,此時會彈出一個cmd窗口,里面有本次回測的統計數據:

圖片

3. 回測 Lean 內置的 Python策略

如果你想要回測內置的Python策略,我們需要先指定Lean使用的Python環境位置:

1.打開系統變量(我的電腦-右鍵屬性-高級系統設置->環境變量->系統變量)

2.點擊新建變量,name為 PYTHONNET_PYDLL;value則為你的Python環境的dll文件所在文件夾,如我的為 G:Anaconda3python36.dll

3.在此Python環境中安裝Lean的依賴:

pip install pandas
pip install wrapt==1.11.2

然后在項目的 config.json 中需要多改幾個配置:

圖片

然后按F5進行回測,效果如下:

圖片

這些統計指標令人眼花繚亂,對于股票的回測我們只要重點關注這些即可:

  • Total Trades: 總交易量
  • Average Win: 平均盈利率
  • Average Loss: 平均虧損率
  • Compounding Annual Return: 復合年回報率
  • Drawdown: 最大回撤率
  • Expectancy: 期望值
  • Net Profit: 凈利潤
  • Sharpe Ratio: 夏普比率
  • Probabilistic Sharpe Ratio: 概率性夏普比率
  • Loss Rate: 失敗率
  • Win Rate: 勝率
  • Profit-Loss Ratio: 盈虧比
  • Alpha: Alpha值
  • Beta: Beta值
  • Total Fees: 總手續費

其他的,按需關注即可。

4. Lean 策略是怎么寫的?

開始之前,讓我們先學習下 Lean 內置策略的寫法:

上滑查看更多代碼

from AlgorithmImports import *


class MACDTrendAlgorithm(QCAlgorithm):

def Initialize(self):
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''

self.SetStartDate(2004,1,1)#Set Start Date
self.SetEndDate(2015,1,1)#Set End Date
self.SetCash(100000)#Set Strategy Cash
# Find more symbols here: http://quantconnect.com/data
self.AddEquity("SPY", Resolution.Daily)

# define our daily macd(12,26) with a 9 day signal
self.__macd =self.MACD("SPY",12,26,9, MovingAverageType.Exponential, Resolution.Daily)
self.__previous = datetime.min
self.PlotIndicator("MACD", True,self.__macd,self.__macd.Signal)
self.PlotIndicator("SPY",self.__macd.Fast,self.__macd.Slow)


def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.'''
# wait for our macd to fully initialize
if not self.__macd.IsReady: return

# only once per day
if self.__previous.date() ==self.Time.date():return

# define a small tolerance on our checks to avoid bouncing
tolerance =0.0025

holdings =self.Portfolio["SPY"].Quantity

signalDeltaPercent = (self.__macd.Current.Value -self.__macd.Signal.Current.Value)/self.__macd.Fast.Current.Value

# if our macd is greater than our signal, then let's go long
if holdings <=0and signalDeltaPercent >tolerance:# 0.01%
# longterm says buy as well
self.SetHoldings("SPY",1.0)

# of our macd is less than our signal, then let's go short
elif holdings >=0 and signalDeltaPercent < -tolerance:
self.Liquidate("SPY")


self.__previous =self.Time

可以看到,其實它和Backtrader的寫法相差無幾,Initialize 函數設置基本的回測參數,如:

  • self.SetStartDate: 回測起始時間
  • self.SetEndDate: 回測結束時間
  • self.setCash: 回測資金
  • self.AddEquity: 回測對象(Resolution.Daily 是指按日回測)
  • self.PlotIndicator: 繪圖時添加指標

而 onData 函數則會在每個數據點上做操作,如果是日線,則每天的數據都會流入到這個函數并運行一遍。因此 onData 就是算法分析的主邏輯。

在這里,你可以檢查需要的指標是否已經準備完畢,因為可能存在一些滯后性指標在回測剛開始的時候并沒有對應的值;此外,在日線的情況下,你還可以檢測上一個數據點是不是和這個點在同一天上,如果是的話則不作任何操作返回:

if not self.__macd.IsReady: return
if self.__previous.date() == self.Time.date(): return

然后就是核心的買入賣出邏輯:

tolerance = 0.0025

holdings = self.Portfolio["SPY"].Quantity

signalDeltaPercent = (self.__macd.Current.Value - self.__macd.Signal.Current.Value)/self.__macd.Fast.Current.Value

# if our macd is greater than our signal, then let's go long
if holdings <= 0 and signalDeltaPercent > tolerance: # 0.01%
    # longterm says buy as well
    self.SetHoldings("SPY", 1.0)

# of our macd is less than our signal, then let's go short
elif holdings >= 0 and signalDeltaPercent < -tolerance:
    self.Liquidate("SPY")
    
self.__previous = self.Time

如果我持倉的股數<=0, 且信號值大于我設定的閾值,則將我 資產的1% 買入這只股票。這里和backtrader最大的不同,買入是以資產的百分比為單位的動態買入。當然,你也可以使用限定數量的買入方式:

self.LimitOrder("IBM", 100, self.Securities["IBM"].Price)

如果持倉股市>=0, 且觸發賣出信號,則進行清倉操作:

elif holdings >= 0 and signalDeltaPercent < -tolerance:
    self.Liquidate("SPY")

如果你不希望全部清倉,也可以使用 SetHoldings 來調整倉位。

可以看到,Lean相對于Backtrader有更靈活的倉位管理方式,甚至能夠進行自動倉位調整、構建投資組合、實時交易等等。而且針對一些比較復雜的策略,你還可以用C#而不是Python來編寫以提高運行速度。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3567

    瀏覽量

    89115
  • 操作系統
    +關注

    關注

    37

    文章

    6889

    瀏覽量

    123595
  • 開源
    +關注

    關注

    3

    文章

    3398

    瀏覽量

    42643
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84945
收藏 人收藏

    評論

    相關推薦

    網領先二手車交易平臺

    網領先二手車交易平臺http://www.1car1.cn/
    發表于 09-17 10:44

    虛擬幣交易平臺開發帶挖礦程序礦機程序app開發

    交易平臺而言,未來或將面臨業務轉型創新,部分平臺也會更多專注區塊鏈技術研究等業務。區塊鏈技術的研究將是些擁有大量中外IT技術人員的中國平臺的關注點之
    發表于 12-11 10:43

    數字資產交易平臺搭建交易所市場

    交易平臺可以為用戶提供更多的服務。它衍生出了系列的模式,更加能夠讓用戶認識到區塊鏈技術的強大。對于目前較為主流的交易平臺模式,主要是場外交易
    發表于 07-20 11:20

    比特幣交易平臺排名情況

    國內比特幣交易平臺哪個好,國內十大比特幣交易平臺排名2017版:搞比特幣,選對平臺是關鍵中的關鍵,平臺的不穩定性是比特幣投資中最大的風險
    發表于 12-16 09:41 ?1.4w次閱讀

    GMQ區塊鏈交易平臺模式開發

    交易平臺體驗,并歡迎廣大用戶給我們提供寶貴的意見與建議。?與傳統數字資產交易平臺相比,GMQ擁有強大的服務體系:()安全、穩定、快捷的交易
    發表于 07-12 17:42 ?622次閱讀

    場外交易平臺搭建|場外交易系統開發

    隨著傳統數字資產交易平臺的落幕,各種新模式的交易平臺迅速崛起,場外交易平臺就是目前種新的交易模式,那么為什么這些新的
    發表于 07-23 16:55 ?474次閱讀

    區塊鏈數字資產交易平臺開發

    /微搜索:138-2886-7935】什么是交易平臺交易平臺也被稱為交易場所,交易平臺是指交易投資者聚集在
    發表于 08-08 12:15 ?358次閱讀

    數字資產交易平臺DIIEX.COM,將顛覆傳統交易平臺幣發行模式

    DIIEX交易所是成立于新加坡的數字資產交易平臺,其團隊擁有多年的金融風控和大型互聯網平臺運營經驗。團隊成員包含幣圈資深投資大佬、華爾街量化交易
    發表于 10-01 09:00 ?2054次閱讀

    幣幣交易平臺開發,場外交易平臺開發--源中瑞技術開發

    ? ? 比特幣的熱潮已經席卷了全球市場,數字資產自身也得到了快速的發展。講到數字資產這塊就不得不說下交易平臺,數字資產的火熱也帶動了交易平臺的發展,近兩年交易平臺數量急劇上升。今天就帶大家了解
    發表于 10-23 09:52 ?707次閱讀

    加密貨幣交易平臺Aphelion介紹

    托管或建設區塊代幣化系統的協議,Aphelion 用戶可以最終消除加密貨幣交易所和交易平臺的阻礙和控制。
    發表于 11-15 14:24 ?2380次閱讀

    數字資產量化交易軟件出售區塊鏈交易平臺開發

    數字資產量化交易軟件出售區塊鏈交易平臺開發 [本文由源中瑞涂先生編輯/量化交易系統開發搜索微信:ruiec999] 眾所周知,當前的數字資產
    發表于 12-28 21:13 ?562次閱讀

    數字貨幣交易平臺LIVECOIN介紹

    Livecoin是個現代化、安全的交易平臺,給自己的客戶提供非常簡單的界面和低廉的交易手續費來加入加密貨幣交換市場的可能。我們自己的API易于使用,并提供視頻教程。我們的支持服務以俄
    發表于 01-09 11:33 ?2659次閱讀
    數字貨幣<b class='flag-5'>交易平臺</b>LIVECOIN介紹

    數字資產量化交易軟件開發幣幣交易平臺開發

    數字資產量化交易軟件開發幣幣交易平臺開發[本文由源中瑞涂先生編輯/量化交易軟件開發搜索微信:ruiec999]眾所周知,在數字資產投資的世界
    發表于 01-30 18:39 ?347次閱讀

    基于個共享的數字貨幣交易平臺Kitchan網絡介紹

    Kitchan網絡是個共享數字貨幣交易平臺。提供各種投資工具,包括現貨交易、保證金交易和融資交易,以及圖形化編程工具和
    發表于 06-19 11:44 ?932次閱讀

    區塊鏈交易平臺是如何盈利的

    交易平臺,顧名思義就是用來交易平臺,而區塊鏈交易平臺自然就是用來交易加密資產的平臺,會提供行情
    發表于 11-06 11:37 ?5363次閱讀
    主站蜘蛛池模板: 亚洲免费福利在线视频 | 国产精品亚洲第一区二区三区 | 亚洲在线视频自拍精品 | xxxx88| 国产亚洲欧美在线中文BT天堂网 | 老头操美女 | 色综合久久88色综合天天提莫 | 久久福利影院 | 麻豆AV无码精品一区二区 | 久久精品亚洲热综合一本 | 伦理片 a在线线版韩国 | 午夜电影三级还珠格格 | 野花韩国免费高清电影 | 手机毛片在线 | 欧美精品做人一级爱免费 | 成人性生交片无码免费看 | 午夜阳光影院在线观看视频 | 啦啦啦 中文 日本 韩国 免费 | 国产AV亚洲精品久久久久 | 世界上第一个得抑郁症的人是谁 | 欧美最猛性XXX孕妇 欧美最猛性xxxxx亚洲精品 | 国产无遮挡色视频免费观看性色 | 美女逼逼毛茸茸 | 97在线播放 | 国拍自产精品福利区 | 色婷婷我要去我去也 | 久久国产av偷拍在线 | 99re久久热最新地址一 | 亚洲AV精品乱码专区 | 乌克兰10一12x video | 视频一区国产精戏刘婷30 | 动漫美女被爆挤奶歪歪漫画 | 亚洲三级大片 | 麻豆精品一卡2卡三卡4卡免费观看 | 亚洲国产成人久久精品影视 | 亚洲热在线视频 | 午夜福利视频极品国产83 | 免费看欧美一级特黄a大片 免费看欧美xxx片 | 久久精品久久精品 | 337p啪啪人体大胆 | 国产亚洲AV无码成人网站 |