Постов с тегом "Алготрейдинг": 4522

Алготрейдинг


алготрейдинг - подход к биржевой торговле, основанный на автоматизации торгового процесса при помощи программных алгоритмов и различных аппаратных решений.

Ниже приведены все записи на нашем сайте по теме алготрейдинга.

SVD-разложение для одного актива

Разложение по сингулярным значениям (SVD) может быть применено к одному активу в алгоритмической торговле. Вот пример того, как SVD можно использовать для анализа ежедневной доходности одной акции.

Сжатие данных: Рассмотрим матрицу, которая представляет ежедневную доходность одной акции за определенный период времени. SVD можно использовать для уменьшения размерности данных, чтобы их было легче анализировать. Например, SVD можно использовать для определения наиболее важных факторов, определяющих доходность акций, таких как экономические показатели или настроения на рынке. Затем эта информация может быть использована для разработки торгового алгоритма, который учитывает эти факторы при принятии инвестиционных решений.

Извлечение признаков: SVD также можно использовать для извлечения признаков при анализе отдельного актива. Например, рассмотрим матрицу, которая представляет ежедневную доходность одной акции и нескольких экономических показателей. SVD можно использовать для извлечения наиболее важных характеристик данных, таких как взаимосвязи между запасами и экономическими показателями. Затем эта информация может быть использована для разработки торгового алгоритма, который учитывает эти взаимосвязи при принятии инвестиционных решений.



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

SVD-разложение в алготрейдинге

Разложение по сингулярным значениям (SVD) — это широко используемый математический метод в области алгоритмической торговли. Это разложение вещественной или комплексной матрицы на сингулярные значения и соответствующие сингулярные векторы. SVD широко используется для сжатия данных, шумоподавления и уменьшения размерности, что является важными задачами в области алгоритмической торговли.

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

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



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

SensorLive. Позиции и сделки на утро 02.02.2023

    • 02 февраля 2023, 10:36
    • |
    • SenSoR
  • Еще
SensorLive. Позиции и сделки на утро 02.02.2023
Здравствуйте. Продолжаю публиковать состояние счета и сделки. Начало тут.

Система частично зафиксировала прибыль в RASP, RTKM
Открыла позицию в лонг в MVID.

SensorLive. Позиции и сделки на утро 02.02.2023

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

Робот нагазовал

Кирилл научил меня брать большие хода, а я научил газробота
Робот нагазовал
 Робот нагазовал

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

Применение теории вероятностей в алготрейдинге

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

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

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



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

То, что делают большинство трейдеров, на самом деле не работает

    • 01 февраля 2023, 21:18
    • |
    • LCC
  • Еще

Всем привет!

За то время, что я в трейдинге, я протестировал сотни торговых систем на десятах тысяч лет* разных котировок (это, кстати, не так уж и много), а так же ознакомился с результатами десятков исследований по этой теме, и какие-то выводы смог из всего этого вынести. Некоторыми из них готов поделиться.
Какие приёмы работают в трейдинге, т.е. позволяют относительно стабильно получать прибыль практически на любом рынке, рассказывать не буду, о них и так всем известно (другое дело, что никто их в серьёз не воспринимает), но зато скажу, что скорее всего не принесёт прибыли на длительной дистанции.
1. Классический теханализ (всякие фигуры, паттерны, индикаторы), если он не учитывает изменения волатильности и не способен отличить флет от тренда.
2. Торговля без стопов (у 99% трейдеров).
3. Так называемые усреднения, когда при нарастании убытка открываются позиции в прежнем направлении б0льшим объёмом.
4. Портфели из небольшого количества акций, даже «перспективных».
5. Фундаментальный анализ (у 99% трейдеров)
С последним утверждением многие, я уверен, готовы будут поспорить, считая аргументом серию своих прибыльных сделок (либо серию с перевесом прибыльных сделок), но, к сожалению, это нельзя считать статистикой (как говорят учёные, это нерепрезентативная выборка), это всего лишь серия сделок, при всем уважении к спорящим.



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

SensorLive. Позиции и сделки на утро 31.01.2023

    • 31 января 2023, 12:58
    • |
    • SenSoR
  • Еще
SensorLive. Позиции и сделки на утро 31.01.2023
Здравствуйте. Продолжаю публиковать состояние счета и сделки. Начало тут.

Портфель забит под завязку. Новых сделок торговая система не дает. Жду сигналов на выход.

SensorLive. Позиции и сделки на утро 31.01.2023

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

