Backtrader教程:經紀商

  |  

    經紀商模擬器

    該類比支援不同的訂單類型,根據當前現金檢查提交的訂單現金需求,跟蹤每次反覆運算的cerebro 現金和價值,並在不同數據上保持當前位置。

    現金在每次反覆運算時進行調整,例如futures

    支援的訂單類型:

    止損限價:如果看到給定的止損價格,則設置一個處於運動狀態的限價訂單

    止損 :如果看到給定的止損價格,則執行市價單

    限價 :如果在會話期間看到給定的限價,則執行

    Close : 用於以交易時段 last 柱的收盤價執行訂單的日內

    市場 : 以下一根柱線的第 1 個價格變動(即 open 價格)執行

    由於代理是由Cerebro 實例化的,並且應該(大多數)沒有理由替換代理,因此參數不是由實例的使用者控制的。要更改此設置,有兩個選項:

    使用set_xxx使用 cerebro.broker.set_xxx設置值,其中 \ xxx' 代表要設置的參數的名稱

    使用所需的參數手動創建此類的實例,並使用 cerebro.broker = 實例將該實例設置為運行執行的代理

    cerebro.broker 是由 getbroker 和 setbroker 方法支持的 Cerebro

    參數:

  • cash (預設值: 10000):起始現金

  • commission (預設值: CommInfoBase(percabs=True))適用於所有資產的基本傭金計劃

  • checksubmit (預設值: True)在接受訂單進入系統之前檢查保證金/現金

  • eosbar (預設值: False):對於日內柱,將與會話結束相同的 time 柱視為會話結束。通常情況並非如此,因為某些柱(最終拍賣)是由許多交易所在會議結束后的幾分鐘內為許多產品製作的。

  • eosbar (預設值: False):對於日內柱,將與會話結束相同的 time 柱視為會話結束。通常情況並非如此,因為某些柱(最終拍賣)是由許多交易所在會議結束后的幾分鐘內為許多產品製作的。

  • filler (預設值: None

    帶有簽名的可呼叫:callable(order, price, ago)

    • order:顯然是執行中的訂單。這提供了對數據(以及ohlc和 volume 值),執行類型,剩餘大小(order.executed.remsize)等的訪問。

      請查看文檔和參考,Order 了解實例中 Order 可用的內容

    • price 訂單將在柱中 ago 執行的價格

    • ago:用於提取 ohlc 和volume價格的指數order.data。在大多數情況下,這將是0,但在訂單的Close角落情況下,這將是 -1

      為了獲得柱 volume (例如)做:volume = order.data.voluume[ago]

    可呼叫物件必須返回執行的大小(值 >= 0)

    可調用的當然可以是與__call__ 上述簽名匹配的物件

    使用默認None 訂單將在一次射擊中完全執行

  • slip_perc (預設值: 0.0)絕對期限(和正)中應該用於為買入/賣出訂單上/下滑價格的百分比

    注意:

    • 0.011%

    • 0.0010.1%

  • slip_fixed (預設值: 0.0)應該用於買入/賣出訂單價格上漲/下跌的單位百分比(和正數)

    注意:如果slip_perc 為非零,則優先於此。

  • slip_open (預設值: False)是否為訂單執行而滑走價格,該訂單將專門使用下一根柱線的開盤價。一個例子 Market 是使用下一個可用價格變動執行的訂單,即:柱的開盤價。

    這也適用於其他一些執行,因為邏輯會嘗試檢測在移動到新柱時開盤價是否與請求的價格/執行類型匹配。

  • slip_match (預設值: True

    如果True 經紀人將通過限制 high/low 價格的滑點來提供匹配,以防萬一它們被超過。

    如果False 經紀人不會將訂單與當前價格匹配,並將在下一次反覆運算中嘗試執行

  • slip_limit (預設值: True

    Limit 給定所請求的完全匹配價格,訂單也將匹配,即使 slip_matchFalse

    此選項控制該行為。

    如果True,則Limit訂單將通過將價格上限與 / 價格high/low進行limit匹配

    如果False 和 滑點超過上限,則將沒有匹配

  • slip_out (預設值: False

    即使價格超出 - low 範圍,high也提供滑點。

  • coc (預設值: False

    作弊 -Close 將其設置為True啟用set_coc

    matching a `Market` order to the closing price of the bar in which
    the order was issued. This is actually *cheating*, because the bar
    is *closed* and any order should first be matched against the prices
    in the next bar
    
  • coo (預設值: False

    作弊 -Open將其設置為True啟用set_coo

    matching a `Market` order to the opening price, by for example
    using a timer with `cheat` set to `True`, because such a timer
    gets executed before the broker has evaluated
    
  • int2pnl (預設值: True

    將產生的利息(如果有)分配給減少頭寸(無論是多頭還是空頭)的操作的利潤和損失。在某些情況下,這可能是不希望的,因為不同的策略是相互競爭的,並且利益將在非確定的基礎上分配給其中任何一個。

  • shortcash (預設值: True

    如果 True 則當股票資產做空時,現金將增加,資產的計算價值將為負。

    如果False 現金將被扣除為運營成本,並且計算值將為正,最終金額相同

  • fundstartval (預設值: 100.0

    該參數控制以類似基金的方式衡量業績的起始值,即:可以增加現金和扣除增加股票數量。業績不是用資產凈值來衡量的,而是用基金的價值來衡量的。

  • fundmode (預設值: False

    如果將其設置為Trueanalyzers likeTimeReturn可以根據基金價值而不是總資產凈值自動計算回報

推薦閱讀

相關文章

Backtrader教程:安裝

要求和版本 backtrader 是獨立的,沒有外部依賴關係(除非要繪圖) 基本要求是: Python 2.7 Python 3.2 / 3.3/ 3.4 / 3.5 pypy/pypy3 如果需要繪圖,則其他要求: Matplotlib >= 1.4.

Backtrader標杆

backtrader 包括 2 種不同類型的物件,可幫助進行跟蹤: Observers Analyzers 工單 #89 是關於添加資產基準測試的。明智的是,人們實際上可能有一個策略,即使積極,也低於簡單地跟蹤資產所能提供的策略。

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

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

Backtrader教程:過濾器 - 參考

工作階段篩檢程式 類 backtrader.filters。

Backtrader條形同步

文獻和/或行業中缺乏標準公式不是問題,因為問題實際上可以總結為: 條形同步 工單 #23 提出了一些問題,即是否可以 backtrader 考慮計算 相對體積 指標。 請求者需要將給定時刻的 volume 與前一個交易日的相同時刻進行比較。

Backtrader Python隐藏的细节

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

Backtrader卡爾曼等

注意 對以下指令的支援從提交開始 發佈1.9.30.x 將是包含它的第1個版本 。 backtrader的原始目標之一是成為純python,即:僅使用標準發行版中可用的軟體包。只有一個例外是matplotlib在沒有重新發明輪子的情況下進行繪圖。

Backtrader現實咬合

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

Backtrader教程:指標 - ta-lib

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

Backtrader動量策略

在另一篇偉大的文章中,泰迪·科克(Teddy Koker)再次展示了演算法交易策略的發展之路: 研究優先應用 pandas 回溯測試,然後使用 backtrader 榮譽!!! 該帖子可以在以下位置找到: 泰迪·科克(Teddy Koker)給我留言,問我是否可以評論 backtrader的用法。