Постов с тегом "Python": 264

Python


Чем я занимаюсь на самоизоляции?

Бачеров Алексей. В гостях Finversia
Друзья, хочу рассказать о том, чем мне удалось заняться в режиме самоизоляции.

Надо сказать, что я не сижу безвылазно дома, и поскольку явлюсь управляющим партнёром Инвестиционного партнёрства ABTRUST, а с юридической точки зрения – лицом, имеющим право действовать без доверенности от юридического лица – в «простонародии» Генеральным директором, то я все равно периодически езжу на работу в офис. Конечно, у меня есть QR-пропуск и я подавал разные списки на mos.ru. Но как говорится – «Береженного Бог бережет», поэтому я стараюсь минимизировать свои передвижения и принимаю все возможные меры предосторожности, несмотря на сомнительность их эффективности.

Как и у многих, кто работает в сфере управления инвестициями, я несильно привязан к месту своей работы. Просто у меня в офисе прекрасно оборудовано рабочие место, установлена масса полезных программ, таких как Matlab, и там же находится вся моя инвестиционная библиотека. Перевезти всё это домой не представляется возможным, да к тому же дети всё равно не дадут полноценно всем этим пользоваться. Но работать надо, и желательно минимизировать все возможные издержки.



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

Общий финансовый анализ на Python (Часть 3)

    • 05 апреля 2020, 12:51
    • |
    • Aleks
  • Еще

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

Сначала немного теории:

О линейной регрессии

Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).



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

Досужие размышления о Quik, Lua и Python.

    • 28 марта 2020, 16:03
    • |
    • 3Qu
  • Еще

Я уже писал, что у меня сделана C++ DLL, которая получает данные из Lua и пишет их в БД SQLite. Уже писал также, что DLL под Lua делается на раз, и даже приводил коды и шаблон проекта простенькой C++ DLL. Посмотрело несколько тысяч, скачало, аж 12 человек, применят от силы двое. КПД постов, прямо скажем, оч низкий.)

В DLL реализована как связь с Lua, и будет реализована сама стратегия, вот только не решил какая из них. Повторять старые стратегии на новой для меня платформе Quik уже неинтересно, а новых моделей АТС отработано уже несколько. Все моделируется в Python. Часть стратегий не требует сложной математики, и могут быть легко перенесены непосредственно на С++. Другие непосредственно в DLL перенесены быть не могут, т.к. используют пакеты Python — всяческие регрессии и машинное обучение.
В общем, получилось, что DLL является шаблоном для любой стратегии. Все необходимые для АТС данные доступны АТС — реал-тайм данные поступают в DLL непосредственно из терминала, а необходимая история пишется DLL в БД SQLite и читается АТС из базы данных.



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

Общий финансовый анализ на Python (Часть 2)

    • 22 марта 2020, 13:48
    • |
    • Aleks
  • Еще
Ну что продолжим?

Скользящее окно(Moving Windows)

В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин применяется — то спасибо.

Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций большое количество. Для примера: rolling.mean(), rolling.std(), которые чаще всего и используют при анализе движения акций. rolling.mean() — это обычная скользящая средняя, которая сглаживает краткосрочные колебания и позволяет визуализировать общую тенденцию.

# Выделяю скорректированную цену закрытия 
adj_close_px = sber['Adj Close']

# Вычисляю скользящую среднию
moving_avg = adj_close_px.rolling(window=40).mean()

# Вывожу результат
print(moving_avg[-10:])
Общий финансовый анализ на Python (Часть 2)
Дальше построим график, чтоб лучше понять то, что получается в результате работы данной функции:
# Вычисление короткой скользящей средней
sber['40'] = adj_close_px.rolling(window=40).mean()

# Вычисление длинной скользящей средней
sber['252'] = adj_close_px.rolling(window=252).mean()

# Построение полученных значений
sber[['Adj Close', '40', '252']].plot(figsize=(20,20))

plt.show()


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

Эксперемент: Часть 5. Неудачи. Торговая система на базе глубокого обучения от начала до реальных торгов.

Всем привет. 

Медленно продалжаем копать в строну нейронных сетей. В этом видео я расскажу о некоторых своих неудачах, которые встретились на моем пути :)



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

TRANSAQ + PYTHON

Добрый день!

Есть ли возможности подключения к традиционному рынку, если использовать Python? 

