程式
R:使用路徑依賴進行回測
我在 R 中有一個歷史PMwR交易日誌(每個開/平倉位都有一個)。
我希望回測交易規模算法,計算的輸入之一是在每次開倉執行之前投資組合的當日總價值。
我更願意在 PMwR 中執行此操作。
從文件中,我看不到如何訪問總投資組合價值(或相關的“路徑相關”數字,例如回測中的“現金頭寸”、“當天”。這是在框架內可用,還是我需要通過一些顯式循環在全域外部維護損益等?
有沒有人有一個使用 PMwR 回測交易規模的例子,在這種情況下,交易前的投資組合總價值、每種工具的目前持有量等是規模算法的輸入?
我也對非 PMwR 解決方案持開放態度,但我欣賞它的清晰和優雅,如果可能的話,我更願意留在其中。
它在
PMwR
手冊中有所描述。一個例子:我編了一個簡單的價格序列。
library("PMwR") prices <- 1:5
該
signal
函式指示算法在每個時間戳購買一個隨機數量。並且signal
還列印總財富、現金和頭寸的目前值。signal <- function() { cat("Time", Time(), "\n") cat("Total portfolio value", round(Wealth(), 2), " cash", round(Cash(), 2), "\n") cat("Position ", round(Portfolio(), 3), "\n\n") runif(1) ## a random position }
來電
btest
:bt <- btest(prices, signal, initial.cash = 100) ## Time 1 ## Total portfolio value 100 cash 100 ## Position 0 ## ## Time 2 ## Total portfolio value 100 cash 99.65 ## Position 0.173 ## ## Time 3 ## Total portfolio value 100.17 cash 98.4 ## Position 0.59 ## ## Time 4 ## Total portfolio value 100.76 cash 99.34 ## Position 0.355 position(bt) ## [,1] ## [1,] 0.0000000 ## [2,] 0.1725948 ## [3,] 0.5902009 ## [4,] 0.3549475 ## [5,] 0.7121020