Избранное трейдера Роман Давыдов

по

Качаем Питоном данные ООН по продовольствию

    • 08 июля 2020, 17:02
    • |
    • Albus
  • Еще
В составе ООН есть продовольственная организация. Она называется FAO. Там публикуется много интересной статистики по мировому сельскому хозяйству. Можно посмотреть урожаи и посевные площади в разных странах мира.
Вот ссылка
http://www.fao.org/faostat/en/#data/QC
Там в разделе Bulk Downloads лежит файл
http://fenixservices.fao.org/faostat/static/bulkdownloads/Production_Crops_E_All_Data.zip

Мы его будем качать и распознавать с помощью языка Питон. 
Найдём страну, которая является мировым лидером по валовому сбору той или иной культуры.
Скрипт полностью автоматический. Он сам качает архив с данными с сайта ООН, сам его обрабатывает, отправляет в Гугл для перевода с английского на русский и сам пишет результаты в файл.
---------
1. Качаем и устанавливаем Питон: https://www.python.org/downloads/
2. В чёрном окошке cmd.exe устанавливаем библиотеку pandas для быстрой работы с данными:
pip install pandas


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

Качаем цены с Росстата и строим графики

    • 07 июля 2020, 22:00
    • |
    • Albus
  • Еще
Росстат каждую неделю публикует цены на основные товары из потребительской корзины. Сейчас в ней 112 наименований.
https://www.fedstat.ru/indicator/37426
Данные собираются по всей России. Цены можно посмотреть для каждого региона, вплоть до малых городов. НО! по городам почему-то качается только текущий 2020 год, как бы хитро вы ни выставляли птички в фильтрах. А вот для субъектов Федерации типа г. Москва, Ростовская область все данные отдаются корректно. 
Качаем цены с Росстата и строим графики

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

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

Как купить акции дешево?Стоимостный подход в инвестициях.

Как понять, какие компании стоит покупать, а какие нет? Что делать, если купленные вами акции выросли: продавать или подождать еще? Как посчитать дорого или дешево торгуется та или иная компания? На все эти вопросы помогает ответить стоимостный подход в инвестициях. Именно о нем мы сегодня поговорим.

Кому удобнее, есть видео-формат:



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

Что же такое бэктестинг и есть ли у него сердце?

    • 02 июля 2020, 10:23
    • |
    • Grin
  • Еще
Не понятно, к чему это все? Почитай тут

Доброго дня! 
Вашему вниманию представляется продолжение потуг начинающего программиста / аналитика по созданию самопальной системы бэктестинга на python. 
Настала пора поближе понять, что же такое backtesting торговых стратегий. Расскажу как обычно своими словами.

Вот сидел я, смотрел на графики и прозрел! Все же просто в этих ваших инвестициях, покупай на дне, продавай на пике! Изи же! 

Осталось понять, когда оно на дне, когда на пике.

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

Ну и как водится, истина где то там, в безбрежном океане информации и пока не попробуешь, не узнаешь. 
А пробовать то надо за деньги, а деньги жалко! 

И тут снова приходит великолепная идея, есть же данных о прошлых значениях, цен, объемов, мультипликаторов, осцилляторов, корреляций. Что если сформировать портфель в прошлом и посмотреть, как все было бы сейчас, если бы мы все купили/продали тогда?  

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

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

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

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

Скачиваем историю дивидендов со Смартлаба

    • 01 июля 2020, 16:03
    • |
    • Artem
  • Еще
Всем привет!

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

Код использует библиотеку pandas (устанавливается с помощью команды pip install pandas).

https://pastebin.com/N3G4fupa

В параметре syms в кавычках через запятую указываем список интересующих инструментов. Скрипт запускаем командой
python smartlab_dividends.py

Спасибо Смартлабу за собранные данные!

Скрипт для скачивания полных журналов заявок (ордерлогов) по фьючерсам с ftp.zerich.com

    • 29 июня 2020, 17:01
    • |
    • Artem
  • Еще
Всем привет!

