Оптимальный размер опционной позиции по Келли: проверяем численно

Автор: Александр Кургузкин (mehanizator).

Ранее я предложил формулу для расчета правильной позиции по опциону, исходя из формулы для критерия Келли. Чтобы не было никаких сомнений, решил проверить формулу для покупки опциона численно.

Код на Java:

public class KellyCheck {

public static final int N = 10000;

public static final int NN = 100;

public static void main(String[] args) {

double p = 0.25;

double m = 1;

double k = (m — p) / (2 * m — p);

System.out.println(String.format(«p = %4.2f m = %5.3f k = %5.3f», p, m, k));

Random random = new Random();

for (double f = 0.025; f < 1; f += 0.025) {

double v = 0;

for (int i = 0; i < N; ++i) {

double equity = 1;

for (int j = 0; j < NN; ++j) {

double position = equity * f / p;

equity -= equity * f;

double res = random.nextDouble() > 0.5 ? 2 * m : 0;

equity += position * res;

}

v += Math.log(equity) / NN;

}

v /= N;

System.out.println(String.format(«f = %5.3f v = %+5.3f», f, v));

}

}

}

Здесь p — рыночная цена опциона, m — цена опциона по модели, k — оптимальный по Келли размер позиции, f — доля капитала под позицию, v — логарифм среднего изменения капитала на сделку. Моделируется игра, в которой с вероятностью в 0.5 опцион истекает в ноль, и с вероятностью 0.5 опцион дает прибыль 2*m.

Для p = 0.25 и m = 1 (модельная оценка опциона в 4 раза выше рыночной цены) получаем по формуле k = 0.43, расчет:

f = 0.275 v = +0.377

f = 0.300 v = +0.387

f = 0.325 v = +0.397

f = 0.350 v = +0.404

f = 0.375 v = +0.407

f = 0.400 v = +0.413

f = 0.425 v = +0.411

f = 0.450 v = +0.413

f = 0.475 v = +0.411

f = 0.500 v = +0.403

f = 0.525 v = +0.400

f = 0.550 v = +0.390

f = 0.575 v = +0.379

Картинка:

Для p = 0.5 и m = 1 (модель в два раза дороже рынка) k = 0.333, расчет:

f = 0.175 v = +0.115

f = 0.200 v = +0.124

f = 0.225 v = +0.131

f = 0.250 v = +0.136

f = 0.275 v = +0.139

f = 0.300 v = +0.142

f = 0.325 v = +0.144

f = 0.350 v = +0.144

f = 0.375 v = +0.142

f = 0.400 v = +0.141

f = 0.425 v = +0.134

f = 0.450 v = +0.127

f = 0.475 v = +0.121

f = 0.500 v = +0.113

Картинка:

Как видно, расчет подтверждает формулу.

Если ввести переменную y = m/p, то есть коэффициент превышения модельной ценой рыночной цены, то формулу для оптимального размера позиции по Келли можно переписать так:

k = (y — 1)/(2*y — 1)

График этой функции выглядит так:

Настоятельно рекомендуется использовать не полный размер позиции по Келли, а умножать его на 0.1-0.5 в зависимости от вашей склонности к риску. Выше полу-Келли нет смысла наращивать размер позиции, поскольку резко возрастающие риски задавят потенциальный дополнительный рост. Лично я обычно использую 0.1-0.25 Келли.

Автор: mehanizator

Комментарии:

serg: цитата : «Настоятельно рекомендуется использовать не полный размер позиции по Келли, а умножать его на 0.3-0.5 в зависимости от вашей склонности к риску.»
или 1*0,3=0,7 позици от Келли ?
Или 1*1,3=1,3 позиции от Келли ?
как правильно ?
Спасибо…

mehanizator: 1*0.3 = 0.3, каким образом у вас получилось 0.7?

serg: конечно 0,3…))

mehanizator: 0.3 позиции от Келли правильно.

serg: спасибо…

Vitas: келли вообще ошибочен, если уж на то пошло 😉
я численными методами нахожу оптимальный f, причем на выборке, по которой произвожу поиск искусственно увеличиваю кол-во плохих рез-ов — эмпирика конечно, но все же лучше чем использовать формулу в ситуации, к которой она не предназначена 😉


Подпишитесь на уведомления о новых постах

И получите доступ к специальным материалам сайта