Самоизоляция и мои достижения❗️
Я уже писал, что самоизоляция — это прекрасный повод научиться чему-то новому. В своем посте «Чем я занимаюсь на самоизоляции❓», я достаточно подробно описал как реанимировал кое-какие свои старые компьютеры и ноуты, как я установил на них Linux Mint (с которого сейчас пишу настоящий пост), и как решил начать изучать Python, потому что у меня дома нет Matlab, а мне захотелось провести несколькорасчётов и исследований по измерению волатильности по метрике JPMorgan.
Сейчас я хочу поделиться результатами за чуть больше чем неделю. Я не каждый день занимаюсь изучением, поскольку на неделе ездил на работу, а дома, как всегда есть куча отвлекающих факторов и самым важным из них, конечно, являются дети. Но этот фактор я воспринимаю исключительно положительно 👍 Если суммировать все время которая я потратил на на ткущий момент по изучению питона, то получится около 20 часов.
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.
В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:
Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.
#Загружаем библиотеки import pandas as pd import yfinance as yf import numpy as np import matplotlib.pyplot as plt # Получаем данные по акциям ticker = ['ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM', 'PKI'] stock = yf.download(ticker,'2017-01-01', '2019-01-31')
Господа!
Искренне надеюсь, что среди вас есть программисты.
Прошу, как говорится, войти в положение… Не всем же дано шарить в искусстве кодирования на каких-то инопланетных языках.
Вопрос: как из тикового архива в формате .csv, взятого, к примеру, с Дукаскопи, сделать такую вещь, по столбцам:
1. День недели (0, 1, 2, 3, 4, 5, 6)
2. Час
3. Минута
4. Секунда
5. Bid
6. Ask
7. Бит (0/1) принадлежности к реальной или псевдокотировке
Заполнены должны быть все строки таблицы посекундно. Т.е. за сутки должно сформироваться ровно 86400 строк таблицы.
Очень важно — если не было в данную секунду реальной котировки, записывается предыдущее значение.
В столбце 7 прописываем бит = 1, если котировка реальная, 0 — если псевдокотировка (т.е. предыдущее значение)
После всех вычислений, приведенных в этой и этой публикациях, можно углубиться в статистический анализ и рассмотреть метод наименьших квадратов. Для этой цели используется библиотека statsmodels, которая позволяет пользователям исследовать данные, оценивать статистические модели и выполнять статистические тесты. За основу были взяты эта статья и эта статья. Само описание используемой функции на английском доступно по следующей ссылке.
Сначала немного теории:
О линейной регрессии
Линейная регрессия используется в качестве прогнозирующей модели, когда предполагается линейная зависимость между зависимой переменной (переменная, которую мы пытаемся предсказать) и независимой переменной (переменная и/или переменные, используемые для предсказания).
# Выделяю скорректированную цену закрытия adj_close_px = sber['Adj Close'] # Вычисляю скользящую среднию moving_avg = adj_close_px.rolling(window=40).mean() # Вывожу результат print(moving_avg[-10:])
# Вычисление короткой скользящей средней 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()
Совет всем кто торгует больше полутора лет а результатов нет, прям стишок.
Очень коротко о себе, торговал 6 лет (2 сам, 2 в инвест компании, 2 в банках(СВА, и Откр) результатов выдающихся нет(сам около 0, в инвест комп была пирамида на облигах с дох 12%, в банке около 20%, и потом пчти все в 0 после 14 года). Сейчас программист зп ~200к, бэкенд питон.
Если б не потерял 6 лет на дрочку в торговле сейчас была бы зп 300-500К.
После вторника куча постов появилась, я все потерял, но я встану с колен соберу деньжат, прочитаю Кукурузкина, Герчика, Васю и вернусь и все бу дет по другому, да них*я не будет, ничего не поменяется, ты так же будешь сидеть с потными ладошками и торговать 30 фьючерс Ри, и будешь рад как ребенок заработав 30К в день, и наоборот хмур как туча, зол на себя, семью, аллаха, погоду и тд и будешь дальше проебыв*ать свое время и жизнь.
Сейчас it является лучшим направлением развития из всех существующих для среднестатистического человека.
Под it я понимаю программистов и смежное, например веб дизайнеры, верстальщики, аналитики. Мне проще говорить за программистов, коим я и являюсь, в Москве, да в регионах посложнее с вакансиями и зп ниже чем в столице раза в 2, но главное время и желание.
Безграничный рост, да может миллиардером не стать, как половина трейдеров смартлаба, но 100-300 тыс зарабатывать в мес реально, оттуда где есть интернет, да нужно потратить время на изучение, но его сейчас тратите на бесполезный трейдинг а результата нет и никто не может его гарантировать, и статистика не на вашей стороне, да вы думаете что вы избранный и тратя по 10-12 часов в день вы скоро будите видеть кукла, невидимую руку, точки входа и выхода, предсказывать график на год вперед, да хер там.
Разумный порог входа, да не получится через неделю устроится на 50К, но все время которое ты инвестируешь в изучение программирования оно прямо пропорционально твоей зп. Куча материалов в бесплатном доступе, есть все необходимое для самостоятельного обучения. За полгода плотного изучения или год занимаясь по 5 часов в неделю можно стать джуном в своей области, если ты совсем не тупой.
Какой то сумбур написал)) В общем все в it, все реально, трейдинг это то что вам точно не нужно, легких денег не бывает и мое мнение что трейдингом ни в каком виде заработать нельзя, главное не потерять, хотя поправочку наверное внесу, трейдингом можно заработать когда ты прикрыт с финансовой стороны и потеря депозита будет имен не самое сильное влияние на псих состояние, и вот когда ты прикрыт и трейдинг типа хобби, ты спокойно все оцениваешь и начинает получатся только тогда можно смещать фокус в сторону торговли.
В it сидишь, что то делаешь, нет авралов, зп большая, ты развиваешься постоянно ты и в 50 будешь программистом, а если еще и не сидел на месте ты будешь ТОПовым программистом, зал на этаж ниже, бассейн в 200 метрах, настольный теннис, массажный кабинет, куча других плющек.
Кто живет в Москве обязательно сходить на экскурсию в офис mail, yandex, avito, посмотреть как можно работать и как норм компании относятся к работнику