9 декабря 2020
Добрый день, любители купить дешево и продать дорого.
Решил я написать пост, посвященный автоматической и полуавтоматической торговле, да вышло так, что мыслей в голове оказалось много, как и написанного текста. Поэтому пост я решил разделить на несколько частей. Это четвертый пост, в котором я рассказываю о выборе инструментов автоматизации.
...Скоро сказка сказывается, да не скоро дело делается...
Автоматизация нужна для того, чтобы я не тратил кучу времени на расчеты-пересчеты, а грубо говоря - нажал кнопку и произошла магия. Все нужные расчеты должен производить инструмент, а на выходе я получаю один из сигналов sell/hold/buy.
С чем я когда-то имел опыт - MetaTrader4, нигде на фондовых рынках не используется. Вернее, используется у одного сине-голубого брокера на букву О, но там MetaTrader5 (немного другой язык программирования) и только акции Московской биржи MOEX Потом я сунулся в API Тинькова TCS , покопавшись в нем я написал в техподдержку - а как собственно я могу вытянуть исторические данные по акциям, и был отправлен в источники открытого доступа, а Тинькофф такую инфу не предоставляет (оказалось это враки, и знающие люди в комментариях подсказали - что можно, но в API я полезу копаться чуть позже), ну штош... И я пошел в открытые источники. Google Finance GOOGL хороший инструмент, но я не нашел как из него можно вытащить данные к себе, только в гугл-таблицы. Погуглив эту тему пару дней я наконец остановился на чем-то более-менее подходящем - Yahoo Finance.
Есть у Yahoo страница, при запросе на которую в ответ вываливается JSON с запрашиваемой информацией, low/open/close/high за определенный промежуток времени. Это на графиках все красиво нарисовано и визуально понятно, а в случае с JSON это малопонятный набор сухих цифр (см.картинку). Но и тут есть определенные ограничения – бумаги только USD, данные по минутным графикам можно выгрузить приблизительно только за неделю, по дням - за несколько лет (примерно 3,5 года).
Так как я собираюсь использовать дневной график и мне нужны как раз бумаги в USD, то в принципе норм.
Теперь нужно теперь чем-то эту информацию привести к читабельному виду, и основным инструментом для меня стал... барабанная дробь... PowerShell... это именно тот велосипед, на котором я собираюсь кататься ближайшее время, костылить - так по полной. Тем более, по роду своей деятельности я довольно часто его использую.
Оправдания по выбору инструмента:
- Я бы 10 раз подумал, подключая к своему торговому счету чужую разработку с API Тинька (Я ведь собираюсь публиковать все инструменты, а вы, наверное, хотите их использовать?). PowerShell просто лезет на страницу Yahoo Finance и всё, больше никуда он не лезет.
- Программирование торговой стратегии это по сути операции с числами: сложение/вычитание/умножение/деление/сравнение. Какая разница на чем я это буду делать? Да все что я делаю, по сути даже в Excel можно просчитать!
- Если вы счастливый обладатель Windows от MSFT, то на компьютер не нужно устанавливать никаких дополнительных программ, модулей и прочего, операционная система уже содержит в себе все для его запуска.
- Чтобы вникнуть в API Тинька - мне нужно время, а желание загорелось и нужно здесь и сейчас, поэтому пока не перегорело, буду пользоваться для расчетов PowerShell'ом
Да, это не полная автоматизация, но на первое время меня вполне устроит полуавтоматическая торговля, а скрипт будет считать и сигналить.
На этом четвертая часть закачивается, следующий пост будет коротким, я выложу скрипт PowerShell для выгрузки данных с Yahoo Finance. Он нужен если вам на кой-то потребуется перелопатить кучу данных по куче акций, как например мне.
Все инструменты, которые я собираюсь реализовать - буду выкладывать в общественный доступ, возможно кому-то это будет интересно.
Комментируйте, критикуйте, подписывайтесь. Это только начало пути, как знать, возможно что-то стоящее из этого и выйдет… а возможно я все это и заброшу))