У вас не стоит Flash Player
Настройки
#84089 - Mon Nov 05 2018 04:53 PM хочу получить дельты на страйках и выбрать нужную
chernikovd Offline
journeyman

Registered: Thu Sep 05 2013
Записи: 54
Добрый день!
хочу получить дельты на страйках и выбрать нужную пишу следующий скрипт
using System;
using TSLab.Script.Handlers;
using TSLab.Script.Handlers.Options;
using TSLab.Script.Optimization;
using TSLab.Script.Options;


namespace tsl20
{
public class delta25_10 : IExternalOptionScript
{
public IntOptimProperty СерияПоНомер_Number = new IntOptimProperty(1, false, 1, 10, 1);
private OptionSeriesByNumber СерияПоНомер_h = new OptionSeriesByNumber();
private ExchangeTheorPx БиржеТеорЦена_h = new ExchangeTheorPx();

public readonly OptimProperty FirstPointBar = new OptimProperty(1000, 1, 2000, 1);

public void Execute(IContext ctx, IOption sec)
{

var tradeStart = Math.Max(ctx.TradeFromBar, 1);
var count = ctx.BarsCount;

var profil = new SingleSeriesProfile();

var FinMath = new FinMath();
var Bars = sec.UnderlyingAsset.Bars;

var Strikes = sec.GetStrikes();
var ser = new SeriesSelector();

// Initialize 'СерияПоНомер' item
this.СерияПоНомер_h.ExpirationMode = ExpiryMode.FixedExpiry;
this.СерияПоНомер_h.Expiry = "20-12-2018 18:45";
this.СерияПоНомер_h.Number = ((int)(this.СерияПоНомер_Number.Value));
// Make 'СерияПоНомер' item data
IOptionSeries СерияПоНомер;
СерияПоНомер = this.СерияПоНомер_h.Execute(sec);

this.БиржеТеорЦена_h.Context = ctx;
this.БиржеТеорЦена_h.Multiplier = 1D;
this.БиржеТеорЦена_h.ShiftPx = 0D;
// Make 'БиржеТеорЦена' item data
System.Collections.Generic.IList<TSLab.Script.Double2> БиржеТеорЦена;
БиржеТеорЦена = this.БиржеТеорЦена_h.Execute(СерияПоНомер);

var expTime = СерияПоНомер.ExpirationDate;

for (var i = tradeStart; i < count; i++)
{



foreach (var element in Strikes)
{
var sigma = FinMath.GetStradleSigma(Bars[i].Close, element, expTime, optPrise, 0);
var delta = FinMath.GetOptionDelta(Bars[i].Close, element, expTime, sigma, 0, true);
}

}
}
}
}

в отладке смотрю переменную БиржеТеорЦена выдает такой интересный список страйк и цена ну как бы две записи с одинаковыми страйками и видимо какая-то цена call какая-то put, а какая? или первая call или первая put? кто-нибудь знает? скрипт конечно не рабочий второй цикл надо закоментить, а может и я дельту не так хочу получить?

Наверх
#84092 - Mon Nov 05 2018 10:19 PM Re: хочу получить дельты на страйках и выбрать нужную [Re: chernikovd]
Option Wizard Offline
writer

Registered: Fri Apr 24 2015
Записи: 596
В идеале 2-й аргумент назвать не sec, а opt, чтобы не путаться потом.


Странно, что Вы не посмотрели в отладчике тип возвращаемых данных...


Вам нужно вытаскивать страйки сразу из серии. То есть из объекта СерияПоНомер.


Что-то типа
var Strikes = СерияПоНомер.GetStrikes().ToArray();

Каждый элемент массива Strikes -- это сразу пара опционов (колл и пут) с одним страйком и одной датой экспирации.


Далее конкретный выбор идет через соответствующие свойства Put/Call.
Эти свойства дадут Вам в руки объект с исчерпываюшей информацией об опционе.


Впрочем, работа с отдельными опционами Вам вообще не нужна:
страйки перечислены в коллекции Strikes[j].Strike
а дельту Вы все равно собираетесь считать каким-то своим способом.
_________________________
Скидка на опционной криптобирже Deribit:
https://www.deribit.com/reg-2200.8947?q=home
Да пребудет с вами Вола!

Наверх
#84097 - Tue Nov 06 2018 05:41 PM Re: хочу получить дельты на страйках и выбрать нужную [Re: Option Wizard]
chernikovd Offline
journeyman

Registered: Thu Sep 05 2013
Записи: 54
спасибо за ответ!
дельту хочу тоже получить, и мне интересно могу ли получить ее на каждом баре и IV тоже на каждом баре?
и на каждом страйке

Наверх
#84098 - Wed Nov 07 2018 09:25 AM Re: хочу получить дельты на страйках и выбрать нужную [Re: chernikovd]
Option Wizard Offline
writer

Registered: Fri Apr 24 2015
Записи: 596
Вы собираетесь считать дельту своим способом.
Вся входная информация у Вас есть в руках.
Считайте.
_________________________
Скидка на опционной криптобирже Deribit:
https://www.deribit.com/reg-2200.8947?q=home
Да пребудет с вами Вола!

Наверх


Moderator:  ViL, sar