Backtrader 教程:Cerebro - 例外

  |  

設計目標之一是儘早退出,讓用戶完全了解錯誤發生的情況。目的是強迫自己擁有會因異常而中斷的代碼並強制重新訪問受影響的部分。

但是時機已經成熟,一些例外可能會慢慢添加到平台中。

等級制度

所有異常的基類是BacktraderError (它是Exception的直接子類)

地點

  1. 在可以達到的模塊errors內部,例如:

    import backtrader as bt
    
    class Strategy(bt.Strategy):
    
        def __init__(self):
            if something_goes_wrong():
                raise bt.errors.StrategySkipError
    
  2. 直接來自backtrader ,如:

    import backtrader as bt
    
    class Strategy(bt.Strategy):
    
        def __init__(self):
            if something_goes_wrong():
                raise bt.StrategySkipError
    

例外

StrategySkipError

請求平台跳過此策略進行回測。在實例的初始化 ( __init__ ) 階段引發

推薦閱讀

相關文章

Backtrader規範與非規範

這個問題或多或少地出現了幾次:這樣: backtrader如何最好/規範地實現這一點或那樣? 作為 backtrader 的目標之一,可以靈活地 支援盡可能多的情況和用例,答案很簡單:“至少在幾種方式上”。

Backtrader教程:經紀人 - 體積灌裝 - 灌裝機

backtrader經紀商類比在使用volume執行訂單時具有預設策略: 忽略 volume 這是基於2個前提: 在市場中交易的流動性足以一次性完全吸收買入/賣出訂單 真正的 volume 匹配需要真正的狼 一個簡單的例子是Fill or Kill 訂單。

Backtrader追踪訂單

版本1.9.35.116將StopTrail和StopTrailLimit訂單執行類型添加到回測庫中。筆記這僅在回測中實現,還沒有針對實時經紀人的實現筆記更新為1.9.36.116版本。盈透證券支持StopTrail 、 StopTrailLimit和OCO 。

Backtrader教程:日誌記錄 - 編寫器

將以下內容寫出到流中: csv 流,

Backtrader教程:篩檢程式

此功能是 backtrader 的相對較新的補充,必須安裝到已經存在的內部結構中。這使得它不像希望的那樣靈活且100%功能齊全,但在許多情況下它仍然可以達到目的。 儘管該實現試圖允許隨插即用的篩檢程式連結,但預先存在的內部結構使得很難確保始終可以實現。因此,某些篩選器可能是連結的,而其他一些篩選器可能不是。

Backtrader節省記憶體

1.3.1.92版本已經重新設計並完全實現了以前到位的記憶體節省方案,儘管沒有太多的吹捧和使用。

Backtrader教程:觀察者 - 統計

在內部backtrader 運行的策略主要處理 data feeds 和 指標。 Data feeds 被添加到Cerebro 實例中,並最終成為策略輸入的一部分(解析並用作實例的屬性),而指標則由策略本身聲明和管理。

Backtrader教程:指標 - ta-lib

即使 backtrader 提供了已經 high 數量的內置指標,並且開發指標主要是定義輸入,輸出和以自然的方式編寫公式的問題,有些人也希望使用TA-LIB。

Backtrader開發指標

經過 backtrader 微調(因為它已經運行了一段時間),我決定不僅通過GitHub分享它,還告訴世界它在那裡,並在“Reddit”中發佈它的存在。 在評論了為什麼交易/演算法交易平臺會彈出,以及關於支持許多同時交易的即時交易的平臺的私人問題之後,我得出的結論是,我自己的孩子應該擁有自己的博客。 我們來了。

Backtrader教程:數據饋送 - 多個時間幀

有時投資決策是使用不同的時間框架做出的: 每周評估趨勢 每天執行條目 或者5分鐘對60分鐘。 這意味著需要組合多個時間幀的數據backtrader 來支援這種組合。 對它的本機支持已經內置。