Добрый день!
хочу получить дельты на страйках и выбрать нужную пишу следующий скрипт
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? кто-нибудь знает? скрипт конечно не рабочий второй цикл надо закоментить, а может и я дельту не так хочу получить?