Избранное трейдера Капитан Сильвер
Прежде чем продолжить про опционы хотелось бы сделать еще одно отступление. Мы поговорим про базовый актив БА. Дело в том, что работая с опционами надо рассматривать БА не сточки зрения трендов, машек, фибоначей, а несколько иначе. По крайней мере я делаю это именно так. Те, кто имеет собственное мнение, я не возражаю. Вы просто можете не читать дальше.
Основной мой подход к анализу БА это статистика. Статистика очень упрямая вещь. И надо сказать, что для тех, кто пришел на биржу это просто пуля в голову. Я слышал такую статистику: 90/90/90. Возможно, это шутка, но это означает, что 90% начинающих трейдеров сливают 90% депо за 90 дней. То есть, придя на биржу у вас 10% шансов там остаться. Это статистика жадности. Нет, не вашей, а вашего брокера. Когда я стану Президентом первый мой указ будет о запрете открывать реальные брокерские счета, пока кандидат не совершит 100 сделок на бумажном (демо) счете и не принесет результат. Хочется верить, что получив 90% убытков, вы не станете открывать реал. Хотя, кто вас знает. И вот, находясь в такой ситуации, вы сталкиваетесь со статистикой цены. Так как биржа место доходное, то не удивительно, что лучшие умы человечества были подключены к этому вопросу. Через работы Альберта Энштейна, Хомогорова и прочих светил, была выработана модель поведения цены. На основании этой модели прайсятся опционы, инвестируют фонды, зарабатывает Баффат. Как вам не странно покажется, модель выглядит так: «В жопу пьяный матрос вываливается из бара и падает мордой в лужу. Встает, Падает на жопу (извините за тавтологию) в жопу пьяный. После чего, а ему надо на корабль, вырубается. Очухавшись, возвращается в бар что бы догнаться. И так далее. Возникает вопрос, когда цена нефти будет 80 баков за баррель.» И это легко определяется. Надо измерить рост матроса, умножить на количество выпитого (волатильность) и разделить на корень квадратный времени до отплытия танкера с нефтью, на который должен попасть матрос. И пока все смотрят на «Уровни Герчика» и «Линии Фибоначчи» остальной мир наблюдает за сигмой, то есть среднеквадратичным отклонением. Потому что, если цена прошла одну сигму, то она сядет на жопу с вероятностью 68%, две сигмы – 95% и три – 99%. И это статистика. И вам будет интересно понаблюдать, как ведет себя цена РИ, когда проходит одно стандартное отклонение от открытия дня. Для этого надо взять цену на открытии, умножить на IV волатильность и разделить на корень квадратный от 253 торговых дней. Вам надо сделать это в Экселе. Найти уровни 1.2.3 сигмы. Для того что бы, не попасть в 90% замученных трейдеров, вам нужна вероятность цены две сигмы – 95%. Вот такая она статистика. А еще есть 1% Черного лебедя.
9.) Посчитаем коэффициенты Шарпа и Сортино. Эти коэффициенты оценивают риски, связанные с волатильностью доходности системы, и соотносят рисковую доходность системы с безрисковой доходностью (например, по облигациям или по банковскому вкладу). Таким образом, коэффициенты Шарпа и Сортино позволяют оценить финансовую целесообразность системы. Ключевое различие между коэффициентами в том, что коэффициент Шарпа не делает различий между колебаниями доходности вверх и колебаниями доходности вниз, то есть резкое увеличение прибыли он оценивает так же негативно, как и резкое увеличение убытков (что может негативно сказаться на оценке классических трендовых систем, рассчитанных на ловлю больших движений и демонстрирующих крайне низкий процент прибыльных сделок). А коэффициент Сортино считает рисковой только ту доходность, которая отличается от безрискойвой доходности по ставке в худшую сторону.
Поскольку предыдущую часть мы завершили на том, как задавать условия и цену для открытия/закрытия позиций, то в начале этой части рассмотрим две распространённые ошибки, допускаемые при тестировании систем: открытие позиции внутри гэпа и заглядывание в будущее.



//Читаем их Excel данные в массив
List getParamsFromExcel(string filePath)
{
//С какой строки начинаем читать данные
int start_from_row = 2;
//Индекс колонки с Тикером
int symbol_index = 1;
//Индекс колонки с типом ордера
int order_type_index = 2;
//Индекс колонки с ценой входа
int entry_price_index = 4;
//Индекс колонки с ценой стопа
int stop_price_index = 5;
//Индекс колонки с временем входа
int entry_time_index = 7;
int current_index = start_from_row;
//Текущий символ графика
string read_symbol = Bars.Symbol;
//Текущий считанный из Excel символ
string current_symbol;
//Список параметров считанный из Excell
List result;
result = new List();
//Переменная Excel приложение
Excel.Application xlApp;
//Переменная рабочая книга
Excel.Workbook xlWorkBook;
//Переменная рабочий лист
Excel.Worksheet xlWorkSheet;
//Переменная диапазон
Excel.Range range;
//Инициализируем переменные
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(filePath);
xlWorkSheet = xlWorkBook.Worksheets.get_Item(1);
range = xlWorkSheet.UsedRange;
//Считываем тикер из Excel
current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2;
//Читаем тикеры, пока не наткнемся на пустую строку
while(current_symbol != null)
{
//Если считанный тикер совпадает с тикером графика, на котором запустили робота
if(read_symbol == current_symbol)
{
//Читаем и добавляем параметры ордера
result.Add(new OrderParams
{
ePrice = Convert.ToDouble((range.Cells[current_index, entry_price_index] as Excel.Range).Value2),
sPrice = Convert.ToDouble((range.Cells[current_index, stop_price_index] as Excel.Range).Value2),
eTime = DateTime.FromOADate((range.Cells[current_index, entry_time_index] as Excel.Range).Value2),
pType = ((string)(range.Cells[current_index, order_type_index] as Excel.Range).Value2 == "Short" ? PositionType.Short : PositionType.Long)
});
}
current_index++;
//Считываем очередной тикер
current_symbol = (string)(range.Cells[current_index, symbol_index] as Excel.Range).Value2;
}
//Закрываем рабочую книгу
xlWorkBook.Close(true, null, null);
//Выходим из приложения
xlApp.Quit();
//Уничтожаем созданные объекты
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
return result;
}
//Уничтожаем переданный объект
private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
}
finally
{
GC.Collect();
}
}
Наша ценность
Один преподаватель психологии начал свой семинар, подняв вверх 10-долларовую купюру. Он спросил, кто хочет получить купюру. Многие подняли руки. Он спросил у тех, кто не поднял руки. И выяснилось, что они тоже не прочь получить купюру, но постеснялись поднять руку.
— Прежде чем один из вас получит эту купюру, я кое-что с ней сделаю, – продолжил психолог. Он скомкал купюру и затем спросил, хочет ли кто-нибудь все еще ее получить. И опять почти все подняли руки.
— Тогда, – ответил он, – я делаю следующее, и, бросив купюру на пол, слегка повозил ее ботинком по грязному полу. Затем он поднял купюру, купюра была мятая и грязная.
— Ну, кому из вас она нужна в таком виде? – И все опять подняли руки.
— Дорогие друзья, – сказал преподаватель психологии, – только что мы получили наглядный урок. Несмотря на все то, что я проделал с купюрой, вы все хотели ее получить, так как она не потеряла своей ценности. Она все еще купюра достоинством в 10 долларов.