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

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


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

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

Баксорубль - скоро будет вола

Баксорубль жестко напружинили, вола не за горами! 
Наконец-то алгоритмы вздохнут полной грудью и пополнят сморщенные кошельки алгонищебродов! А заодно и пощиплют жирные карманы всяких разных богатобродов, инвестобродов, пенсионеров в 35 и других хомяков!

Баксорубль - скоро будет вола

Quod ita sit!

Шаблон торговой системы на Python (backtrader, quantstats)

    • 22 сентября 2021, 21:54
    • |
    • Diamond
  • Еще
Сначала я пытался бэктестить системы в TradingView и этого было достаточно для быстрой оценки торговых гипотез, но оказалось, что мало просто знать, где купить и где продать. Не менее важно понимать, сколько купить или продать и для этого нужны другие инструменты.

Зачем Python?

Лично мне он показался удобнее. Например, можно быстро подключить telebot и система начнёт отправлять сигналы прямо в телегу на все девайсы. Работать со скриптами можно даже на айпаде где-нибудь в дороге, тоже плюс.

Самая простая система, которую можно потестить это пересечение двух скользящих средних: если быстрая SMA пересекает медленную вверх, то покупаем, а если вниз, то закрываем открытую позицию, шортить рынок не будем. Комиссии, проскальзывание и прочие расходы пока не учитываем, нужно начать с какой-то основы.

Что потребуется?

— backtrader для логики торговой системы

— quantstats для формирования отчёта

— Jupyter Notebook, если нужно удобнее редактировать код

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

Котировки 20-ти ценных бумаг (IMOEX)

Котировки 20-ти ценных бумаг (IMOEX)



тф — 1 мин
Период с 2009 01 11  по 2021 09 21
<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>

1_SBER
2_GAZP
3_GMKN
4_LKOH
5_VTBR
6_ROSN
7_SIBN
8_PLZL
9_SNGS
10_AFKS
11_NVTK
12_ALRS
13_AFLT
14_HYDR
15_RASP
16_YNDX
17_MOEX
18_СВРСТЛЬ
19_MTLR
20_MMK



ссылка на скачивание — dropmefiles.com/gSm5p

Почему дневные изменения цен акций не следуют Распределению Парето?

Я рассчитал распределение изменений цены акций (дифф). Имеются ввиду мультипликативны изменения (diff), во сколько раз меняется цена акции за каждый день, d(t) = p(t) / p(t-1)

Насколько я знаю, распределение должно выглядеть как распределение по Power law (распределение Парето). С CDF, являющейся линией на графике log-log.

Но CDF который я получил не похож на линию на графике log-log. Почему?

Mожет ли это быть вызвано тем, что распределение имеет два хвоста вместо одного? Поскольку имеются два редких событий: редкие огромные ежедневные падения цен с d <0,7 и редкие огромные ежедневные повышения цен d > 1,4

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

Пример

Ежедневные цены на 4 акции за пару лет, нормированные на 1 за первый день.

Почему дневные изменения цен акций не следуют Распределению Парето?



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

Анализ и визуализация данных в финансах — анализ ETF с использованием Python

    • 18 сентября 2021, 00:55
    • |
    • Aleks
  • Еще
С проникновением аналитики во многие сферы нашей жизни она не могла обойти стороной финансы. В этой статье рассмотрим ее применение для анализа ETF с целью их анализа, в том числе и с применением визуализиции.

1. О данных

Для анализа будем использовать данные ETF c базовой валютой USD: FXCN, FXRL, FXIT, FXUS и FXRU. Временной ряд рассмотрим за три года с 2018 по 2020 года. Само исследование проведем в Google Colaboratory.

Как обычно в начале импортируем все необходимые библиотеки для дальнейшей работы.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from google.colab import files
import warnings
warnings.filterwarnings("ignore")
Сначала необходимо получить данные. Есть несколько способов. Мы воспользовались — взяли их с Finam в формате csv. Дальше написал функцию для обработки полученных данных и при помощи concat свел их в один датафрейм.

