Избранное трейдера NikGood
Бомбану несильно, настроение хорошее. Дам свой скромный среднесрочный прогноз на 2-4 года, т.е 2023-2025. Естественно, это мое личное сромное мнение. Большое видится на расстоянии. Итак, впереди много графиков :)
Золото 2800.
Американские трежеря 10 летки уйдут в отрицательную зону -2 -3%
Привет, в этот раз будет общий пост про полезные источники в сети, где можно бесплатно взять данные, примеры кода и другие полезные вещи.
Более направленные подборки по идеям можно посмотреть здесь https://smart-lab.ru/blog/628709.php, а по книгам здесь https://smart-lab.ru/blog/681121.php
Биржевые данные:
Биржевые:
Показывает акции на которых идут большие объемы на покупку/продажу.
Делаем сортировку по капитализации и смотрим акции в топе, далее заходим в терминал и принимаем решение входить в лонг или шорт по акции.
Пришло время сделать 3-НДФЛ, чтобы получить социальный (за медицинские услуги) и инвестиционный вычеты, заплатить дивиденды, полученные от иностранных эмитентов (W8-ben подписана).
Нюанс — за год были убытки от коротких позиций по акциям и убытки по фьючерсам на акции.
И при формировании 3-НДФЛ получается каша в доходах и вычетах, которую пришлось разобрать.
Задокументирую свой вариант заполнения, проверим результаты летом, когда налоговая будет обрабатывать декларации.
В личном кабинете при заполнении 3-НДФЛ ждет сюрприз от ВТБ и ФНС:
ВТБ действует строго по поговорке «От пирожка, предложенного москвичом, нельзя отказываться, потому что обязательно запихнет и не факт, что в рот» и заталкивает в личный кабинет ФНС декларацию.
ФНС ее отобразить нормально не может, потому что она содержит данные поперек логики применения вычетов, и теряет часть данных о вычетах, что приводит к необходимости ввести данных о доходах в 3-НДФЛ заново.
# В КВИКе запускаем луа-скрипт QuikLuaPython.lua import socket import threading from datetime import datetime, timezone import pandas as pd import finplot as fplt fplt.display_timezone = timezone.utc class DeltaBar(): def __init__(self): self.df = pd.DataFrame(columns='date_time open high low close delta delta_time_sec'.split(' ')) self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] def parser(self, parse): if parse[0] == '1' and parse[1] == 'RIH1': if abs(self.df.iloc[len(self.df) - 1]['delta']) >= 500: self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] # Добавляем строку в DF self.df.iloc[len(self.df) - 1]['close'] = float(parse[4]) # Записываем последнюю цену как цену close бара if self.df.iloc[len(self.df) - 1]['date_time'] == 0: self.df.iloc[len(self.df) - 1]['date_time'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f").replace(microsecond=0) if self.df.iloc[len(self.df) - 1]['open'] == 0: self.df.iloc[len(self.df) - 1]['open'] = float(parse[4]) if float(parse[4]) > self.df.iloc[len(self.df) - 1]['high']: self.df.iloc[len(self.df) - 1]['high'] = float(parse[4]) if (float(parse[4]) < self.df.iloc[len(self.df) - 1]['low']) or \ (self.df.iloc[len(self.df) - 1]['low'] == 0): self.df.iloc[len(self.df) - 1]['low'] = float(parse[4]) if parse[5] == '1026': self.df.iloc[len(self.df) - 1]['delta'] += float(parse[6]) if parse[5] == '1025': self.df.iloc[len(self.df) - 1]['delta'] -= float(parse[6]) self.df.iloc[len(self.df) - 1]['delta_time_sec'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f") - \ self.df.iloc[len(self.df) - 1]['date_time'] self.df.iloc[len(self.df) - 1]['delta_time_sec'] = self.df.iloc[len(self.df) - 1]['delta_time_sec'].seconds def service(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('127.0.0.1', 3587)) # Хост-этот компьютер, порт - 3587 while True: res = sock.recv(2048).decode('utf-8') if res == '<qstp>\n': # строка приходит от клиента при остановке луа-скрипта в КВИКе break else: delta_bar.parser(res.split(' ')) # Здесь вызываете свой парсер. Для примера функция: parser (parse) sock.close() def update(): df = delta_bar.df # Меняем индекс и делаем его типом datetime df = df.set_index(pd.to_datetime(df['date_time'], format='%Y-%m-%d %H:%M:%S')) # print(delta_bar.df) # pick columns for our three data sources: candlesticks and TD candlesticks = df['open close high low'.split()] volumes = df['open close delta_time_sec'.split()] if not plots: # first time we create the plots global ax plots.append(fplt.candlestick_ochl(candlesticks)) plots.append(fplt.volume_ocv(volumes, ax=ax.overlay())) else: # every time after we just update the data sources on each plot plots[0].update_data(candlesticks) plots[1].update_data(volumes) if __name__ == '__main__': delta_bar = DeltaBar() # Запускаем сервер в своем потоке t = threading.Thread(name='service', target=service) t.start() plots = [] ax = fplt.create_plot('RIH1', init_zoom_periods=100, maximize=False) update() fplt.timer_callback(update, 2.0) # update (using synchronous rest call) every N seconds fplt.show()
Решил поделиться одним техническим способом, который я использую для определения тренда – среднюю с изменяющимся диапазоном усреднения. Но перед тем, как выложить все это искушенной публике, проверил есть ли что похожее. Оказывается, есть, но только по названию, а не по сути (может, правда, я чего-то не нашел). Это индикатор VIDYA. Ниже я приложу справку с описанием из интернета с расчетом VIDYA. VIDYA немного модифицирует экспоненциальную скользящую среднюю EMA. Период усреднения в EMA – это доля, которая определяет сколько взять текущей цены, а сколько предыдущего значения EMA. То есть вся фишка VIDYA в добавлении переменной в размер доли.
Если озвучивать задачу, которую я перед собой поставил, то это максимально быстро выявить тренд с минимальными ошибками. Самый простой трендовый индикатор – средняя, да и самый удобный при работе в Excel. У меня в Excel в принципе все расчеты. Дальше немного порассуждаю. При боковике с быстрыми изменениями направления движения средняя с большим усреднением не покажет хорошего результата, а при длительном движении средняя с маленьким периодом усреднения будет чаще показывать разворот, которого еще нет. Значит при боковике или быстро изменяющихся движениях рынка период средней должен уменьшаться, а при трендовом движении в одну сторону период средней должен увеличиваться.
Всем привет.
Я не трейдер, но регулярно, на протяжении нескольких лет инвестирую в акции и ETF. Сумма уже преодолела психологическую отметку, когда беспокоишься не только о надежности брокера или банка (поэтому и был выбран ВТБ), но и защиты от мошенников или доступа к личному кабинету посторонних, вследствие явных дыр в безопасности ВТБ, которые они не признают (якобы все делается для удобства клиента). Написанное больше касается именно банка, но немного затронул тему и восстановления доступа к брокерскому счету.
Так вот, уже не в первый раз, в комментариях встречаю рекомендацию в ВТБ банке поставить запрет на «удаленное восстановление доступа». Мол, это защитит от мошенников или если вы потеряете сим карту (Например, тут https://smart-lab.ru/blog/676249.php#comment12208793) Хотел сначала написать просто комментарий, однако затем решил выделить в отдельный пост (кстати первый аж за 6 лет, как оказалось. Быстро же летит время), предназначенный для таких же параноиков как я, а вдруг пригодиться.
Пока весь смартлаб орет о ставках/нефти/рубле/улюкаеве/горепрогнозистах/подливных гуру и тд — я подготовил, как мне кажется, норм постецкий. Вашему вниманию тщательно сцеженная, рассортированная по тематикам мякотка для работы, учебы и отдыха в нашей общей интернет-помойке:
Сайты и приложухи для трейдинга:
finviz.com — это божественно! Бэнчмарк всех фин сайтов по интерфейсу и удобству навигации, множество плюшек отбора акции для домашки, и визуальной подачи инфы. Бесит, что календарь только для амеров и на текущую неделю.
forexpf.ru — 1 год назад этот сайт лежал когда на него ринулась каждая домохозяйка отслеживать курс рубля. Нормальный ресурсоёмкий сайт, чтобы попырому прочекать нефтянку, голду или бакс.
freestockcharts.com — если вдруг упал tradingview.com.