Постов с тегом "бэктестинг": 138

бэктестинг


Почему все Граали в моих руках становятся плохими? По следам "Как вы з..ли с этой монеткой (дарю Грааль)"

Источник smart-lab.ru/blog/634490.php

Вместо авторских "… берём исторические данные SPY с 1996 года (24 года)" у меня под рукой история индекса ММВБ IMOEX с 05.01.2000 на 173 руб по 27.12.2019 на 3045.87. За 19.4274 года рост в 18.64 раза.
Стратегия «купил и держи» даёт сложный годовой процент 15.77%.

А вот дарёный Грааль много хуже. С капитализацией каждой сделки при 100% вложения от счёта выигрыш на первоначальный 1 млн всего лишь 751009.58 руб или 2.8% годовых. Sharpe ratio всего лишь 0.34. Максимальная просадка 632956.68 руб.  И это при оптимизированных параметрах Period = 5 и Factor = 0.5. Комиссия 0.005% на объём купли или продажи и проскальзывание 0.01%. Всего 735 сделок, 36.79 «сделки» на год.

Если я в чём ошибся, поправьте. Вот как я закодировал дарёный Грааль.
namespace WealthLab.Strategies
{ // Комиссия 0.005% на сделку, проскальзывание 0.01%
public class Simple00 : WealthScript {
  StrategyParameter Period, Factor;
  public Simple00() {
    Period = CreateParameter ("Period", 5,  1,   20, 1);
    Factor = CreateParameter ("Factor",0.5, 0.1, 1, 0.1);
  }
  protected override void Execute()	{
    ClearDebug(); // HideVolume();
    int period = Period.ValueInt;
    double factor = Factor.Value;
    DataSeries atr = ATR.Series (Bars, period);
    for (int bar = period; bar < Bars.Count; ++bar) {
      if (IsLastPositionActive) {
        ExitAtClose (bar, LastPosition);
      } else
      if (Open [bar] -  Close [bar] > atr [bar] * factor) {
        BuyAtClose (bar);
      }
    }
    ChartPane cp = CreatePane (40, true, true);
    PlotSeries (cp, atr, Color.Black, WealthLab.LineStyle.Histogram, 3);
  } // Execute()
} // class Simple00
} // namespace WealthLab.Strategies

Чем меньше риск, тем больше доходность. Fact and fiction о риске и доходности на Московской бирже. Большой бэктест

Привет, выражение «чем выше риск, тем выше доходность» внешне выглядит логично, но не находит подтверждения на практике.  По акциям США и Европы на длинных горизонтах уже доказано, что акции с наименьшим риском приносят больше доходности, чем высокорискованные даже без поправки на риск. В качестве меры риска принято использовать рыночную бету, но сегодня мы будем тестировать волатильность (стандартное отклонение) дневной доходности, а бету оставим для будущих экспериментов.

За основу мы возьмем работу Нэда Бейкера и Роберта Хогена «Low Risk Stocks Outperform within All Observable Markets of the World» (2012). Авторы просто посчитали волатильность для каждой акции за последние 24 месяца, сформировали по 2 портфеля из 10% акций с наибольшей и наименьшей волой и повторяли это каждый месяц. Да, это академическая работа, но она написана не теоретиками и носит важные практические выводы. Очень рекомендую почитать в оригинале. Вот, что получили авторы по рынкам развитых стран:
Чем меньше риск, тем больше доходность. Fact and fiction о риске и доходности на Московской бирже. Большой бэктест



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

Имеет ли смысл прогнозировать прибыль компаний на Мосбирже? Большой бэктест для идеальных финансовых прогнозов от хрустального шара

Привет, новая неделя – новый бэктест. В этот раз мы проверим, может ли аналитик с хрустальным шаром обогнать рынок.
Имеет ли смысл прогнозировать прибыль компаний на Мосбирже? Большой бэктест для идеальных финансовых прогнозов от хрустального шара

Прогнозировать будущие цены не под силу даже этому шару, и он «всего лишь» выдает список из 25% ликвидных компаний с наибольшим ростом чистой прибыли по отношению к прошлому году. На 3 месяца раньше рынка. Хрустальный шар MOEX Edition заботливо оберегает владельца от неликвидных шлаков и начинает исправно служить с января 2012 по январь 2020гг.

 

Немного размышлений о ценности финансовых прогнозов и мода на аналитику с середины 2010-х

 

Переход популярности от технического анализа к фундаментальному знаком тому, кто тоже был новичком в 2014-2015гг и жадно искал идеи и грааль. В сравнении с привыкшими к работе с боковиком 2012-2013гг технарями, идеи фундаменталистов было правда интересно изучать новичку. Не знаю выходит ли эта передача сейчас, но тогда она была популярна среди новичков:

Имеет ли смысл прогнозировать прибыль компаний на Мосбирже? Большой бэктест для идеальных финансовых прогнозов от хрустального шара



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

Получаем котировки MOEX ETF для калькулятора портфелей

Не вдохновлено ссылками ниже, но напомнило о выкладывании в публичный доступ.
smart-lab.ru/blog/620330.php
smart-lab.ru/blog/616708.php
Всем привет!
В ходе тестов калькулятора портфелей
github.com/Oppositus/CalculatorAA
возникло понимание, что его внутренние инструменты импорта котировок уже не работают. Так давайте напишем скрипт, который будет получать их через MOEX ISS API. Вывод скрипта-CSV файл.
Репозиторий github.com/helpau/MOEX_ETFs/blob/master/main.py
Тот же код:

