﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Как получить TheorPrice по BlackScholes</title>
  <id>~/topic/9601/kak-poluchit-theorprice-po-blackscholes/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-17T06:39:47Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=9601" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/44249/</id>
    <title type="text">Сделано, может кому-нибудь пригодится и кто-нибудь найдёт ошибки. public static decimal TheorPrice(O...</title>
    <published>2018-06-21T21:36:00Z</published>
    <updated>2018-06-21T21:36:00Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Сделано, может кому-нибудь пригодится и кто-нибудь найдёт ошибки.&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_1d2abd70ef78449a861e18e3ada5053c');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_1d2abd70ef78449a861e18e3ada5053c' style='display:none'&gt;&lt;br /&gt;public static decimal TheorPrice(OptionTypes optionType, decimal assetPrice, decimal strike, decimal riskFree, double timeToExp, decimal deviation)&lt;br /&gt;        {&lt;br /&gt;            var sign = optionType == OptionTypes.Call ? 1 : -1;&lt;br /&gt;&lt;br /&gt;            var expRate = ExpRate(riskFree, timeToExp);&lt;br /&gt;&lt;br /&gt;            var d1 = D1(assetPrice, strike, riskFree, dividend, deviation, timeToExp);&lt;br /&gt;            var d2 = D2(d1, deviation, timeToExp);&lt;br /&gt;&lt;br /&gt;            return sign * assetPrice * NormalDistr(sign * d1) - sign * strike * expRate * NormalDistr(sign * d2);&lt;br /&gt;        }&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Я только не разобрался, почему некоторые греки (например, тета) вычисляются делением на количество дней в году, тогда как другие греки нет?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44248/</id>
    <title type="text">На данный момент реализованы только те методы, кто указаны в том классе. Вы можете реализовать самос...</title>
    <published>2018-06-21T19:17:32Z</published>
    <updated>2018-06-21T19:17:32Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">На данный момент реализованы только те методы, кто указаны в том классе. Вы можете реализовать самостоятельно необходимые методы. Исходный код доступен на GitHub.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44247/</id>
    <title type="text">Добрый день Имея формулу 1.PNG и методы StockSharp-master\Algo\Derivatives\DerivativesHelper.cs подс...</title>
    <published>2018-06-21T14:55:39Z</published>
    <updated>2018-06-21T15:13:34Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день&lt;br /&gt;&lt;br /&gt;Имея формулу&lt;br /&gt;&lt;a href='https://stocksharp.ru/file/107112/1.PNG' class='lightview' data-lightview-options="skin: 'mac'" data-lightview-group='mixed'&gt;&lt;img src="https://stocksharp.ru/file/107112/1.PNG?size=800x800" alt="1.PNG" title="1.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;и методы StockSharp-master\Algo\Derivatives\DerivativesHelper.cs&lt;br /&gt;подсчитать теоретическую цену возможно.&lt;br /&gt;&lt;br /&gt;Подскажите пожалуйста, подсчёт теоретической цены опциона не был реализован по какой-то причине?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44230/</id>
    <title type="text">На данный момент у нас есть расчёты только данных параметров https://doc.stocksharp.ru/html/063708c5...</title>
    <published>2018-06-20T16:38:35Z</published>
    <updated>2018-06-20T16:38:35Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">На данный момент у нас есть расчёты только данных параметров &lt;a href="https://doc.stocksharp.ru/html/063708c5-b6a8-45f6-9ff9-608f89796a88.htm" title="https://doc.stocksharp.ru/html/063708c5-b6a8-45f6-9ff9-608f89796a88.htm"&gt;https://doc.stocksharp.r...f6-9ff9-608f89796a88.htm&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44225/</id>
    <title type="text">Ок. Существует способ рассчитать теоретическую цену опциона, имея все входные данные для формулы Блэ...</title>
    <published>2018-06-20T13:34:35Z</published>
    <updated>2018-06-20T13:34:35Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Ок.&lt;br /&gt;Существует способ рассчитать теоретическую цену опциона, имея все входные данные для формулы Блэка — Шоулза, используя S#?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44222/</id>
    <title type="text">Добрый день Данный параметр транслируется из подключения. Если он транслируется вашим подключением, ...</title>
    <published>2018-06-20T12:14:02Z</published>
    <updated>2018-06-20T12:14:02Z</updated>
    <author>
      <name>Support</name>
      <uri>https://stocksharp.ru/users/97869/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день &lt;br /&gt;&lt;br /&gt;Данный параметр транслируется из подключения. Если он транслируется вашим подключением, то поле будет заполнено.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/44203/</id>
    <title type="text">Добрый день private static Security CreateStrike(decimal strike, decimal oi, decimal iv, OptionTypes...</title>
    <published>2018-06-19T20:51:57Z</published>
    <updated>2018-06-19T20:51:57Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.ru/users/62269/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Добрый день&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_651881c84d37434da055393e0304855d');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_651881c84d37434da055393e0304855d' style='display:none'&gt;&lt;br /&gt;private static Security CreateStrike(decimal strike, decimal oi, decimal iv, OptionTypes type, DateTime expiryDate, Security asset, decimal? lastTrade)&lt;br /&gt;		{&lt;br /&gt;			var s = new Security&lt;br /&gt;			{&lt;br /&gt;				Code = &amp;quot;RI {0} {1}&amp;quot;.Put(type == OptionTypes.Call ? &amp;#39;C&amp;#39; : &amp;#39;P&amp;#39;, strike),&lt;br /&gt;				Strike = strike,&lt;br /&gt;				OpenInterest = oi,&lt;br /&gt;				ImpliedVolatility = iv,&lt;br /&gt;				HistoricalVolatility = iv,&lt;br /&gt;				OptionType = type,&lt;br /&gt;				ExpiryDate = expiryDate,&lt;br /&gt;				Board = ExchangeBoard.Forts,&lt;br /&gt;				UnderlyingSecurityId = asset.Id,&lt;br /&gt;				LastTrade = lastTrade == null ? null : new Trade { Price = lastTrade.Value },&lt;br /&gt;				Volume = 999,//RandomGen.GetInt(10000),&lt;br /&gt;				Type = SecurityTypes.Option,&lt;br /&gt;                //TheorPrice = 1212m,&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;			s.BestBid = new Quote(s, s.StepPrice ?? 1m * RandomGen.GetInt(100), s.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Buy);&lt;br /&gt;			s.BestAsk = new Quote(s, s.BestBid.Price.Max(s.StepPrice ?? 1m * RandomGen.GetInt(100)), s.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Sell);&lt;br /&gt;&lt;br /&gt;			return s;&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var asset = new Security&lt;br /&gt;			{&lt;br /&gt;				Id = &amp;quot;RIH5@FORTS&amp;quot;,&lt;br /&gt;				PriceStep = 10,&lt;br /&gt;            };&lt;br /&gt;&lt;br /&gt;            asset.BestBid = new Quote(asset, asset.StepPrice ?? 1m * RandomGen.GetInt(100), asset.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Buy);&lt;br /&gt;            asset.BestAsk = new Quote(asset, asset.BestBid.Price.Max(asset.StepPrice ?? 1m * RandomGen.GetInt(100)), asset.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Sell);&lt;br /&gt;&lt;br /&gt;            asset.LastTrade = new Trade&lt;br /&gt;			{&lt;br /&gt;				Security = asset,&lt;br /&gt;				Price = 105000,&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			var expiryDate = new DateTime(2014, 09, 15);&lt;br /&gt;			var currDate = new DateTime(2014, 08, 02);&lt;br /&gt;&lt;br /&gt;            var securities = new List&amp;lt;Security&amp;gt;&lt;br /&gt;			{&lt;br /&gt;				asset,&lt;br /&gt;&lt;br /&gt;				CreateStrike(105000, 10, 60, OptionTypes.Call, expiryDate, asset, 105000),&lt;br /&gt;				CreateStrike(105000, 10, 50, OptionTypes.Put, expiryDate, asset, 105000)&lt;br /&gt;			};&lt;br /&gt;&lt;br /&gt;			var dummyProvider = new DummyProvider(securities, new[]&lt;br /&gt;			{&lt;br /&gt;				new Position&lt;br /&gt;				{&lt;br /&gt;					Security = asset,&lt;br /&gt;					//CurrentValue = -100,&lt;br /&gt;				}&lt;br /&gt;			});&lt;br /&gt;&lt;br /&gt;            Security blackScholesOption = CreateStrike(105000, 10, 60, OptionTypes.Call, expiryDate, asset, 105000);&lt;br /&gt;            BlackScholes blackScholes = new BlackScholes(blackScholesOption, asset, dummyProvider);&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Значения по грекам получаю успешно. (blackScholes.Delta(new DateTimeOffset(new DateTime(2014, 08, 02))))&lt;br /&gt;&lt;br /&gt;Не могу разобраться как получить TheorPrice. (blackScholes.Option.TheorPrice = null)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>