Постов с тегом "Бэктестинг": 136

Бэктестинг


Бэктестинг для новичков: Python + Quantopian

Люблю простоту и потому не могу не поделиться с вами ссылкой на пост, который сложное делает простым. Если словосочетание «бэктестинг торговых систем» для вас не пустой звук, то он однозначно вам будет полезен. Его автор наглядно и просто (проверено на себе, как блондинке) рассказывает о том, как самому протестировать стратегию торговли с помощью Python и Quantopian. Интересно? Тогда вот вам ссылка на пост на Smart-Lab. Захотите узнать больше, идите на Quantrum.me, там есть то, чего нет на Cмартлабе.

Цицерон о ТА и бектестинге.

    • 23 января 2017, 01:11
    • |
    • Kapral
  • Еще

"Предвидение будущего должно опираться не на предсказания и приметы, а на мудрость."

Цицерон


Бэктестинг 3 популярных индикаторов + исходный код на Python

На блоге моего партнера и разработчика торговых систем появились результаты тестирования трех популярных стратегий. Если вы их торгуете, то вам будет интересно узнать, как они показывают себя на исторических данных и как можно улучшить их результат. Вот эти стратегии.



( Читать дальше )

Бэктестинг: с чего начать?

Тем, кто только осваивает тестирование своих торговых стратегий, я рекомендую к прочтению следующий обзор от моего партнера и разработчика торговых систем. 

Quantopian — богатый инструментарий для бэктестинга различных стратегий с помощью Python. На сайте имеются бесплатные данные: минутные тики⏳ с 2002 года, фундаментал, календарь отчетности, настроение по новостям и т.д.

Я планирую вести серию подобных постов по написанию и проверке различных стратегий. Параллельно я буду описывать саму платформу и ее возможности, что позволит осветить весь путь с нуля.


Читать дальше


Эргодическая гипотеза и бектестинг

    • 13 декабря 2016, 10:57
    • |
    • Kapral
  • Еще

Братья, Сестры!

Правильно ли я понимаю, что в приложении к подкидыванию монетки эргодическая гипотеза формулируется примерно так:

«Статистические свойства результата 100 подбрасываний одной и той же монеты совпадают со статистическими свойствами опыта, в которым мы подбрасываем 100 монет по одному разу». Как я понимаю, вера в необходимость бектестинга держится именно на этом? Просьба поправить мои ошибки и объяснить.

 

P.S.Прав Решпект. Всегда прав. Не надо читать книгу Тимофея на ночь. Особенно 279 страницу)


Buy High стратегия

Тест стратегии из поста http://smart-lab.ru/blog/343965.php 

Формализовал стратегию так, как я ее понял. 

1. Входа на следующий день, после обновления исторического хая. Тут есть неточности — историю брал с 2005 года. Не факт, что all time high был на этом промежутке. 
2. Предыдущее обновление хая было больше 90 дней назад и менее чем 200 дней назад. 
3. Примерно 500 ликвидных бумаг с NYSE/NASDAQ/AMEX. Без учета делистинга, без учета комиссий, без учета платы за плечо. Вроде бы без дивидендов (не уверен), дейли дата взята с Google Finance. 

4. Стоп в примере — 3%. Тейк — 90%. Можно взять больше стоп, результаты не критично меняются. 
5. Вход фиксированным BP на позицию. (взял 1000 на позу)

Код Multicharts.Net 

using System;
using System.Drawing;
using System.Linq;
using PowerLanguage.Function;
using ATCenterProxy.interop;

namespace PowerLanguage.Strategy {
        public class _INTEST_by_high_daily : SignalObject {
                public _INTEST_by_high_daily(object _ctx):base(_ctx){}
                private IOrderMarket buy_order;
                private IOrderMarket sell_order;
                double previous_high;
                double previous_high_low_range;
                double all_time_high;
                protected override void Create() 
                {
                        // create variable objects, function objects, order objects etc.
                        buy_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Buy));
                        sell_order = OrderCreator.MarketNextBar(new SOrderParameters(Contracts.Default, EOrderAction.Sell));
                }
                protected override void StartCalc() {
                        all_time_high =0;
                }
                protected override void CalcBar()
                {
                        // strategy logic 
                        if (Bars.High[0]>previous_high && previous_high_low_range<previous_high && previous_high == all_time_high)
                        {
                            buy_order.Send();
                        }
                        
                        if (StrategyInfo.MarketPosition>0 && Bars.Close[0]>StrategyInfo.AvgEntryPrice*1.9)
                                sell_order.Send();
                        
                        previous_high = Bars.High.Highest(200);
                        previous_high_low_range = Bars.High.Highest(90);
                        if (Bars.High[0]> all_time_high) all_time_high = Bars.High[0];
                        
                }
        }
}


