﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/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-06-03T16:51:18Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=9601" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/44249/</id>
    <title type="text">Сделано, может кому-нибудь пригодится и кто-нибудь найдёт ошибки. [spoiler] public static decimal Th...</title>
    <published>2018-06-21T21:36:00Z</published>
    <updated>2018-06-21T21:36:00Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.com/users/62269/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Сделано, может кому-нибудь пригодится и кто-нибудь найдёт ошибки.
[spoiler]
public static decimal TheorPrice(OptionTypes optionType, decimal assetPrice, decimal strike, decimal riskFree, double timeToExp, decimal deviation)
{
var sign = optionType == OptionTypes.Call ? 1 : -1;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        var expRate = ExpRate(riskFree, timeToExp);

        var d1 = D1(assetPrice, strike, riskFree, dividend, deviation, timeToExp);
        var d2 = D2(d1, deviation, timeToExp);

        return sign * assetPrice * NormalDistr(sign * d1) - sign * strike * expRate * NormalDistr(sign * d2);
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;[/spoiler]&lt;/p&gt;
&lt;p&gt;Я только не разобрался, почему некоторые греки (например, тета) вычисляются делением на количество дней в году, тогда как другие греки нет?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;На данный момент реализованы только те методы, кто указаны в том классе. Вы можете реализовать самостоятельно необходимые методы. Исходный код доступен на GitHub.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/44247/</id>
    <title type="text">Добрый день Имея формулу [img=107112]1.PNG[/img] и методы StockSharp-master\Algo\Derivatives\Derivat...</title>
    <published>2018-06-21T14:55:39Z</published>
    <updated>2018-06-21T15:13:34Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.com/users/62269/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p&gt;Имея формулу
[img=107112]1.PNG[/img]
и методы StockSharp-master\Algo\Derivatives\DerivativesHelper.cs
подсчитать теоретическую цену возможно.&lt;/p&gt;
&lt;p&gt;Подскажите пожалуйста, подсчёт теоретической цены опциона не был реализован по какой-то причине?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;На данный момент у нас есть расчёты только данных параметров &lt;a href="https://doc.stocksharp.ru/html/063708c5-b6a8-45f6-9ff9-608f89796a88.htm"&gt;https://doc.stocksharp.ru/html/063708c5-b6a8-45f6-9ff9-608f89796a88.htm&lt;/a&gt;&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/62269/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Ок.
Существует способ рассчитать теоретическую цену опциона, имея все входные данные для формулы Блэка — Шоулза, используя S#?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/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.com/users/97869/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p&gt;Данный параметр транслируется из подключения. Если он транслируется вашим подключением, то поле будет заполнено.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/44203/</id>
    <title type="text">Добрый день [spoiler] private static Security CreateStrike(decimal strike, decimal oi, decimal iv, O...</title>
    <published>2018-06-19T20:51:57Z</published>
    <updated>2018-06-19T20:51:57Z</updated>
    <author>
      <name>Дмитрий_</name>
      <uri>https://stocksharp.com/users/62269/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день&lt;/p&gt;
&lt;p Price="lastTrade.Value"&gt;[spoiler]
private static Security CreateStrike(decimal strike, decimal oi, decimal iv, OptionTypes type, DateTime expiryDate, Security asset, decimal? lastTrade)
{
var s = new Security
{
Code = &amp;quot;RI {0} {1}&amp;quot;.Put(type == OptionTypes.Call ? 'C' : 'P', strike),
Strike = strike,
OpenInterest = oi,
ImpliedVolatility = iv,
HistoricalVolatility = iv,
OptionType = type,
ExpiryDate = expiryDate,
Board = ExchangeBoard.Forts,
UnderlyingSecurityId = asset.Id,
LastTrade = lastTrade == null ? null : new Trade ,
Volume = 999,//RandomGen.GetInt(10000),
Type = SecurityTypes.Option,
//TheorPrice = 1212m,
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;		s.BestBid = new Quote(s, s.StepPrice ?? 1m * RandomGen.GetInt(100), s.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Buy);
		s.BestAsk = new Quote(s, s.BestBid.Price.Max(s.StepPrice ?? 1m * RandomGen.GetInt(100)), s.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Sell);

		return s;
	}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;var asset = new Security
{
Id = &amp;quot;RIH5@FORTS&amp;quot;,
PriceStep = 10,
};&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        asset.BestBid = new Quote(asset, asset.StepPrice ?? 1m * RandomGen.GetInt(100), asset.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Buy);
        asset.BestAsk = new Quote(asset, asset.BestBid.Price.Max(asset.StepPrice ?? 1m * RandomGen.GetInt(100)), asset.VolumeStep ?? 1m * RandomGen.GetInt(100), Sides.Sell);

        asset.LastTrade = new Trade
		{
			Security = asset,
			Price = 105000,
		};

		var expiryDate = new DateTime(2014, 09, 15);
		var currDate = new DateTime(2014, 08, 02);

        var securities = new List&amp;lt;Security&amp;gt;
		{
			asset,

			CreateStrike(105000, 10, 60, OptionTypes.Call, expiryDate, asset, 105000),
			CreateStrike(105000, 10, 50, OptionTypes.Put, expiryDate, asset, 105000)
		};

		var dummyProvider = new DummyProvider(securities, new[]
		{
			new Position
			{
				Security = asset,
				//CurrentValue = -100,
			}
		});

        Security blackScholesOption = CreateStrike(105000, 10, 60, OptionTypes.Call, expiryDate, asset, 105000);
        BlackScholes blackScholes = new BlackScholes(blackScholesOption, asset, dummyProvider);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;[/spoiler]&lt;/p&gt;
&lt;p&gt;Значения по грекам получаю успешно. (blackScholes.Delta(new DateTimeOffset(new DateTime(2014, 08, 02))))&lt;/p&gt;
&lt;p&gt;Не могу разобраться как получить TheorPrice. (blackScholes.Option.TheorPrice = null)&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>