Rostislav Kudryashov

Читают

User-icon
179

Записи

412

Алготрейдинг. Почему гуру учат торговать, а не торгуют сами?

Недавно попалось «объяснение». Эти гуру якобы уже наторговали успешно в небольших масштабах, но с большой суммой их торговая стратегия (ТС) не даёт выигрыша. Поэтому они предлагают ученикам поторговать каждому с их небольшими суммами и повторить выдающийся успех учителя.
Насчёт успеха гуру в прошлой торговле — пусть, не будем придираться.
Но что их нынешние большие деньги не влезают в их ТС — позвольте!

Если толпы учеников со своими небольшими деньгами полезут торговать все по одной купленной ТС, это как раз и получатся те большие деньги, которые, как объявлено,  в эту ТС не влезают. А если от вас отбрехаются, что все ученики, следуя одной ТС, будут торговать по-разному и получать обещанный успех, — так что мешает учителю разделить свои большие деньги на малые доли и каждой из них «торговать по-разному»?
Написать уйму роботов, чтобы они торговали по-разному, — не надо выдающихся способностей.
Тут уже возникают не «смутные сомнения», а вполне очевидные выводы.

Второй вопрос, почему этим первым вопросом не задаются многочисленные покупатели успеха?

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

Алготрейдинг. Очередные чудеса и их разоблачение

Новое чудо объявлено не так давно для растущих бумаг
smart-lab.ru/blog/1121015.php
и затем даже для не очень растущих
smart-lab.ru/blog/1124855.php

Как всегда у таких чудодеев, описание алгоритма неполно и неоднозначно.
На картинке автора чуда цена продажи на Close белой свечи всегда выше покупки первой из предыдущих чёрных свеч. В реальности это не гарантировано.
Поэтому уточним. Чтобы исполнить указание из первого описания стратегии
Ha зaкpытии бeлoй cвeчи зaкpывaeм paнee oткpытыe лoнги в плюc.
т.е. чтобы закрыть в плюс ВСЕ лонги, надо закрывать позицию не на первой попавшейся белой свече, а только по цене выше самой дорогой из предыдущих покупок.
Однако, тестирование показало, что гораздо больший выигрыш будет именно при закрытии позиции на первой белой свече!
При этом не все ранее открытые лонги закрываются в плюс.

Вот так выглядит страгегия  BlackAndWhite в программе WealthLab
for (int bar = 1; bar < Bars.Count; ++bar) {
  if (IsLastPositionActive && (bar == Bars.Count-1 ||
      Close[bar] > Open[bar])) {
    while (ActivePositions.Count > 0)
      ExitAtClose (bar, ActivePositions[0]);
  } else if (bar < Bars.Count-10 && Close[bar] < Open[bar]) {
    BuyAtClose (bar);
  }
}
История торгов Сбера с 01.01.2018 по 31.12.2024 на дневках добыта с сайта

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

Алготрейдинг. Импорто-замещение своими руками


До недавнего времени я испытывал торговые стратегии в программе WealthLab. Но на днях возникла потребность проверки её результатов. Поэтому состряпал частичный аналог на C++.
Проверка показала значительное превосходство самоделки по быстродействию и полное совпадение результатов с фирменной системой — до копейки.

Вот как выглядит скрипт на C# в WealthLab
for (int bar = 1; bar != Bars.Count; ++bar) {
  if (IsLastPositionActive && (bar == Bars.Count-1 ||
      Close[bar] > Open[bar])) {
    while (ActivePositions.Count > 0)
      ExitAtClose (bar, ActivePositions[0]);
  } else if (bar < Bars.Count-10 && Close[bar] < Open[bar])
    BuyAtClose (bar);
}
и его аналог на C++
for (unsigned bar = 1; bar != Count; ++bar) {
  if (IsLastPositionActive() && (bar == Count-1 ||
      Close[bar] > Open[bar])) {
    while (ActivePositions.size() > 0)
      ExitAtClose (bar, ActivePositions.front());
  } else if (bar < Count-10 && Close[bar] < Open[bar])
    BuyAtClose (bar);
}
На всё-про-всё ушла рабочая неделя — годы уже не те.

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

Биткойн. Трамп сказал, Трамп сделал - не совсем то

