程式

R:使用路徑依賴進行回測

  • November 29, 2018

我在 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

引用自:https://quant.stackexchange.com/questions/42842