Источник
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