for (int i = i0; i < weeks.Count; ++i) {
int idxIni = IndexOf (weeks[i][0]-1, entryTime);
int idxFin = IndexOf (weeks[i][1], exitTime);
double strike = mwu.RoundTo (Open[idxIni], strikeStep);
double dura = (Date[idxFin] - Date[idxIni]).TotalDays;
double calIni = OptPrice ('C', Open[idxIni], strike, dura, volaIni);
double putIni = OptPrice ('P', Open[idxIni], strike, dura, volaIni);
double calFin = OptPrice ('C', Close[idxFin], strike, 1e-6, volaFin);
double putFin = OptPrice ('P', Close[idxFin], strike, 1e-6, volaFin);
double win = (calIni+putIni) * (1-slpg) - (calFin+putFin) - 2*fee;
PrintDebug (String.Format (fmt, i, Date[idxFin].ToShortDateString()
,calIni, putIni, calFin, putFin, win));
} // for (int i = i0Вот выдача за первый квартал

Закрылась еще одна публичная сделка моих роботов:
На текущий момент было 227 публичных сигналов на покупку. 76 от робота AVP, 120 от робота PVVI и 31 от робота CandleMax. Вот ссылки:
Начнем с традиционной таблицы
Главным неудачником декабря стал RI-контртренд, закончивший очередной месяц в небольшом минусе и получивший минус по итогам года. Также Si практически отбил минус, накопившийся с начала года по конец ноября, только в последний торговый день – 30 декабря.
Вообще, если считать по вармарже, то за год в Si даже получился символический плюс в 10+ тыс. руб., но расчет в %% от лимитов дает маленький минус. С точки зрения расчета НДФЛ хорошо, что плюс, так как «вторые ноги синтетических облигаций» (шорты фьючерсов) дали большой минус по вармарже и его просальдируют с прибылью в RI и на споте, а минус в Si сальдировать было бы не с чем.
Закончить год с доходностью выше средней за последние 6 лет помогла высокая волатильность в акциях: в первом квартале в GMKN, а в 3-4-м в GAZP и SBER. В RI высокая волатильность оказалась краткосрочным эпизодом в конце ноября-начале декабря. А в Si ее не было весь год.