Постов с тегом "моделирование": 42

моделирование


Моделирование стратегий на Python. С чего начинать.

    • 11 февраля 2022, 19:13
    • |
    • 3Qu
  • Еще
В предыдущей теме слегка неосторожно обмолвился, что помогу желающим начать программировать на Python. Таковых желающих уже оказалось несколько человек. И выбор — либо отвечать всем по очереди и, с вариациями, почти одно и тоже, либо написать топик, почти очевиден — написать топик и ответить всем разом. Кроме того, есть вероятность, что меня дополнят и поправят.

Итак, чтобы начать работать с Python, надо установить среду Python. Для совсем начинающих я рекомендую Anaconda. В Anaconda все в одном флаконе — большинство необходимых модулей, среды разработки, документация — вам ни с чем не придется заморачиваться, сиди работай и ни о чем не беспокойся. Из сред разработки я предпочитаю Spyder — он уже изначально входит в комплект поставки Anaconda, и вам опять ни о чем беспокоиться не надо. Многие предпочитают другие среды разработки, но это их выбор.
Более продвинутые могут установить Miniconda, что я и делаю на данном этапе. Начинать и даже продолжать со среды Python я бы не советовал, но это, опять таки, мое личное мнение. Можно я больше не буду после каждой фразы писать ИМХО — ИМХО, это очевидно, а чье же еще это мнение.)

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

Моделирование интрадей стратегии на Python. Результаты

    • 10 февраля 2022, 22:31
    • |
    • 3Qu
  • Еще
Я уже писал, что ухожу из трейдинга временно или постоянно, пока не решу вопросы  его прибыльности и окупаемости. Не хочу, знаете ли, работать и получать за работу ниже чем то, что, мне кажется приемлемым. Лучше на диване лежать.)) Об этом я подробно писал в топиках - Жив ли трейдинг? и Объявление об уходе. В общем, чтобы вернуться к трейдингу надо решить ряд описанных в топиках проблем, чем и занимаюсь — моделирую стратегии на Python в поисках приемлемого решения.
Поднял свои уже старые нереализованные модели стратегий на Python, загружаю в них различные биржевые инструменты, и смотрю, можно ли, выгодно ли, и имеет ли смысл с ними реально работать.
Итак, представляю вам первую нереализованную интрадей стратегию на Python — ее тест на 1-м фьючерсе Si-3.22 c 15.12.21 по 09.02.22 включительно.
Моделирование интрадей стратегии на Python. Результаты
по Х -номер сделки, по У — накопленная прибыль в пунктах инструмента. 1 п = 1 рубь.

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

Прямая пропаганда Python.

    • 10 февраля 2022, 17:01
    • |
    • 3Qu
  • Еще
Спрашивал многих — на чем вы моделируете и отрабатываете стратегии? Ответы — Луа, С #, Delphi, C++, Java, php и пр.  Хорошие языки, спору нет. Но хороши они для релиза. И лишь немногие при моделировании стратегий работают с Python.
Чем хорош Python?.. Это простота изучения — с нуля можно начать за считанные дни. Это громадные библиотеки — математические, машинное обучения, преобразования, работа с векторами и сложной графикой. Это простота моделирования — слабать стратегию можно за вечер.
Да, когда придет время релиза, придется все это переписывать на другой язык, но библиотеки можно оставить из Python — они оч быстрые, написаны на С++. Интерфейсы ко многим языкам имеются.
Для проверки ваших рыночных гипотез и моделирования стратегий переходите на Python. Чем могу, помогу. Но не обучаю, для этого книги есть- ничего сложного. По книгам и среде посоветую, для начала.

PS. Так, для справки, если покопаетесь в инете, то увидите, что NASA уже почти все пишет и моделирует на Python, и уже потом критические участки кода переводит на С++.

Моделируем инвестиционный портфель методом Монте Карло

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

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

Если посмотреть на pic.1, где по оси Х отложена волатильность, а по оси Y — ожидаемая доходность, то каждая точка будет соответствовать одному году для индексов MCFTR, RGBITR и портфеля МСFTR/RGBITR c распределением 50/50. На нем очень хорошо виден разборс значений от года к году. Математическая статистика нас учит тому, что необходимо брать как можно больше значений, и тем самым мы получим более точные оценки ожидаемой доходности, и волатильности. Но все это может неплохо работать на очень длительных горизонтах. По-моему опыту – в лучшем случае лет 15, а так около 25. Но что, если наш горизонт короче?

Моделируем инвестиционный портфель методом Монте Карло



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

