基於收益的分析如何計算交易系統的預期收益?
假設您有一個交易系統,它從不持平,而是做多或做空市場。你有四年的表現。在此期間,您的系統更改了 10 次位置。所以你有 10 筆交易來計算預期回報。假設您總是交易相同的手數。在基於交易的分析中,您將根據平均贏額、平均損失額、贏家交易百分比和輸家交易百分比來計算您的預期回報。
假設系統有 5 筆盈利交易和 5 筆虧損交易。平均贏是 100 美元,平均損失是 50 美元。您不需要預期回報公式來確定該系統是否存在積極預期。
Expected Return = (ave win * win percent) - (ave loss * lose percent)
插入我們發現的值:
Expected Return = (100 * .5) - (50 * .5) = 25 (dollars)
好的,精彩。可惜我們只有 10 筆交易。奇怪的是,如果您觀察每日收益與交易收益,您有 1008 個觀察值 (252*4)。基於回報的分析是否以類似於基於交易的分析的方式計算平均每日正回報、平均每日負回報和贏/虧損百分比?這
Expected Return
顯然不是美元價值,而是每日回報價值。因此,例如,您將得到 0.0023423 而不是 25 美元。(注意:0.0023423 在本例中是一個完全虛構的數字)編輯:
對於我們計算回報頻率的問題。讓我們假設交易系統根據目前交易日結束時給出的信號決定明天的倉位。所以我們的系統每天計算它的信號,因此我們理性地只考慮每日回報。
編輯#2:我們的系統每天都會生成一個信號,但在我們的範例中,該信號在 4 年內僅更改了 10 次。信號可以是 1(長)或 -1(短)。如果我們之前是空頭 (-1) 並且信號觸發了多頭 (1) 的變化,我們會將空頭頭寸轉換為多頭頭寸。如果第二天信號觸發多頭,我們將維持目前倉位。
您不能添加退貨。你必須將它們相乘。在上面的範例中,每日回報率為 25%、25% 和 -40%
要計算回報系列的預期回報,只需使用以下公式:return = product(1+return);
在你的例子中,這會產生:return = (1.25 * 1.25 * .6) = .9375
要獲得預期的每日回報,請使用幾何平均值:預期回報 = (1.25 * 1.25 * .6)^(1/3) -1 = -2.13%
基於收益的分析無法計算交易系統的預期收益。它會產生無意義的結果,並且不適合這種特定的計算。
考慮一個遊戲,每次你玩,你兩次贏 25%,輸一次 40%。這個遊戲基本上有三種排列方式。以 R 向量表示:
first <- c(.25, .25, -.4) second <- c(-.4, .25, .25) third <- c(.25, -.4, .25)
這是一個簡單的函式,它單獨獲取每個序列並返回您的 100 個籌碼堆棧中剩下的內容。
game <- function(x){ start <- 100 for(i in 1:NROW(x)) start <- start + start*x[i] return(start) }
自己嘗試一下,您會看到每次結果都是
93.75
. 你每次都輸。如果您以規範方式計算預期回報,您將得到以下結果:Expected Return = (.25 * .33) + (.25 * .33) + (-.40 * .33) = 0.033
對於您無法獲勝的遊戲來說,這是一個積極的價值。如果對返回值求和,您將得到以下結果:
Sum Returns = .25 + .25 + (-.40) = .10
同樣,對於您總是輸的遊戲來說,這是一個積極的價值。
如果您使用原始問題中給出的基於交易的分析來分析您的預期回報,您每次都會得到相同的結果。答案來了
-2.0625
。一個消極的期望會讓你遠離這個遊戲。更新:這個答案是基於你可以添加簡單返回的錯誤假設,當然你只能添加日誌返回。
Simple Returns = 1.25 * 1.25 * .6 = .9375 Log Returns = log(1.25) + log(1.25) + log(.6) = -0.06453852 antilog of sum = exp( -0.06453852) = .9375