← Zurück

Бага в расчете теты и в целом о расчете греков

Уважаемые разработчики!

Нашел багу в расчете теты.

		var theta =
			-(SecurityPriceMode(UnderlyingAsset) * deviation * (decimal)nd1) / (2 * (decimal)timeToExp.Sqrt() * **_dayInYear**) -
			sign * (Option.Strike * RiskFree * (decimal)(expRate * normaldistr.normaldistribution(sign * d2)));

		return TryRound(theta);
	

Т.е. на кол-во дней в году делится только первое слагаемое. Если безрисковую ставку сделать ненулевой тета начинает быть положительной и зашкаливать :) Правильно будет вот так:

		var theta =
			-(SecurityPriceMode(UnderlyingAsset) * deviation * (decimal)nd1) / (2 * (decimal)timeToExp.Sqrt()) -
			sign * (Option.Strike * RiskFree * (decimal)(expRate * normaldistr.normaldistribution(sign * d2)));

		return TryRound(theta / **_dayInYear**);

Ну и переименовать бы ее в _daysInYear.

Теперь в целом о греках. Формулы, которые используются в расчетах применимы только для опционов на АКЦИИ. У нас на бирже только опционы на ФЬЮЧЕРСЫ. На западных биржах есть и те, и другие.

Если НЕ учитывать безрисковую ставку, то для фьючей по этим формулам правильно расчитываются дельта, гамма и вега, что в общем для жизни хватает. Но если учитывать, то все неточно.

War dieses Thema hilfreich?

Thema teilen

Kommentare (8)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov
  1. Я как раз уже не помню, зачем там умножение числителя идет, потому что T-t уже содержит делитель.
  2. Начал смотреть код, понял, что неучитывается факт чуть длинных опционов. Есть брать декадные опционы, то те, что приходятся на майские период, торгуются в днях меньше, чем другие. Получается, и влияение времени на цену идет быстрее, чем для других. Наверное, у авторов БШ биржи работали без праздников😂.
  3. Про отличие опцов на акции не понял.
Den
Den Autor

Михаил Сухов:

  1. Я как раз уже не помню, зачем там умножение числителя идет, потому что T-t уже содержит делитель.
  2. Начал смотреть код, понял, что неучитывается факт чуть длинных опционов. Есть брать декадные опционы, то те, что приходятся на майские период, торгуются в днях меньше, чем другие. Получается, и влияение времени на цену идет быстрее, чем для других. Наверное, у авторов БШ биржи работали без праздников😂.
  3. Про отличие опцов на акции не понял.
  1. Бага какая-то есть. Попробуйте поставить безрисковую ставку 0.08 и посчитать тету.
  2. Фьючерс уже торгуется в контанго к БА на величину стоимости денег. 3а. В опционах на акции контанго вкладывают в стоимость опциона, в опционах на фьючах этого делать не надо. 3б. По причине контанго фьючерса d1, d2 выглядят проще и конечные формулы отличаются слагаемыми.
Mikhail Sukhov
Mikhail Sukhov

Будем фикс в следующей версии. Совместно с этим http://stocksharp.com/forum/3711/Raschiet-Tsieny-optsiona-iesli/

Den
Den Autor

Михаил Сухов: Будем фикс в следующей версии. Совместно с этим http://stocksharp.com/forum/3711/Raschiet-Tsieny-optsiona-iesli/ Если захотите прислать на ревью, с удовольствием погоняю и код посмотрю.

Поняли ли вы разницу между опционами на акции и фьючи?

Mikhail Sukhov
Mikhail Sukhov

Den:

Михаил Сухов: Будем фикс в следующей версии. Совместно с этим http://stocksharp.com/forum/3711/Raschiet-Tsieny-optsiona-iesli/ Если захотите прислать на ревью, с удовольствием погоняю и код посмотрю.

Поняли ли вы разницу между опционами на акции и фьючи?

Она и так понятная, так как формула универсальная (для акций и для фьючей одновременной). Я разобрался с расчетот теты, а именно то, что неправильно было в формуле. Я так понимаю, с другими греками все нормально? Фраза "то все неточно." несколько не понятна. Все - это что?

На верью могу прислать, как и сам юнит тест. Куда слать, на почту по аккаунту?

Den
Den Autor

Михаил Сухов:

Den:

Михаил Сухов: Будем фикс в следующей версии. Совместно с этим http://stocksharp.com/forum/3711/Raschiet-Tsieny-optsiona-iesli/ Если захотите прислать на ревью, с удовольствием погоняю и код посмотрю.

Поняли ли вы разницу между опционами на акции и фьючи?

Она и так понятная, так как формула универсальная (для акций и для фьючей одновременной). Я разобрался с расчетот теты, а именно то, что неправильно было в формуле. Я так понимаю, с другими греками все нормально? Фраза "то все неточно." несколько не понятна. Все - это что?

На верью могу прислать, как и сам юнит тест. Куда слать, на почту по аккаунту?

Да, на почту по аккаунту, плиз. Если хотите, могу к вам по скайпу позвонить и рассказать про неточности.

Mikhail Sukhov
Mikhail Sukhov

Постучался.

Den
Den Autor