Автор: Александр Кургузкин (mehanizator).
Пользуясь данными по склеенному фьючерсу на VIX попробуем построить эквити для стратегии, шортящей VIX-фьючи на k долю портфеля.
Сразу скажу, что коэффициент Келли там порядка 2, но уже даже при k=1 просадка достигает 93%, никто в здравом уме такое торговать не будет, конечно.
Поэтому k поставлен 0.5.
Кусок кода занимающийся построением эквити:
double eq = 1; // начальный капитал
double cm = 0.001; // транзакционные издержки
double pos = 0; // начальная позиция
double k = 0.5; // доля капитала на фьючи
double lastPrice = 0;
double maxDD = 0;
double maxEq = eq;
List<Double> eqs = Lists.newArrayList();
for (Bar b : bars) {
double price = b.getOpen();
double profit = pos * (price — lastPrice);
eq += profit;
double newPos = — eq * k / price;
double commission = Math.abs(newPos — pos) * price * cm;
eq -= commission;
maxDD = Math.min(eq / maxEq — 1, maxDD);
maxEq = Math.max(maxEq, eq);
eqs.add(Math.log(eq));
lastPrice = price;
pos = newPos;
}
log.info(«final equity result: » + eq + «, maxDD: » + maxDD);
Результат:
final equity result: 10.556026009908928, maxDD: -0.6993196540041902
Эквити:
В логарифмической шкале:
При k=0.25 получается:
final equity result: 3.695578133918941, maxDD: -0.42937350341643865
Для сравнения XIV (шортовый ETN на VIX), который по идее должен показывать похожий перфоманс:
По-моему, что-то они не так делают. Либо их убивают расходы на ролл.
Комментарии:
Intro: Это еще фигня, там есть один фонд на нефть, у него ралли нефти крайнее мимо прошло, видимо, тоже весь профит пожрали роллы))) ФСФР на них нету
Timothy Gartner: Код грубоватый у вас — эквити и просадка считаются только от Open — так можно для тиков считать, или там на минутках. На дневках просадка может быть значительно больше
mehanizator: для общей картины нормально. торговать это все равно никто не будет.