﻿<?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">Расчет Цены опциона если...</title>
  <id>~/topic/3711/raschet-tseny-optsiona-esli___/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-06T19:28:08Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3711" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/26141/</id>
    <title type="text">Михаил Сухов: Коллеги, надо наверное сделать статически формулы. Я сам в свое время не допёр до этог...</title>
    <published>2013-05-29T07:45:44Z</published>
    <updated>2013-05-29T07:45:44Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.com/users/6491/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(26135)" rel="nofollow" target="_blank"&gt;Михаил Сухов&lt;/a&gt;:&lt;/strong&gt;
Коллеги, надо наверное сделать статически формулы. Я сам в свое время не допёр до этого, повелся на ООП. К сожалению, ООП и алготрейдиинг идут не в ногу (громко сказано, но реально это так). Уже и сам не раз натыкался на, скажем, ограниченность существующих классов. Подумаю, как лучше сделать.
ООП многогранен, особенно в C#, где он переплетается с событиями, функциональщиной и декларативностью.
(Кстати в StockSharp.Xaml вы смачно WPF изнасиловали. Но это не совсем ваша вина. Там всё очень жёстко. Без поллитры не разберёшься. )
Я продолжаю настаивать, что для алго ООП - это самое то, что доктор прописал.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Места, где ООП не рулит:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;принципиально функциональная логика&lt;/li&gt;
&lt;li&gt;хранение данных&lt;/li&gt;
&lt;li&gt;аспекты&lt;/li&gt;
&lt;li&gt;распределённые транзакции&lt;/li&gt;
&lt;li&gt;межпроцессное/межсерверное взаимодействие
Последние два случая немного (но не до конца) лечит WCF.
Косяки с непролезанием интерфейсов через коллекции уже замечательно вылечили.
Дженерики тоже очень хороши (Говорят, они были в движке изначально. Поэтому так всё и ускоряют.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ограниченность классов - это не проблема ООП, а проблема реализации.&lt;/p&gt;
&lt;p&gt;Обращаю внимание на &lt;a href="http://bltoolkit.net" rel="nofollow" target="_blank"&gt;BLToolkit&lt;/a&gt;. Там довольно эффективно решаются вторая и третья проблемы, а также ещё лучше реализуется клонирование, мапинг объектов, работа с коллекциями и устраняются тормоза Reflection.&lt;/p&gt;
&lt;p&gt;Статика вредна, потому что она к хренам ломает все принципы ООП (препятствует наследованию и т.п.)
Кстати о наследовании: было бы замечательно, если бы бОльшая часть private полей в той же Strategy и других основных классах была protected (хотя бы те, которые подразумевают какие-то сущности). Это бы на порядок облегчило жизнь.
Если боитесь излишнего их использования, сделайте класс-наследник-фасад (точнее, можно перенести основной функционал в какой-нибудь Base, а старый класс сделать фасадом, как было в старом добром Delphi)
Правда в C# с этим не заморачиваются, а просто используют в качестве ограниченных фасадов интерфейсы (к слову о статике, которая этого не позволяет).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26133/</id>
    <title type="text">longtrades: Если я сделаю такое : не изменит ли это LastTrade.Price самого инструмента БА ? LastTrad...</title>
    <published>2013-05-28T18:12:06Z</published>
    <updated>2013-05-29T03:56:29Z</updated>
    <author>
      <name>Дюшес</name>
      <uri>https://stocksharp.com/users/6407/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(26042)" rel="nofollow" target="_blank"&gt;longtrades&lt;/a&gt;:&lt;/strong&gt;
Если я сделаю такое :
не изменит ли это LastTrade.Price самого инструмента БА ?
LastTrade.Price на каждом тике меняется, поэтому, наверное, толку от этого не будет.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Может быть так:&lt;/p&gt;
&lt;details&gt;&lt;summary&gt;MyBlackScholes.cs&lt;/summary&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
namespace StockSharp.Algo.Derivatives
{
    using System;

    using Ecng.Common;
    
    using StockSharp.BusinessEntities;

    public class MyBlackScholes : BlackScholes
    {
    	public MyBlackScholes(Security option) : base(option)
    	{
            SecurityPriceMode = SecurityMiscPrice;
    	}

    	private static decimal UnderlyingPrice { get; set; }
    	
    	public static readonly Func&amp;lt;Security, decimal&amp;gt; SecurityMiscPrice = s =&amp;gt; UnderlyingPrice;
    	
        new public decimal Premium(decimal price)
        {
      	    UnderlyingPrice = price;
            return base.Premium();
        }
    }
}

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Вычисляем премию:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
    var premium = (new MyBlackScholes(Security)).Premium(141000);

&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26135/</id>
    <title type="text">Коллеги, надо наверное сделать статически формулы. Я сам в свое время не допёр до этого, повелся на ...</title>
    <published>2013-05-28T23:12:17Z</published>
    <updated>2013-05-28T23:12:17Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&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/26042/</id>
    <title type="text">Если я сделаю такое : var bs = new BlackScholes(option); bs.UnderlyingAsset.LastTrade.Price = 141000...</title>
    <published>2013-05-22T08:00:07Z</published>
    <updated>2013-05-22T08:02:06Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Если я сделаю такое :&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
 var bs = new BlackScholes(option);
 bs.UnderlyingAsset.LastTrade.Price = 141000;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;не изменит ли это LastTrade.Price самого инструмента БА ?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/26041/</id>
    <title type="text">Кто пробовал сделать такое : Расчитать цену опциона елси цена базового актива изменится на 1000 пунк...</title>
    <published>2013-05-22T07:39:55Z</published>
    <updated>2013-05-22T07:44:43Z</updated>
    <author>
      <name>longtrades</name>
      <uri>https://stocksharp.com/users/6094/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Кто пробовал сделать такое :&lt;/p&gt;
&lt;p&gt;Расчитать цену опциона елси цена базового актива изменится на 1000 пунктов или скажем будет равна определенному значению.&lt;/p&gt;
&lt;p&gt;Например сейчас БА стоит 144000, как мне расчитать цену опциона при цене БА 141000 ?&lt;/p&gt;
&lt;p&gt;Проблема в том как мне подвязать к опциону созданий мною виртуальный БА с ценой  141000  ?&lt;/p&gt;
&lt;p&gt;Подкиньте идейку реализации такого.&lt;/p&gt;
&lt;p&gt;Но нужно что б этот расчет никак не повлиял на другие расчеты по даному опциону.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>