Постов с тегом "python": 230

python


Python. Делаем тестер стратегий и... зарабатываем на случайном блуждании.

    • 19 июня 2020, 16:32
    • |
    • 3Qu
  • Еще

Если вам кто нибудь скажет, что на случайном блуждании (СБ) нельзя зарабатывать, бросьте в него камень. Как говорил Паниковский — это жалкие ничтожные люди. На СБ можно зарабатывать с результатами не хуже, чем на реальном рынке. У СБ, по сравнению с реальным рынком, только один недостаток — за игры с СБ никто деньги платить не будет.
А если бы платили? Никто бы ничего не заметил. По прежнему 95% СБ-трейдеров сливало бы депозиты, а 5% регулярно выигрывало и считало бы себя Гуру. По прежнему на графики наносились бы каббалистические знаки и индикаторы, угадывались бы направления движения, каналы, и линии поддержки/сопротивления. Все так же начинающие трейдеры искали Учителя для обучения, а аналитики предсказывали будущее. И, ровным счетом, абсолютно ничего бы не поменялось. Может только АГ заметил бы подвох, но тоже не сразу, а только через несколько месяцев, а, может, и через год-другой. Но, легко сделать, чтобы и АГ остался в неведении.)

Однако, прежде чем играть на СБ, нам необходима стратегия и тестер. Ими мы и займемся.
Для начала стратегия: нам нужны три функции
— одна для пошагового слежения за рыночными котировками и определения момента входа в сделку — DealEntryAnalysis(i) и пусть на ее выходе будет: 0-если сделки нет, 1 — необходим вход в лонг, и -1 — необходим вход в шорт. i — номер отсчета массива котировок.
— вторая для сопровождения сделки лонг — DealControlL(i), отвечающая за контроль и закрытие сделки.
— и третья, для сопровождения сделки шорт — DealControlS(i).
Теперь у нас все готово для разработки тестера стратегий, а это всего лишь цикл while() последовательно перебирающий котировки.
Вот наша стратегия уже в тестере:

while i < Ie:
    deal_type = DealEntryAnalysis(i)
    if deal_type == 1:
        j, rep = DealControlL(i)
        deals_report.append(rep)
        i = j+1
        continue
    elif deal_type == -1:
        j, rep = DealControlS(i)
        deals_report.append(rep)
        i = j+1
        continue
    i = i+1


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

Автоматизация - ключ к успешному инвестированию. Python и SQL приходят на помощь!

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

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

Я уже рассказывал, что на самоизоляции осваивал Python, и демонстрировал, что мне удалось написать профессиональный инвестиционный калькулятор, который рассчитывает различные финансовые показатели и сравнивает между собой два актива. Кстати, в последней его версии я добавил возможность учета комиссий и налогов. Это позволяет намного легче сравнивать NET результаты для инвестора, особенно если в стратегии по ДУ есть вознаграждение управляющего за успех, а в ПИФах комиссия за приобретение и погашение паев.

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



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

Минимальный набор аналитика для бэктеста

    • 16 июня 2020, 20:56
    • |
    • Grin
  • Еще
Вот тут написано, к чему это вообще и содержание

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

Отдельной ремаркой, немаловажной для данного сайта, все инструменты описанные ниже совершенно open source, то есть даром! 
Используемый инструментарий:

Python 3.8 + Pycharm + anaconda + git(необязательно)

В комменты накидали еще инструментов, грех упускать случай.
Что еще используют пользователи smart-lab:
Язык R
jupyter notebook
Collab google


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

Я предупреждал. 


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

Склад грабель в проекте

    • 14 июня 2020, 20:51
    • |
    • Grin
  • Еще
Это будет пополняемый пост с общими решениями по ходу проекта и набором грабель, на которые я натолкнулся. 

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

2. git — система контроля версий, это круто удобно и правильно. Но для старта, очень трудно. Посвятил какое то время изучению статей для новичков, поиграл в игру и неделю разбирался, как его подключить в pycharm. Помог ментор и создание пары тестовых проектов / репозиториев на github

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

Зарождение личинки инвестиционного аналитика, без регистрации и смс!

    • 14 июня 2020, 13:11
    • |
    • Grin
  • Еще
День добрый! 
Предлагаю вам понаблюдать в прямом эфире процесс зарождения и танцев по граблям начинающего автоматизатора анализа ценных бумаг. 

Немного про проект:

Написание собственного пошагового бэктестинга инвестиционных идей на python. 

Это попытка развития под свои нужды кода из вот этой статьи:

Репозиторий вот тут

В блоге буду описывать созданные велосипеды и баги, с которыми столкнулся по ходу творчества.