Хочу поделиться python скриптом, который позволяет скопом скачивать данные ордерлогов фьючерсов с сервера Цериха ftp://ftp.zerich.com/. Формат данных .qsh, подробнее о том как его парсить можно почитать в спецификации вот тут https://www.qscalp.ru/download.

В скрипте 5 параметров (все кавычки простые двойные ", а не то, как их отображает смартлаб):
  • download_path — путь, куда вы хотите сохранить данные (например, «C:/data/orderlog/» или же "./" для сохранения в папку, откуда вы запускаете скрипт)
  • sym_list — Список символов для скачки (например, [«BR», «RTS-6.20»]). Если здесь указать только префикс инструмента (например, RTS), то на каждую дату скачается только файл с максимальным размером. Обычно он соответствует фьючерсу с ближайшей экспирацией.
  • unzip — True, если нужно разархивировать данные после скачки (зависит от того, как вы будете дальше работать с данными)
  • date_start и date_end (в формате «2020-06-01») — даты интересующего вас интервала включительно.

Если данные за конкретную дату и инструмент уже присутсвуют в папке, заново они скачаны не будут.

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

луковица

луковица

«Библиотека Python для глубокого обучения для прогнозирования и моделирования фондового рынка».

Релиз: v0.1.0 ( Установка )

https://img.shields.io/gitter/room/bulbea/bulbea.svg

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

Нейросети в торговых системах. 1.

    • 25 июня 2020, 22:59
    • |
    • 3Qu
  • Еще

Вначале о грустном. Не понимая теорию нейросетей (НС) у вас вряд ли получится построить на ней ТС. Поэтому лучше для начала почитать теорию, например, Хайкин Саймон. «Нейронные сети. Полный курс». Книга уже достаточно старая и в ней нет новомодных веяний, но она дает базовые представления о НС.

И второе, мы будем далее для построения систем использовать пакет scikit-learn для Python. рекомендую ознакомиться. Есть и более продвинутые пакеты, скажем, TensorFlow и др., но их использовать мы не будем, и ограничимся более простым scikit-learn.
Теперь о том, чего здесь не будет. Здесь не будет теории НС, разве эпизодически и оч кратко. Здесь не будет описания пакетов Python, работы с графикой и пр. Обо всем этом вы можете прочесть в интернете, книгах, и документации 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


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

Где брать идеи для алго-стратегий? Туториал по академическим ресерчам для начинающих + полезные ссылки

Привет, сегодня вместо традиционного бэктеста разберем площадки, где можно подсмотреть идеи для торговых стратегий.  Навеяно постом Eugene Logunov о литературе для алго-трейдера https://smart-lab.ru/blog/627444.php Теперь у нас есть методики, но где взять идеи? :)

Наши предыдущие бэктесты хоть и адаптированы под Россию и имеют отличия в реализации – все равно основываются на ранее выявленных закономерностях в США/Европе. Сразу скажу, что речь пойдет об исследованиях в открытом доступе. Если на работе/в университете есть доступ к EBSCO или Science Direct, то вы и сами знаете, где все посмотреть.

Зачем вообще читать академические ресерчи, если фонд LTCM показал, что кол-во цитирований и премий спорно соотносится с успехом на рынке?

Хорошие ресерчи дают базовые идеи о том, что и почему работало в прошлом, на каких стадиях и почему перестало. Да, в них есть реализация или дизайн исполнения, но обычно он сырой и его всегда можно поменять, сохранив базовую идею. В отличие от дискуссий в рунете, очень сложно опубликовать что-то без пруфов, а проверка устойчивости не ограничивается t-статистикой > 3.  Сам текст хорошо структурирован, методика либо объясняется полностью, либо ссылается на такой текст. Авторы в основном исследователи, которые выполняя свою работу попутно дают подсказки практикам. Но встречаются и практики, например, аналитики хедж фонда AQR сейчас главные поставщики контента по факторным стратегиям или ученые Dimson и Ibbotson, которые параллельно пишут исследования для инвестиционных банков. Если желание почитать что-то заумное осталось, то сформулируйте идею/биржевую аномалию, которую хотите проверить (например, покупка акций с наибольшими дивидендами) и возвращайтесь к этому тексту.



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

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