«Биткойн проседает после подписания Трампом Указа о стратегическом резерве»
www.zerohedge.com/crypto/bitcoin-slides-after-trump-signs-strategic-reserve-executive-order
«But many crypto enthusiasts are a littel disappointed (and price action is reflecting that currently), as instead of acquiring crypto assets, White House Crypto and AI Czar David Sacks, a Silicon Valley venture capitalist, wrote in a post on X that the reserve will be funded exclusively with bitcoin seized in criminal and civil forfeiture cases, ensuring that taxpayers bear no financial burden...»
«Однако, крипто-фанаты немного разочарованы (и цены это отражают), т.к. вместо закупки крипты Белый дом и заправила ИИ Давид Сакс… написали, что Резерв биткойнов будет сформирован исключительно из реквизиций у криминала без затрат денег налогоплательщиков».

Памятуя прошлогоднее заявление Трампа, что он выделит триллион долларов на крипту, есть причина для разочарования.
  • обсудить на форуме:
  • bitcoin

Алготрейдинг. Как искать оптимум параметров торговой системы

Не важно, какую функцию и как оптимизировать, минимум отклонения прогноза цены от фактической или максимум счёта (вложение+выигрыш), — возможны два подхода: 1) прямой перебор (brute force) всех вариантов и 2) градиентный метод (наискорейшего спуска).
Прямой перебор может потребовать громадных вычислений, не реализуемых практически.
Градиентный метод очень зависит от выбора начальной точки поиска. При множестве локальных экстремумов и только одном глобальном, существенно отличающемся от локальных, очень велика вероятность попадания на незначительный локальный экстремум. Метод деформируемого многогранника Нелдера-Мида (Simplex), хоть и решает некоторые трудности градиентного, в принципе от него не отличается.

Промежуточные методы, такие как Монте-Карло или генетический алгоритм, хоть и повышают вероятность попадания в глобальный экстремум с меньшим объёмом счёта против прямого перебора, не дают достаточной гарантии.

Факт множественности экстремумов целевой функции можно считать вполне установленным.

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

Алготрейдинг. Скрипт Lua для выгрузки истории котировок из Quik'а

Сайт finam.ru и mfd.ru перестали быть полезными для выгрузки истории котировок.
Это скрипт
-- График должен быть открыт в Quik'е
Class = "SPBFUT" -- "CETS_MTL" "CETS"
SecId="BRK4" -- "NGJ4" "GLDRUB_TOM" "USD000UTSTOM" "SiZ3"
Intrvl = INTERVAL_H1 -- D1 -- M5
Header = "<TICKER>;<PER>;<DATE>;<TIME>;"..
  "<OPEN>;<HIGH>;<LOW>;<CLOSE>;<VOL>"
Period = "60" -- Дневки - 0, W1, MN1, H4, H2 - недопустимо

function Log (i)
  local t = DS:T(i)
  local ymd = string.format ("%04d%02d%02d", t.year, t.month, t.day)
  local hms = string.format ("%02d%02d%02d", t.hour, t.min, t.sec);
  if not (IniDt <= ymd and ymd <= FinDt) or
     not (IniTm <= hms and hms <= FinTm) then return end
  local str = string.format ("%s;%s;%s;%s;%.4f;%.4f;%.4f;%.4f;%.0f\n"
    ,SecId, Period, ymd, hms
    ,DS:O(i), DS:H(i), DS:L(i), DS:C(i), DS:V(i))
  F:write (str)
end -- Log()

function OnInit (scriptPath)
  qu = require ("QuikUtil(qu)") -- lu,qc,tu
  ScriptDir, ScriptName = lu.


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

Какие данные грузить в индикаторы для интрадея. Эврика!


Интрадей — игра внутри дня. Утром открыл позицию, в конце дневной сессии закрыл.
Что меня всегда заедало — утренние гэпы между разными датами. Например, всякие скользящие на них выходят из себя и не сразу входят в режим, пригодный для использования.

Если предполагать, что все закономерности движения цены в её графике, то для внутридневного движения это ещё как-то может быть обоснованно, но утренние гэпы вряд ли могут быть согласованы с движением цены внутри дня.
Это две совершенно разные закономерности и очень мало шансов, что какой-то индикатор может учесть их в совокупности.