def changeDF(df):
  df['date'] = pd.to_datetime(df['<DATE>'].astype(str), dayfirst=True)
  name =[x for x in globals() if globals()[x] is df][0]
  df = df.drop(['<DATE>','<TIME>', '<OPEN>', '<HIGH>', '<LOW>'], axis=1)
  df = df.set_index(['date'])
  df.columns = [name+'_cl', name + '_vol']
  return df

fxgd_change = changeDF(fxgd)
fxrl_change = changeDF(fxrl)
fxit_change = changeDF(fxit)
fxus_change = changeDF(fxus)
fxru_change = changeDF(fxru)
fxcn_change = changeDF(fxcn)

etf = pd.concat([fxgd_change, fxrl_change, fxit_change, fxus_change, fxru_change, fxcn_change], axis=1)

etf.head()
В результате получили:

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

Алгоритмический трейдинг для профессионалов. Е.Малыхин (отзыв о книге)

Свежая книга по алготрейдингу российского автора Евдокима Малыхина.
Поскольку на рынке наблюдается дефицит отечественных книг по теме алготорговли, то каждая выходящая книга читается на одном дыхании с нескрываемым интересом.
Малыхин Евдоким Михайлович серьезный практик, кандидат физико-математических наук и эксперт в области разработки программного обеспечения. И этот факт ощущается уже с чтения первых строк книги. В книге нет никаких кодов торговых роботов или готовых алгоритмов. Она немного о другом — а именно об инженерном подходе к построению алгоритмов и программ. Книга не для новичков, для ее чтения требуется определенный собственный опыт разработки роботов и шишки от граблей.
В ней описано:
— назначение и функции роботов;
— как архитектурировать программы;
— как создавать, аудировать, и развивать свою алгоритмическую систему;
— виды обрабатываемых данных и их особенности;
— масштабируемость и жизненный цикл роботов;
— управление рисками в алготрейдинге (в т.ч. описываются риски программного кода, железа, средств связи, методы вскрытия ошибок до выхода программы в эксплуатацию); 

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

ChartGame - неудачная попытка, 44 место ($2.9 млрд.)

    • 15 сентября 2021, 17:41
    • |
    • Diamond
  • Еще
Архив предыдущих игр:

10 место ($67.28 млрд.)
31 место ($5.12 млрд.)

Решил потестить новую гипотезу на втором аккаунте и предположил, что на графике могут присутствовать уровни, на которых можно повышать риск и это улучшит результат. Появились мощные трейды по +50-200%, но вместе с ними пришли большие просадки, которые долго закрывались:

ChartGame - неудачная попытка, 44 место ($2.9 млрд.)

После добавления этих чётких уровней стало заметно больше стоп-лоссов:

ChartGame - неудачная попытка, 44 место ($2.9 млрд.)

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

Привет СмартЛаб! Пора выйти из тени

Привет СмартЛаб! Пора выйти из тени



Всем привет! Наконец-то решилась начать свой блог на СмартЛабе, а то что-то редки ряды алготрейдеров

Вот уже второй год являюсь членом команды Old School Algo. Всё началось с подготовки материала для сайта, потом прохождение онлайн курсов обучения программированию, но в процессе было принято решение, что более рационально перенаправить мой ресурс на решение других задач, что мы и сделали. Так я стала копирайтером, веб-дизайнером, видеооператором, заведующей административно-хозяйственной частью и правой рукой руководителя. В общем я делаю всё, что нужно для нашего проекта, если что-то не умею – учусь.

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

За этот год мы сделали много…но впереди ещё больше


фьючерс RTS, корректный учет PL

До сих пор в роботе эксплуатировал рублевые фьючи, у которых с шагом цены все просто. Подсчет Profit & Loss в работе/на бэктесте ведется корректно с точностью до комиссии. Комиссия подбивается раз в неделю по остаточному принципу и с брокерским отчетом совпадает до рубля.

Встал вопрос добавить RTS, GD и прочие инвалютные фьючи. Полистал спецификацию и пришел к выводу, что для правильного расчета PL мало знать курс на открытие/закрытие позы. Нужны официальные котировки на каждый клиринг, и самого фьюча и USD/RUB. Вармаржа пересчитывается (фактически возвращается обратно в рубли) на каждом клиринге по этим данным, без них счет не сойдется.

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

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