Есть ли возможности прохода по схеме: TRANSAQ + Python

MetaTrader 5 build 2340: управление настройками счета в тестере и интеграция с Python

Мы добавили большое количество новых функций, главные среди которых:
  1. MetaEditor: Добавлена возможность удобной работы с SQLite базами данных.

    В предыдущем обновлении платформы мы добавили поддержку работы с базами данных SQLite прямо из MQL5. Теперь основные функции стали доступны и через пользовательский интерфейс MetaEditor:

    • Создание и подключение к базам данных
    • Просмотр таблиц и быстрый запрос данных
    • Составление и выполнение SQL-запросов, откат изменений

    Как это работает
    Для быстрого создания баз данных воспользуйтесь «Мастером MQL5». Здесь вы можете сразу создать первую таблицу и определить список ее полей.

    MetaTrader 5 build 2340: управление настройками счета в тестере и интеграция с Python

    Создав базу, вы перейдете в новый раздел «Навигатора». Из него происходит вся работа с данными.

    В левой части отображаются таблицы базы данных. Для быстрого запроса первой 1 000 записей дважды нажмите на имя таблицы. Здесь же вы можете создавать и открывать другие базы, а также работать с таблицами.


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

Обработка таймаута на Питоне

    • 03 марта 2020, 13:27
    • |
    • Albus
  • Еще
Коллеги, помогите написать красиво кусочек кода. Обработка ситуации, когда ты заказал котировки с Финама, они не пришли, и ты пробуешь ещё раз. Сейчас я кривенько (чтобы описать задачу) написал так:

try: 
        txt=urlopen(url, timeout=20).readlines()
except timeout:
        print ("Exception!\nWait...")
        sleep (20)
        try:
                txt=urlopen(url, timeout=20).readlines()
        except timeout:
                print ("Exception!\nWait...")
                sleep (20)
                try:
                        txt=urlopen(url, timeout=20).readlines()
                except timeout:
                        print ("Котировки с Финама не пришли")
Как это написать красиво внутри цикла?
10 попыток. Если 10-я неудачная, выводим сообщение
print ("Котировки с Финама не пришли")

Получение оповещений о сделках из Квика в Телеграм

Я активно пользуюсь лимитными заявками, а последнее время еще и роботов начал юзать, которые новые заявки ставят сами.
И все это именно для того, чтоб постоянно не сидеть за компом.

Если торговля активная, и за компом не сидишь, то начинаешь париться, а чего там, а все ли норм, а как процесс и тому подобное.

При этом я торгую сейчас в основном в ВТБ, у них основной терминал для торговли, это Квик. Есть еще мобильное приложение, но в отличии от 
приложения Альфадиректа, оно не оповещает о сделках, если заявки были выставлены через Квик. (Честно говоря, мобильное приложение Альфы тоже в этом смысле не ахти, Пуш уведомлениями оповещает, но не всегда, да и Пуш уведомления на любителя, они не долго сохраняются на телефоне).

Гугление выявило, что тема об оповещениях популярная, есть даже встроенный в Квик какой то оповещатель по СМС, но пишут, что вроде как услуга платная (и кое кто даже платит), да и вообще, способ какой устаревший.

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

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

Искусственный трейдер. Часть 2. Парсинг и визуализация тренировочного набора данных в Python

Всем, привет! Неделя выдалась «боевой», надеюсь все живы-здоровы!
В продолжении топика «Искусственный трейдер. Часть 1. Подготовка данных для машинного обучения (видео)»
Рассмотрим python-код «парсера» и «визуализатора» данных. Скажу сразу, что этот код вы можете легко модифицировать для анализа ваших данных любого другого формата.
Сам датасет формируется при помощи платформы Jatotrader, которая во время воспроизведения исторических данных сохраняет параметры частотных графиков для дальнейшего анализа и построения модели машинного обучения  в Python.
Для работы с тестовой выборкой нам понадобятся:
1. Установленная платформа Jatotrader FREE (или круче) версии 2.9.3 (или выше). С ее помощью вы сможете создавать любые тестовые наборы для любых инструментов. Либо воспользоваться, в качестве примера, готовым набором для фьючерсного контракта RIH0 с 20.12.19 по 28.02.20 (по два частотных графика 500 и 125 тиков на бар для каждой торговой сессии).

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

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