﻿<?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-04-16T15:46:35Z</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;Михаил Сухов &lt;a href="https://stocksharp.com/posts/m/26135/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Коллеги, надо наверное сделать статически формулы. Я сам в свое время не допёр до этого, повелся на ООП. К сожалению, ООП и алготрейдиинг идут не в ногу (громко сказано, но реально это так). Уже и сам не раз натыкался на, скажем, ограниченность существующих классов. Подумаю, как лучше сделать.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;ООП многогранен, особенно в C#, где он переплетается с событиями, функциональщиной и декларативностью. &lt;br /&gt;(Кстати в StockSharp.Xaml вы смачно WPF изнасиловали. Но это не совсем ваша вина. Там всё очень жёстко. Без поллитры не разберёшься. )&lt;br /&gt;Я продолжаю настаивать, что для алго ООП - это самое то, что доктор прописал.&lt;br /&gt;&lt;br /&gt;Места, где ООП не рулит:&lt;br /&gt;- принципиально функциональная логика&lt;br /&gt;- хранение данных&lt;br /&gt;- аспекты&lt;br /&gt;- распределённые транзакции&lt;br /&gt;- межпроцессное/межсерверное взаимодействие&lt;br /&gt;Последние два случая немного (но не до конца) лечит WCF.&lt;br /&gt;Косяки с непролезанием интерфейсов через коллекции уже замечательно вылечили.&lt;br /&gt;Дженерики тоже очень хороши (Говорят, они были в движке изначально. Поэтому так всё и ускоряют.) &lt;br /&gt;&lt;br /&gt;Ограниченность классов - это не проблема ООП, а проблема реализации.&lt;br /&gt;&lt;br /&gt;Обращаю внимание на &lt;a target="_blank" rel="nofollow" href="https://stocksharp.com/away/?u=AQAAAAAAAACbXUxBLaEm64D_cvw8PTlb0YsO0mrzt8oahx0Ctv1mcQ" title="http://bltoolkit.net"&gt;BLToolkit&lt;/a&gt;. Там довольно эффективно решаются вторая и третья проблемы, а также ещё лучше реализуется клонирование, мапинг объектов, работа с коллекциями и устраняются тормоза Reflection.&lt;br /&gt;&lt;br /&gt;Статика вредна, потому что она к хренам ломает все принципы ООП (препятствует наследованию и т.п.)&lt;br /&gt;Кстати о наследовании: было бы замечательно, если бы бОльшая часть private полей в той же Strategy и других основных классах была protected (хотя бы те, которые подразумевают какие-то сущности). Это бы на порядок облегчило жизнь.&lt;br /&gt;Если боитесь излишнего их использования, сделайте класс-наследник-фасад (точнее, можно перенести основной функционал в какой-нибудь Base, а старый класс сделать фасадом, как было в старом добром Delphi)&lt;br /&gt;Правда в C# с этим не заморачиваются, а просто используют в качестве ограниченных фасадов интерфейсы (к слову о статике, которая этого не позволяет).&lt;br /&gt;&lt;br /&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">Если я сделаю такое : не изменит ли это LastTrade.Price самого инструмента БА ? LastTrade.Price на к...</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;div class="quote"&gt;&lt;span class="quotetitle"&gt;longtrades &lt;a href="https://stocksharp.com/posts/m/26042/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Если я сделаю такое :&lt;br /&gt;не изменит ли это LastTrade.Price самого инструмента БА ?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;LastTrade.Price на каждом тике меняется, поэтому, наверное, толку от этого не будет.&lt;br /&gt;&lt;br /&gt;Может быть так:&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Show spoiler' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_48447fd7d283450389c324836c20bbbc');" title='Show spoiler' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_48447fd7d283450389c324836c20bbbc' style='display:none'&gt;&lt;br /&gt;MyBlackScholes.cs&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush: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;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Вычисляем премию:&lt;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

    var premium = (new MyBlackScholes(Security)).Premium(141000);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&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">Коллеги, надо наверное сделать статически формулы. Я сам в свое время не допёр до этого, повелся на ООП. К сожалению, ООП и алготрейдиинг идут не в ногу (громко сказано, но реально это так). Уже и сам не раз натыкался на, скажем, ограниченность существующих классов. Подумаю, как лучше сделать.</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;br /&gt;&lt;div class="code"&gt;&lt;strong&gt;Code&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

 var bs = new BlackScholes(option);
 bs.UnderlyingAsset.LastTrade.Price = 141000;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;не изменит ли это LastTrade.Price самого инструмента БА ?</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;br /&gt;&lt;br /&gt;Расчитать цену опциона елси цена базового актива изменится на 1000 пунктов или скажем будет равна определенному значению.&lt;br /&gt;&lt;br /&gt;Например сейчас БА стоит 144000, как мне расчитать цену опциона при цене БА 141000 ?&lt;br /&gt;&lt;br /&gt;Проблема в том как мне подвязать к опциону созданий мною виртуальный БА с ценой  141000  ?&lt;br /&gt;&lt;br /&gt;Подкиньте идейку реализации такого.&lt;br /&gt;&lt;br /&gt;Но нужно что б этот расчет никак не повлиял на другие расчеты по даному опциону.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>