Если вы все еще читаете, у вас наверняка возникли вопросы:

Кто ты вообще такой?
В анамнезе:
— профессия и профильное образование бизнес / системный аналитик
— куски знаний про инвестиции набранные на курсах про инвестиции курсеры 
— куски знаний по python набранные на курсах по машинному обучению той же курсеры и всякие 

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

КВИК-->Lua-->Python. Стакан к празднику.

Всем привет, с наступающим праздником! Который, надеюсь у большинства пройдет, как обычно, в ЖО ЗОЖе (блин, слово-то придумали).
В продолжение топика "КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени".
В Python-сервер добавлен парсер и визуализатор стакана. Стакан в стиле QSCALP-лайт вариант. Все как обычно в 20 строк кода.

У Тимофея гифки со сторонних сайтов не кажут. Приходится ссылку давать… Или отказываться от главной. Выбрал второе.
КВИК-->Lua-->Python. Стакан к празднику.Чтобы насладиться созерцанием стакана нам нужны следующие ингредиенты:
1. Квик версии 8.5.2 и выше.
2. Lua-скрипт QuikLuaPython.lua (собственно сокет-клиент)
3. Питон (Jupyter Notebook Anaconda 3)
4. Python_QUIK_Server.ipynb (собственно сокет-сервер)
Считаем, что Квик и Питон у вас уже установлены. Чтобы запустить трансляцию, скачайте папку PythonServer в ней вы найдете все необходимое. Файл Python_QUIK_Server.ipynb поместите в папку Питона (чтобы его видел Jupyter Notebook). Затем, содержимое папки

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

Кто лайкает посты про Lua и Python?

    • 30 мая 2020, 16:14
    • |
    • GOLD
      Популярный автор
  • Еще
Кто лайкает посты про Lua и Python?

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

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

Кто остается? Ау! Откликнитесь! Вы кто??))

Тест "Грааля который долго искали" с Python и Pandas

В статье "Грааль, которые вы так долго искали" даётся алгоритм торговли:
  • если клоуз больше предыдущего клоуза, то покупаем (лонг) на закрытии сессии,
  • если клоуз меньше предыдущего клоуза, то продаем (шорт) на закрытии сессии.
Работаем на месячном таймфрейме.

Сейчас изучаю Python и Pandas и хотелось применить знания на каких-то реальных данных. Вот случай подвернулся. 

Выводы

Тестировал на данных по Газпрому (с 3.03.2010 по 20.05.2020) и Сбербанку пр. (с 21.11.2011 по 20.05.2020).
Отношение текущей стоимости портфеля к общей вложенной сумме: у Газпрома — 1,27, у Сбербанка пр. — 2,08.

Предварительные замечания 

Собрал данные для Сбербанк пр из Yahoo Finance (дневки). 
Написал код Pandas + Python. Это пока всё, чем владею на текущих момент, и то владею так себе. 
Pandas для преобразования таблицы с Yahoo Finance и обрезки ненужных столбцов. Python для прогонки алгоритма. 
Дивиденды учитывались в том случае, если на дату отсечки в портфеле были акции, если акций в портфеле не было, то дивиденды не учитывались. Дивиденды учитывались с учётом налога 13%.

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

КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени

Всех с пятницей — самоизолятницей!
Представляю общественности Python-сервер (в 9 строк кода) для получения данных из КВИКа в Питон через луа-скрипт в режиме реального времени.
Для примера приведу получение тиковых данных по SIM0.
Нам понадобятся следующие ингредиенты.
1. Понятное дело КВИК, версии ниже 8 или 8.5.2 и выше.
2. Питон Jupyter Notebook (Anaconda 3)
3. Луа-скрипт, взятый из Jatotrader (в нем буквально изменено пару строк)
Как работает сервер можно посмотреть в этом видео (1 мин. 38 сек.) Ну и по правилам хорошего тона, естественно сам текст ниже.


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

Профессиональный инвестиционный калькулятор на Python

Продолжаю сидеть на самоизоляции и учусь программировать на Python. Написал полноценный калькулятор для сравнения двух любых активов.

Считает такие показатели как:

✅ Ожидаемая доходность
✅ Волатильность
✅ Коэффициент Шарпа для каждого актива
✅ Корреляцию
✅ Бету
✅ Альфу
✅ Долю волатильности исследуемого актива в базовом (удобно для сравнения с индексными фондами или индексами, если их брать в качестве базового актива)
✅ Коэффициент Трейнора
✅ Альфу Дженсена

Профессиональный инвестиционный калькулятор на Python

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

Профессиональный инвестиционный калькулятор на Python



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

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