tickers=["FXGD","FXUS","FXIT","SBSP","FXRL","FXRB","FXRU","SBCB","SBGB","SBRB"]
import requests
import apimoex
import pandas as pd
df=pd.DataFrame()
for ticker in tickers:
    with requests.Session() as session:
        data = apimoex.get_board_history(session, ticker,board="TQTF")
        df1 = pd.DataFrame(data)
        df1.set_index('TRADEDATE', inplace=True)
        df.info()
        df[ticker]=df1["CLOSE"]
df.to_csv("your_table.csv",sep=";")


P.S. Касательно самого калькулятора портфелей-полученный файл необходимо дополнительно обработать, чтобы на 1 год для 1 ETF было 12 записей. Особо пытливые могут исследовать, в какой день лучше проводить ребалансировку.


Как рассчитать размер депозита для торговли?

Может вопрос двоечника в школе, но все таки...

Например, планируется к торговле инструмент с текущей ценой 100 руб.
Бэктест стратегии показал максимальную историческую просадку 20%.

Как рассчитать размер депозита, чтобы не слить его на просадке?
Ясное дело, что в будущем просадка может быть и больше, но тем не менее…

Несистемные выбросы

В мониторингах счетов увидел часто повторяющуюся одну и ту же картину слития счетов.

Это не обвал индексов или нефти, а валютный рынок. Поэтому куда интереснее.

Вот несколько скринов с разных счетов. Многих неплохих скальперов-роботов уничтожило.
Несистемные выбросы



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

бэктесты как проводить инвестору

    • 18 февраля 2020, 13:38
    • |
    • Gregori
  • Еще

Ответ на многие вопросы которые  у меня возникают  по хорошему надо искать с бомощью бэктестов.
О бэктестах я слышал в первую очередь в связи с ротобами -Wealth-Lab/TSLab. но мне не совсем понятно-  обязательно ли их покупать и изучать или есть альтернативные варианты. тем более для роботов не важно какие там p/e у акции и что у неё с дивидендами. 

Вопрос- какие варианты есть бэктеста?

вариант в лоб- где то надыбать исторические данные (где? можно ли через квик выгрузить)- причём желательно не только что бы курс акций был, но и другие данные используемые в принятии решений. Допустим проверить стратегию «ежегодная ребалансировка портфеля с включением 7 акций с наибольшей средней дивидендной доходностью за последние 3 года при условии что за последний год p/e изменился на более чем на NN,  с равным распределением долей между этими акциями в портфеле» или сравнить «купи и держи» с «купил и лови тэйк профит/или выходит по стоп-лосу. ну и далее на основе этих данных в базе писать ручками программу которая моделирует входы/выходы/ получение дивидендов/изменение счёта.  самый трудозатратный и гибкий подход.

Насколько понимаю есть также онлайн сервисы „оценки портфолио акций“. насколько там гибко можно описывать стратегию- мне неведомо.



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

Как за полминуты протестировать идею на 150 миллионах тиков

    • 31 января 2020, 19:24
    • |
    • r0man
  • Еще

Тестировать будем крипту на Bitmex, так как там можно без проблем достать тики с направлениями на халяву.
Собственно, идея очень простая:
— покупаем, если сумма объемов последних 5 сделок больше 500,000
— продаем, если сумма объемов последних 5 сделок меньше -500,000
Торгуем одним условным битком (тикер XBTUSD).
Использовать будем R и пакет QuantTools.
Пишем немножко кода:
Как за полминуты протестировать идею на 150 миллионах тиков

Результаты:
Как за полминуты протестировать идею на 150 миллионах тиков



( Читать дальше )
  • обсудить на форуме:
  • bitmex

О пользе правильного бэктеста (+ итоги 2019)

    • 17 января 2020, 12:37
    • |
    • uralpro
  • Еще

О пользе правильного бэктеста (+ итоги 2019)

   Хотелось,  традиционно, подвести итоги 2019 года, но  нового и интересного ничего не произошло, результаты на МОЕКС практически не отличаются от года 2018-го. Поэтому расскажу, насколько важно для HFT торговли написать правильный бэктест. Результаты тоже будут, но на примере отдельных алгоритмов, из набора работающих на Московской бирже.

  Для высокочастотной торговли, наверное, самый главный показатель это мгновенная ликвидность. Не буду углубляться в проблему ее измерения, это отдельная задача. В общем случае, чем выше мгновенная ликвидность, тем большую прибыль приносит высокочастотная стратегия. И ваш тест должен правильно обрабатывать весь поток ликвидности, который присутствует в сохраненной маркетдате, чтобы верно эту мгновенную ликвидность отразить. В матчинге бэктеста необходимо сводить в сделки собственные (тестовые) ордера в первую очередь по потоку рыночных сделок используемого актива, и во вторую — по текущей книге заявок. Нарезки в тесте не должно быть никакой, то есть внутреннее время теста должно идти соответственно последней считанной записи в максимальном разрешении, которое транслируется биржей (миллисекунды или даже микросекунды).Также нужно учесть задержку прихода ордеров на биржу после их отправки и задержку коллбэка. Нюансов здесь много, и я как обычно, о них не расскажу:)



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

"Out-Of-Sample" - где расположить, справа или слева?

    • 10 декабря 2019, 20:53
    • |
    • fxsaber
  • Еще

Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации — ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу. Ошибался, был не прав.



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

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