( Читать дальше )

Экспресс оценка стратегии / торговой системы / алгоритма

Для всех любителей оптимизации...

Вы гениальный алготрейдер и нашли грааль-стратегию/систему с суперическими %% доходности и почти нулевой просадкой!!!

Но так ли это?!

Берем  8-10 слабокоррелирующих инструментов — золото, нефть, несколько валютных пар, индексы основных бирж

Делаем прогон стратегии по этим инструментам без изменения ключевых параметров стратегии.

Подводим итог:     
  • средний % доходности на том же уровне, или незначительно снизился, ну или хотя бы приемлемо положительный — ГРААЛЬ!!!
  • средний % доходности НОЛЬ — алгоритм стратегии можно попробовать доработать
  • средний % доходности ушел в минус — выбросить алгоритм в МУСОР и забыть, так как в скором времени даже на положительном инструменте алгоритм перестанет работать
Лучше всего применять метод на ранних стадиях разработки, что бы сэкономить драгоценное время-деньги.

Основные показатели для оценки стратегий, часть 1 - Коэффициент Кальмара.

Основные показатели для оценки стратегий, часть 1 - Коэффициент Кальмара.



История
: Кальмар (Calmar сокращенно от Калифорнийский коэффициент управления счетом или “California Managed Account Ratio”, который впервые появился в 1991году в журнале Фьючерсы (Futures Magazine) благодаря Терри Янгу (Terry W.Young), также иногда его называли коэффициентом просадки).

Основа расчета: Коэффициент Кальмара рассчитывается как среднегодовая доходность, рассчитанная за последние 36 месяцев, деленная на максимальную просадку за тот же период. Расчет происходит на ежемесячной основе. Коэффициент Кальмар это скорректированная на риск оценка доходности, так как он оценивает доходность на единицу риска, где под риском мы понимаем максимальную просадку. Коэффициент Кальмара — это слегка модифицированная версия коэффициента Стерлинга (среднегодовая доходность за последние 36 месяцев, деленная на максимальную просадку за тот же период). Разница между ними заключается в том, что коэффициент Кальмара считается на ежемесячной основе, а коэффициент Стерлинга по годам.



( Читать дальше )

Коэффициент Шарпа

Коэффициент Шарпа


Перевод (http://bettersystemtrader.com/sharpe-ratio-right-answer-wrong-question/)

Многие используют коэффициент Шарпа, но до конца не понимают в чем прелесть данного показателя.

Для начала давайте выясним, что коэффициент Шарпа делает хорошо:

  1. Сравнение разных активов и стратегий.
  2. Оценка неопределенности.

Мы все знаем, что в создании портфеля стратегий очень важно правильное распределение активов. Трудность состоит в том, чтобы найти единую метрику оценки разных стратегий, скорректированную на размер риска. Это то, что делает коэффициент Шарпа. С помощью него мы получаем единую меру для измерения риска различных классов активов: облигаций, акций, фьючерсов, сырья и т.д.

Человеческому мозгу трудно связать неопределенность с риском. Риск активирует миндалевидное тело (амигдала), а та активирует рефлекс бей-беги. В данном случае Шарп можно использовать как хорошую оценку неопределенности, он является отношением результативности стратегии к неопределенности.



( Читать дальше )

Бэктестинг - актуальная информация

Доброе утро!

Прошу подсказать актуальную литературу/др. инфо по бэктестингу. Интересуют как примеры реализации на различных языках программирования, так и готовые программные продукты. В идеале — примеры программирования работы с несколькими инструментами (акция + фьючерс, например).

Спасибо!

....все тэги
UPDONW
Новый дизайн