Backtrader教程:觀察者 - 參考

  |  

基準

backtrader類 .observers.基準()

observer 存儲策略的回報和參考資產的回報,參考資產是傳遞到系統的數據之一。

參數:

  • timeframe (預設值: None)如果 None 屆時將報告整個回溯測試期間的完整回報

  • compression (預設值: None

    僅用於亞日時間幀,例如,通過指定“TimeFrame.Minutes”和 60 作為壓縮來在每小時時間幀上工作

  • data (預設值: None

    要跟蹤的參考資產以允許比較。

    注意:此數據必須已添加到 cerebro 具有 addataresampledatareplaydata實例中。

  • _doprenext (預設值: False

    基準測試將從策略啟動的點開始(即:當達到策略的最小期限時) 進行。

    將此值設置為True將從data feeds的起點開始記錄基準測試值

  • firstopen (預設值: False

    Keepint 它確保False 值和基準之間的1st 比較點從 0% 開始,因為基準不會使用其開盤價。

    TimeReturn有關參數含義的完整說明,請參閱分析儀參考

  • fund (預設值: None

    如果None 經紀人的實際模式(基金模式 - True/False)將被自動檢測,以決定回報是基於總資產凈值還是基於基金價值。請參閱 set_fundmode 代理文檔中的內容

    將其設置為TrueFalse 針對特定行為

請記住,在任何時候,run都可以通過在索引0處按名稱查看lines來檢查當前值。

代理

類別 backtrader.observers.Broker(*args, **kwargs)

observer 追蹤經紀人中的當前現金金額和投資組合價值(包括現金)

參數:無

經紀人 - 現金

backtrader類 .observers.Cash(*args, **kwargs)

observer 跟蹤經紀人中的當前現金金額

參數:無

經紀人 - 價值

backtrader類 .observers.Value(*args, **kwargs)

observer 跟蹤經紀人中的當前投資組合價值,包括現金

參數:

  • fund (預設值: None

    如果None 經紀人的實際模式(基金模式 - True/False)將被自動檢測,以決定回報是基於總資產凈值還是基於基金價值。請參閱 set_fundmode 代理文檔中的內容

    將其設置為TrueFalse 針對特定行為

購買銷售

backtrader類 .observers.BuySell(*args, **kwargs)

observer 跟蹤單個買入/賣出訂單(單個執行),並沿著執行價格水準周圍的數據將它們繪製在圖表上

參數:

* `barplot` (default: `False`) Plot buy signals below the minimum and
  sell signals above the maximum.

  If `False` it will plot on the average price of executions during a
  bar

* `bardist` (default: `0.015` 1.5%) Distance to max/min when
  `barplot` is `True`

撤軍

backtrader類 .observers.回撤()

observer 跟蹤當前回撤水準(繪製)和最大回撤(未繪製)水準

參數:

  • fund (預設值: None

    如果None 經紀人的實際模式(基金模式 - True/False)將被自動檢測,以決定回報是基於總資產凈值還是基於基金價值。請參閱 set_fundmode 代理文檔中的內容

    將其設置為TrueFalse 針對特定行為

時間返回

backtrader類 .observers.時間返回()

observer 存儲策略的回報。

參數:

  • timeframe (預設值: None)如果 None 屆時將報告整個回溯測試期間的完整回報

    通過TimeFrame.NoTimeFrame 以考慮整個數據集,沒有時間限制

  • compression (預設值: None

    僅用於亞日時間幀,例如,通過指定“TimeFrame.Minutes”和 60 作為壓縮來在每小時時間幀上工作

  • fund (預設值: None

    如果None 經紀人的實際模式(基金模式 - True/False)將被自動檢測,以決定回報是基於總資產凈值還是基於基金價值。請參閱 set_fundmode 代理文檔中的內容

    將其設置為TrueFalse 針對特定行為

請記住,在任何時候,run都可以通過在索引0處按名稱查看lines來檢查當前值。

行業

backtrader類 .observers.交易()

observer 跟蹤完整交易,並繪製交易平倉時達到的 PnL 水準。

當倉位從 0(或超過 0)到 X 時,交易 open ,然後在返回 0 時平倉(或在相反方向上超過 0)

參數:

* `pnlcomm` (def: `True`)

  Show net/profit and loss, i.e.: after commission. If set to `False`
  if will show the result of trades before commission

日誌返回

backtrader類 .observers.LogReturns()

observer 存儲策略的日誌返回或

參數:

  • timeframe (預設值: None)如果 None 屆時將報告整個回溯測試期間的完整回報

    通過TimeFrame.NoTimeFrame 以考慮整個數據集,沒有時間限制

  • compression (預設值: None

    僅用於亞日時間幀,例如,通過指定“TimeFrame.Minutes”和 60 作為壓縮來在每小時時間幀上工作

  • fund (預設值: None

    如果None 經紀人的實際模式(基金模式 - True/False)將被自動檢測,以決定回報是基於總資產凈值還是基於基金價值。請參閱 set_fundmode 代理文檔中的內容

    將其設置為TrueFalse 針對特定行為

請記住,在run任何時候,都可以通過在索引0處按名稱查看lines來檢查當前值。

LogReturns2

backtrader類 .observers.LogReturns2()

擴展 observer 日誌返回以顯示兩台儀器

基金價值

backtrader類 .observers.FundValue(*args, **kwargs)

observer 跟蹤當前類似基金的價值

參數:無

基金股

backtrader類 .observers.FundShares(*args, **kwargs)

observer 跟蹤當前類似基金的股票

參數:無

推薦閱讀

相關文章

Backtrader向 OHLC 提供買入價/賣出價數據

最近,backtrader通過實現line覆蓋來執行從 ohlc-land 逃逸,這允許重新定義整個層次結構,例如,具有僅具有 bid,ask 和 datetime lines的data feeds。

Backtrader教程:經紀人 - 開倉作弊

“發佈”1.9.44.116 添加了對 Cheat-On-Open的支援。這似乎是那些全力以赴的人的需求功能,他們在酒吧 close 后進行了計算,但希望與 open 價格相匹配。 當開盤價跳空(上漲或下跌,取決於是否buysell有效)並且現金不足以進行全面運營時,這樣的用例就會失敗。這將強制代理拒絕該操作。

Backtrader期貨補償與現貨補償

版本1.9.32.116 增加了對社區中呈現的有趣用例 的支援 以期貨開始交易,包括實物交割 讓一個指標告訴你一些事情 如果需要, close 現貨價格操作,有效地取消實物交割,無論是為了接收貨物還是為了必須交付貨物(並希望獲利)來頭寸。

Backtrader教程:數據饋送 - 擴展 (Extending DataFeed)

GitHub 中的問題實際上是在推動文檔部分的完成,或者説明我瞭解我是否backtrader 具有我從一開始就設想的易用性和靈活性以及在此過程中做出的決定。 在本例中為問題 #9。

Backtrader迪克森移動平均線

下面的reddit帖子以自己的作者Nathan Dickson(reddit句柄)命名了這個平均值Dickson移動平均線。 在一次對reddit Algotrading 的定期訪問中,我發現了一篇關於移動平均線的帖子,該移動平均線試圖模仿Jurik移動平均線(又名JMA)。

Backtrader教程:篩檢程式

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

Backtrader數據多時間幀

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

Backtrader Python隐藏的细节

只有當遇到 backtrader 的真實使用者時,人們才能意識到平臺中使用的抽象和Python功能是否有意義。 在不撇開python的座右銘的情況下, backtrader 試圖為使用者提供盡可能多的控制權,同時通過將Python提供的隱藏功能付諸行動來簡化使用。 第一個示例是系列文章的第一篇。

Backtrader教程:日期時間 - 管理

在 1.5.0 版之前, backtrader 使用直接的方法來進行時間管理,因為數據源計算的任何日期時間都只是按面值使用。 對於任何使用者輸入也是如此,例如可以提供給任何數據源的參數fromdate (或 sessionstart)的情況 考慮到直接控制凍結的數據源以進行回溯測試,這種方法很好。

Backtrader教程:數據饋送 - 熊貓

注意 pandas 並且必須安裝其依賴項 支援Pandas Dataframes似乎受到很多人的關注,他們依賴於已經可用的解析代碼來分析不同的數據源(包括CSV)和Pandas提供的其他功能。 數據饋送的重要聲明。 注意 這些只是 聲明。不要盲目複製此代碼。