Можно ли выигрывать на случайном блуждании.

    • 30 января 2023, 18:40
    • |
    • 3Qu
  • Еще
На математической модели случайного блуждания (СБ) выиграть невозможно. Точнее, возможно, но это будет дело случая. Это все не подлежит сомнению и это не рассматривается.
Но есть еще физическая модель, где далеко не все так однозначно, и выиграть на физической модели вполне реально.
Но, отчего-то, при рассуждениях о рынке всегда говорят о математической модели. Хотя, даже примитивная физическая модель уже дает очень маленькую, несущественную для практики, но прибыль.
Одну такую ТС я несколько дней назад забросил за бесперспективностью, хотя она даже окупила комиссию Binance на фьючерс BTCBUSD — 0.06% на сделку. Тут даже арифметики на СЛ посчитали — 80% годовых. А че, 13 баксов на сделку 1-м фьючерсом — плохо ли. Оказалось, плохо.))
Сейчас пробую перейти на другой ТФ, где роль комиссий не так велика, и продолжить с этим же подходом к снаряду.
При выборе таймфрейма оказалось, что выбор интервала торговли очень невелик. Оказалось, что для торговли пригодны всего-то 2 интервала — минуты и сразу после них десятки часов. А, между тем, везде говорится о самоподобии СБ. Где-ж тут самоподобии? При самоподобии какой интервал не возьми, должно быть везде все одинаково.
Уж, очень рынок не похож на СБ. Сюда никакая мат модель не подойдет, здесь нужна физическая модель, анализ процессов на рынке (хотя, да, это тоже мат модель). )

В защиту Python (язык такой, программирования).

    • 28 января 2023, 19:28
    • |
    • 3Qu
  • Еще
На чем чем только не писал стратегии — На VBA Excel, VB.NET (тогда еще так назывался), C#, C++. Не обошлось и без участия скриптовых языков Java Script, Lua. Не обошлось и без специализированных языков, R, например — вот где тягомотина по исполнению и большая помойка пакетов. Мож там и есть бриллианты, но кто будет искать бриллианты в помойке.) MQL4 -5 — эти, г… но полное — это не делай, туда не ходи — нах такие языки. Еще и другие были, всех и не перечислишь.
Лет, этак 5-7 тому перешел на Python (С++ тоже не забываю)). Python понравился резко и сразу. Стратегий на нем пока не писал, но моделировал много. Сейчас планирую сделать первую, для Binance. Ага, криптой торговать собираюсь. Я, так полагаю, что МОЕХ умер (или почти), и делать там абсолютно нечего. Умирал он долго и мучительно, аж с 14-го года. Жаль, вообще то, неплохой был рынок.
Итак, чем хорош Python. Это, в первую очередь, нулевой порог входа — вчера вы еще ничего не знали о нем, а сегодня уже нейросети и прочие machine learning применяете для своих задач. Да, с переменным успехом, но, ведь, применяете.) Не, ну, для тех, кто не в ладах с обычной логикой, любой язык программирования противопоказан, но не о них речь.

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

Пример прибыльной торговой стратегии в исходном коде

// Scalping strategy for algotrading

// Define variables for strategy
double stop_loss = 0.5;  // stop loss in percentage
double take_profit = 2;  // take profit in percentage

// On every tick
void OnTick()
{
    // Get the current bid and ask prices
    double bid = Bid;
    double ask = Ask;

    // Get the previous bid and ask prices
    double prev_bid = iBars(Symbol(), PERIOD_M1, 0);
    double prev_ask = iBars(Symbol(), PERIOD_M1, 0);

    // Check if the current bid price is higher than the previous ask price
    if (bid > prev_ask)
    {
        // Open a long position with a stop loss and take profit
        double lot_size = NormalizeDouble(AccountFreeMargin() * 0.01 / MarketInfo(Symbol(), MODE_STOPLEVEL), 2);
        OrderSend(Symbol(), OP_BUY, lot_size, ask, 3, bid * (1 - stop_loss/100), bid * (1 + take_profit/100));
    }
    // Check if the current ask price is lower than the previous bid price
    else if (ask < prev_bid)
    {
        // Open a short position with a stop loss and take profit
        double lot_size = NormalizeDouble(AccountFreeMargin() * 0.01 / MarketInfo(Symbol(), MODE_STOPLEVEL), 2);
        OrderSend(Symbol(), OP_SELL, lot_size, bid, 3, ask * (1 + stop_loss/100), ask * (1 - take_profit/100));
    }
}

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