Backtrader 教程:策略 - 參考

  |  

內置策略的參考

MA_CrossOver

別名:

* SMA_CrossOver

這是一個多頭策略,在移動平均線交叉上運行

筆記:

* Although the default

購買邏輯:

* No position is open on the data

* The `fast` moving averagecrosses over the `slow` strategy to the
  upside.

賣出邏輯:

* A position exists on the data

* The `fast` moving average crosses over the `slow` strategy to the
  downside

訂單執行類型:

* Market

線路

* datetime

參數:

* fast (10)

* slow (30)

* _movav (<class ‘backtrader.indicators.sma.SMA’>)

信號策略

Strategy的這個子類旨在使用信號自動操作。

信號通常是指標和預期的輸出值:

  • > 0long指示

  • < 0是一個short的指示

信號有 5 種類型,分為 2 組。

主組

  • LONGSHORT : 從這個信號中獲取longshort指示

  • LONG

    • long跡像被認為是長期的
    • short跡像被用來關閉多頭頭寸。但:

    • 如果系統中有LONGEXIT (見下文)信號,它將用於退出長期

    • 如果SHORT信號可用且沒有LONGEXIT可用,它將用於在打開short之前關閉long

  • SHORT

    • short跡像被視為做空
    • long跡像被用來關閉空頭頭寸。但:

    • 如果系統中有SHORTEXIT (見下文)信號,它將用於退出短路

    • 如果一個LONG信號可用並且沒有SHORTEXIT可用,它將用於在打開一個long之前關閉一個short

退出組

這 2 個信號旨在超越其他信號,並為退出long / short頭寸提供標準

  • LONGEXIT : 採取short指示退出long頭寸

  • SHORTEXIT : long跡象表明退出short頭寸

下單

訂單執行類型為Market ,有效期為None (取消前有效)

參數:

  • signals (默認值: [] ):列表/元組的列表/元組,允許實例化信號並分配給正確的類型

    該參數預計通過cerebro .add_signal管理

  • _accumulate (default: False ): 允許進入市場(多頭/空頭),即使已經在市場上

  • _concurrent (default: False ): 即使訂單已經等待執行,也允許發出訂單

  • _data (默認值: None ):如果系統中存在多個作為訂單目標的數據。這可以是

    • None :將使用系統中的第一個數據

    • 一個int :表示在那個位置插入的數據

    • An str :創建數據時賦予數據的名稱(參數name )或使用 cerebro .adddata cerebro .adddata(..., name=)添加 cerebro

    • 一個data實例

線路

* datetime

參數:

* signals ([])

* _accumulate (False)

* _concurrent (False)

* _data (None)

推薦閱讀

相關文章

Backtrader 教程:訂單 - OCO

版本1.9.34.116將OCO (又名 One Cancel Others)添加到回測庫中。筆記這僅在回測中實現,還沒有針對實時經紀人的實現筆記更新為1.9.36.116版本。盈透證券支持StopTrail 、 StopTrailLimit和OCO 。

Backtrader分數大小

首先,讓我們用兩行總結反向交易方法的工作原理:它就像一個帶有基本構建塊 ( Cerebro ) 的建築套件,可以插入許多不同的部件基本分佈包含許多部分,如指標、分析器、觀察器、 Sizer 、過濾器、數據饋送、經紀人、佣金/資產信息方案,...

Backtrader股票篩選

在尋找其他一些東西時,我在StackOverlow家族網站之一上遇到了一個問題:Quantitative Finance aka Quant StackExchange。問題: 它被標記為Python,因此值得一看的是 backtrader 是否能夠勝任這項任務。 分析儀本身 該問題似乎適合用於簡單的分析器。

Backtrader教程:數據饋送 - 展期交割

並非每個供應商都為可以交易的工具提供連續的未來。有時提供的數據是仍然有效的到期日期的數據,即:仍在交易的日期 這在回溯測試方面並不是很有幫助,因為數據分散在幾個不同的儀器上,這些儀器另外...時間重疊。 能夠正確地將這些儀器的數據從過去連接到連續的流中,可以減輕疼痛。

Backtrader數據多時間幀

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

Backtrader教程:繪圖 - 日期範圍

該版本1.9.31.x 增加了製作部分繪圖的功能。 使用策略實例中保存的完整時間戳陣列的索引 或者使用實際datetime.date 或 datetime.datetime 實例來限制必須繪製的內容。 一切都超過標準cerebro.plot。

Backtrader教程:數據饋送 - 熊貓

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

Backtrader現實咬合

上一篇文章設法複製了該BTFD 策略,發現真正的收益 16x 而不是 31x。 但正如複製期間所指出的: 不收取傭金 使用2x 槓桿不收取利息 這就提出了一個顯而易見的問題: 當收取傭金和利息時,這16x中有多少會存在? 幸運的是,前面的示例足夠靈活,可以對其進行試驗。

Backtrader信貸利息

在某些情況下,真實經紀人的現金金額可能會減少,因為資產操作包括利率。例子: 賣空股票 交易所買賣基金包括多頭和空頭 這意味著不僅交易構成了系統的盈利能力,因為信貸上的利息在帳戶上佔有一席之地。 為了涵蓋這種情況, backtrader 包括(從發佈1.8.8.96開始)功能來考慮這一點。

Backtrader熊貓數據饋送

在一些小的增強功能和一些OrderDict調整中,以獲得更好的Python 2.6支援, backtrader 的最新版本增加了對分析Pandas Dataframe或Time Series數據的支援。