Проще всего не показывать индикатору эти гэпы и играть внутри дня только по внутридневным закономерностям.
В Quik'e это можно сделать, поставив «Фильтр по времени» в окне «Редактирование настроек графика» на интервал от 10:15 (чтобы исключить после-гэпие) до 18:45 и написав Lua-скрипт, который исправляет котировки, сокращая утренние гэпы на менее резкие изменения, например, на основе индикатра ATR за предыдущий день. И уже по этому графику ловить очищенные от гэпов внутридневные закономерности.

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

Какая выгода России (ГАЗПРОМу) от развития Африки?

На форуме ВТБ «Россия зовёт» гость из Нигерии спросил Путина, какая от этого выгода России.
Путин начал говорить о перспективах, и взаимовыгодности и т.д. и т.п.
Для РФ, как и для застойного СССР, выгода та, что развитая Африка будет потреблять больше сырья и энергоносителей — как и положено развитым. И тогда цены на российский экспорт повысятся — вот счастье!
А вот Китай не слишком печётся о развитии отсталых. Весь его вклад в их развитие — создание инфраструктуры на откачку природных ресурсов в духе колонизаторов из Европы и США.

Когда же Россия займётся собственным развитием! — Когда все займутся экономическим ликбезом
«Запрещенная экономика. Что сделало Запад богатым, а Россию бедной»
moreknig.org/dokumentalnaya-literatura/publicistika/249258-zapreschennaya-ekonomika-chto-sdelalo-zapad-bogatym-a-rossiyu-bednoy.html
www.rulit.me/data/programs/resources/pdf/Zykin_Zapreshchennaya-ekonomika-Chto-sdelalo-Zapad-bogatym-a-Rossiyu-bednoy_RuLit_Me_620589.pdf
«Как богатые страны стали богатыми, и почему бедные страны остаются бедными» Эрик Райнерт

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

Либертарианство как предел догматизма в экономической науке

Большинство профанов судят о либертарианстве понаслышке.
Вот вам Священное Писание современного либертарианства. Книга «Человеческая деятельность. Трактат по экономической теории» Людвиг фон Мизес.
litresp.ru/kniga/ru/%D0%9C/mizes-lyudvig-fon/chelovecheskaya-deyateljnostj-traktat-po-ekonomicheskoj-teorii
Электронная книга для смартфона бесплатно всем желающим.

Она начинается отвержением какой бы то ни было значимости исторического опыта для экономической науки и  манифестом открытия некой трансцендентной, недоступной измерению сущности — «человеческая деятельность». И попыткой аксиоматически вывести экономические законы из выдуманных свойств этой сущности.
Но после некоторых неуклюжих попыток в начале книги как-то пристегнуть эту сущность к делу, далее по всей книге Мизес вынужден отталкиваться от более приземлённых фактов, трактуя их без оглядки на пресловутую сущность.

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

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

Алготрейдинг. Об относительных приращениях

По мотивам напечатанного «Алготрейдинг. Как правильно склеивать фьючерсы»
smart-lab.ru/blog/1071687.php
Там, помимо прочего, упомянуто, что для обучения торговой системы лучше представлять историю котировок не абсолютными приращениями, а относительными.
Ну хотя бы для того, чтобы торговая система реагировала одинаково на изменение цены в 1%, независимо от текущего уровня в 1000 или в 2000 пунктов. Смысл не в доходе, а в доходности.
И предложены два варианта представления относительных приращений.
1) X[i]/X[i-1] — 1 и
2) ln (X[i]/X[i-1])

При отклонениях X[i] от X[i-1] в плюс или минус не более 10% различие этих вариантов в пределах 1%.
Алготрейдинг. Об относительных приращениях
Но при более значительных отклонениях X логарифмическое представление существенно меньше линейного.
Насколько оправдано логарифмическое преуменьшение?

Может где-то в других случаях логарифмическое представление имеет глубокий математический смысл.
Но в данном случае это ведёт к тому, что торговая система будет придавать большим отклонениям цены в минус другое значение, нежели таким же отклонениям в плюс. А ведь относительные приращения используются как раз для того, чтобы избежать подобных различий в работе торговой системы.

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

теги блога Rostislav Kudryashov

....все тэги



UPDONW
Новый дизайн