﻿<?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">Ошибка в DeltaHedgeStrategy</title>
  <id>~/topic/3533/oshibka-v-deltahedgestrategy/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-16T09:53:58Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3533" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/25021/</id>
    <title type="text">Хеджирование позиции через DeltaHedgeStrategy работает не корректно Неверно определяется необходимая...</title>
    <published>2013-03-31T20:41:38Z</published>
    <updated>2013-03-31T20:41:38Z</updated>
    <author>
      <name>pehas</name>
      <uri>https://stocksharp.com/users/340/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Хеджирование позиции через DeltaHedgeStrategy работает не корректно&lt;br /&gt;Неверно определяется необходимая позиция в базовом активе для рехеджа&lt;br /&gt;&lt;br /&gt;Начал разбираться, открыл исходник DeltaHedgeStrategy&lt;br /&gt;diff (позиция в базовом активе для хеджа) там определяется так&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;

        /// &amp;lt;summary&amp;gt;
        /// Получить список заявок, рехеджирующих опционную позицию.
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;returns&amp;gt;Заявки рехеджирования.&amp;lt;/returns&amp;gt;
        protected override IEnumerable&amp;lt;Order&amp;gt; GetReHedgeOrders()
        {
            var futurePosition = BlackScholes.Delta();

            var diff = futurePosition.Round() + Position + PositionOffset;
           
            ...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Где futurePosition - это суммарная дельта всех имеющихся опционов + уже имеющаяся позиция по базовому активу&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;

        /// &amp;lt;summary&amp;gt;
        /// Рассчитать дельту опциона.
        /// &amp;lt;/summary&amp;gt;
        /// &amp;lt;param name=&amp;quot;deviation&amp;quot;&amp;gt;Стандартное отклонение.&amp;lt;/param&amp;gt;
        /// &amp;lt;returns&amp;gt;Дельта опциона.&amp;lt;/returns&amp;gt;
        public override decimal Delta(decimal deviation)
        {
            return ProcessOptions(bs =&amp;gt; bs.Delta(deviation)) + GetAssetPosition();
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ошибка в том, что при расчете diff, вся позиция хеджирующей стратегии добавляется еще раз к суммарной дельте&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 diff = futurePosition.Round() + PositionOffset; 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>