Windows 10, Python, Anaconda, Miniconda (топик для питоноводов).

    • 28 июня 2021, 23:13
    • |
    • 3Qu
  • Еще
Доконал я, таки, свою Windows 10, стала еле ползать. Вначале восстановил штатной системой восстановления — не понравилось. Тогда сделал чистую установку. Вроде нормально, полетела. Поставил VS 2019, и очередь дошла до Python — что ставить?
Уже несколько лет использую Python для всех задач анализа данных и моделирования торговых систем. До того использовал разное — Excel, MathLab, SciLab, R. Python, имхо, оказался наиболее удобным и быстрым инструментом для решения всех околорыночных задач.
В свое время долго выбирал среду под Python, и, в конце концов остановился на Anaconda. Это самое оно для начинающих — все сразу сконфигурировано и готово к употреблению, уже сразу в базе ~700 пакетов, и не надо заморачиваться с их установкой. Кроме того, уже готовы к употреблению несколько сред разработки, я пользуюсь только одной — Spyder — не то, чтобы другие хуже, просто потребности не возникало.
В общем, для тех, кто только начинает работать с Python или не хочет заморачиваться с пакетами и средами, Anaconda — самое оно.
Однако, есть и недостатки. Очень большой объем на диске, долго ставится. Все 700 пакетов вам никогда не понадобятся, и по любому, позднее какие-то пакеты вам все равно придется устанавливать самостоятельно. Множество сред разработки тоже никогда не понадобятся, однако, чтобы получить общее представление о том, что есть под Python, для начальных этапов не вредно.

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

Цикл открытых лекций РЭШ по прикладным финансам

    • 17 февраля 2021, 16:41
    • |
    • NES
  • Еще

Приглашаем на новый цикл открытых лекций по прикладным финансам Российской экономической школы

4 марта, 19:00 (МСК)

«Что такое «зеленая» экономика и как она влияет на финансовые рынки?» 

Виталий Казаков, старший преподаватель РЭШ, директор программы «Экономика энергетики и природных ресурсов»

Описание лекции: «Зеленая» экономика, опирающаяся на технологии, минимизирующие антропогенное влияние человека на окружающую среду, в последние годы набирает обороты. Это происходит, потому что общество стало больше заботиться об окружающей среде или она сама по себе оказывается предпочтительным экономическим выбором на данном этапе развития? Что нам дает изменение старых и появление новых экономических и финансовых механизмов, связанных с «зеленой» экономикой, и усиление внимания к неэкономическим аспектам деятельности компаний?



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

Python. Импорт данных OHLCV из файла CSV.

    • 02 ноября 2020, 22:55
    • |
    • 3Qu
  • Еще

Простите за банальность, работа с данными начинается с их получения из внешнего источника. Мы будем получать их из CSV-файла архива котировок, скачанного с сайта Финам. Для работы с другими источниками вам надо будет немного изменить программу.

Я уже давно не работаю непосредственно с CSV, и храню все данные в БД SQLite. Поначалу я хотел написать программу чтения CSV с нуля, но выяснилось, что я уже подзабыл как это делается, однако нашелся рояль в кустах — моя старая библиотека читающая данные из CSV-файла непосредственно в программу. Ее мы и будем использовать.
Собственно, Python и ориентирован на работу с библиотеками, и не нужно знать что там внутри, важно только уметь с ними работать, а сами программы с использованием библиотек станут очень простыми.
Для начала качаем с Финам историю в формате CSV-файла следующего вида:

<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
SPFB.Si-12.20,1,04/05/20,10:00:00,76900.0000000,76990.0000000,76900.0000000,76990.0000000,3
SPFB.Si-12.20,1,04/05/20,10:06:00,77695.0000000,77695.0000000,77400.0000000,77400.0000000,8
SPFB.Si-12.20,1,04/05/20,10:08:00,77781.0000000,77781.0000000,77700.0000000,77750.0000000,30
SPFB.Si-12.20,1,04/05/20,10:13:00,78088.0000000,78098.0000000,78088.0000000,78098.0000000,6
SPFB.Si-12.20,1,04/05/20,10:14:00,78100.0000000,78100.0000000,78100.0000000,78100.0000000,1


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

Калькулятор облигаций❗️ Часть 1

Продолжаю совершенствовать свою базу SQL и автоматизированные средства расчетов.

В июне я написал пост: "Автоматизация — ключ к успешному инвестированию. Python и SQL приходят на помощь❗️", где описал как и зачем я поднял собственный SQL сервер, и какие задачи он мне поможет решить.

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



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

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

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

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

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

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



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

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